summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax <mparisi@stevens.edu>2020-09-29 11:38:18 -0400
committerMax <mparisi@stevens.edu>2020-09-29 11:38:18 -0400
commit89a32b3c5dfabad2676e7aac02c2d97c85f8fa90 (patch)
tree2eb43f33d07c851d60479e1f26e5860086ce15ed
parent638d9da61f67c94afa06998b0a071c42694c5b6a (diff)
split mem, mem_funcs, math_api, mbstring, and misc_io
-rw-r--r--asm/GameSpy/NATify.s2
-rw-r--r--asm/GameSpy/ghttpEncryption.s2
-rw-r--r--asm/GameSpy/gpiConnect.s2
-rw-r--r--asm/GameSpy/gsAvailable.s4
-rw-r--r--asm/GameSpy/gt2Message.s8
-rw-r--r--asm/GameSpy/natneg.s2
-rw-r--r--asm/GameSpy/sb_serverlist.s2
-rw-r--r--asm/libstdc++/ansi_fp.s10
-rw-r--r--asm/libstdc++/direct_io.s4
-rw-r--r--asm/libstdc++/math_api.s87
-rw-r--r--asm/libstdc++/mbstring.s105
-rw-r--r--asm/libstdc++/mem.s125
-rw-r--r--asm/libstdc++/mem_funcs.s219
-rw-r--r--asm/libstdc++/misc_io.s10
-rw-r--r--asm/text_1.s48
-rw-r--r--asm/text_10.s4
-rw-r--r--asm/text_5_2.s521
-rw-r--r--asm/text_6.s15
-rw-r--r--asm/text_7.s8
-rw-r--r--asm/text_8.s150
-rw-r--r--asm/text_9.s34
-rw-r--r--obj_files.mk6
22 files changed, 695 insertions, 673 deletions
diff --git a/asm/GameSpy/NATify.s b/asm/GameSpy/NATify.s
index 01d692b..7c49ba8 100644
--- a/asm/GameSpy/NATify.s
+++ b/asm/GameSpy/NATify.s
@@ -180,7 +180,7 @@ lbl_8035A6B0:
/* 8035A6B0 00356310 38 7A 12 18 */ addi r3, r26, 0x1218
/* 8035A6B4 00356314 38 9B E7 68 */ addi r4, r27, -6296
/* 8035A6B8 00356318 38 A0 00 06 */ li r5, 6
-/* 8035A6BC 0035631C 4B E6 FC DD */ bl func_801CA398
+/* 8035A6BC 0035631C 4B E6 FC DD */ bl memcmp
/* 8035A6C0 00356320 2C 03 00 00 */ cmpwi r3, 0
/* 8035A6C4 00356324 41 82 00 0C */ beq lbl_8035A6D0
/* 8035A6C8 00356328 38 60 00 01 */ li r3, 1
diff --git a/asm/GameSpy/ghttpEncryption.s b/asm/GameSpy/ghttpEncryption.s
index 75d9a00..95b22da 100644
--- a/asm/GameSpy/ghttpEncryption.s
+++ b/asm/GameSpy/ghttpEncryption.s
@@ -1333,7 +1333,7 @@ lbl_8035317C:
/* 8035317C 0034EDDC 7C 65 1A 14 */ add r3, r5, r3
/* 80353180 0034EDE0 38 95 25 70 */ addi r4, r21, 0x2570
/* 80353184 0034EDE4 38 A0 00 09 */ li r5, 9
-/* 80353188 0034EDE8 4B E7 72 11 */ bl func_801CA398
+/* 80353188 0034EDE8 4B E7 72 11 */ bl memcmp
/* 8035318C 0034EDEC 2C 03 00 00 */ cmpwi r3, 0
/* 80353190 0034EDF0 41 82 00 0C */ beq lbl_8035319C
/* 80353194 0034EDF4 38 60 00 03 */ li r3, 3
diff --git a/asm/GameSpy/gpiConnect.s b/asm/GameSpy/gpiConnect.s
index 2272676..2c89e37 100644
--- a/asm/GameSpy/gpiConnect.s
+++ b/asm/GameSpy/gpiConnect.s
@@ -1194,7 +1194,7 @@ lbl_80341258:
/* 80341258 0033CEB8 38 61 00 3C */ addi r3, r1, 0x3c
/* 8034125C 0033CEBC 38 81 00 B8 */ addi r4, r1, 0xb8
/* 80341260 0033CEC0 38 A0 00 20 */ li r5, 0x20
-/* 80341264 0033CEC4 4B E8 91 35 */ bl func_801CA398
+/* 80341264 0033CEC4 4B E8 91 35 */ bl memcmp
/* 80341268 0033CEC8 2C 03 00 00 */ cmpwi r3, 0
/* 8034126C 0033CECC 41 82 00 2C */ beq lbl_80341298
/* 80341270 0033CED0 7F A3 EB 78 */ mr r3, r29
diff --git a/asm/GameSpy/gsAvailable.s b/asm/GameSpy/gsAvailable.s
index a459f25..64456bc 100644
--- a/asm/GameSpy/gsAvailable.s
+++ b/asm/GameSpy/gsAvailable.s
@@ -143,7 +143,7 @@ lbl_80339544:
/* 80339548 003351A8 38 61 00 14 */ addi r3, r1, 0x14
/* 8033954C 003351AC 38 9F 00 08 */ addi r4, r31, 8
/* 80339550 003351B0 38 A0 00 04 */ li r5, 4
-/* 80339554 003351B4 4B E9 0E 45 */ bl func_801CA398
+/* 80339554 003351B4 4B E9 0E 45 */ bl memcmp
/* 80339558 003351B8 2C 03 00 00 */ cmpwi r3, 0
/* 8033955C 003351BC 41 82 00 0C */ beq lbl_80339568
/* 80339560 003351C0 38 A0 00 01 */ li r5, 1
@@ -159,7 +159,7 @@ lbl_80339580:
/* 80339580 003351E0 38 61 00 18 */ addi r3, r1, 0x18
/* 80339584 003351E4 38 8D 8F 38 */ addi r4, r13, lbl_8063E1F8-_SDA_BASE_
/* 80339588 003351E8 38 A0 00 03 */ li r5, 3
-/* 8033958C 003351EC 4B E9 0E 0D */ bl func_801CA398
+/* 8033958C 003351EC 4B E9 0E 0D */ bl memcmp
/* 80339590 003351F0 2C 03 00 00 */ cmpwi r3, 0
/* 80339594 003351F4 41 82 00 0C */ beq lbl_803395A0
/* 80339598 003351F8 38 A0 00 01 */ li r5, 1
diff --git a/asm/GameSpy/gt2Message.s b/asm/GameSpy/gt2Message.s
index 8d95694..ca271fa 100644
--- a/asm/GameSpy/gt2Message.s
+++ b/asm/GameSpy/gt2Message.s
@@ -1803,7 +1803,7 @@ lbl_8034B6AC:
/* 8034B6AC 0034730C 7F C3 F3 78 */ mr r3, r30
/* 8034B6B0 00347310 38 8D 92 C4 */ addi r4, r13, lbl_8063E584-_SDA_BASE_
/* 8034B6B4 00347314 38 A0 00 04 */ li r5, 4
-/* 8034B6B8 00347318 4B E7 EC E1 */ bl func_801CA398
+/* 8034B6B8 00347318 4B E7 EC E1 */ bl memcmp
/* 8034B6BC 0034731C 2C 03 00 00 */ cmpwi r3, 0
/* 8034B6C0 00347320 41 82 00 0C */ beq lbl_8034B6CC
/* 8034B6C4 00347324 38 00 00 01 */ li r0, 1
@@ -1936,7 +1936,7 @@ lbl_8034B874:
/* 8034B880 003474E0 7F E3 FB 78 */ mr r3, r31
/* 8034B884 003474E4 38 8D 92 C0 */ addi r4, r13, lbl_8063E580-_SDA_BASE_
/* 8034B888 003474E8 38 A0 00 02 */ li r5, 2
-/* 8034B88C 003474EC 4B E7 EB 0D */ bl func_801CA398
+/* 8034B88C 003474EC 4B E7 EB 0D */ bl memcmp
/* 8034B890 003474F0 2C 03 00 00 */ cmpwi r3, 0
/* 8034B894 003474F4 40 82 00 08 */ bne lbl_8034B89C
/* 8034B898 003474F8 3B 20 00 01 */ li r25, 1
@@ -2118,7 +2118,7 @@ lbl_8034BB08:
/* 8034BB18 00347778 38 7F 00 02 */ addi r3, r31, 2
/* 8034BB1C 0034777C 38 8D 92 C0 */ addi r4, r13, lbl_8063E580-_SDA_BASE_
/* 8034BB20 00347780 38 A0 00 02 */ li r5, 2
-/* 8034BB24 00347784 4B E7 E8 75 */ bl func_801CA398
+/* 8034BB24 00347784 4B E7 E8 75 */ bl memcmp
/* 8034BB28 00347788 2C 03 00 00 */ cmpwi r3, 0
/* 8034BB2C 0034778C 40 82 00 28 */ bne lbl_8034BB54
/* 8034BB30 00347790 88 7B 00 01 */ lbz r3, 1(r27)
@@ -3181,7 +3181,7 @@ gti2SendAppUnreliable:
/* 8034C9B8 00348618 80 03 00 44 */ lwz r0, 0x44(r3)
/* 8034C9BC 0034861C 7C 64 02 14 */ add r3, r4, r0
/* 8034C9C0 00348620 38 8D 92 C0 */ addi r4, r13, lbl_8063E580-_SDA_BASE_
-/* 8034C9C4 00348624 4B E7 D9 D5 */ bl func_801CA398
+/* 8034C9C4 00348624 4B E7 D9 D5 */ bl memcmp
/* 8034C9C8 00348628 2C 03 00 00 */ cmpwi r3, 0
/* 8034C9CC 0034862C 41 82 00 2C */ beq lbl_8034C9F8
lbl_8034C9D0:
diff --git a/asm/GameSpy/natneg.s b/asm/GameSpy/natneg.s
index 929e91c..fc0f19b 100644
--- a/asm/GameSpy/natneg.s
+++ b/asm/GameSpy/natneg.s
@@ -1682,7 +1682,7 @@ NNProcessData:
/* 8035C360 00357FC0 93 81 00 60 */ stw r28, 0x60(r1)
/* 8035C364 00357FC4 7C BC 2B 78 */ mr r28, r5
/* 8035C368 00357FC8 38 A0 00 06 */ li r5, 6
-/* 8035C36C 00357FCC 4B E6 E0 2D */ bl func_801CA398
+/* 8035C36C 00357FCC 4B E6 E0 2D */ bl memcmp
/* 8035C370 00357FD0 7C 60 00 34 */ cntlzw r0, r3
/* 8035C374 00357FD4 54 00 D9 7F */ rlwinm. r0, r0, 0x1b, 5, 0x1f
/* 8035C378 00357FD8 41 82 01 5C */ beq lbl_8035C4D4
diff --git a/asm/GameSpy/sb_serverlist.s b/asm/GameSpy/sb_serverlist.s
index f28e324..1477f41 100644
--- a/asm/GameSpy/sb_serverlist.s
+++ b/asm/GameSpy/sb_serverlist.s
@@ -2363,7 +2363,7 @@ lbl_80360984:
/* 80360984 0035C5E4 38 7C 00 01 */ addi r3, r28, 1
/* 80360988 0035C5E8 38 8D 95 10 */ addi r4, r13, lbl_8063E7D0-_SDA_BASE_
/* 8036098C 0035C5EC 38 A0 00 04 */ li r5, 4
-/* 80360990 0035C5F0 4B E6 9A 09 */ bl func_801CA398
+/* 80360990 0035C5F0 4B E6 9A 09 */ bl memcmp
/* 80360994 0035C5F4 2C 03 00 00 */ cmpwi r3, 0
/* 80360998 0035C5F8 40 82 00 0C */ bne lbl_803609A4
/* 8036099C 0035C5FC 38 60 FF FF */ li r3, -1
diff --git a/asm/libstdc++/ansi_fp.s b/asm/libstdc++/ansi_fp.s
index 3c7b8d7..5dfc596 100644
--- a/asm/libstdc++/ansi_fp.s
+++ b/asm/libstdc++/ansi_fp.s
@@ -1070,7 +1070,7 @@ __num2dec_internal:
/* 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
+/* 801C8908 001C4568 48 00 1E 11 */ bl __signbitd
/* 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
@@ -1087,7 +1087,7 @@ __num2dec_internal:
/* 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
+/* 801C8948 001C45A8 48 00 1D E9 */ bl __fpclassifyd
/* 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
@@ -1096,7 +1096,7 @@ lbl_801C8944:
/* 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
+/* 801C896C 001C45CC 48 00 1D C5 */ bl __fpclassifyd
/* 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
@@ -1619,7 +1619,7 @@ lbl_801C9098:
/* 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
+/* 801C90AC 001C4D0C 48 00 16 85 */ bl __fpclassifyd
/* 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)
@@ -1657,7 +1657,7 @@ lbl_801C9114:
/* 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
+/* 801C9138 001C4D98 48 00 15 F9 */ bl __fpclassifyd
/* 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
diff --git a/asm/libstdc++/direct_io.s b/asm/libstdc++/direct_io.s
index 53d9585..6d75f9d 100644
--- a/asm/libstdc++/direct_io.s
+++ b/asm/libstdc++/direct_io.s
@@ -271,7 +271,7 @@ lbl_801C9928:
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
+/* 801C9938 001C5598 48 00 0E 79 */ bl __stdio_atexit
lbl_801C993C:
/* 801C993C 001C559C 80 7C 00 04 */ lwz r3, 4(r28)
/* 801C9940 001C55A0 3B E0 00 01 */ li r31, 1
@@ -359,7 +359,7 @@ lbl_801C9A50:
/* 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
+/* 801C9A70 001C56D0 48 00 08 FD */ bl __memrchr
/* 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
diff --git a/asm/libstdc++/math_api.s b/asm/libstdc++/math_api.s
new file mode 100644
index 0000000..847341c
--- /dev/null
+++ b/asm/libstdc++/math_api.s
@@ -0,0 +1,87 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __fpclassifyf
+__fpclassifyf:
+/* 801CA6B4 001C6314 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 801CA6B8 001C6318 3C 00 7F 80 */ lis r0, 0x7f80
+/* 801CA6BC 001C631C D0 21 00 08 */ stfs f1, 8(r1)
+/* 801CA6C0 001C6320 80 81 00 08 */ lwz r4, 8(r1)
+/* 801CA6C4 001C6324 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
+/* 801CA6C8 001C6328 7C 03 00 00 */ cmpw r3, r0
+/* 801CA6CC 001C632C 41 82 00 14 */ beq lbl_801CA6E0
+/* 801CA6D0 001C6330 40 80 00 3C */ bge lbl_801CA70C
+/* 801CA6D4 001C6334 2C 03 00 00 */ cmpwi r3, 0
+/* 801CA6D8 001C6338 41 82 00 20 */ beq lbl_801CA6F8
+/* 801CA6DC 001C633C 48 00 00 30 */ b lbl_801CA70C
+lbl_801CA6E0:
+/* 801CA6E0 001C6340 54 83 02 7E */ clrlwi r3, r4, 9
+/* 801CA6E4 001C6344 7C 03 00 D0 */ neg r0, r3
+/* 801CA6E8 001C6348 7C 00 1B 78 */ or r0, r0, r3
+/* 801CA6EC 001C634C 7C 03 FE 70 */ srawi r3, r0, 0x1f
+/* 801CA6F0 001C6350 38 63 00 02 */ addi r3, r3, 2
+/* 801CA6F4 001C6354 48 00 00 1C */ b lbl_801CA710
+lbl_801CA6F8:
+/* 801CA6F8 001C6358 54 80 02 7F */ clrlwi. r0, r4, 9
+/* 801CA6FC 001C635C 38 60 00 03 */ li r3, 3
+/* 801CA700 001C6360 41 82 00 10 */ beq lbl_801CA710
+/* 801CA704 001C6364 38 60 00 05 */ li r3, 5
+/* 801CA708 001C6368 48 00 00 08 */ b lbl_801CA710
+lbl_801CA70C:
+/* 801CA70C 001C636C 38 60 00 04 */ li r3, 4
+lbl_801CA710:
+/* 801CA710 001C6370 38 21 00 10 */ addi r1, r1, 0x10
+/* 801CA714 001C6374 4E 80 00 20 */ blr
+
+.global __signbitd
+__signbitd:
+/* 801CA718 001C6378 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 801CA71C 001C637C D8 21 00 08 */ stfd f1, 8(r1)
+/* 801CA720 001C6380 80 01 00 08 */ lwz r0, 8(r1)
+/* 801CA724 001C6384 54 03 00 00 */ rlwinm r3, r0, 0, 0, 0
+/* 801CA728 001C6388 38 21 00 10 */ addi r1, r1, 0x10
+/* 801CA72C 001C638C 4E 80 00 20 */ blr
+
+.global __fpclassifyd
+__fpclassifyd:
+/* 801CA730 001C6390 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 801CA734 001C6394 3C 00 7F F0 */ lis r0, 0x7ff0
+/* 801CA738 001C6398 D8 21 00 08 */ stfd f1, 8(r1)
+/* 801CA73C 001C639C 80 81 00 08 */ lwz r4, 8(r1)
+/* 801CA740 001C63A0 54 83 00 56 */ rlwinm r3, r4, 0, 1, 0xb
+/* 801CA744 001C63A4 7C 03 00 00 */ cmpw r3, r0
+/* 801CA748 001C63A8 41 82 00 14 */ beq lbl_801CA75C
+/* 801CA74C 001C63AC 40 80 00 58 */ bge lbl_801CA7A4
+/* 801CA750 001C63B0 2C 03 00 00 */ cmpwi r3, 0
+/* 801CA754 001C63B4 41 82 00 2C */ beq lbl_801CA780
+/* 801CA758 001C63B8 48 00 00 4C */ b lbl_801CA7A4
+lbl_801CA75C:
+/* 801CA75C 001C63BC 54 80 03 3F */ clrlwi. r0, r4, 0xc
+/* 801CA760 001C63C0 40 82 00 10 */ bne lbl_801CA770
+/* 801CA764 001C63C4 80 01 00 0C */ lwz r0, 0xc(r1)
+/* 801CA768 001C63C8 2C 00 00 00 */ cmpwi r0, 0
+/* 801CA76C 001C63CC 41 82 00 0C */ beq lbl_801CA778
+lbl_801CA770:
+/* 801CA770 001C63D0 38 60 00 01 */ li r3, 1
+/* 801CA774 001C63D4 48 00 00 34 */ b lbl_801CA7A8
+lbl_801CA778:
+/* 801CA778 001C63D8 38 60 00 02 */ li r3, 2
+/* 801CA77C 001C63DC 48 00 00 2C */ b lbl_801CA7A8
+lbl_801CA780:
+/* 801CA780 001C63E0 54 80 03 3F */ clrlwi. r0, r4, 0xc
+/* 801CA784 001C63E4 40 82 00 10 */ bne lbl_801CA794
+/* 801CA788 001C63E8 80 01 00 0C */ lwz r0, 0xc(r1)
+/* 801CA78C 001C63EC 2C 00 00 00 */ cmpwi r0, 0
+/* 801CA790 001C63F0 41 82 00 0C */ beq lbl_801CA79C
+lbl_801CA794:
+/* 801CA794 001C63F4 38 60 00 05 */ li r3, 5
+/* 801CA798 001C63F8 48 00 00 10 */ b lbl_801CA7A8
+lbl_801CA79C:
+/* 801CA79C 001C63FC 38 60 00 03 */ li r3, 3
+/* 801CA7A0 001C6400 48 00 00 08 */ b lbl_801CA7A8
+lbl_801CA7A4:
+/* 801CA7A4 001C6404 38 60 00 04 */ li r3, 4
+lbl_801CA7A8:
+/* 801CA7A8 001C6408 38 21 00 10 */ addi r1, r1, 0x10
+/* 801CA7AC 001C640C 4E 80 00 20 */ blr
diff --git a/asm/libstdc++/mbstring.s b/asm/libstdc++/mbstring.s
new file mode 100644
index 0000000..1e5faa8
--- /dev/null
+++ b/asm/libstdc++/mbstring.s
@@ -0,0 +1,105 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global mbtowc
+mbtowc:
+/* 801CA13C 001C5D9C 3C C0 80 42 */ lis r6, lbl_80422D48@ha
+/* 801CA140 001C5DA0 38 C6 2D 48 */ addi r6, r6, lbl_80422D48@l
+/* 801CA144 001C5DA4 80 C6 00 38 */ lwz r6, 0x38(r6)
+/* 801CA148 001C5DA8 81 86 00 20 */ lwz r12, 0x20(r6)
+/* 801CA14C 001C5DAC 7D 89 03 A6 */ mtctr r12
+/* 801CA150 001C5DB0 4E 80 04 20 */ bctr
+
+.global __mbtowc_noconv
+__mbtowc_noconv:
+/* 801CA154 001C5DB4 2C 04 00 00 */ cmpwi r4, 0
+/* 801CA158 001C5DB8 40 82 00 0C */ bne lbl_801CA164
+/* 801CA15C 001C5DBC 38 60 00 00 */ li r3, 0
+/* 801CA160 001C5DC0 4E 80 00 20 */ blr
+lbl_801CA164:
+/* 801CA164 001C5DC4 2C 05 00 00 */ cmpwi r5, 0
+/* 801CA168 001C5DC8 40 82 00 0C */ bne lbl_801CA174
+/* 801CA16C 001C5DCC 38 60 FF FF */ li r3, -1
+/* 801CA170 001C5DD0 4E 80 00 20 */ blr
+lbl_801CA174:
+/* 801CA174 001C5DD4 2C 03 00 00 */ cmpwi r3, 0
+/* 801CA178 001C5DD8 41 82 00 0C */ beq lbl_801CA184
+/* 801CA17C 001C5DDC 88 04 00 00 */ lbz r0, 0(r4)
+/* 801CA180 001C5DE0 B0 03 00 00 */ sth r0, 0(r3)
+lbl_801CA184:
+/* 801CA184 001C5DE4 88 04 00 00 */ lbz r0, 0(r4)
+/* 801CA188 001C5DE8 7C 00 07 75 */ extsb. r0, r0
+/* 801CA18C 001C5DEC 40 82 00 0C */ bne lbl_801CA198
+/* 801CA190 001C5DF0 38 60 00 00 */ li r3, 0
+/* 801CA194 001C5DF4 4E 80 00 20 */ blr
+lbl_801CA198:
+/* 801CA198 001C5DF8 38 60 00 01 */ li r3, 1
+/* 801CA19C 001C5DFC 4E 80 00 20 */ blr
+
+.global __wctomb_noconv
+__wctomb_noconv:
+/* 801CA1A0 001C5E00 2C 03 00 00 */ cmpwi r3, 0
+/* 801CA1A4 001C5E04 40 82 00 0C */ bne lbl_801CA1B0
+/* 801CA1A8 001C5E08 38 60 00 00 */ li r3, 0
+/* 801CA1AC 001C5E0C 4E 80 00 20 */ blr
+lbl_801CA1B0:
+/* 801CA1B0 001C5E10 98 83 00 00 */ stb r4, 0(r3)
+/* 801CA1B4 001C5E14 38 60 00 01 */ li r3, 1
+/* 801CA1B8 001C5E18 4E 80 00 20 */ blr
+
+.global wcstombs
+wcstombs:
+/* 801CA1BC 001C5E1C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 801CA1C0 001C5E20 7C 08 02 A6 */ mflr r0
+/* 801CA1C4 001C5E24 2C 03 00 00 */ cmpwi r3, 0
+/* 801CA1C8 001C5E28 90 01 00 34 */ stw r0, 0x34(r1)
+/* 801CA1CC 001C5E2C BF 41 00 18 */ stmw r26, 0x18(r1)
+/* 801CA1D0 001C5E30 7C 7A 1B 78 */ mr r26, r3
+/* 801CA1D4 001C5E34 7C BB 2B 78 */ mr r27, r5
+/* 801CA1D8 001C5E38 3B A0 00 00 */ li r29, 0
+/* 801CA1DC 001C5E3C 41 82 00 0C */ beq lbl_801CA1E8
+/* 801CA1E0 001C5E40 2C 04 00 00 */ cmpwi r4, 0
+/* 801CA1E4 001C5E44 40 82 00 0C */ bne lbl_801CA1F0
+lbl_801CA1E8:
+/* 801CA1E8 001C5E48 38 60 00 00 */ li r3, 0
+/* 801CA1EC 001C5E4C 48 00 00 74 */ b lbl_801CA260
+lbl_801CA1F0:
+/* 801CA1F0 001C5E50 3F E0 80 42 */ lis r31, lbl_80422D48@ha
+/* 801CA1F4 001C5E54 7C 9C 23 78 */ mr r28, r4
+/* 801CA1F8 001C5E58 3B FF 2D 48 */ addi r31, r31, lbl_80422D48@l
+/* 801CA1FC 001C5E5C 48 00 00 58 */ b lbl_801CA254
+lbl_801CA200:
+/* 801CA200 001C5E60 A0 9C 00 00 */ lhz r4, 0(r28)
+/* 801CA204 001C5E64 2C 04 00 00 */ cmpwi r4, 0
+/* 801CA208 001C5E68 40 82 00 10 */ bne lbl_801CA218
+/* 801CA20C 001C5E6C 38 00 00 00 */ li r0, 0
+/* 801CA210 001C5E70 7C 1A E9 AE */ stbx r0, r26, r29
+/* 801CA214 001C5E74 48 00 00 48 */ b lbl_801CA25C
+lbl_801CA218:
+/* 801CA218 001C5E78 80 BF 00 38 */ lwz r5, 0x38(r31)
+/* 801CA21C 001C5E7C 38 61 00 08 */ addi r3, r1, 8
+/* 801CA220 001C5E80 81 85 00 24 */ lwz r12, 0x24(r5)
+/* 801CA224 001C5E84 7D 89 03 A6 */ mtctr r12
+/* 801CA228 001C5E88 3B 9C 00 02 */ addi r28, r28, 2
+/* 801CA22C 001C5E8C 4E 80 04 21 */ bctrl
+/* 801CA230 001C5E90 7C 1D 1A 14 */ add r0, r29, r3
+/* 801CA234 001C5E94 7C 7E 1B 78 */ mr r30, r3
+/* 801CA238 001C5E98 7C 00 D8 40 */ cmplw r0, r27
+/* 801CA23C 001C5E9C 41 81 00 20 */ bgt lbl_801CA25C
+/* 801CA240 001C5EA0 7F C5 F3 78 */ mr r5, r30
+/* 801CA244 001C5EA4 7C 7A EA 14 */ add r3, r26, r29
+/* 801CA248 001C5EA8 38 81 00 08 */ addi r4, r1, 8
+/* 801CA24C 001C5EAC 48 00 41 45 */ bl func_801CE390
+/* 801CA250 001C5EB0 7F BD F2 14 */ add r29, r29, r30
+lbl_801CA254:
+/* 801CA254 001C5EB4 7C 1D D8 40 */ cmplw r29, r27
+/* 801CA258 001C5EB8 40 81 FF A8 */ ble lbl_801CA200
+lbl_801CA25C:
+/* 801CA25C 001C5EBC 7F A3 EB 78 */ mr r3, r29
+lbl_801CA260:
+/* 801CA260 001C5EC0 BB 41 00 18 */ lmw r26, 0x18(r1)
+/* 801CA264 001C5EC4 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 801CA268 001C5EC8 7C 08 03 A6 */ mtlr r0
+/* 801CA26C 001C5ECC 38 21 00 30 */ addi r1, r1, 0x30
+/* 801CA270 001C5ED0 4E 80 00 20 */ blr
diff --git a/asm/libstdc++/mem.s b/asm/libstdc++/mem.s
new file mode 100644
index 0000000..4d333ae
--- /dev/null
+++ b/asm/libstdc++/mem.s
@@ -0,0 +1,125 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global memmove
+memmove:
+/* 801CA274 001C5ED4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 801CA278 001C5ED8 7C 08 02 A6 */ mflr r0
+/* 801CA27C 001C5EDC 7C 66 22 78 */ xor r6, r3, r4
+/* 801CA280 001C5EE0 28 05 00 20 */ cmplwi r5, 0x20
+/* 801CA284 001C5EE4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 801CA288 001C5EE8 7C C0 00 34 */ cntlzw r0, r6
+/* 801CA28C 001C5EEC 7C 60 00 30 */ slw r0, r3, r0
+/* 801CA290 001C5EF0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 801CA294 001C5EF4 7C 7F 1B 78 */ mr r31, r3
+/* 801CA298 001C5EF8 54 07 0F FE */ srwi r7, r0, 0x1f
+/* 801CA29C 001C5EFC 41 80 00 40 */ blt lbl_801CA2DC
+/* 801CA2A0 001C5F00 54 C0 07 BF */ clrlwi. r0, r6, 0x1e
+/* 801CA2A4 001C5F04 41 82 00 1C */ beq lbl_801CA2C0
+/* 801CA2A8 001C5F08 2C 07 00 00 */ cmpwi r7, 0
+/* 801CA2AC 001C5F0C 40 82 00 0C */ bne lbl_801CA2B8
+/* 801CA2B0 001C5F10 48 00 02 99 */ bl __copy_longs_unaligned
+/* 801CA2B4 001C5F14 48 00 00 20 */ b lbl_801CA2D4
+lbl_801CA2B8:
+/* 801CA2B8 001C5F18 48 00 03 51 */ bl __copy_longs_rev_unaligned
+/* 801CA2BC 001C5F1C 48 00 00 18 */ b lbl_801CA2D4
+lbl_801CA2C0:
+/* 801CA2C0 001C5F20 2C 07 00 00 */ cmpwi r7, 0
+/* 801CA2C4 001C5F24 40 82 00 0C */ bne lbl_801CA2D0
+/* 801CA2C8 001C5F28 48 00 01 1D */ bl __copy_longs_aligned
+/* 801CA2CC 001C5F2C 48 00 00 08 */ b lbl_801CA2D4
+lbl_801CA2D0:
+/* 801CA2D0 001C5F30 48 00 01 D1 */ bl __copy_longs_rev_aligned
+lbl_801CA2D4:
+/* 801CA2D4 001C5F34 7F E3 FB 78 */ mr r3, r31
+/* 801CA2D8 001C5F38 48 00 00 54 */ b lbl_801CA32C
+lbl_801CA2DC:
+/* 801CA2DC 001C5F3C 2C 07 00 00 */ cmpwi r7, 0
+/* 801CA2E0 001C5F40 40 82 00 28 */ bne lbl_801CA308
+/* 801CA2E4 001C5F44 38 84 FF FF */ addi r4, r4, -1
+/* 801CA2E8 001C5F48 38 63 FF FF */ addi r3, r3, -1
+/* 801CA2EC 001C5F4C 38 A5 00 01 */ addi r5, r5, 1
+/* 801CA2F0 001C5F50 48 00 00 0C */ b lbl_801CA2FC
+lbl_801CA2F4:
+/* 801CA2F4 001C5F54 8C 04 00 01 */ lbzu r0, 1(r4)
+/* 801CA2F8 001C5F58 9C 03 00 01 */ stbu r0, 1(r3)
+lbl_801CA2FC:
+/* 801CA2FC 001C5F5C 34 A5 FF FF */ addic. r5, r5, -1
+/* 801CA300 001C5F60 40 82 FF F4 */ bne lbl_801CA2F4
+/* 801CA304 001C5F64 48 00 00 24 */ b lbl_801CA328
+lbl_801CA308:
+/* 801CA308 001C5F68 7C 84 2A 14 */ add r4, r4, r5
+/* 801CA30C 001C5F6C 7C 63 2A 14 */ add r3, r3, r5
+/* 801CA310 001C5F70 38 A5 00 01 */ addi r5, r5, 1
+/* 801CA314 001C5F74 48 00 00 0C */ b lbl_801CA320
+lbl_801CA318:
+/* 801CA318 001C5F78 8C 04 FF FF */ lbzu r0, -1(r4)
+/* 801CA31C 001C5F7C 9C 03 FF FF */ stbu r0, -1(r3)
+lbl_801CA320:
+/* 801CA320 001C5F80 34 A5 FF FF */ addic. r5, r5, -1
+/* 801CA324 001C5F84 40 82 FF F4 */ bne lbl_801CA318
+lbl_801CA328:
+/* 801CA328 001C5F88 7F E3 FB 78 */ mr r3, r31
+lbl_801CA32C:
+/* 801CA32C 001C5F8C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 801CA330 001C5F90 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 801CA334 001C5F94 7C 08 03 A6 */ mtlr r0
+/* 801CA338 001C5F98 38 21 00 10 */ addi r1, r1, 0x10
+/* 801CA33C 001C5F9C 4E 80 00 20 */ blr
+
+.global memchr
+memchr:
+/* 801CA340 001C5FA0 54 84 06 3E */ clrlwi r4, r4, 0x18
+/* 801CA344 001C5FA4 38 63 FF FF */ addi r3, r3, -1
+/* 801CA348 001C5FA8 38 A5 00 01 */ addi r5, r5, 1
+/* 801CA34C 001C5FAC 48 00 00 10 */ b lbl_801CA35C
+lbl_801CA350:
+/* 801CA350 001C5FB0 8C 03 00 01 */ lbzu r0, 1(r3)
+/* 801CA354 001C5FB4 7C 00 20 40 */ cmplw r0, r4
+/* 801CA358 001C5FB8 4D 82 00 20 */ beqlr
+lbl_801CA35C:
+/* 801CA35C 001C5FBC 34 A5 FF FF */ addic. r5, r5, -1
+/* 801CA360 001C5FC0 40 82 FF F0 */ bne lbl_801CA350
+/* 801CA364 001C5FC4 38 60 00 00 */ li r3, 0
+/* 801CA368 001C5FC8 4E 80 00 20 */ blr
+
+.global __memrchr
+__memrchr:
+/* 801CA36C 001C5FCC 7C 63 2A 14 */ add r3, r3, r5
+/* 801CA370 001C5FD0 54 84 06 3E */ clrlwi r4, r4, 0x18
+/* 801CA374 001C5FD4 38 A5 00 01 */ addi r5, r5, 1
+/* 801CA378 001C5FD8 48 00 00 10 */ b lbl_801CA388
+lbl_801CA37C:
+/* 801CA37C 001C5FDC 8C 03 FF FF */ lbzu r0, -1(r3)
+/* 801CA380 001C5FE0 7C 00 20 40 */ cmplw r0, r4
+/* 801CA384 001C5FE4 4D 82 00 20 */ beqlr
+lbl_801CA388:
+/* 801CA388 001C5FE8 34 A5 FF FF */ addic. r5, r5, -1
+/* 801CA38C 001C5FEC 40 82 FF F0 */ bne lbl_801CA37C
+/* 801CA390 001C5FF0 38 60 00 00 */ li r3, 0
+/* 801CA394 001C5FF4 4E 80 00 20 */ blr
+
+.global memcmp
+memcmp:
+/* 801CA398 001C5FF8 38 E4 FF FF */ addi r7, r4, -1
+/* 801CA39C 001C5FFC 38 C3 FF FF */ addi r6, r3, -1
+/* 801CA3A0 001C6000 38 85 00 01 */ addi r4, r5, 1
+/* 801CA3A4 001C6004 48 00 00 30 */ b lbl_801CA3D4
+lbl_801CA3A8:
+/* 801CA3A8 001C6008 8C 66 00 01 */ lbzu r3, 1(r6)
+/* 801CA3AC 001C600C 8C 07 00 01 */ lbzu r0, 1(r7)
+/* 801CA3B0 001C6010 7C 03 00 40 */ cmplw r3, r0
+/* 801CA3B4 001C6014 41 82 00 20 */ beq lbl_801CA3D4
+/* 801CA3B8 001C6018 88 86 00 00 */ lbz r4, 0(r6)
+/* 801CA3BC 001C601C 38 60 00 01 */ li r3, 1
+/* 801CA3C0 001C6020 88 07 00 00 */ lbz r0, 0(r7)
+/* 801CA3C4 001C6024 7C 04 00 40 */ cmplw r4, r0
+/* 801CA3C8 001C6028 4C 80 00 20 */ bgelr
+/* 801CA3CC 001C602C 38 60 FF FF */ li r3, -1
+/* 801CA3D0 001C6030 4E 80 00 20 */ blr
+lbl_801CA3D4:
+/* 801CA3D4 001C6034 34 84 FF FF */ addic. r4, r4, -1
+/* 801CA3D8 001C6038 40 82 FF D0 */ bne lbl_801CA3A8
+/* 801CA3DC 001C603C 38 60 00 00 */ li r3, 0
+/* 801CA3E0 001C6040 4E 80 00 20 */ blr
diff --git a/asm/libstdc++/mem_funcs.s b/asm/libstdc++/mem_funcs.s
new file mode 100644
index 0000000..426d2cb
--- /dev/null
+++ b/asm/libstdc++/mem_funcs.s
@@ -0,0 +1,219 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __copy_longs_aligned
+__copy_longs_aligned:
+/* 801CA3E4 001C6044 7C 03 00 D0 */ neg r0, r3
+/* 801CA3E8 001C6048 38 84 FF FF */ addi r4, r4, -1
+/* 801CA3EC 001C604C 54 06 07 BF */ clrlwi. r6, r0, 0x1e
+/* 801CA3F0 001C6050 38 63 FF FF */ addi r3, r3, -1
+/* 801CA3F4 001C6054 41 82 00 18 */ beq lbl_801CA40C
+/* 801CA3F8 001C6058 7C A6 28 50 */ subf r5, r6, r5
+lbl_801CA3FC:
+/* 801CA3FC 001C605C 8C 04 00 01 */ lbzu r0, 1(r4)
+/* 801CA400 001C6060 34 C6 FF FF */ addic. r6, r6, -1
+/* 801CA404 001C6064 9C 03 00 01 */ stbu r0, 1(r3)
+/* 801CA408 001C6068 40 82 FF F4 */ bne lbl_801CA3FC
+lbl_801CA40C:
+/* 801CA40C 001C606C 54 A6 D9 7F */ rlwinm. r6, r5, 0x1b, 5, 0x1f
+/* 801CA410 001C6070 38 E4 FF FD */ addi r7, r4, -3
+/* 801CA414 001C6074 38 83 FF FD */ addi r4, r3, -3
+/* 801CA418 001C6078 41 82 00 4C */ beq lbl_801CA464
+lbl_801CA41C:
+/* 801CA41C 001C607C 80 67 00 04 */ lwz r3, 4(r7)
+/* 801CA420 001C6080 34 C6 FF FF */ addic. r6, r6, -1
+/* 801CA424 001C6084 80 07 00 08 */ lwz r0, 8(r7)
+/* 801CA428 001C6088 90 64 00 04 */ stw r3, 4(r4)
+/* 801CA42C 001C608C 80 67 00 0C */ lwz r3, 0xc(r7)
+/* 801CA430 001C6090 90 04 00 08 */ stw r0, 8(r4)
+/* 801CA434 001C6094 80 07 00 10 */ lwz r0, 0x10(r7)
+/* 801CA438 001C6098 90 64 00 0C */ stw r3, 0xc(r4)
+/* 801CA43C 001C609C 80 67 00 14 */ lwz r3, 0x14(r7)
+/* 801CA440 001C60A0 90 04 00 10 */ stw r0, 0x10(r4)
+/* 801CA444 001C60A4 80 07 00 18 */ lwz r0, 0x18(r7)
+/* 801CA448 001C60A8 90 64 00 14 */ stw r3, 0x14(r4)
+/* 801CA44C 001C60AC 80 67 00 1C */ lwz r3, 0x1c(r7)
+/* 801CA450 001C60B0 90 04 00 18 */ stw r0, 0x18(r4)
+/* 801CA454 001C60B4 84 07 00 20 */ lwzu r0, 0x20(r7)
+/* 801CA458 001C60B8 90 64 00 1C */ stw r3, 0x1c(r4)
+/* 801CA45C 001C60BC 94 04 00 20 */ stwu r0, 0x20(r4)
+/* 801CA460 001C60C0 40 82 FF BC */ bne lbl_801CA41C
+lbl_801CA464:
+/* 801CA464 001C60C4 54 A3 F7 7F */ rlwinm. r3, r5, 0x1e, 0x1d, 0x1f
+/* 801CA468 001C60C8 41 82 00 14 */ beq lbl_801CA47C
+lbl_801CA46C:
+/* 801CA46C 001C60CC 84 07 00 04 */ lwzu r0, 4(r7)
+/* 801CA470 001C60D0 34 63 FF FF */ addic. r3, r3, -1
+/* 801CA474 001C60D4 94 04 00 04 */ stwu r0, 4(r4)
+/* 801CA478 001C60D8 40 82 FF F4 */ bne lbl_801CA46C
+lbl_801CA47C:
+/* 801CA47C 001C60DC 54 A5 07 BF */ clrlwi. r5, r5, 0x1e
+/* 801CA480 001C60E0 38 C7 00 03 */ addi r6, r7, 3
+/* 801CA484 001C60E4 38 64 00 03 */ addi r3, r4, 3
+/* 801CA488 001C60E8 4D 82 00 20 */ beqlr
+lbl_801CA48C:
+/* 801CA48C 001C60EC 8C 06 00 01 */ lbzu r0, 1(r6)
+/* 801CA490 001C60F0 34 A5 FF FF */ addic. r5, r5, -1
+/* 801CA494 001C60F4 9C 03 00 01 */ stbu r0, 1(r3)
+/* 801CA498 001C60F8 40 82 FF F4 */ bne lbl_801CA48C
+/* 801CA49C 001C60FC 4E 80 00 20 */ blr
+
+.global __copy_longs_rev_aligned
+__copy_longs_rev_aligned:
+/* 801CA4A0 001C6100 7C E3 2A 14 */ add r7, r3, r5
+/* 801CA4A4 001C6104 7C C4 2A 14 */ add r6, r4, r5
+/* 801CA4A8 001C6108 54 E3 07 BF */ clrlwi. r3, r7, 0x1e
+/* 801CA4AC 001C610C 41 82 00 18 */ beq lbl_801CA4C4
+/* 801CA4B0 001C6110 7C A3 28 50 */ subf r5, r3, r5
+lbl_801CA4B4:
+/* 801CA4B4 001C6114 8C 06 FF FF */ lbzu r0, -1(r6)
+/* 801CA4B8 001C6118 34 63 FF FF */ addic. r3, r3, -1
+/* 801CA4BC 001C611C 9C 07 FF FF */ stbu r0, -1(r7)
+/* 801CA4C0 001C6120 40 82 FF F4 */ bne lbl_801CA4B4
+lbl_801CA4C4:
+/* 801CA4C4 001C6124 54 A4 D9 7F */ rlwinm. r4, r5, 0x1b, 5, 0x1f
+/* 801CA4C8 001C6128 41 82 00 4C */ beq lbl_801CA514
+lbl_801CA4CC:
+/* 801CA4CC 001C612C 80 66 FF FC */ lwz r3, -4(r6)
+/* 801CA4D0 001C6130 34 84 FF FF */ addic. r4, r4, -1
+/* 801CA4D4 001C6134 80 06 FF F8 */ lwz r0, -8(r6)
+/* 801CA4D8 001C6138 90 67 FF FC */ stw r3, -4(r7)
+/* 801CA4DC 001C613C 80 66 FF F4 */ lwz r3, -0xc(r6)
+/* 801CA4E0 001C6140 90 07 FF F8 */ stw r0, -8(r7)
+/* 801CA4E4 001C6144 80 06 FF F0 */ lwz r0, -0x10(r6)
+/* 801CA4E8 001C6148 90 67 FF F4 */ stw r3, -0xc(r7)
+/* 801CA4EC 001C614C 80 66 FF EC */ lwz r3, -0x14(r6)
+/* 801CA4F0 001C6150 90 07 FF F0 */ stw r0, -0x10(r7)
+/* 801CA4F4 001C6154 80 06 FF E8 */ lwz r0, -0x18(r6)
+/* 801CA4F8 001C6158 90 67 FF EC */ stw r3, -0x14(r7)
+/* 801CA4FC 001C615C 80 66 FF E4 */ lwz r3, -0x1c(r6)
+/* 801CA500 001C6160 90 07 FF E8 */ stw r0, -0x18(r7)
+/* 801CA504 001C6164 84 06 FF E0 */ lwzu r0, -0x20(r6)
+/* 801CA508 001C6168 90 67 FF E4 */ stw r3, -0x1c(r7)
+/* 801CA50C 001C616C 94 07 FF E0 */ stwu r0, -0x20(r7)
+/* 801CA510 001C6170 40 82 FF BC */ bne lbl_801CA4CC
+lbl_801CA514:
+/* 801CA514 001C6174 54 A3 F7 7F */ rlwinm. r3, r5, 0x1e, 0x1d, 0x1f
+/* 801CA518 001C6178 41 82 00 14 */ beq lbl_801CA52C
+lbl_801CA51C:
+/* 801CA51C 001C617C 84 06 FF FC */ lwzu r0, -4(r6)
+/* 801CA520 001C6180 34 63 FF FF */ addic. r3, r3, -1
+/* 801CA524 001C6184 94 07 FF FC */ stwu r0, -4(r7)
+/* 801CA528 001C6188 40 82 FF F4 */ bne lbl_801CA51C
+lbl_801CA52C:
+/* 801CA52C 001C618C 54 A5 07 BF */ clrlwi. r5, r5, 0x1e
+/* 801CA530 001C6190 4D 82 00 20 */ beqlr
+lbl_801CA534:
+/* 801CA534 001C6194 8C 06 FF FF */ lbzu r0, -1(r6)
+/* 801CA538 001C6198 34 A5 FF FF */ addic. r5, r5, -1
+/* 801CA53C 001C619C 9C 07 FF FF */ stbu r0, -1(r7)
+/* 801CA540 001C61A0 40 82 FF F4 */ bne lbl_801CA534
+/* 801CA544 001C61A4 4E 80 00 20 */ blr
+
+.global __copy_longs_unaligned
+__copy_longs_unaligned:
+/* 801CA548 001C61A8 7C 03 00 D0 */ neg r0, r3
+/* 801CA54C 001C61AC 39 04 FF FF */ addi r8, r4, -1
+/* 801CA550 001C61B0 54 06 07 BF */ clrlwi. r6, r0, 0x1e
+/* 801CA554 001C61B4 38 63 FF FF */ addi r3, r3, -1
+/* 801CA558 001C61B8 41 82 00 18 */ beq lbl_801CA570
+/* 801CA55C 001C61BC 7C A6 28 50 */ subf r5, r6, r5
+lbl_801CA560:
+/* 801CA560 001C61C0 8C 08 00 01 */ lbzu r0, 1(r8)
+/* 801CA564 001C61C4 34 C6 FF FF */ addic. r6, r6, -1
+/* 801CA568 001C61C8 9C 03 00 01 */ stbu r0, 1(r3)
+/* 801CA56C 001C61CC 40 82 FF F4 */ bne lbl_801CA560
+lbl_801CA570:
+/* 801CA570 001C61D0 38 08 00 01 */ addi r0, r8, 1
+/* 801CA574 001C61D4 38 C3 FF FD */ addi r6, r3, -3
+/* 801CA578 001C61D8 54 09 07 BE */ clrlwi r9, r0, 0x1e
+/* 801CA57C 001C61DC 54 A7 E8 FE */ srwi r7, r5, 3
+/* 801CA580 001C61E0 7D 09 40 50 */ subf r8, r9, r8
+/* 801CA584 001C61E4 54 0A 1E F8 */ rlwinm r10, r0, 3, 0x1b, 0x1c
+/* 801CA588 001C61E8 84 88 00 01 */ lwzu r4, 1(r8)
+/* 801CA58C 001C61EC 21 6A 00 20 */ subfic r11, r10, 0x20
+lbl_801CA590:
+/* 801CA590 001C61F0 80 68 00 04 */ lwz r3, 4(r8)
+/* 801CA594 001C61F4 7C 84 50 30 */ slw r4, r4, r10
+/* 801CA598 001C61F8 34 E7 FF FF */ addic. r7, r7, -1
+/* 801CA59C 001C61FC 7C 60 5C 30 */ srw r0, r3, r11
+/* 801CA5A0 001C6200 7C 63 50 30 */ slw r3, r3, r10
+/* 801CA5A4 001C6204 7C 80 03 78 */ or r0, r4, r0
+/* 801CA5A8 001C6208 90 06 00 04 */ stw r0, 4(r6)
+/* 801CA5AC 001C620C 84 88 00 08 */ lwzu r4, 8(r8)
+/* 801CA5B0 001C6210 7C 80 5C 30 */ srw r0, r4, r11
+/* 801CA5B4 001C6214 7C 60 03 78 */ or r0, r3, r0
+/* 801CA5B8 001C6218 94 06 00 08 */ stwu r0, 8(r6)
+/* 801CA5BC 001C621C 40 82 FF D4 */ bne lbl_801CA590
+/* 801CA5C0 001C6220 54 A0 07 7B */ rlwinm. r0, r5, 0, 0x1d, 0x1d
+/* 801CA5C4 001C6224 41 82 00 18 */ beq lbl_801CA5DC
+/* 801CA5C8 001C6228 84 08 00 04 */ lwzu r0, 4(r8)
+/* 801CA5CC 001C622C 7C 83 50 30 */ slw r3, r4, r10
+/* 801CA5D0 001C6230 7C 00 5C 30 */ srw r0, r0, r11
+/* 801CA5D4 001C6234 7C 60 03 78 */ or r0, r3, r0
+/* 801CA5D8 001C6238 94 06 00 04 */ stwu r0, 4(r6)
+lbl_801CA5DC:
+/* 801CA5DC 001C623C 54 A5 07 BF */ clrlwi. r5, r5, 0x1e
+/* 801CA5E0 001C6240 38 88 00 03 */ addi r4, r8, 3
+/* 801CA5E4 001C6244 38 66 00 03 */ addi r3, r6, 3
+/* 801CA5E8 001C6248 4D 82 00 20 */ beqlr
+/* 801CA5EC 001C624C 20 09 00 04 */ subfic r0, r9, 4
+/* 801CA5F0 001C6250 7C 80 20 50 */ subf r4, r0, r4
+lbl_801CA5F4:
+/* 801CA5F4 001C6254 8C 04 00 01 */ lbzu r0, 1(r4)
+/* 801CA5F8 001C6258 34 A5 FF FF */ addic. r5, r5, -1
+/* 801CA5FC 001C625C 9C 03 00 01 */ stbu r0, 1(r3)
+/* 801CA600 001C6260 40 82 FF F4 */ bne lbl_801CA5F4
+/* 801CA604 001C6264 4E 80 00 20 */ blr
+
+.global __copy_longs_rev_unaligned
+__copy_longs_rev_unaligned:
+/* 801CA608 001C6268 7D 63 2A 14 */ add r11, r3, r5
+/* 801CA60C 001C626C 7D 44 2A 14 */ add r10, r4, r5
+/* 801CA610 001C6270 55 63 07 BF */ clrlwi. r3, r11, 0x1e
+/* 801CA614 001C6274 41 82 00 18 */ beq lbl_801CA62C
+/* 801CA618 001C6278 7C A3 28 50 */ subf r5, r3, r5
+lbl_801CA61C:
+/* 801CA61C 001C627C 8C 0A FF FF */ lbzu r0, -1(r10)
+/* 801CA620 001C6280 34 63 FF FF */ addic. r3, r3, -1
+/* 801CA624 001C6284 9C 0B FF FF */ stbu r0, -1(r11)
+/* 801CA628 001C6288 40 82 FF F4 */ bne lbl_801CA61C
+lbl_801CA62C:
+/* 801CA62C 001C628C 55 48 1E F8 */ rlwinm r8, r10, 3, 0x1b, 0x1c
+/* 801CA630 001C6290 55 47 07 BE */ clrlwi r7, r10, 0x1e
+/* 801CA634 001C6294 21 28 00 20 */ subfic r9, r8, 0x20
+/* 801CA638 001C6298 54 A6 E8 FE */ srwi r6, r5, 3
+/* 801CA63C 001C629C 20 07 00 04 */ subfic r0, r7, 4
+/* 801CA640 001C62A0 7D 4A 02 14 */ add r10, r10, r0
+/* 801CA644 001C62A4 84 8A FF FC */ lwzu r4, -4(r10)
+lbl_801CA648:
+/* 801CA648 001C62A8 80 0A FF FC */ lwz r0, -4(r10)
+/* 801CA64C 001C62AC 7C 83 4C 30 */ srw r3, r4, r9
+/* 801CA650 001C62B0 34 C6 FF FF */ addic. r6, r6, -1
+/* 801CA654 001C62B4 7C 04 40 30 */ slw r4, r0, r8
+/* 801CA658 001C62B8 7C 00 4C 30 */ srw r0, r0, r9
+/* 801CA65C 001C62BC 7C 83 1B 78 */ or r3, r4, r3
+/* 801CA660 001C62C0 90 6B FF FC */ stw r3, -4(r11)
+/* 801CA664 001C62C4 84 8A FF F8 */ lwzu r4, -8(r10)
+/* 801CA668 001C62C8 7C 83 40 30 */ slw r3, r4, r8
+/* 801CA66C 001C62CC 7C 60 03 78 */ or r0, r3, r0
+/* 801CA670 001C62D0 94 0B FF F8 */ stwu r0, -8(r11)
+/* 801CA674 001C62D4 40 82 FF D4 */ bne lbl_801CA648
+/* 801CA678 001C62D8 54 A0 07 7B */ rlwinm. r0, r5, 0, 0x1d, 0x1d
+/* 801CA67C 001C62DC 41 82 00 18 */ beq lbl_801CA694
+/* 801CA680 001C62E0 84 6A FF FC */ lwzu r3, -4(r10)
+/* 801CA684 001C62E4 7C 80 4C 30 */ srw r0, r4, r9
+/* 801CA688 001C62E8 7C 63 40 30 */ slw r3, r3, r8
+/* 801CA68C 001C62EC 7C 60 03 78 */ or r0, r3, r0
+/* 801CA690 001C62F0 94 0B FF FC */ stwu r0, -4(r11)
+lbl_801CA694:
+/* 801CA694 001C62F4 54 A5 07 BF */ clrlwi. r5, r5, 0x1e
+/* 801CA698 001C62F8 4D 82 00 20 */ beqlr
+/* 801CA69C 001C62FC 7D 4A 3A 14 */ add r10, r10, r7
+lbl_801CA6A0:
+/* 801CA6A0 001C6300 8C 0A FF FF */ lbzu r0, -1(r10)
+/* 801CA6A4 001C6304 34 A5 FF FF */ addic. r5, r5, -1
+/* 801CA6A8 001C6308 9C 0B FF FF */ stbu r0, -1(r11)
+/* 801CA6AC 001C630C 40 82 FF F4 */ bne lbl_801CA6A0
+/* 801CA6B0 001C6310 4E 80 00 20 */ blr
diff --git a/asm/libstdc++/misc_io.s b/asm/libstdc++/misc_io.s
new file mode 100644
index 0000000..1ccfb0c
--- /dev/null
+++ b/asm/libstdc++/misc_io.s
@@ -0,0 +1,10 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __stdio_atexit
+__stdio_atexit:
+/* 801CA7B0 001C6410 3C 60 80 1C */ lis r3, __close_all@ha
+/* 801CA7B4 001C6414 38 63 78 94 */ addi r3, r3, __close_all@l
+/* 801CA7B8 001C6418 90 6D 9F D8 */ stw r3, lbl_8063F298-_SDA_BASE_(r13)
+/* 801CA7BC 001C641C 4E 80 00 20 */ blr
diff --git a/asm/text_1.s b/asm/text_1.s
index 2880b0f..0b9b1aa 100644
--- a/asm/text_1.s
+++ b/asm/text_1.s
@@ -34908,7 +34908,7 @@ func_80025048:
/* 80025084 00020CE4 41 82 00 18 */ beq lbl_8002509C
/* 80025088 00020CE8 38 8D 80 80 */ addi r4, r13, lbl_8063D340-_SDA_BASE_
/* 8002508C 00020CEC 38 A0 00 04 */ li r5, 4
-/* 80025090 00020CF0 48 1A 53 09 */ bl func_801CA398
+/* 80025090 00020CF0 48 1A 53 09 */ bl memcmp
/* 80025094 00020CF4 2C 03 00 00 */ cmpwi r3, 0
/* 80025098 00020CF8 40 82 00 30 */ bne lbl_800250C8
lbl_8002509C:
@@ -35255,7 +35255,7 @@ func_800254EC:
/* 80025528 00021188 41 82 00 60 */ beq lbl_80025588
/* 8002552C 0002118C 38 8D 80 88 */ addi r4, r13, lbl_8063D348-_SDA_BASE_
/* 80025530 00021190 38 A0 00 04 */ li r5, 4
-/* 80025534 00021194 48 1A 4E 65 */ bl func_801CA398
+/* 80025534 00021194 48 1A 4E 65 */ bl memcmp
/* 80025538 00021198 2C 03 00 00 */ cmpwi r3, 0
/* 8002553C 0002119C 41 82 00 08 */ beq lbl_80025544
/* 80025540 000211A0 48 00 00 48 */ b lbl_80025588
@@ -68516,13 +68516,13 @@ lbl_80041C08:
/* 80041C08 0003D868 C3 62 82 B0 */ lfs f27, lbl_806408B0-_SDA2_BASE_(r2)
lbl_80041C0C:
/* 80041C0C 0003D86C FC 20 D8 90 */ fmr f1, f27
-/* 80041C10 0003D870 48 18 8A A5 */ bl func_801CA6B4
+/* 80041C10 0003D870 48 18 8A A5 */ bl __fpclassifyf
/* 80041C14 0003D874 2C 03 00 02 */ cmpwi r3, 2
/* 80041C18 0003D878 40 82 00 08 */ bne lbl_80041C20
/* 80041C1C 0003D87C C3 62 82 B0 */ lfs f27, lbl_806408B0-_SDA2_BASE_(r2)
lbl_80041C20:
/* 80041C20 0003D880 FC 20 D8 90 */ fmr f1, f27
-/* 80041C24 0003D884 48 18 8A 91 */ bl func_801CA6B4
+/* 80041C24 0003D884 48 18 8A 91 */ bl __fpclassifyf
/* 80041C28 0003D888 2C 03 00 01 */ cmpwi r3, 1
/* 80041C2C 0003D88C 40 82 00 08 */ bne lbl_80041C34
/* 80041C30 0003D890 C3 62 82 B0 */ lfs f27, lbl_806408B0-_SDA2_BASE_(r2)
@@ -71173,75 +71173,75 @@ lbl_8004421C:
/* 80044250 0003FEB0 D0 61 00 44 */ stfs f3, 0x44(r1)
/* 80044254 0003FEB4 D0 41 00 48 */ stfs f2, 0x48(r1)
/* 80044258 0003FEB8 D0 01 00 4C */ stfs f0, 0x4c(r1)
-/* 8004425C 0003FEBC 48 18 64 59 */ bl func_801CA6B4
+/* 8004425C 0003FEBC 48 18 64 59 */ bl __fpclassifyf
/* 80044260 0003FEC0 2C 03 00 01 */ cmpwi r3, 1
/* 80044264 0003FEC4 41 82 01 14 */ beq lbl_80044378
/* 80044268 0003FEC8 C0 21 00 50 */ lfs f1, 0x50(r1)
-/* 8004426C 0003FECC 48 18 64 49 */ bl func_801CA6B4
+/* 8004426C 0003FECC 48 18 64 49 */ bl __fpclassifyf
/* 80044270 0003FED0 2C 03 00 02 */ cmpwi r3, 2
/* 80044274 0003FED4 41 82 01 04 */ beq lbl_80044378
/* 80044278 0003FED8 C0 21 00 54 */ lfs f1, 0x54(r1)
-/* 8004427C 0003FEDC 48 18 64 39 */ bl func_801CA6B4
+/* 8004427C 0003FEDC 48 18 64 39 */ bl __fpclassifyf
/* 80044280 0003FEE0 2C 03 00 01 */ cmpwi r3, 1
/* 80044284 0003FEE4 41 82 00 F4 */ beq lbl_80044378
/* 80044288 0003FEE8 C0 21 00 54 */ lfs f1, 0x54(r1)
-/* 8004428C 0003FEEC 48 18 64 29 */ bl func_801CA6B4
+/* 8004428C 0003FEEC 48 18 64 29 */ bl __fpclassifyf
/* 80044290 0003FEF0 2C 03 00 02 */ cmpwi r3, 2
/* 80044294 0003FEF4 41 82 00 E4 */ beq lbl_80044378
/* 80044298 0003FEF8 C0 21 00 58 */ lfs f1, 0x58(r1)
-/* 8004429C 0003FEFC 48 18 64 19 */ bl func_801CA6B4
+/* 8004429C 0003FEFC 48 18 64 19 */ bl __fpclassifyf
/* 800442A0 0003FF00 2C 03 00 01 */ cmpwi r3, 1
/* 800442A4 0003FF04 41 82 00 D4 */ beq lbl_80044378
/* 800442A8 0003FF08 C0 21 00 58 */ lfs f1, 0x58(r1)
-/* 800442AC 0003FF0C 48 18 64 09 */ bl func_801CA6B4
+/* 800442AC 0003FF0C 48 18 64 09 */ bl __fpclassifyf
/* 800442B0 0003FF10 2C 03 00 02 */ cmpwi r3, 2
/* 800442B4 0003FF14 41 82 00 C4 */ beq lbl_80044378
/* 800442B8 0003FF18 C0 21 00 44 */ lfs f1, 0x44(r1)
-/* 800442BC 0003FF1C 48 18 63 F9 */ bl func_801CA6B4
+/* 800442BC 0003FF1C 48 18 63 F9 */ bl __fpclassifyf
/* 800442C0 0003FF20 2C 03 00 01 */ cmpwi r3, 1
/* 800442C4 0003FF24 41 82 00 B4 */ beq lbl_80044378
/* 800442C8 0003FF28 C0 21 00 44 */ lfs f1, 0x44(r1)
-/* 800442CC 0003FF2C 48 18 63 E9 */ bl func_801CA6B4
+/* 800442CC 0003FF2C 48 18 63 E9 */ bl __fpclassifyf
/* 800442D0 0003FF30 2C 03 00 02 */ cmpwi r3, 2
/* 800442D4 0003FF34 41 82 00 A4 */ beq lbl_80044378
/* 800442D8 0003FF38 C0 21 00 48 */ lfs f1, 0x48(r1)
-/* 800442DC 0003FF3C 48 18 63 D9 */ bl func_801CA6B4
+/* 800442DC 0003FF3C 48 18 63 D9 */ bl __fpclassifyf
/* 800442E0 0003FF40 2C 03 00 01 */ cmpwi r3, 1
/* 800442E4 0003FF44 41 82 00 94 */ beq lbl_80044378
/* 800442E8 0003FF48 C0 21 00 48 */ lfs f1, 0x48(r1)
-/* 800442EC 0003FF4C 48 18 63 C9 */ bl func_801CA6B4
+/* 800442EC 0003FF4C 48 18 63 C9 */ bl __fpclassifyf
/* 800442F0 0003FF50 2C 03 00 02 */ cmpwi r3, 2
/* 800442F4 0003FF54 41 82 00 84 */ beq lbl_80044378
/* 800442F8 0003FF58 C0 21 00 4C */ lfs f1, 0x4c(r1)
-/* 800442FC 0003FF5C 48 18 63 B9 */ bl func_801CA6B4
+/* 800442FC 0003FF5C 48 18 63 B9 */ bl __fpclassifyf
/* 80044300 0003FF60 2C 03 00 01 */ cmpwi r3, 1
/* 80044304 0003FF64 41 82 00 74 */ beq lbl_80044378
/* 80044308 0003FF68 C0 21 00 4C */ lfs f1, 0x4c(r1)
-/* 8004430C 0003FF6C 48 18 63 A9 */ bl func_801CA6B4
+/* 8004430C 0003FF6C 48 18 63 A9 */ bl __fpclassifyf
/* 80044310 0003FF70 2C 03 00 02 */ cmpwi r3, 2
/* 80044314 0003FF74 41 82 00 64 */ beq lbl_80044378
/* 80044318 0003FF78 C0 21 00 88 */ lfs f1, 0x88(r1)
-/* 8004431C 0003FF7C 48 18 63 99 */ bl func_801CA6B4
+/* 8004431C 0003FF7C 48 18 63 99 */ bl __fpclassifyf
/* 80044320 0003FF80 2C 03 00 01 */ cmpwi r3, 1
/* 80044324 0003FF84 41 82 00 54 */ beq lbl_80044378
/* 80044328 0003FF88 C0 21 00 88 */ lfs f1, 0x88(r1)
-/* 8004432C 0003FF8C 48 18 63 89 */ bl func_801CA6B4
+/* 8004432C 0003FF8C 48 18 63 89 */ bl __fpclassifyf
/* 80044330 0003FF90 2C 03 00 02 */ cmpwi r3, 2
/* 80044334 0003FF94 41 82 00 44 */ beq lbl_80044378
/* 80044338 0003FF98 C0 21 00 8C */ lfs f1, 0x8c(r1)
-/* 8004433C 0003FF9C 48 18 63 79 */ bl func_801CA6B4
+/* 8004433C 0003FF9C 48 18 63 79 */ bl __fpclassifyf
/* 80044340 0003FFA0 2C 03 00 01 */ cmpwi r3, 1
/* 80044344 0003FFA4 41 82 00 34 */ beq lbl_80044378
/* 80044348 0003FFA8 C0 21 00 8C */ lfs f1, 0x8c(r1)
-/* 8004434C 0003FFAC 48 18 63 69 */ bl func_801CA6B4
+/* 8004434C 0003FFAC 48 18 63 69 */ bl __fpclassifyf
/* 80044350 0003FFB0 2C 03 00 02 */ cmpwi r3, 2
/* 80044354 0003FFB4 41 82 00 24 */ beq lbl_80044378
/* 80044358 0003FFB8 C0 21 00 90 */ lfs f1, 0x90(r1)
-/* 8004435C 0003FFBC 48 18 63 59 */ bl func_801CA6B4
+/* 8004435C 0003FFBC 48 18 63 59 */ bl __fpclassifyf
/* 80044360 0003FFC0 2C 03 00 01 */ cmpwi r3, 1
/* 80044364 0003FFC4 41 82 00 14 */ beq lbl_80044378
/* 80044368 0003FFC8 C0 21 00 90 */ lfs f1, 0x90(r1)
-/* 8004436C 0003FFCC 48 18 63 49 */ bl func_801CA6B4
+/* 8004436C 0003FFCC 48 18 63 49 */ bl __fpclassifyf
/* 80044370 0003FFD0 2C 03 00 02 */ cmpwi r3, 2
/* 80044374 0003FFD4 40 82 00 38 */ bne lbl_800443AC
lbl_80044378:
@@ -71260,11 +71260,11 @@ lbl_80044378:
/* 800443A8 00040008 D0 21 00 90 */ stfs f1, 0x90(r1)
lbl_800443AC:
/* 800443AC 0004000C C0 3E 04 E0 */ lfs f1, 0x4e0(r30)
-/* 800443B0 00040010 48 18 63 05 */ bl func_801CA6B4
+/* 800443B0 00040010 48 18 63 05 */ bl __fpclassifyf
/* 800443B4 00040014 2C 03 00 01 */ cmpwi r3, 1
/* 800443B8 00040018 41 82 00 14 */ beq lbl_800443CC
/* 800443BC 0004001C C0 3E 04 E0 */ lfs f1, 0x4e0(r30)
-/* 800443C0 00040020 48 18 62 F5 */ bl func_801CA6B4
+/* 800443C0 00040020 48 18 62 F5 */ bl __fpclassifyf
/* 800443C4 00040024 2C 03 00 02 */ cmpwi r3, 2
/* 800443C8 00040028 40 82 00 0C */ bne lbl_800443D4
lbl_800443CC:
diff --git a/asm/text_10.s b/asm/text_10.s
index d1fac54..39a20bb 100644
--- a/asm/text_10.s
+++ b/asm/text_10.s
@@ -9729,7 +9729,7 @@ lbl_803314C8:
/* 803314D8 0032D138 38 61 00 0E */ addi r3, r1, 0xe
/* 803314DC 0032D13C 38 8D 8E 18 */ addi r4, r13, lbl_8063E0D8-_SDA_BASE_
/* 803314E0 0032D140 38 A0 00 02 */ li r5, 2
-/* 803314E4 0032D144 4B E9 8E B5 */ bl func_801CA398
+/* 803314E4 0032D144 4B E9 8E B5 */ bl memcmp
/* 803314E8 0032D148 2C 03 00 00 */ cmpwi r3, 0
/* 803314EC 0032D14C 40 82 00 18 */ bne lbl_80331504
/* 803314F0 0032D150 A0 61 00 0C */ lhz r3, 0xc(r1)
@@ -9838,7 +9838,7 @@ func_80331618:
/* 80331658 0032D2B8 38 61 00 0E */ addi r3, r1, 0xe
/* 8033165C 0032D2BC 38 8D 8E 18 */ addi r4, r13, lbl_8063E0D8-_SDA_BASE_
/* 80331660 0032D2C0 38 A0 00 02 */ li r5, 2
-/* 80331664 0032D2C4 4B E9 8D 35 */ bl func_801CA398
+/* 80331664 0032D2C4 4B E9 8D 35 */ bl memcmp
/* 80331668 0032D2C8 2C 03 00 00 */ cmpwi r3, 0
/* 8033166C 0032D2CC 40 82 00 18 */ bne lbl_80331684
/* 80331670 0032D2D0 A0 61 00 0C */ lhz r3, 0xc(r1)
diff --git a/asm/text_5_2.s b/asm/text_5_2.s
deleted file mode 100644
index 9e12067..0000000
--- a/asm/text_5_2.s
+++ /dev/null
@@ -1,521 +0,0 @@
-.include "macros.inc"
-
-.section .text, "ax" # 0x80006980 - 0x803E1E60
-
-.global func_801CA13C
-func_801CA13C:
-/* 801CA13C 001C5D9C 3C C0 80 42 */ lis r6, lbl_80422D48@ha
-/* 801CA140 001C5DA0 38 C6 2D 48 */ addi r6, r6, lbl_80422D48@l
-/* 801CA144 001C5DA4 80 C6 00 38 */ lwz r6, 0x38(r6)
-/* 801CA148 001C5DA8 81 86 00 20 */ lwz r12, 0x20(r6)
-/* 801CA14C 001C5DAC 7D 89 03 A6 */ mtctr r12
-/* 801CA150 001C5DB0 4E 80 04 20 */ bctr
-/* 801CA154 001C5DB4 2C 04 00 00 */ cmpwi r4, 0
-/* 801CA158 001C5DB8 40 82 00 0C */ bne lbl_801CA164
-/* 801CA15C 001C5DBC 38 60 00 00 */ li r3, 0
-/* 801CA160 001C5DC0 4E 80 00 20 */ blr
-lbl_801CA164:
-/* 801CA164 001C5DC4 2C 05 00 00 */ cmpwi r5, 0
-/* 801CA168 001C5DC8 40 82 00 0C */ bne lbl_801CA174
-/* 801CA16C 001C5DCC 38 60 FF FF */ li r3, -1
-/* 801CA170 001C5DD0 4E 80 00 20 */ blr
-lbl_801CA174:
-/* 801CA174 001C5DD4 2C 03 00 00 */ cmpwi r3, 0
-/* 801CA178 001C5DD8 41 82 00 0C */ beq lbl_801CA184
-/* 801CA17C 001C5DDC 88 04 00 00 */ lbz r0, 0(r4)
-/* 801CA180 001C5DE0 B0 03 00 00 */ sth r0, 0(r3)
-lbl_801CA184:
-/* 801CA184 001C5DE4 88 04 00 00 */ lbz r0, 0(r4)
-/* 801CA188 001C5DE8 7C 00 07 75 */ extsb. r0, r0
-/* 801CA18C 001C5DEC 40 82 00 0C */ bne lbl_801CA198
-/* 801CA190 001C5DF0 38 60 00 00 */ li r3, 0
-/* 801CA194 001C5DF4 4E 80 00 20 */ blr
-lbl_801CA198:
-/* 801CA198 001C5DF8 38 60 00 01 */ li r3, 1
-/* 801CA19C 001C5DFC 4E 80 00 20 */ blr
-/* 801CA1A0 001C5E00 2C 03 00 00 */ cmpwi r3, 0
-/* 801CA1A4 001C5E04 40 82 00 0C */ bne lbl_801CA1B0
-/* 801CA1A8 001C5E08 38 60 00 00 */ li r3, 0
-/* 801CA1AC 001C5E0C 4E 80 00 20 */ blr
-lbl_801CA1B0:
-/* 801CA1B0 001C5E10 98 83 00 00 */ stb r4, 0(r3)
-/* 801CA1B4 001C5E14 38 60 00 01 */ li r3, 1
-/* 801CA1B8 001C5E18 4E 80 00 20 */ blr
-
-.global func_801CA1BC
-func_801CA1BC:
-/* 801CA1BC 001C5E1C 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 801CA1C0 001C5E20 7C 08 02 A6 */ mflr r0
-/* 801CA1C4 001C5E24 2C 03 00 00 */ cmpwi r3, 0
-/* 801CA1C8 001C5E28 90 01 00 34 */ stw r0, 0x34(r1)
-/* 801CA1CC 001C5E2C BF 41 00 18 */ stmw r26, 0x18(r1)
-/* 801CA1D0 001C5E30 7C 7A 1B 78 */ mr r26, r3
-/* 801CA1D4 001C5E34 7C BB 2B 78 */ mr r27, r5
-/* 801CA1D8 001C5E38 3B A0 00 00 */ li r29, 0
-/* 801CA1DC 001C5E3C 41 82 00 0C */ beq lbl_801CA1E8
-/* 801CA1E0 001C5E40 2C 04 00 00 */ cmpwi r4, 0
-/* 801CA1E4 001C5E44 40 82 00 0C */ bne lbl_801CA1F0
-lbl_801CA1E8:
-/* 801CA1E8 001C5E48 38 60 00 00 */ li r3, 0
-/* 801CA1EC 001C5E4C 48 00 00 74 */ b lbl_801CA260
-lbl_801CA1F0:
-/* 801CA1F0 001C5E50 3F E0 80 42 */ lis r31, lbl_80422D48@ha
-/* 801CA1F4 001C5E54 7C 9C 23 78 */ mr r28, r4
-/* 801CA1F8 001C5E58 3B FF 2D 48 */ addi r31, r31, lbl_80422D48@l
-/* 801CA1FC 001C5E5C 48 00 00 58 */ b lbl_801CA254
-lbl_801CA200:
-/* 801CA200 001C5E60 A0 9C 00 00 */ lhz r4, 0(r28)
-/* 801CA204 001C5E64 2C 04 00 00 */ cmpwi r4, 0
-/* 801CA208 001C5E68 40 82 00 10 */ bne lbl_801CA218
-/* 801CA20C 001C5E6C 38 00 00 00 */ li r0, 0
-/* 801CA210 001C5E70 7C 1A E9 AE */ stbx r0, r26, r29
-/* 801CA214 001C5E74 48 00 00 48 */ b lbl_801CA25C
-lbl_801CA218:
-/* 801CA218 001C5E78 80 BF 00 38 */ lwz r5, 0x38(r31)
-/* 801CA21C 001C5E7C 38 61 00 08 */ addi r3, r1, 8
-/* 801CA220 001C5E80 81 85 00 24 */ lwz r12, 0x24(r5)
-/* 801CA224 001C5E84 7D 89 03 A6 */ mtctr r12
-/* 801CA228 001C5E88 3B 9C 00 02 */ addi r28, r28, 2
-/* 801CA22C 001C5E8C 4E 80 04 21 */ bctrl
-/* 801CA230 001C5E90 7C 1D 1A 14 */ add r0, r29, r3
-/* 801CA234 001C5E94 7C 7E 1B 78 */ mr r30, r3
-/* 801CA238 001C5E98 7C 00 D8 40 */ cmplw r0, r27
-/* 801CA23C 001C5E9C 41 81 00 20 */ bgt lbl_801CA25C
-/* 801CA240 001C5EA0 7F C5 F3 78 */ mr r5, r30
-/* 801CA244 001C5EA4 7C 7A EA 14 */ add r3, r26, r29
-/* 801CA248 001C5EA8 38 81 00 08 */ addi r4, r1, 8
-/* 801CA24C 001C5EAC 48 00 41 45 */ bl func_801CE390
-/* 801CA250 001C5EB0 7F BD F2 14 */ add r29, r29, r30
-lbl_801CA254:
-/* 801CA254 001C5EB4 7C 1D D8 40 */ cmplw r29, r27
-/* 801CA258 001C5EB8 40 81 FF A8 */ ble lbl_801CA200
-lbl_801CA25C:
-/* 801CA25C 001C5EBC 7F A3 EB 78 */ mr r3, r29
-lbl_801CA260:
-/* 801CA260 001C5EC0 BB 41 00 18 */ lmw r26, 0x18(r1)
-/* 801CA264 001C5EC4 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 801CA268 001C5EC8 7C 08 03 A6 */ mtlr r0
-/* 801CA26C 001C5ECC 38 21 00 30 */ addi r1, r1, 0x30
-/* 801CA270 001C5ED0 4E 80 00 20 */ blr
-
-.global memmove
-memmove:
-/* 801CA274 001C5ED4 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 801CA278 001C5ED8 7C 08 02 A6 */ mflr r0
-/* 801CA27C 001C5EDC 7C 66 22 78 */ xor r6, r3, r4
-/* 801CA280 001C5EE0 28 05 00 20 */ cmplwi r5, 0x20
-/* 801CA284 001C5EE4 90 01 00 14 */ stw r0, 0x14(r1)
-/* 801CA288 001C5EE8 7C C0 00 34 */ cntlzw r0, r6
-/* 801CA28C 001C5EEC 7C 60 00 30 */ slw r0, r3, r0
-/* 801CA290 001C5EF0 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 801CA294 001C5EF4 7C 7F 1B 78 */ mr r31, r3
-/* 801CA298 001C5EF8 54 07 0F FE */ srwi r7, r0, 0x1f
-/* 801CA29C 001C5EFC 41 80 00 40 */ blt lbl_801CA2DC
-/* 801CA2A0 001C5F00 54 C0 07 BF */ clrlwi. r0, r6, 0x1e
-/* 801CA2A4 001C5F04 41 82 00 1C */ beq lbl_801CA2C0
-/* 801CA2A8 001C5F08 2C 07 00 00 */ cmpwi r7, 0
-/* 801CA2AC 001C5F0C 40 82 00 0C */ bne lbl_801CA2B8
-/* 801CA2B0 001C5F10 48 00 02 99 */ bl __copy_longs_unaligned
-/* 801CA2B4 001C5F14 48 00 00 20 */ b lbl_801CA2D4
-lbl_801CA2B8:
-/* 801CA2B8 001C5F18 48 00 03 51 */ bl __copy_longs_rev_unaligned
-/* 801CA2BC 001C5F1C 48 00 00 18 */ b lbl_801CA2D4
-lbl_801CA2C0:
-/* 801CA2C0 001C5F20 2C 07 00 00 */ cmpwi r7, 0
-/* 801CA2C4 001C5F24 40 82 00 0C */ bne lbl_801CA2D0
-/* 801CA2C8 001C5F28 48 00 01 1D */ bl __copy_longs_aligned
-/* 801CA2CC 001C5F2C 48 00 00 08 */ b lbl_801CA2D4
-lbl_801CA2D0:
-/* 801CA2D0 001C5F30 48 00 01 D1 */ bl __copy_longs_rev_aligned
-lbl_801CA2D4:
-/* 801CA2D4 001C5F34 7F E3 FB 78 */ mr r3, r31
-/* 801CA2D8 001C5F38 48 00 00 54 */ b lbl_801CA32C
-lbl_801CA2DC:
-/* 801CA2DC 001C5F3C 2C 07 00 00 */ cmpwi r7, 0
-/* 801CA2E0 001C5F40 40 82 00 28 */ bne lbl_801CA308
-/* 801CA2E4 001C5F44 38 84 FF FF */ addi r4, r4, -1
-/* 801CA2E8 001C5F48 38 63 FF FF */ addi r3, r3, -1
-/* 801CA2EC 001C5F4C 38 A5 00 01 */ addi r5, r5, 1
-/* 801CA2F0 001C5F50 48 00 00 0C */ b lbl_801CA2FC
-lbl_801CA2F4:
-/* 801CA2F4 001C5F54 8C 04 00 01 */ lbzu r0, 1(r4)
-/* 801CA2F8 001C5F58 9C 03 00 01 */ stbu r0, 1(r3)
-lbl_801CA2FC:
-/* 801CA2FC 001C5F5C 34 A5 FF FF */ addic. r5, r5, -1
-/* 801CA300 001C5F60 40 82 FF F4 */ bne lbl_801CA2F4
-/* 801CA304 001C5F64 48 00 00 24 */ b lbl_801CA328
-lbl_801CA308:
-/* 801CA308 001C5F68 7C 84 2A 14 */ add r4, r4, r5
-/* 801CA30C 001C5F6C 7C 63 2A 14 */ add r3, r3, r5
-/* 801CA310 001C5F70 38 A5 00 01 */ addi r5, r5, 1
-/* 801CA314 001C5F74 48 00 00 0C */ b lbl_801CA320
-lbl_801CA318:
-/* 801CA318 001C5F78 8C 04 FF FF */ lbzu r0, -1(r4)
-/* 801CA31C 001C5F7C 9C 03 FF FF */ stbu r0, -1(r3)
-lbl_801CA320:
-/* 801CA320 001C5F80 34 A5 FF FF */ addic. r5, r5, -1
-/* 801CA324 001C5F84 40 82 FF F4 */ bne lbl_801CA318
-lbl_801CA328:
-/* 801CA328 001C5F88 7F E3 FB 78 */ mr r3, r31
-lbl_801CA32C:
-/* 801CA32C 001C5F8C 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 801CA330 001C5F90 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 801CA334 001C5F94 7C 08 03 A6 */ mtlr r0
-/* 801CA338 001C5F98 38 21 00 10 */ addi r1, r1, 0x10
-/* 801CA33C 001C5F9C 4E 80 00 20 */ blr
-
-.global memchr
-memchr:
-/* 801CA340 001C5FA0 54 84 06 3E */ clrlwi r4, r4, 0x18
-/* 801CA344 001C5FA4 38 63 FF FF */ addi r3, r3, -1
-/* 801CA348 001C5FA8 38 A5 00 01 */ addi r5, r5, 1
-/* 801CA34C 001C5FAC 48 00 00 10 */ b lbl_801CA35C
-lbl_801CA350:
-/* 801CA350 001C5FB0 8C 03 00 01 */ lbzu r0, 1(r3)
-/* 801CA354 001C5FB4 7C 00 20 40 */ cmplw r0, r4
-/* 801CA358 001C5FB8 4D 82 00 20 */ beqlr
-lbl_801CA35C:
-/* 801CA35C 001C5FBC 34 A5 FF FF */ addic. r5, r5, -1
-/* 801CA360 001C5FC0 40 82 FF F0 */ bne lbl_801CA350
-/* 801CA364 001C5FC4 38 60 00 00 */ li r3, 0
-/* 801CA368 001C5FC8 4E 80 00 20 */ blr
-
-.global func_801CA36C
-func_801CA36C:
-/* 801CA36C 001C5FCC 7C 63 2A 14 */ add r3, r3, r5
-/* 801CA370 001C5FD0 54 84 06 3E */ clrlwi r4, r4, 0x18
-/* 801CA374 001C5FD4 38 A5 00 01 */ addi r5, r5, 1
-/* 801CA378 001C5FD8 48 00 00 10 */ b lbl_801CA388
-lbl_801CA37C:
-/* 801CA37C 001C5FDC 8C 03 FF FF */ lbzu r0, -1(r3)
-/* 801CA380 001C5FE0 7C 00 20 40 */ cmplw r0, r4
-/* 801CA384 001C5FE4 4D 82 00 20 */ beqlr
-lbl_801CA388:
-/* 801CA388 001C5FE8 34 A5 FF FF */ addic. r5, r5, -1
-/* 801CA38C 001C5FEC 40 82 FF F0 */ bne lbl_801CA37C
-/* 801CA390 001C5FF0 38 60 00 00 */ li r3, 0
-/* 801CA394 001C5FF4 4E 80 00 20 */ blr
-
-.global func_801CA398
-func_801CA398:
-/* 801CA398 001C5FF8 38 E4 FF FF */ addi r7, r4, -1
-/* 801CA39C 001C5FFC 38 C3 FF FF */ addi r6, r3, -1
-/* 801CA3A0 001C6000 38 85 00 01 */ addi r4, r5, 1
-/* 801CA3A4 001C6004 48 00 00 30 */ b lbl_801CA3D4
-lbl_801CA3A8:
-/* 801CA3A8 001C6008 8C 66 00 01 */ lbzu r3, 1(r6)
-/* 801CA3AC 001C600C 8C 07 00 01 */ lbzu r0, 1(r7)
-/* 801CA3B0 001C6010 7C 03 00 40 */ cmplw r3, r0
-/* 801CA3B4 001C6014 41 82 00 20 */ beq lbl_801CA3D4
-/* 801CA3B8 001C6018 88 86 00 00 */ lbz r4, 0(r6)
-/* 801CA3BC 001C601C 38 60 00 01 */ li r3, 1
-/* 801CA3C0 001C6020 88 07 00 00 */ lbz r0, 0(r7)
-/* 801CA3C4 001C6024 7C 04 00 40 */ cmplw r4, r0
-/* 801CA3C8 001C6028 4C 80 00 20 */ bgelr
-/* 801CA3CC 001C602C 38 60 FF FF */ li r3, -1
-/* 801CA3D0 001C6030 4E 80 00 20 */ blr
-lbl_801CA3D4:
-/* 801CA3D4 001C6034 34 84 FF FF */ addic. r4, r4, -1
-/* 801CA3D8 001C6038 40 82 FF D0 */ bne lbl_801CA3A8
-/* 801CA3DC 001C603C 38 60 00 00 */ li r3, 0
-/* 801CA3E0 001C6040 4E 80 00 20 */ blr
-
-.global __copy_longs_aligned
-__copy_longs_aligned:
-/* 801CA3E4 001C6044 7C 03 00 D0 */ neg r0, r3
-/* 801CA3E8 001C6048 38 84 FF FF */ addi r4, r4, -1
-/* 801CA3EC 001C604C 54 06 07 BF */ clrlwi. r6, r0, 0x1e
-/* 801CA3F0 001C6050 38 63 FF FF */ addi r3, r3, -1
-/* 801CA3F4 001C6054 41 82 00 18 */ beq lbl_801CA40C
-/* 801CA3F8 001C6058 7C A6 28 50 */ subf r5, r6, r5
-lbl_801CA3FC:
-/* 801CA3FC 001C605C 8C 04 00 01 */ lbzu r0, 1(r4)
-/* 801CA400 001C6060 34 C6 FF FF */ addic. r6, r6, -1
-/* 801CA404 001C6064 9C 03 00 01 */ stbu r0, 1(r3)
-/* 801CA408 001C6068 40 82 FF F4 */ bne lbl_801CA3FC
-lbl_801CA40C:
-/* 801CA40C 001C606C 54 A6 D9 7F */ rlwinm. r6, r5, 0x1b, 5, 0x1f
-/* 801CA410 001C6070 38 E4 FF FD */ addi r7, r4, -3
-/* 801CA414 001C6074 38 83 FF FD */ addi r4, r3, -3
-/* 801CA418 001C6078 41 82 00 4C */ beq lbl_801CA464
-lbl_801CA41C:
-/* 801CA41C 001C607C 80 67 00 04 */ lwz r3, 4(r7)
-/* 801CA420 001C6080 34 C6 FF FF */ addic. r6, r6, -1
-/* 801CA424 001C6084 80 07 00 08 */ lwz r0, 8(r7)
-/* 801CA428 001C6088 90 64 00 04 */ stw r3, 4(r4)
-/* 801CA42C 001C608C 80 67 00 0C */ lwz r3, 0xc(r7)
-/* 801CA430 001C6090 90 04 00 08 */ stw r0, 8(r4)
-/* 801CA434 001C6094 80 07 00 10 */ lwz r0, 0x10(r7)
-/* 801CA438 001C6098 90 64 00 0C */ stw r3, 0xc(r4)
-/* 801CA43C 001C609C 80 67 00 14 */ lwz r3, 0x14(r7)
-/* 801CA440 001C60A0 90 04 00 10 */ stw r0, 0x10(r4)
-/* 801CA444 001C60A4 80 07 00 18 */ lwz r0, 0x18(r7)
-/* 801CA448 001C60A8 90 64 00 14 */ stw r3, 0x14(r4)
-/* 801CA44C 001C60AC 80 67 00 1C */ lwz r3, 0x1c(r7)
-/* 801CA450 001C60B0 90 04 00 18 */ stw r0, 0x18(r4)
-/* 801CA454 001C60B4 84 07 00 20 */ lwzu r0, 0x20(r7)
-/* 801CA458 001C60B8 90 64 00 1C */ stw r3, 0x1c(r4)
-/* 801CA45C 001C60BC 94 04 00 20 */ stwu r0, 0x20(r4)
-/* 801CA460 001C60C0 40 82 FF BC */ bne lbl_801CA41C
-lbl_801CA464:
-/* 801CA464 001C60C4 54 A3 F7 7F */ rlwinm. r3, r5, 0x1e, 0x1d, 0x1f
-/* 801CA468 001C60C8 41 82 00 14 */ beq lbl_801CA47C
-lbl_801CA46C:
-/* 801CA46C 001C60CC 84 07 00 04 */ lwzu r0, 4(r7)
-/* 801CA470 001C60D0 34 63 FF FF */ addic. r3, r3, -1
-/* 801CA474 001C60D4 94 04 00 04 */ stwu r0, 4(r4)
-/* 801CA478 001C60D8 40 82 FF F4 */ bne lbl_801CA46C
-lbl_801CA47C:
-/* 801CA47C 001C60DC 54 A5 07 BF */ clrlwi. r5, r5, 0x1e
-/* 801CA480 001C60E0 38 C7 00 03 */ addi r6, r7, 3
-/* 801CA484 001C60E4 38 64 00 03 */ addi r3, r4, 3
-/* 801CA488 001C60E8 4D 82 00 20 */ beqlr
-lbl_801CA48C:
-/* 801CA48C 001C60EC 8C 06 00 01 */ lbzu r0, 1(r6)
-/* 801CA490 001C60F0 34 A5 FF FF */ addic. r5, r5, -1
-/* 801CA494 001C60F4 9C 03 00 01 */ stbu r0, 1(r3)
-/* 801CA498 001C60F8 40 82 FF F4 */ bne lbl_801CA48C
-/* 801CA49C 001C60FC 4E 80 00 20 */ blr
-
-.global __copy_longs_rev_aligned
-__copy_longs_rev_aligned:
-/* 801CA4A0 001C6100 7C E3 2A 14 */ add r7, r3, r5
-/* 801CA4A4 001C6104 7C C4 2A 14 */ add r6, r4, r5
-/* 801CA4A8 001C6108 54 E3 07 BF */ clrlwi. r3, r7, 0x1e
-/* 801CA4AC 001C610C 41 82 00 18 */ beq lbl_801CA4C4
-/* 801CA4B0 001C6110 7C A3 28 50 */ subf r5, r3, r5
-lbl_801CA4B4:
-/* 801CA4B4 001C6114 8C 06 FF FF */ lbzu r0, -1(r6)
-/* 801CA4B8 001C6118 34 63 FF FF */ addic. r3, r3, -1
-/* 801CA4BC 001C611C 9C 07 FF FF */ stbu r0, -1(r7)
-/* 801CA4C0 001C6120 40 82 FF F4 */ bne lbl_801CA4B4
-lbl_801CA4C4:
-/* 801CA4C4 001C6124 54 A4 D9 7F */ rlwinm. r4, r5, 0x1b, 5, 0x1f
-/* 801CA4C8 001C6128 41 82 00 4C */ beq lbl_801CA514
-lbl_801CA4CC:
-/* 801CA4CC 001C612C 80 66 FF FC */ lwz r3, -4(r6)
-/* 801CA4D0 001C6130 34 84 FF FF */ addic. r4, r4, -1
-/* 801CA4D4 001C6134 80 06 FF F8 */ lwz r0, -8(r6)
-/* 801CA4D8 001C6138 90 67 FF FC */ stw r3, -4(r7)
-/* 801CA4DC 001C613C 80 66 FF F4 */ lwz r3, -0xc(r6)
-/* 801CA4E0 001C6140 90 07 FF F8 */ stw r0, -8(r7)
-/* 801CA4E4 001C6144 80 06 FF F0 */ lwz r0, -0x10(r6)
-/* 801CA4E8 001C6148 90 67 FF F4 */ stw r3, -0xc(r7)
-/* 801CA4EC 001C614C 80 66 FF EC */ lwz r3, -0x14(r6)
-/* 801CA4F0 001C6150 90 07 FF F0 */ stw r0, -0x10(r7)
-/* 801CA4F4 001C6154 80 06 FF E8 */ lwz r0, -0x18(r6)
-/* 801CA4F8 001C6158 90 67 FF EC */ stw r3, -0x14(r7)
-/* 801CA4FC 001C615C 80 66 FF E4 */ lwz r3, -0x1c(r6)
-/* 801CA500 001C6160 90 07 FF E8 */ stw r0, -0x18(r7)
-/* 801CA504 001C6164 84 06 FF E0 */ lwzu r0, -0x20(r6)
-/* 801CA508 001C6168 90 67 FF E4 */ stw r3, -0x1c(r7)
-/* 801CA50C 001C616C 94 07 FF E0 */ stwu r0, -0x20(r7)
-/* 801CA510 001C6170 40 82 FF BC */ bne lbl_801CA4CC
-lbl_801CA514:
-/* 801CA514 001C6174 54 A3 F7 7F */ rlwinm. r3, r5, 0x1e, 0x1d, 0x1f
-/* 801CA518 001C6178 41 82 00 14 */ beq lbl_801CA52C
-lbl_801CA51C:
-/* 801CA51C 001C617C 84 06 FF FC */ lwzu r0, -4(r6)
-/* 801CA520 001C6180 34 63 FF FF */ addic. r3, r3, -1
-/* 801CA524 001C6184 94 07 FF FC */ stwu r0, -4(r7)
-/* 801CA528 001C6188 40 82 FF F4 */ bne lbl_801CA51C
-lbl_801CA52C:
-/* 801CA52C 001C618C 54 A5 07 BF */ clrlwi. r5, r5, 0x1e
-/* 801CA530 001C6190 4D 82 00 20 */ beqlr
-lbl_801CA534:
-/* 801CA534 001C6194 8C 06 FF FF */ lbzu r0, -1(r6)
-/* 801CA538 001C6198 34 A5 FF FF */ addic. r5, r5, -1
-/* 801CA53C 001C619C 9C 07 FF FF */ stbu r0, -1(r7)
-/* 801CA540 001C61A0 40 82 FF F4 */ bne lbl_801CA534
-/* 801CA544 001C61A4 4E 80 00 20 */ blr
-
-.global __copy_longs_unaligned
-__copy_longs_unaligned:
-/* 801CA548 001C61A8 7C 03 00 D0 */ neg r0, r3
-/* 801CA54C 001C61AC 39 04 FF FF */ addi r8, r4, -1
-/* 801CA550 001C61B0 54 06 07 BF */ clrlwi. r6, r0, 0x1e
-/* 801CA554 001C61B4 38 63 FF FF */ addi r3, r3, -1
-/* 801CA558 001C61B8 41 82 00 18 */ beq lbl_801CA570
-/* 801CA55C 001C61BC 7C A6 28 50 */ subf r5, r6, r5
-lbl_801CA560:
-/* 801CA560 001C61C0 8C 08 00 01 */ lbzu r0, 1(r8)
-/* 801CA564 001C61C4 34 C6 FF FF */ addic. r6, r6, -1
-/* 801CA568 001C61C8 9C 03 00 01 */ stbu r0, 1(r3)
-/* 801CA56C 001C61CC 40 82 FF F4 */ bne lbl_801CA560
-lbl_801CA570:
-/* 801CA570 001C61D0 38 08 00 01 */ addi r0, r8, 1
-/* 801CA574 001C61D4 38 C3 FF FD */ addi r6, r3, -3
-/* 801CA578 001C61D8 54 09 07 BE */ clrlwi r9, r0, 0x1e
-/* 801CA57C 001C61DC 54 A7 E8 FE */ srwi r7, r5, 3
-/* 801CA580 001C61E0 7D 09 40 50 */ subf r8, r9, r8
-/* 801CA584 001C61E4 54 0A 1E F8 */ rlwinm r10, r0, 3, 0x1b, 0x1c
-/* 801CA588 001C61E8 84 88 00 01 */ lwzu r4, 1(r8)
-/* 801CA58C 001C61EC 21 6A 00 20 */ subfic r11, r10, 0x20
-lbl_801CA590:
-/* 801CA590 001C61F0 80 68 00 04 */ lwz r3, 4(r8)
-/* 801CA594 001C61F4 7C 84 50 30 */ slw r4, r4, r10
-/* 801CA598 001C61F8 34 E7 FF FF */ addic. r7, r7, -1
-/* 801CA59C 001C61FC 7C 60 5C 30 */ srw r0, r3, r11
-/* 801CA5A0 001C6200 7C 63 50 30 */ slw r3, r3, r10
-/* 801CA5A4 001C6204 7C 80 03 78 */ or r0, r4, r0
-/* 801CA5A8 001C6208 90 06 00 04 */ stw r0, 4(r6)
-/* 801CA5AC 001C620C 84 88 00 08 */ lwzu r4, 8(r8)
-/* 801CA5B0 001C6210 7C 80 5C 30 */ srw r0, r4, r11
-/* 801CA5B4 001C6214 7C 60 03 78 */ or r0, r3, r0
-/* 801CA5B8 001C6218 94 06 00 08 */ stwu r0, 8(r6)
-/* 801CA5BC 001C621C 40 82 FF D4 */ bne lbl_801CA590
-/* 801CA5C0 001C6220 54 A0 07 7B */ rlwinm. r0, r5, 0, 0x1d, 0x1d
-/* 801CA5C4 001C6224 41 82 00 18 */ beq lbl_801CA5DC
-/* 801CA5C8 001C6228 84 08 00 04 */ lwzu r0, 4(r8)
-/* 801CA5CC 001C622C 7C 83 50 30 */ slw r3, r4, r10
-/* 801CA5D0 001C6230 7C 00 5C 30 */ srw r0, r0, r11
-/* 801CA5D4 001C6234 7C 60 03 78 */ or r0, r3, r0
-/* 801CA5D8 001C6238 94 06 00 04 */ stwu r0, 4(r6)
-lbl_801CA5DC:
-/* 801CA5DC 001C623C 54 A5 07 BF */ clrlwi. r5, r5, 0x1e
-/* 801CA5E0 001C6240 38 88 00 03 */ addi r4, r8, 3
-/* 801CA5E4 001C6244 38 66 00 03 */ addi r3, r6, 3
-/* 801CA5E8 001C6248 4D 82 00 20 */ beqlr
-/* 801CA5EC 001C624C 20 09 00 04 */ subfic r0, r9, 4
-/* 801CA5F0 001C6250 7C 80 20 50 */ subf r4, r0, r4
-lbl_801CA5F4:
-/* 801CA5F4 001C6254 8C 04 00 01 */ lbzu r0, 1(r4)
-/* 801CA5F8 001C6258 34 A5 FF FF */ addic. r5, r5, -1
-/* 801CA5FC 001C625C 9C 03 00 01 */ stbu r0, 1(r3)
-/* 801CA600 001C6260 40 82 FF F4 */ bne lbl_801CA5F4
-/* 801CA604 001C6264 4E 80 00 20 */ blr
-
-.global __copy_longs_rev_unaligned
-__copy_longs_rev_unaligned:
-/* 801CA608 001C6268 7D 63 2A 14 */ add r11, r3, r5
-/* 801CA60C 001C626C 7D 44 2A 14 */ add r10, r4, r5
-/* 801CA610 001C6270 55 63 07 BF */ clrlwi. r3, r11, 0x1e
-/* 801CA614 001C6274 41 82 00 18 */ beq lbl_801CA62C
-/* 801CA618 001C6278 7C A3 28 50 */ subf r5, r3, r5
-lbl_801CA61C:
-/* 801CA61C 001C627C 8C 0A FF FF */ lbzu r0, -1(r10)
-/* 801CA620 001C6280 34 63 FF FF */ addic. r3, r3, -1
-/* 801CA624 001C6284 9C 0B FF FF */ stbu r0, -1(r11)
-/* 801CA628 001C6288 40 82 FF F4 */ bne lbl_801CA61C
-lbl_801CA62C:
-/* 801CA62C 001C628C 55 48 1E F8 */ rlwinm r8, r10, 3, 0x1b, 0x1c
-/* 801CA630 001C6290 55 47 07 BE */ clrlwi r7, r10, 0x1e
-/* 801CA634 001C6294 21 28 00 20 */ subfic r9, r8, 0x20
-/* 801CA638 001C6298 54 A6 E8 FE */ srwi r6, r5, 3
-/* 801CA63C 001C629C 20 07 00 04 */ subfic r0, r7, 4
-/* 801CA640 001C62A0 7D 4A 02 14 */ add r10, r10, r0
-/* 801CA644 001C62A4 84 8A FF FC */ lwzu r4, -4(r10)
-lbl_801CA648:
-/* 801CA648 001C62A8 80 0A FF FC */ lwz r0, -4(r10)
-/* 801CA64C 001C62AC 7C 83 4C 30 */ srw r3, r4, r9
-/* 801CA650 001C62B0 34 C6 FF FF */ addic. r6, r6, -1
-/* 801CA654 001C62B4 7C 04 40 30 */ slw r4, r0, r8
-/* 801CA658 001C62B8 7C 00 4C 30 */ srw r0, r0, r9
-/* 801CA65C 001C62BC 7C 83 1B 78 */ or r3, r4, r3
-/* 801CA660 001C62C0 90 6B FF FC */ stw r3, -4(r11)
-/* 801CA664 001C62C4 84 8A FF F8 */ lwzu r4, -8(r10)
-/* 801CA668 001C62C8 7C 83 40 30 */ slw r3, r4, r8
-/* 801CA66C 001C62CC 7C 60 03 78 */ or r0, r3, r0
-/* 801CA670 001C62D0 94 0B FF F8 */ stwu r0, -8(r11)
-/* 801CA674 001C62D4 40 82 FF D4 */ bne lbl_801CA648
-/* 801CA678 001C62D8 54 A0 07 7B */ rlwinm. r0, r5, 0, 0x1d, 0x1d
-/* 801CA67C 001C62DC 41 82 00 18 */ beq lbl_801CA694
-/* 801CA680 001C62E0 84 6A FF FC */ lwzu r3, -4(r10)
-/* 801CA684 001C62E4 7C 80 4C 30 */ srw r0, r4, r9
-/* 801CA688 001C62E8 7C 63 40 30 */ slw r3, r3, r8
-/* 801CA68C 001C62EC 7C 60 03 78 */ or r0, r3, r0
-/* 801CA690 001C62F0 94 0B FF FC */ stwu r0, -4(r11)
-lbl_801CA694:
-/* 801CA694 001C62F4 54 A5 07 BF */ clrlwi. r5, r5, 0x1e
-/* 801CA698 001C62F8 4D 82 00 20 */ beqlr
-/* 801CA69C 001C62FC 7D 4A 3A 14 */ add r10, r10, r7
-lbl_801CA6A0:
-/* 801CA6A0 001C6300 8C 0A FF FF */ lbzu r0, -1(r10)
-/* 801CA6A4 001C6304 34 A5 FF FF */ addic. r5, r5, -1
-/* 801CA6A8 001C6308 9C 0B FF FF */ stbu r0, -1(r11)
-/* 801CA6AC 001C630C 40 82 FF F4 */ bne lbl_801CA6A0
-/* 801CA6B0 001C6310 4E 80 00 20 */ blr
-
-.global func_801CA6B4
-func_801CA6B4:
-/* 801CA6B4 001C6314 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 801CA6B8 001C6318 3C 00 7F 80 */ lis r0, 0x7f80
-/* 801CA6BC 001C631C D0 21 00 08 */ stfs f1, 8(r1)
-/* 801CA6C0 001C6320 80 81 00 08 */ lwz r4, 8(r1)
-/* 801CA6C4 001C6324 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
-/* 801CA6C8 001C6328 7C 03 00 00 */ cmpw r3, r0
-/* 801CA6CC 001C632C 41 82 00 14 */ beq lbl_801CA6E0
-/* 801CA6D0 001C6330 40 80 00 3C */ bge lbl_801CA70C
-/* 801CA6D4 001C6334 2C 03 00 00 */ cmpwi r3, 0
-/* 801CA6D8 001C6338 41 82 00 20 */ beq lbl_801CA6F8
-/* 801CA6DC 001C633C 48 00 00 30 */ b lbl_801CA70C
-lbl_801CA6E0:
-/* 801CA6E0 001C6340 54 83 02 7E */ clrlwi r3, r4, 9
-/* 801CA6E4 001C6344 7C 03 00 D0 */ neg r0, r3
-/* 801CA6E8 001C6348 7C 00 1B 78 */ or r0, r0, r3
-/* 801CA6EC 001C634C 7C 03 FE 70 */ srawi r3, r0, 0x1f
-/* 801CA6F0 001C6350 38 63 00 02 */ addi r3, r3, 2
-/* 801CA6F4 001C6354 48 00 00 1C */ b lbl_801CA710
-lbl_801CA6F8:
-/* 801CA6F8 001C6358 54 80 02 7F */ clrlwi. r0, r4, 9
-/* 801CA6FC 001C635C 38 60 00 03 */ li r3, 3
-/* 801CA700 001C6360 41 82 00 10 */ beq lbl_801CA710
-/* 801CA704 001C6364 38 60 00 05 */ li r3, 5
-/* 801CA708 001C6368 48 00 00 08 */ b lbl_801CA710
-lbl_801CA70C:
-/* 801CA70C 001C636C 38 60 00 04 */ li r3, 4
-lbl_801CA710:
-/* 801CA710 001C6370 38 21 00 10 */ addi r1, r1, 0x10
-/* 801CA714 001C6374 4E 80 00 20 */ blr
-
-.global func_801CA718
-func_801CA718:
-/* 801CA718 001C6378 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 801CA71C 001C637C D8 21 00 08 */ stfd f1, 8(r1)
-/* 801CA720 001C6380 80 01 00 08 */ lwz r0, 8(r1)
-/* 801CA724 001C6384 54 03 00 00 */ rlwinm r3, r0, 0, 0, 0
-/* 801CA728 001C6388 38 21 00 10 */ addi r1, r1, 0x10
-/* 801CA72C 001C638C 4E 80 00 20 */ blr
-
-.global func_801CA730
-func_801CA730:
-/* 801CA730 001C6390 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 801CA734 001C6394 3C 00 7F F0 */ lis r0, 0x7ff0
-/* 801CA738 001C6398 D8 21 00 08 */ stfd f1, 8(r1)
-/* 801CA73C 001C639C 80 81 00 08 */ lwz r4, 8(r1)
-/* 801CA740 001C63A0 54 83 00 56 */ rlwinm r3, r4, 0, 1, 0xb
-/* 801CA744 001C63A4 7C 03 00 00 */ cmpw r3, r0
-/* 801CA748 001C63A8 41 82 00 14 */ beq lbl_801CA75C
-/* 801CA74C 001C63AC 40 80 00 58 */ bge lbl_801CA7A4
-/* 801CA750 001C63B0 2C 03 00 00 */ cmpwi r3, 0
-/* 801CA754 001C63B4 41 82 00 2C */ beq lbl_801CA780
-/* 801CA758 001C63B8 48 00 00 4C */ b lbl_801CA7A4
-lbl_801CA75C:
-/* 801CA75C 001C63BC 54 80 03 3F */ clrlwi. r0, r4, 0xc
-/* 801CA760 001C63C0 40 82 00 10 */ bne lbl_801CA770
-/* 801CA764 001C63C4 80 01 00 0C */ lwz r0, 0xc(r1)
-/* 801CA768 001C63C8 2C 00 00 00 */ cmpwi r0, 0
-/* 801CA76C 001C63CC 41 82 00 0C */ beq lbl_801CA778
-lbl_801CA770:
-/* 801CA770 001C63D0 38 60 00 01 */ li r3, 1
-/* 801CA774 001C63D4 48 00 00 34 */ b lbl_801CA7A8
-lbl_801CA778:
-/* 801CA778 001C63D8 38 60 00 02 */ li r3, 2
-/* 801CA77C 001C63DC 48 00 00 2C */ b lbl_801CA7A8
-lbl_801CA780:
-/* 801CA780 001C63E0 54 80 03 3F */ clrlwi. r0, r4, 0xc
-/* 801CA784 001C63E4 40 82 00 10 */ bne lbl_801CA794
-/* 801CA788 001C63E8 80 01 00 0C */ lwz r0, 0xc(r1)
-/* 801CA78C 001C63EC 2C 00 00 00 */ cmpwi r0, 0
-/* 801CA790 001C63F0 41 82 00 0C */ beq lbl_801CA79C
-lbl_801CA794:
-/* 801CA794 001C63F4 38 60 00 05 */ li r3, 5
-/* 801CA798 001C63F8 48 00 00 10 */ b lbl_801CA7A8
-lbl_801CA79C:
-/* 801CA79C 001C63FC 38 60 00 03 */ li r3, 3
-/* 801CA7A0 001C6400 48 00 00 08 */ b lbl_801CA7A8
-lbl_801CA7A4:
-/* 801CA7A4 001C6404 38 60 00 04 */ li r3, 4
-lbl_801CA7A8:
-/* 801CA7A8 001C6408 38 21 00 10 */ addi r1, r1, 0x10
-/* 801CA7AC 001C640C 4E 80 00 20 */ blr
diff --git a/asm/text_6.s b/asm/text_6.s
index 89bf836..b741745 100644
--- a/asm/text_6.s
+++ b/asm/text_6.s
@@ -2,13 +2,6 @@
.section .text, "ax" # 0x80006980 - 0x803E1E60
-.global func_801CA7B0
-func_801CA7B0:
-/* 801CA7B0 001C6410 3C 60 80 1C */ lis r3, __close_all@ha
-/* 801CA7B4 001C6414 38 63 78 94 */ addi r3, r3, __close_all@l
-/* 801CA7B8 001C6418 90 6D 9F D8 */ stw r3, lbl_8063F298-_SDA_BASE_(r13)
-/* 801CA7BC 001C641C 4E 80 00 20 */ blr
-
.global func_801CA7C0
func_801CA7C0:
/* 801CA7C0 001C6420 94 21 FF D0 */ stwu r1, -0x30(r1)
@@ -2137,7 +2130,7 @@ lbl_801CC480:
lbl_801CC4A8:
/* 801CC4A8 001C8108 38 61 00 80 */ addi r3, r1, 0x80
/* 801CC4AC 001C810C 38 A0 02 00 */ li r5, 0x200
-/* 801CC4B0 001C8110 4B FF DD 0D */ bl func_801CA1BC
+/* 801CC4B0 001C8110 4B FF DD 0D */ bl wcstombs
/* 801CC4B4 001C8114 2C 03 00 00 */ cmpwi r3, 0
/* 801CC4B8 001C8118 41 80 01 44 */ blt lbl_801CC5FC
/* 801CC4BC 001C811C 3B 41 00 80 */ addi r26, r1, 0x80
@@ -3817,7 +3810,7 @@ lbl_801CDBB0:
/* 801CDBC0 001C9820 7E C3 B3 78 */ mr r3, r22
/* 801CDBC4 001C9824 38 81 00 0C */ addi r4, r1, 0xc
/* 801CDBC8 001C9828 38 A0 00 01 */ li r5, 1
-/* 801CDBCC 001C982C 4B FF C5 71 */ bl func_801CA13C
+/* 801CDBCC 001C982C 4B FF C5 71 */ bl mbtowc
/* 801CDBD0 001C9830 3A D6 00 01 */ addi r22, r22, 1
/* 801CDBD4 001C9834 48 00 00 0C */ b lbl_801CDBE0
lbl_801CDBD8:
@@ -4045,7 +4038,7 @@ lbl_801CDEA4:
/* 801CDED4 001C9B34 7E C3 B3 78 */ mr r3, r22
/* 801CDED8 001C9B38 38 81 00 0C */ addi r4, r1, 0xc
/* 801CDEDC 001C9B3C 38 A0 00 01 */ li r5, 1
-/* 801CDEE0 001C9B40 4B FF C2 5D */ bl func_801CA13C
+/* 801CDEE0 001C9B40 4B FF C2 5D */ bl mbtowc
/* 801CDEE4 001C9B44 3A D6 00 02 */ addi r22, r22, 2
/* 801CDEE8 001C9B48 48 00 00 0C */ b lbl_801CDEF4
lbl_801CDEEC:
@@ -11384,7 +11377,7 @@ func_801D4318:
/* 801D432C 001CFF8C 93 E1 00 14 */ stw r31, 0x14(r1)
/* 801D4330 001CFF90 7C 7F 1B 78 */ mr r31, r3
/* 801D4334 001CFF94 D8 21 00 08 */ stfd f1, 8(r1)
-/* 801D4338 001CFF98 4B FF 63 F9 */ bl func_801CA730
+/* 801D4338 001CFF98 4B FF 63 F9 */ bl __fpclassifyd
/* 801D433C 001CFF9C 2C 03 00 02 */ cmpwi r3, 2
/* 801D4340 001CFFA0 40 81 00 10 */ ble lbl_801D4350
/* 801D4344 001CFFA4 C8 02 95 A0 */ lfd f0, lbl_80641BA0-_SDA2_BASE_(r2)
diff --git a/asm/text_7.s b/asm/text_7.s
index 4abaf44..938a119 100644
--- a/asm/text_7.s
+++ b/asm/text_7.s
@@ -2261,7 +2261,7 @@ lbl_802249A4:
/* 802249B0 00220610 7F C3 F3 78 */ mr r3, r30
/* 802249B4 00220614 7F 64 DB 78 */ mr r4, r27
/* 802249B8 00220618 38 A0 00 04 */ li r5, 4
-/* 802249BC 0022061C 4B FA 59 DD */ bl func_801CA398
+/* 802249BC 0022061C 4B FA 59 DD */ bl memcmp
/* 802249C0 00220620 2C 03 00 00 */ cmpwi r3, 0
/* 802249C4 00220624 40 82 00 0C */ bne lbl_802249D0
/* 802249C8 00220628 7F C3 F3 78 */ mr r3, r30
@@ -2302,7 +2302,7 @@ lbl_80224A30:
/* 80224A38 00220698 41 82 00 20 */ beq lbl_80224A58
/* 80224A3C 0022069C 7C A4 2B 78 */ mr r4, r5
/* 80224A40 002206A0 38 A0 00 04 */ li r5, 4
-/* 80224A44 002206A4 4B FA 59 55 */ bl func_801CA398
+/* 80224A44 002206A4 4B FA 59 55 */ bl memcmp
/* 80224A48 002206A8 2C 03 00 00 */ cmpwi r3, 0
/* 80224A4C 002206AC 41 82 00 0C */ beq lbl_80224A58
/* 80224A50 002206B0 38 60 00 00 */ li r3, 0
@@ -4608,7 +4608,7 @@ func_80226928:
/* 80226960 002225C0 7F C3 F3 78 */ mr r3, r30
/* 80226964 002225C4 38 8D 85 A0 */ addi r4, r13, lbl_8063D860-_SDA_BASE_
/* 80226968 002225C8 38 A0 00 04 */ li r5, 4
-/* 8022696C 002225CC 4B FA 3A 2D */ bl func_801CA398
+/* 8022696C 002225CC 4B FA 3A 2D */ bl memcmp
/* 80226970 002225D0 2C 03 00 00 */ cmpwi r3, 0
/* 80226974 002225D4 40 82 00 2C */ bne lbl_802269A0
/* 80226978 002225D8 38 00 00 03 */ li r0, 3
@@ -79926,7 +79926,7 @@ lbl_802678B0:
/* 802678B4 00263514 4B FF FF 69 */ bl func_8026781C
/* 802678B8 00263518 7F 84 E3 78 */ mr r4, r28
/* 802678BC 0026351C 38 A0 00 0C */ li r5, 0xc
-/* 802678C0 00263520 4B F6 2A D9 */ bl func_801CA398
+/* 802678C0 00263520 4B F6 2A D9 */ bl memcmp
/* 802678C4 00263524 2C 03 00 00 */ cmpwi r3, 0
/* 802678C8 00263528 40 82 00 0C */ bne lbl_802678D4
/* 802678CC 0026352C 38 60 FF FD */ li r3, -3
diff --git a/asm/text_8.s b/asm/text_8.s
index bb165ef..5f55a54 100644
--- a/asm/text_8.s
+++ b/asm/text_8.s
@@ -17904,7 +17904,7 @@ lbl_802894D8:
/* 802894D8 00285138 80 8D AA 8C */ lwz r4, lbl_8063FD4C-_SDA_BASE_(r13)
/* 802894DC 0028513C 38 7E 00 C0 */ addi r3, r30, 0xc0
/* 802894E0 00285140 38 A0 00 20 */ li r5, 0x20
-/* 802894E4 00285144 4B F4 0E B5 */ bl func_801CA398
+/* 802894E4 00285144 4B F4 0E B5 */ bl memcmp
/* 802894E8 00285148 2C 03 00 00 */ cmpwi r3, 0
/* 802894EC 0028514C 41 82 00 A0 */ beq lbl_8028958C
/* 802894F0 00285150 4B FE 52 6D */ bl OSDisableInterrupts
@@ -53617,7 +53617,7 @@ lbl_802A8638:
/* 802A863C 002A429C 7F 84 E3 78 */ mr r4, r28
/* 802A8640 002A42A0 38 63 02 BD */ addi r3, r3, 0x2bd
/* 802A8644 002A42A4 38 A0 00 06 */ li r5, 6
-/* 802A8648 002A42A8 4B F2 1D 51 */ bl func_801CA398
+/* 802A8648 002A42A8 4B F2 1D 51 */ bl memcmp
/* 802A864C 002A42AC 2C 03 00 00 */ cmpwi r3, 0
/* 802A8650 002A42B0 40 82 00 24 */ bne lbl_802A8674
/* 802A8654 002A42B4 88 1D 00 00 */ lbz r0, 0(r29)
@@ -61616,7 +61616,7 @@ lbl_802AFAE0:
/* 802AFAE8 002AB748 38 63 A4 68 */ addi r3, r3, lbl_8053A468@l
/* 802AFAEC 002AB74C 38 A0 00 08 */ li r5, 8
/* 802AFAF0 002AB750 38 84 C3 20 */ addi r4, r4, lbl_8043C320@l
-/* 802AFAF4 002AB754 4B F1 A8 A5 */ bl func_801CA398
+/* 802AFAF4 002AB754 4B F1 A8 A5 */ bl memcmp
/* 802AFAF8 002AB758 2C 03 00 00 */ cmpwi r3, 0
/* 802AFAFC 002AB75C 40 82 00 18 */ bne lbl_802AFB14
/* 802AFB00 002AB760 88 1E 00 29 */ lbz r0, 0x29(r30)
@@ -62348,7 +62348,7 @@ lbl_802B05BC:
/* 802B05C4 002AC224 38 63 A4 68 */ addi r3, r3, lbl_8053A468@l
/* 802B05C8 002AC228 38 A0 00 10 */ li r5, 0x10
/* 802B05CC 002AC22C 38 84 C3 20 */ addi r4, r4, lbl_8043C320@l
-/* 802B05D0 002AC230 4B F1 9D C9 */ bl func_801CA398
+/* 802B05D0 002AC230 4B F1 9D C9 */ bl memcmp
/* 802B05D4 002AC234 2C 03 00 00 */ cmpwi r3, 0
/* 802B05D8 002AC238 40 82 00 18 */ bne lbl_802B05F0
/* 802B05DC 002AC23C 88 1E 00 29 */ lbz r0, 0x29(r30)
@@ -62483,7 +62483,7 @@ lbl_802B067C:
/* 802B07D8 002AC438 38 7A A4 68 */ addi r3, r26, -23448
/* 802B07DC 002AC43C 38 84 C3 20 */ addi r4, r4, lbl_8043C320@l
/* 802B07E0 002AC440 38 A0 00 09 */ li r5, 9
-/* 802B07E4 002AC444 4B F1 9B B5 */ bl func_801CA398
+/* 802B07E4 002AC444 4B F1 9B B5 */ bl memcmp
/* 802B07E8 002AC448 2C 03 00 00 */ cmpwi r3, 0
/* 802B07EC 002AC44C 40 82 00 18 */ bne lbl_802B0804
/* 802B07F0 002AC450 88 1E 00 29 */ lbz r0, 0x29(r30)
@@ -63049,7 +63049,7 @@ lbl_802B1024:
/* 802B102C 002ACC8C 38 63 A4 68 */ addi r3, r3, lbl_8053A468@l
/* 802B1030 002ACC90 38 A0 00 06 */ li r5, 6
/* 802B1034 002ACC94 38 84 C3 20 */ addi r4, r4, lbl_8043C320@l
-/* 802B1038 002ACC98 4B F1 93 61 */ bl func_801CA398
+/* 802B1038 002ACC98 4B F1 93 61 */ bl memcmp
/* 802B103C 002ACC9C 2C 03 00 00 */ cmpwi r3, 0
/* 802B1040 002ACCA0 40 82 00 1C */ bne lbl_802B105C
/* 802B1044 002ACCA4 80 61 00 08 */ lwz r3, 8(r1)
@@ -65461,7 +65461,7 @@ lbl_802B34B4:
/* 802B34CC 002AF12C 80 6D AE 54 */ lwz r3, lbl_80640114-_SDA_BASE_(r13)
/* 802B34D0 002AF130 38 97 00 2A */ addi r4, r23, 0x2a
/* 802B34D4 002AF134 38 A0 00 04 */ li r5, 4
-/* 802B34D8 002AF138 4B F1 6E C1 */ bl func_801CA398
+/* 802B34D8 002AF138 4B F1 6E C1 */ bl memcmp
/* 802B34DC 002AF13C 2C 03 00 00 */ cmpwi r3, 0
/* 802B34E0 002AF140 40 82 00 44 */ bne lbl_802B3524
/* 802B34E4 002AF144 38 00 00 01 */ li r0, 1
@@ -67693,7 +67693,7 @@ lbl_802B5420:
/* 802B5434 002B1094 38 9B 01 A0 */ addi r4, r27, 0x1a0
/* 802B5438 002B1098 38 63 00 06 */ addi r3, r3, 6
/* 802B543C 002B109C 38 A0 00 10 */ li r5, 0x10
-/* 802B5440 002B10A0 4B F1 4F 59 */ bl func_801CA398
+/* 802B5440 002B10A0 4B F1 4F 59 */ bl memcmp
/* 802B5444 002B10A4 2C 03 00 00 */ cmpwi r3, 0
/* 802B5448 002B10A8 40 82 00 D8 */ bne lbl_802B5520
/* 802B544C 002B10AC 88 6D AE C0 */ lbz r3, lbl_80640180-_SDA_BASE_(r13)
@@ -67848,7 +67848,7 @@ lbl_802B565C:
/* 802B5664 002B12C4 38 63 00 06 */ addi r3, r3, 6
/* 802B5668 002B12C8 3B 40 00 FF */ li r26, 0xff
/* 802B566C 002B12CC 38 A0 00 10 */ li r5, 0x10
-/* 802B5670 002B12D0 4B F1 4D 29 */ bl func_801CA398
+/* 802B5670 002B12D0 4B F1 4D 29 */ bl memcmp
/* 802B5674 002B12D4 2C 03 00 00 */ cmpwi r3, 0
/* 802B5678 002B12D8 40 82 00 24 */ bne lbl_802B569C
/* 802B567C 002B12DC 38 7F 0C E8 */ addi r3, r31, 0xce8
@@ -68608,7 +68608,7 @@ lbl_802B60C8:
/* 802B60FC 002B1D5C 38 A0 00 13 */ li r5, 0x13
/* 802B6100 002B1D60 9B 95 00 5B */ stb r28, 0x5b(r21)
/* 802B6104 002B1D64 9B B5 00 5C */ stb r29, 0x5c(r21)
-/* 802B6108 002B1D68 4B F1 42 91 */ bl func_801CA398
+/* 802B6108 002B1D68 4B F1 42 91 */ bl memcmp
/* 802B610C 002B1D6C 2C 03 00 00 */ cmpwi r3, 0
/* 802B6110 002B1D70 40 82 00 14 */ bne lbl_802B6124
/* 802B6114 002B1D74 9B B5 00 57 */ stb r29, 0x57(r21)
@@ -70045,7 +70045,7 @@ func_802B7508:
/* 802B7560 002B31C0 7F A3 EB 78 */ mr r3, r29
/* 802B7564 002B31C4 38 9F 01 A0 */ addi r4, r31, 0x1a0
/* 802B7568 002B31C8 38 A0 00 10 */ li r5, 0x10
-/* 802B756C 002B31CC 4B F1 2E 2D */ bl func_801CA398
+/* 802B756C 002B31CC 4B F1 2E 2D */ bl memcmp
/* 802B7570 002B31D0 2C 03 00 00 */ cmpwi r3, 0
/* 802B7574 002B31D4 40 82 00 48 */ bne lbl_802B75BC
/* 802B7578 002B31D8 38 1F 00 00 */ addi r0, r31, 0
@@ -70135,7 +70135,7 @@ func_802B7620:
/* 802B76AC 002B330C 7F A3 EB 78 */ mr r3, r29
/* 802B76B0 002B3310 38 9F 01 A0 */ addi r4, r31, 0x1a0
/* 802B76B4 002B3314 38 A0 00 10 */ li r5, 0x10
-/* 802B76B8 002B3318 4B F1 2C E1 */ bl func_801CA398
+/* 802B76B8 002B3318 4B F1 2C E1 */ bl memcmp
/* 802B76BC 002B331C 2C 03 00 00 */ cmpwi r3, 0
/* 802B76C0 002B3320 40 82 00 28 */ bne lbl_802B76E8
/* 802B76C4 002B3324 38 7F 07 14 */ addi r3, r31, 0x714
@@ -70202,7 +70202,7 @@ lbl_802B7798:
/* 802B7798 002B33F8 7F E3 FB 78 */ mr r3, r31
/* 802B779C 002B33FC 7F 44 D3 78 */ mr r4, r26
/* 802B77A0 002B3400 38 A0 00 06 */ li r5, 6
-/* 802B77A4 002B3404 4B F1 2B F5 */ bl func_801CA398
+/* 802B77A4 002B3404 4B F1 2B F5 */ bl memcmp
/* 802B77A8 002B3408 2C 03 00 00 */ cmpwi r3, 0
/* 802B77AC 002B340C 40 82 00 14 */ bne lbl_802B77C0
/* 802B77B0 002B3410 1C 1E 00 60 */ mulli r0, r30, 0x60
@@ -70223,7 +70223,7 @@ lbl_802B77E0:
/* 802B77E0 002B3440 7F E3 FB 78 */ mr r3, r31
/* 802B77E4 002B3444 7F 44 D3 78 */ mr r4, r26
/* 802B77E8 002B3448 38 A0 00 06 */ li r5, 6
-/* 802B77EC 002B344C 4B F1 2B AD */ bl func_801CA398
+/* 802B77EC 002B344C 4B F1 2B AD */ bl memcmp
/* 802B77F0 002B3450 2C 03 00 00 */ cmpwi r3, 0
/* 802B77F4 002B3454 40 82 00 14 */ bne lbl_802B7808
/* 802B77F8 002B3458 1C 1E 00 60 */ mulli r0, r30, 0x60
@@ -70320,7 +70320,7 @@ lbl_802B792C:
/* 802B7930 002B3590 38 9B 00 40 */ addi r4, r27, 0x40
/* 802B7934 002B3594 38 A0 00 06 */ li r5, 6
/* 802B7938 002B3598 38 63 00 40 */ addi r3, r3, 0x40
-/* 802B793C 002B359C 4B F1 2A 5D */ bl func_801CA398
+/* 802B793C 002B359C 4B F1 2A 5D */ bl memcmp
/* 802B7940 002B35A0 2C 03 00 00 */ cmpwi r3, 0
/* 802B7944 002B35A4 40 82 00 A0 */ bne lbl_802B79E4
/* 802B7948 002B35A8 1F 9F 00 0C */ mulli r28, r31, 0xc
@@ -70332,7 +70332,7 @@ lbl_802B792C:
/* 802B7960 002B35C0 80 84 00 1C */ lwz r4, 0x1c(r4)
/* 802B7964 002B35C4 38 63 00 40 */ addi r3, r3, 0x40
/* 802B7968 002B35C8 38 84 00 40 */ addi r4, r4, 0x40
-/* 802B796C 002B35CC 4B F1 2A 2D */ bl func_801CA398
+/* 802B796C 002B35CC 4B F1 2A 2D */ bl memcmp
/* 802B7970 002B35D0 2C 03 00 00 */ cmpwi r3, 0
/* 802B7974 002B35D4 41 82 00 80 */ beq lbl_802B79F4
/* 802B7978 002B35D8 7F 9E E2 14 */ add r28, r30, r28
@@ -70345,7 +70345,7 @@ lbl_802B792C:
/* 802B7994 002B35F4 80 C4 00 00 */ lwz r6, 0(r4)
/* 802B7998 002B35F8 38 83 00 40 */ addi r4, r3, 0x40
/* 802B799C 002B35FC 38 66 00 40 */ addi r3, r6, 0x40
-/* 802B79A0 002B3600 4B F1 29 F9 */ bl func_801CA398
+/* 802B79A0 002B3600 4B F1 29 F9 */ bl memcmp
/* 802B79A4 002B3604 2C 03 00 00 */ cmpwi r3, 0
/* 802B79A8 002B3608 40 82 00 10 */ bne lbl_802B79B8
/* 802B79AC 002B360C 80 1C 00 20 */ lwz r0, 0x20(r28)
@@ -70398,7 +70398,7 @@ lbl_802B7A44:
/* 802B7A48 002B36A8 38 9B 00 40 */ addi r4, r27, 0x40
/* 802B7A4C 002B36AC 38 A0 00 06 */ li r5, 6
/* 802B7A50 002B36B0 38 63 00 40 */ addi r3, r3, 0x40
-/* 802B7A54 002B36B4 4B F1 29 45 */ bl func_801CA398
+/* 802B7A54 002B36B4 4B F1 29 45 */ bl memcmp
/* 802B7A58 002B36B8 2C 03 00 00 */ cmpwi r3, 0
/* 802B7A5C 002B36BC 40 82 00 A0 */ bne lbl_802B7AFC
/* 802B7A60 002B36C0 1F 9F 00 0C */ mulli r28, r31, 0xc
@@ -70410,7 +70410,7 @@ lbl_802B7A44:
/* 802B7A78 002B36D8 80 84 00 1C */ lwz r4, 0x1c(r4)
/* 802B7A7C 002B36DC 38 63 00 40 */ addi r3, r3, 0x40
/* 802B7A80 002B36E0 38 84 00 40 */ addi r4, r4, 0x40
-/* 802B7A84 002B36E4 4B F1 29 15 */ bl func_801CA398
+/* 802B7A84 002B36E4 4B F1 29 15 */ bl memcmp
/* 802B7A88 002B36E8 2C 03 00 00 */ cmpwi r3, 0
/* 802B7A8C 002B36EC 41 82 00 80 */ beq lbl_802B7B0C
/* 802B7A90 002B36F0 7F 9E E2 14 */ add r28, r30, r28
@@ -70423,7 +70423,7 @@ lbl_802B7A44:
/* 802B7AAC 002B370C 80 C4 00 00 */ lwz r6, 0(r4)
/* 802B7AB0 002B3710 38 83 00 40 */ addi r4, r3, 0x40
/* 802B7AB4 002B3714 38 66 00 40 */ addi r3, r6, 0x40
-/* 802B7AB8 002B3718 4B F1 28 E1 */ bl func_801CA398
+/* 802B7AB8 002B3718 4B F1 28 E1 */ bl memcmp
/* 802B7ABC 002B371C 2C 03 00 00 */ cmpwi r3, 0
/* 802B7AC0 002B3720 40 82 00 10 */ bne lbl_802B7AD0
/* 802B7AC4 002B3724 80 1C 00 24 */ lwz r0, 0x24(r28)
@@ -70478,7 +70478,7 @@ lbl_802B7B60:
/* 802B7B68 002B37C8 38 A0 00 06 */ li r5, 6
/* 802B7B6C 002B37CC 3A E3 00 40 */ addi r23, r3, 0x40
/* 802B7B70 002B37D0 7E E3 BB 78 */ mr r3, r23
-/* 802B7B74 002B37D4 4B F1 28 25 */ bl func_801CA398
+/* 802B7B74 002B37D4 4B F1 28 25 */ bl memcmp
/* 802B7B78 002B37D8 2C 03 00 00 */ cmpwi r3, 0
/* 802B7B7C 002B37DC 40 82 00 D4 */ bne lbl_802B7C50
/* 802B7B80 002B37E0 82 DD 00 14 */ lwz r22, 0x14(r29)
@@ -70489,7 +70489,7 @@ lbl_802B7B8C:
/* 802B7B90 002B37F0 38 99 00 40 */ addi r4, r25, 0x40
/* 802B7B94 002B37F4 38 A0 00 06 */ li r5, 6
/* 802B7B98 002B37F8 38 78 00 40 */ addi r3, r24, 0x40
-/* 802B7B9C 002B37FC 4B F1 27 FD */ bl func_801CA398
+/* 802B7B9C 002B37FC 4B F1 27 FD */ bl memcmp
/* 802B7BA0 002B3800 2C 03 00 00 */ cmpwi r3, 0
/* 802B7BA4 002B3804 41 82 00 A0 */ beq lbl_802B7C44
/* 802B7BA8 002B3808 88 18 00 59 */ lbz r0, 0x59(r24)
@@ -70499,7 +70499,7 @@ lbl_802B7B8C:
/* 802B7BB8 002B3818 7E E4 BB 78 */ mr r4, r23
/* 802B7BBC 002B381C 38 A0 00 06 */ li r5, 6
/* 802B7BC0 002B3820 38 63 00 40 */ addi r3, r3, 0x40
-/* 802B7BC4 002B3824 4B F1 27 D5 */ bl func_801CA398
+/* 802B7BC4 002B3824 4B F1 27 D5 */ bl memcmp
/* 802B7BC8 002B3828 2C 03 00 00 */ cmpwi r3, 0
/* 802B7BCC 002B382C 40 82 00 1C */ bne lbl_802B7BE8
/* 802B7BD0 002B3830 80 16 00 08 */ lwz r0, 8(r22)
@@ -70573,7 +70573,7 @@ lbl_802B7CB4:
/* 802B7CB8 002B3918 38 9B 00 40 */ addi r4, r27, 0x40
/* 802B7CBC 002B391C 38 A0 00 06 */ li r5, 6
/* 802B7CC0 002B3920 38 63 00 40 */ addi r3, r3, 0x40
-/* 802B7CC4 002B3924 4B F1 26 D5 */ bl func_801CA398
+/* 802B7CC4 002B3924 4B F1 26 D5 */ bl memcmp
/* 802B7CC8 002B3928 2C 03 00 00 */ cmpwi r3, 0
/* 802B7CCC 002B392C 40 82 00 A0 */ bne lbl_802B7D6C
/* 802B7CD0 002B3930 1F 9F 00 0C */ mulli r28, r31, 0xc
@@ -70585,7 +70585,7 @@ lbl_802B7CB4:
/* 802B7CE8 002B3948 80 84 00 6C */ lwz r4, 0x6c(r4)
/* 802B7CEC 002B394C 38 63 00 40 */ addi r3, r3, 0x40
/* 802B7CF0 002B3950 38 84 00 40 */ addi r4, r4, 0x40
-/* 802B7CF4 002B3954 4B F1 26 A5 */ bl func_801CA398
+/* 802B7CF4 002B3954 4B F1 26 A5 */ bl memcmp
/* 802B7CF8 002B3958 2C 03 00 00 */ cmpwi r3, 0
/* 802B7CFC 002B395C 41 82 00 80 */ beq lbl_802B7D7C
/* 802B7D00 002B3960 7F 9E E2 14 */ add r28, r30, r28
@@ -70598,7 +70598,7 @@ lbl_802B7CB4:
/* 802B7D1C 002B397C 80 C4 00 00 */ lwz r6, 0(r4)
/* 802B7D20 002B3980 38 83 00 40 */ addi r4, r3, 0x40
/* 802B7D24 002B3984 38 66 00 40 */ addi r3, r6, 0x40
-/* 802B7D28 002B3988 4B F1 26 71 */ bl func_801CA398
+/* 802B7D28 002B3988 4B F1 26 71 */ bl memcmp
/* 802B7D2C 002B398C 2C 03 00 00 */ cmpwi r3, 0
/* 802B7D30 002B3990 40 82 00 10 */ bne lbl_802B7D40
/* 802B7D34 002B3994 80 1C 00 70 */ lwz r0, 0x70(r28)
@@ -70651,7 +70651,7 @@ lbl_802B7DCC:
/* 802B7DD0 002B3A30 38 9B 00 40 */ addi r4, r27, 0x40
/* 802B7DD4 002B3A34 38 A0 00 06 */ li r5, 6
/* 802B7DD8 002B3A38 38 63 00 40 */ addi r3, r3, 0x40
-/* 802B7DDC 002B3A3C 4B F1 25 BD */ bl func_801CA398
+/* 802B7DDC 002B3A3C 4B F1 25 BD */ bl memcmp
/* 802B7DE0 002B3A40 2C 03 00 00 */ cmpwi r3, 0
/* 802B7DE4 002B3A44 40 82 00 A0 */ bne lbl_802B7E84
/* 802B7DE8 002B3A48 1F 9F 00 0C */ mulli r28, r31, 0xc
@@ -70663,7 +70663,7 @@ lbl_802B7DCC:
/* 802B7E00 002B3A60 80 84 00 6C */ lwz r4, 0x6c(r4)
/* 802B7E04 002B3A64 38 63 00 40 */ addi r3, r3, 0x40
/* 802B7E08 002B3A68 38 84 00 40 */ addi r4, r4, 0x40
-/* 802B7E0C 002B3A6C 4B F1 25 8D */ bl func_801CA398
+/* 802B7E0C 002B3A6C 4B F1 25 8D */ bl memcmp
/* 802B7E10 002B3A70 2C 03 00 00 */ cmpwi r3, 0
/* 802B7E14 002B3A74 41 82 00 80 */ beq lbl_802B7E94
/* 802B7E18 002B3A78 7F 9E E2 14 */ add r28, r30, r28
@@ -70676,7 +70676,7 @@ lbl_802B7DCC:
/* 802B7E34 002B3A94 80 C4 00 00 */ lwz r6, 0(r4)
/* 802B7E38 002B3A98 38 83 00 40 */ addi r4, r3, 0x40
/* 802B7E3C 002B3A9C 38 66 00 40 */ addi r3, r6, 0x40
-/* 802B7E40 002B3AA0 4B F1 25 59 */ bl func_801CA398
+/* 802B7E40 002B3AA0 4B F1 25 59 */ bl memcmp
/* 802B7E44 002B3AA4 2C 03 00 00 */ cmpwi r3, 0
/* 802B7E48 002B3AA8 40 82 00 10 */ bne lbl_802B7E58
/* 802B7E4C 002B3AAC 80 1C 00 74 */ lwz r0, 0x74(r28)
@@ -70731,7 +70731,7 @@ lbl_802B7EE8:
/* 802B7EF0 002B3B50 38 A0 00 06 */ li r5, 6
/* 802B7EF4 002B3B54 3A E3 00 40 */ addi r23, r3, 0x40
/* 802B7EF8 002B3B58 7E E3 BB 78 */ mr r3, r23
-/* 802B7EFC 002B3B5C 4B F1 24 9D */ bl func_801CA398
+/* 802B7EFC 002B3B5C 4B F1 24 9D */ bl memcmp
/* 802B7F00 002B3B60 2C 03 00 00 */ cmpwi r3, 0
/* 802B7F04 002B3B64 40 82 00 D4 */ bne lbl_802B7FD8
/* 802B7F08 002B3B68 82 DD 00 64 */ lwz r22, 0x64(r29)
@@ -70742,7 +70742,7 @@ lbl_802B7F14:
/* 802B7F18 002B3B78 38 99 00 40 */ addi r4, r25, 0x40
/* 802B7F1C 002B3B7C 38 A0 00 06 */ li r5, 6
/* 802B7F20 002B3B80 38 78 00 40 */ addi r3, r24, 0x40
-/* 802B7F24 002B3B84 4B F1 24 75 */ bl func_801CA398
+/* 802B7F24 002B3B84 4B F1 24 75 */ bl memcmp
/* 802B7F28 002B3B88 2C 03 00 00 */ cmpwi r3, 0
/* 802B7F2C 002B3B8C 41 82 00 A0 */ beq lbl_802B7FCC
/* 802B7F30 002B3B90 88 18 00 59 */ lbz r0, 0x59(r24)
@@ -70752,7 +70752,7 @@ lbl_802B7F14:
/* 802B7F40 002B3BA0 7E E4 BB 78 */ mr r4, r23
/* 802B7F44 002B3BA4 38 A0 00 06 */ li r5, 6
/* 802B7F48 002B3BA8 38 63 00 40 */ addi r3, r3, 0x40
-/* 802B7F4C 002B3BAC 4B F1 24 4D */ bl func_801CA398
+/* 802B7F4C 002B3BAC 4B F1 24 4D */ bl memcmp
/* 802B7F50 002B3BB0 2C 03 00 00 */ cmpwi r3, 0
/* 802B7F54 002B3BB4 40 82 00 1C */ bne lbl_802B7F70
/* 802B7F58 002B3BB8 80 16 00 08 */ lwz r0, 8(r22)
@@ -70992,7 +70992,7 @@ lbl_802B81A8:
/* 802B82D0 002B3F30 7F 84 E3 78 */ mr r4, r28
/* 802B82D4 002B3F34 38 A0 00 06 */ li r5, 6
/* 802B82D8 002B3F38 38 7B 00 40 */ addi r3, r27, 0x40
-/* 802B82DC 002B3F3C 4B F1 20 BD */ bl func_801CA398
+/* 802B82DC 002B3F3C 4B F1 20 BD */ bl memcmp
/* 802B82E0 002B3F40 2C 03 00 00 */ cmpwi r3, 0
/* 802B82E4 002B3F44 40 82 00 18 */ bne lbl_802B82FC
/* 802B82E8 002B3F48 38 00 00 0C */ li r0, 0xc
@@ -71031,7 +71031,7 @@ lbl_802B82FC:
/* 802B8368 002B3FC8 7F 83 E3 78 */ mr r3, r28
/* 802B836C 002B3FCC 38 9B 00 40 */ addi r4, r27, 0x40
/* 802B8370 002B3FD0 38 A0 00 06 */ li r5, 6
-/* 802B8374 002B3FD4 4B F1 20 25 */ bl func_801CA398
+/* 802B8374 002B3FD4 4B F1 20 25 */ bl memcmp
/* 802B8378 002B3FD8 2C 03 00 00 */ cmpwi r3, 0
/* 802B837C 002B3FDC 40 82 00 08 */ bne lbl_802B8384
/* 802B8380 002B3FE0 7F 7A DB 78 */ mr r26, r27
@@ -71103,7 +71103,7 @@ lbl_802B83F8:
/* 802B8474 002B40D4 88 DD 06 E5 */ lbz r6, 0x6e5(r29)
/* 802B8478 002B40D8 38 06 FF FF */ addi r0, r6, -1
/* 802B847C 002B40DC 98 1D 06 E5 */ stb r0, 0x6e5(r29)
-/* 802B8480 002B40E0 4B F1 1F 19 */ bl func_801CA398
+/* 802B8480 002B40E0 4B F1 1F 19 */ bl memcmp
/* 802B8484 002B40E4 2C 03 00 00 */ cmpwi r3, 0
/* 802B8488 002B40E8 40 82 00 0C */ bne lbl_802B8494
/* 802B848C 002B40EC 38 00 00 FF */ li r0, 0xff
@@ -71124,7 +71124,7 @@ lbl_802B84AC:
/* 802B84C0 002B4120 7C 7B 02 14 */ add r3, r27, r0
/* 802B84C4 002B4124 3B 43 00 01 */ addi r26, r3, 1
/* 802B84C8 002B4128 7F 43 D3 78 */ mr r3, r26
-/* 802B84CC 002B412C 4B F1 1E CD */ bl func_801CA398
+/* 802B84CC 002B412C 4B F1 1E CD */ bl memcmp
/* 802B84D0 002B4130 2C 03 00 00 */ cmpwi r3, 0
/* 802B84D4 002B4134 40 82 00 18 */ bne lbl_802B84EC
/* 802B84D8 002B4138 7F 43 D3 78 */ mr r3, r26
@@ -71142,7 +71142,7 @@ lbl_802B84FC:
/* 802B8500 002B4160 7F 84 E3 78 */ mr r4, r28
/* 802B8504 002B4164 38 63 00 40 */ addi r3, r3, 0x40
/* 802B8508 002B4168 38 A0 00 06 */ li r5, 6
-/* 802B850C 002B416C 4B F1 1E 8D */ bl func_801CA398
+/* 802B850C 002B416C 4B F1 1E 8D */ bl memcmp
/* 802B8510 002B4170 2C 03 00 00 */ cmpwi r3, 0
/* 802B8514 002B4174 40 82 00 1C */ bne lbl_802B8530
/* 802B8518 002B4178 88 7D 06 E5 */ lbz r3, 0x6e5(r29)
@@ -71789,7 +71789,7 @@ lbl_802B8DF4:
/* 802B8E54 002B4AB4 3B FF B1 C8 */ addi r31, r31, lbl_8053B1C8@l
/* 802B8E58 002B4AB8 38 A0 00 06 */ li r5, 6
/* 802B8E5C 002B4ABC 38 7F 00 40 */ addi r3, r31, 0x40
-/* 802B8E60 002B4AC0 4B F1 15 39 */ bl func_801CA398
+/* 802B8E60 002B4AC0 4B F1 15 39 */ bl memcmp
/* 802B8E64 002B4AC4 2C 03 00 00 */ cmpwi r3, 0
/* 802B8E68 002B4AC8 40 82 00 08 */ bne lbl_802B8E70
/* 802B8E6C 002B4ACC 7F FD FB 78 */ mr r29, r31
@@ -71980,7 +71980,7 @@ lbl_802B9030:
/* 802B90F0 002B4D50 3B BD B1 C8 */ addi r29, r29, lbl_8053B1C8@l
/* 802B90F4 002B4D54 38 A0 00 06 */ li r5, 6
/* 802B90F8 002B4D58 38 7D 00 40 */ addi r3, r29, 0x40
-/* 802B90FC 002B4D5C 4B F1 12 9D */ bl func_801CA398
+/* 802B90FC 002B4D5C 4B F1 12 9D */ bl memcmp
/* 802B9100 002B4D60 2C 03 00 00 */ cmpwi r3, 0
/* 802B9104 002B4D64 41 82 00 10 */ beq lbl_802B9114
/* 802B9108 002B4D68 7F C3 F3 78 */ mr r3, r30
@@ -72067,7 +72067,7 @@ lbl_802B9214:
/* 802B9228 002B4E88 3B BD B1 C8 */ addi r29, r29, lbl_8053B1C8@l
/* 802B922C 002B4E8C 38 A0 00 06 */ li r5, 6
/* 802B9230 002B4E90 38 9D 00 40 */ addi r4, r29, 0x40
-/* 802B9234 002B4E94 4B F1 11 65 */ bl func_801CA398
+/* 802B9234 002B4E94 4B F1 11 65 */ bl memcmp
/* 802B9238 002B4E98 2C 03 00 00 */ cmpwi r3, 0
/* 802B923C 002B4E9C 40 82 02 C0 */ bne lbl_802B94FC
/* 802B9240 002B4EA0 88 1F 00 0C */ lbz r0, 0xc(r31)
@@ -83742,7 +83742,7 @@ lbl_802C3504:
/* 802C3510 002BF170 7F C4 F3 78 */ mr r4, r30
/* 802C3514 002BF174 38 7D 00 08 */ addi r3, r29, 8
/* 802C3518 002BF178 38 A0 00 06 */ li r5, 6
-/* 802C351C 002BF17C 4B F0 6E 7D */ bl func_801CA398
+/* 802C351C 002BF17C 4B F0 6E 7D */ bl memcmp
/* 802C3520 002BF180 2C 03 00 00 */ cmpwi r3, 0
/* 802C3524 002BF184 40 82 00 08 */ bne lbl_802C352C
/* 802C3528 002BF188 48 00 00 18 */ b lbl_802C3540
@@ -83886,7 +83886,7 @@ lbl_802C3714:
/* 802C3720 002BF380 38 7E 00 08 */ addi r3, r30, 8
/* 802C3724 002BF384 38 9F 00 08 */ addi r4, r31, 8
/* 802C3728 002BF388 38 A0 00 06 */ li r5, 6
-/* 802C372C 002BF38C 4B F0 6C 6D */ bl func_801CA398
+/* 802C372C 002BF38C 4B F0 6C 6D */ bl memcmp
/* 802C3730 002BF390 2C 03 00 00 */ cmpwi r3, 0
/* 802C3734 002BF394 40 82 00 08 */ bne lbl_802C373C
/* 802C3738 002BF398 48 00 00 18 */ b lbl_802C3750
@@ -83959,7 +83959,7 @@ lbl_802C380C:
/* 802C3818 002BF478 7F A4 EB 78 */ mr r4, r29
/* 802C381C 002BF47C 38 7E 00 08 */ addi r3, r30, 8
/* 802C3820 002BF480 38 A0 00 06 */ li r5, 6
-/* 802C3824 002BF484 4B F0 6B 75 */ bl func_801CA398
+/* 802C3824 002BF484 4B F0 6B 75 */ bl memcmp
/* 802C3828 002BF488 2C 03 00 00 */ cmpwi r3, 0
/* 802C382C 002BF48C 40 82 00 08 */ bne lbl_802C3834
/* 802C3830 002BF490 48 00 00 18 */ b lbl_802C3848
@@ -84052,7 +84052,7 @@ lbl_802C394C:
/* 802C3958 002BF5B8 7F 84 E3 78 */ mr r4, r28
/* 802C395C 002BF5BC 38 7F 00 08 */ addi r3, r31, 8
/* 802C3960 002BF5C0 38 A0 00 06 */ li r5, 6
-/* 802C3964 002BF5C4 4B F0 6A 35 */ bl func_801CA398
+/* 802C3964 002BF5C4 4B F0 6A 35 */ bl memcmp
/* 802C3968 002BF5C8 2C 03 00 00 */ cmpwi r3, 0
/* 802C396C 002BF5CC 40 82 00 08 */ bne lbl_802C3974
/* 802C3970 002BF5D0 48 00 00 18 */ b lbl_802C3988
@@ -84388,7 +84388,7 @@ lbl_802C3DFC:
/* 802C3E08 002BFA68 7F 84 E3 78 */ mr r4, r28
/* 802C3E0C 002BFA6C 38 7F 00 08 */ addi r3, r31, 8
/* 802C3E10 002BFA70 38 A0 00 06 */ li r5, 6
-/* 802C3E14 002BFA74 4B F0 65 85 */ bl func_801CA398
+/* 802C3E14 002BFA74 4B F0 65 85 */ bl memcmp
/* 802C3E18 002BFA78 2C 03 00 00 */ cmpwi r3, 0
/* 802C3E1C 002BFA7C 40 82 00 08 */ bne lbl_802C3E24
/* 802C3E20 002BFA80 48 00 00 18 */ b lbl_802C3E38
@@ -84646,7 +84646,7 @@ lbl_802C4194:
/* 802C41A0 002BFE00 38 7D 00 08 */ addi r3, r29, 8
/* 802C41A4 002BFE04 38 9F 00 08 */ addi r4, r31, 8
/* 802C41A8 002BFE08 38 A0 00 06 */ li r5, 6
-/* 802C41AC 002BFE0C 4B F0 61 ED */ bl func_801CA398
+/* 802C41AC 002BFE0C 4B F0 61 ED */ bl memcmp
/* 802C41B0 002BFE10 2C 03 00 00 */ cmpwi r3, 0
/* 802C41B4 002BFE14 40 82 00 08 */ bne lbl_802C41BC
/* 802C41B8 002BFE18 48 00 00 18 */ b lbl_802C41D0
@@ -84737,7 +84737,7 @@ lbl_802C42CC:
/* 802C42D8 002BFF38 7F A4 EB 78 */ mr r4, r29
/* 802C42DC 002BFF3C 38 7E 00 08 */ addi r3, r30, 8
/* 802C42E0 002BFF40 38 A0 00 06 */ li r5, 6
-/* 802C42E4 002BFF44 4B F0 60 B5 */ bl func_801CA398
+/* 802C42E4 002BFF44 4B F0 60 B5 */ bl memcmp
/* 802C42E8 002BFF48 2C 03 00 00 */ cmpwi r3, 0
/* 802C42EC 002BFF4C 40 82 00 08 */ bne lbl_802C42F4
/* 802C42F0 002BFF50 48 00 00 18 */ b lbl_802C4308
@@ -84819,7 +84819,7 @@ lbl_802C43D0:
/* 802C43DC 002C003C 7F A4 EB 78 */ mr r4, r29
/* 802C43E0 002C0040 38 7E 00 08 */ addi r3, r30, 8
/* 802C43E4 002C0044 38 A0 00 06 */ li r5, 6
-/* 802C43E8 002C0048 4B F0 5F B1 */ bl func_801CA398
+/* 802C43E8 002C0048 4B F0 5F B1 */ bl memcmp
/* 802C43EC 002C004C 2C 03 00 00 */ cmpwi r3, 0
/* 802C43F0 002C0050 40 82 00 08 */ bne lbl_802C43F8
/* 802C43F4 002C0054 48 00 00 18 */ b lbl_802C440C
@@ -84923,7 +84923,7 @@ lbl_802C4528:
/* 802C4534 002C0194 7F 64 DB 78 */ mr r4, r27
/* 802C4538 002C0198 38 7D 00 08 */ addi r3, r29, 8
/* 802C453C 002C019C 38 A0 00 06 */ li r5, 6
-/* 802C4540 002C01A0 4B F0 5E 59 */ bl func_801CA398
+/* 802C4540 002C01A0 4B F0 5E 59 */ bl memcmp
/* 802C4544 002C01A4 2C 03 00 00 */ cmpwi r3, 0
/* 802C4548 002C01A8 40 82 00 08 */ bne lbl_802C4550
/* 802C454C 002C01AC 48 00 00 18 */ b lbl_802C4564
@@ -84963,7 +84963,7 @@ lbl_802C45B8:
/* 802C45C4 002C0224 38 7B 00 08 */ addi r3, r27, 8
/* 802C45C8 002C0228 38 9D 00 08 */ addi r4, r29, 8
/* 802C45CC 002C022C 38 A0 00 06 */ li r5, 6
-/* 802C45D0 002C0230 4B F0 5D C9 */ bl func_801CA398
+/* 802C45D0 002C0230 4B F0 5D C9 */ bl memcmp
/* 802C45D4 002C0234 2C 03 00 00 */ cmpwi r3, 0
/* 802C45D8 002C0238 40 82 00 08 */ bne lbl_802C45E0
/* 802C45DC 002C023C 48 00 00 18 */ b lbl_802C45F4
@@ -85081,7 +85081,7 @@ lbl_802C4754:
/* 802C4760 002C03C0 7F 64 DB 78 */ mr r4, r27
/* 802C4764 002C03C4 38 7D 00 08 */ addi r3, r29, 8
/* 802C4768 002C03C8 38 A0 00 06 */ li r5, 6
-/* 802C476C 002C03CC 4B F0 5C 2D */ bl func_801CA398
+/* 802C476C 002C03CC 4B F0 5C 2D */ bl memcmp
/* 802C4770 002C03D0 2C 03 00 00 */ cmpwi r3, 0
/* 802C4774 002C03D4 40 82 00 08 */ bne lbl_802C477C
/* 802C4778 002C03D8 48 00 00 18 */ b lbl_802C4790
@@ -85104,7 +85104,7 @@ lbl_802C47A8:
/* 802C47B0 002C0410 3B DE 8B 78 */ addi r30, r30, lbl_80568B78@l
/* 802C47B4 002C0414 38 A0 00 06 */ li r5, 6
/* 802C47B8 002C0418 38 7E 06 30 */ addi r3, r30, 0x630
-/* 802C47BC 002C041C 4B F0 5B DD */ bl func_801CA398
+/* 802C47BC 002C041C 4B F0 5B DD */ bl memcmp
/* 802C47C0 002C0420 2C 03 00 00 */ cmpwi r3, 0
/* 802C47C4 002C0424 40 82 00 08 */ bne lbl_802C47CC
/* 802C47C8 002C0428 A3 9E 06 54 */ lhz r28, 0x654(r30)
@@ -85315,7 +85315,7 @@ lbl_802C4A70:
/* 802C4A7C 002C06DC 7F 84 E3 78 */ mr r4, r28
/* 802C4A80 002C06E0 38 7E 00 08 */ addi r3, r30, 8
/* 802C4A84 002C06E4 38 A0 00 06 */ li r5, 6
-/* 802C4A88 002C06E8 4B F0 59 11 */ bl func_801CA398
+/* 802C4A88 002C06E8 4B F0 59 11 */ bl memcmp
/* 802C4A8C 002C06EC 2C 03 00 00 */ cmpwi r3, 0
/* 802C4A90 002C06F0 40 82 00 08 */ bne lbl_802C4A98
/* 802C4A94 002C06F4 48 00 00 18 */ b lbl_802C4AAC
@@ -85405,7 +85405,7 @@ lbl_802C4BAC:
/* 802C4BB8 002C0818 7F 84 E3 78 */ mr r4, r28
/* 802C4BBC 002C081C 38 7E 00 08 */ addi r3, r30, 8
/* 802C4BC0 002C0820 38 A0 00 06 */ li r5, 6
-/* 802C4BC4 002C0824 4B F0 57 D5 */ bl func_801CA398
+/* 802C4BC4 002C0824 4B F0 57 D5 */ bl memcmp
/* 802C4BC8 002C0828 2C 03 00 00 */ cmpwi r3, 0
/* 802C4BCC 002C082C 40 82 00 08 */ bne lbl_802C4BD4
/* 802C4BD0 002C0830 48 00 00 18 */ b lbl_802C4BE8
@@ -85625,7 +85625,7 @@ lbl_802C4EC0:
/* 802C4ECC 002C0B2C 7F A4 EB 78 */ mr r4, r29
/* 802C4ED0 002C0B30 38 7E 00 08 */ addi r3, r30, 8
/* 802C4ED4 002C0B34 38 A0 00 06 */ li r5, 6
-/* 802C4ED8 002C0B38 4B F0 54 C1 */ bl func_801CA398
+/* 802C4ED8 002C0B38 4B F0 54 C1 */ bl memcmp
/* 802C4EDC 002C0B3C 2C 03 00 00 */ cmpwi r3, 0
/* 802C4EE0 002C0B40 40 82 00 08 */ bne lbl_802C4EE8
/* 802C4EE4 002C0B44 48 00 00 18 */ b lbl_802C4EFC
@@ -85841,7 +85841,7 @@ lbl_802C51AC:
/* 802C51B8 002C0E18 7F 04 C3 78 */ mr r4, r24
/* 802C51BC 002C0E1C 38 7E 00 1C */ addi r3, r30, 0x1c
/* 802C51C0 002C0E20 38 A0 00 06 */ li r5, 6
-/* 802C51C4 002C0E24 4B F0 51 D5 */ bl func_801CA398
+/* 802C51C4 002C0E24 4B F0 51 D5 */ bl memcmp
/* 802C51C8 002C0E28 2C 03 00 00 */ cmpwi r3, 0
/* 802C51CC 002C0E2C 40 82 00 08 */ bne lbl_802C51D4
/* 802C51D0 002C0E30 48 00 00 18 */ b lbl_802C51E8
@@ -85949,7 +85949,7 @@ lbl_802C5324:
/* 802C5330 002C0F90 7F A4 EB 78 */ mr r4, r29
/* 802C5334 002C0F94 38 7E 00 1C */ addi r3, r30, 0x1c
/* 802C5338 002C0F98 38 A0 00 06 */ li r5, 6
-/* 802C533C 002C0F9C 4B F0 50 5D */ bl func_801CA398
+/* 802C533C 002C0F9C 4B F0 50 5D */ bl memcmp
/* 802C5340 002C0FA0 2C 03 00 00 */ cmpwi r3, 0
/* 802C5344 002C0FA4 40 82 00 08 */ bne lbl_802C534C
/* 802C5348 002C0FA8 48 00 00 18 */ b lbl_802C5360
@@ -86002,7 +86002,7 @@ lbl_802C53D8:
/* 802C53E4 002C1044 7F 84 E3 78 */ mr r4, r28
/* 802C53E8 002C1048 38 7E 00 1C */ addi r3, r30, 0x1c
/* 802C53EC 002C104C 38 A0 00 06 */ li r5, 6
-/* 802C53F0 002C1050 4B F0 4F A9 */ bl func_801CA398
+/* 802C53F0 002C1050 4B F0 4F A9 */ bl memcmp
/* 802C53F4 002C1054 2C 03 00 00 */ cmpwi r3, 0
/* 802C53F8 002C1058 40 82 00 08 */ bne lbl_802C5400
/* 802C53FC 002C105C 48 00 00 18 */ b lbl_802C5414
@@ -86182,7 +86182,7 @@ lbl_802C5648:
/* 802C5654 002C12B4 7F A4 EB 78 */ mr r4, r29
/* 802C5658 002C12B8 38 7F 00 1C */ addi r3, r31, 0x1c
/* 802C565C 002C12BC 38 A0 00 06 */ li r5, 6
-/* 802C5660 002C12C0 4B F0 4D 39 */ bl func_801CA398
+/* 802C5660 002C12C0 4B F0 4D 39 */ bl memcmp
/* 802C5664 002C12C4 2C 03 00 00 */ cmpwi r3, 0
/* 802C5668 002C12C8 40 82 00 0C */ bne lbl_802C5674
/* 802C566C 002C12CC 7F E3 FB 78 */ mr r3, r31
@@ -88936,7 +88936,7 @@ lbl_802C7C38:
/* 802C7C44 002C38A4 7F 64 DB 78 */ mr r4, r27
/* 802C7C48 002C38A8 38 7F 00 0A */ addi r3, r31, 0xa
/* 802C7C4C 002C38AC 38 A0 00 06 */ li r5, 6
-/* 802C7C50 002C38B0 4B F0 27 49 */ bl func_801CA398
+/* 802C7C50 002C38B0 4B F0 27 49 */ bl memcmp
/* 802C7C54 002C38B4 2C 03 00 00 */ cmpwi r3, 0
/* 802C7C58 002C38B8 40 82 00 08 */ bne lbl_802C7C60
/* 802C7C5C 002C38BC 48 00 00 18 */ b lbl_802C7C74
@@ -89035,7 +89035,7 @@ lbl_802C7D8C:
/* 802C7D98 002C39F8 7F A4 EB 78 */ mr r4, r29
/* 802C7D9C 002C39FC 38 7E 00 0A */ addi r3, r30, 0xa
/* 802C7DA0 002C3A00 38 A0 00 06 */ li r5, 6
-/* 802C7DA4 002C3A04 4B F0 25 F5 */ bl func_801CA398
+/* 802C7DA4 002C3A04 4B F0 25 F5 */ bl memcmp
/* 802C7DA8 002C3A08 2C 03 00 00 */ cmpwi r3, 0
/* 802C7DAC 002C3A0C 40 82 00 0C */ bne lbl_802C7DB8
/* 802C7DB0 002C3A10 38 7E 00 08 */ addi r3, r30, 8
@@ -89239,7 +89239,7 @@ lbl_802C8034:
/* 802C8048 002C3CA8 7F 64 DB 78 */ mr r4, r27
/* 802C804C 002C3CAC 38 7C 00 0A */ addi r3, r28, 0xa
/* 802C8050 002C3CB0 38 A0 00 06 */ li r5, 6
-/* 802C8054 002C3CB4 4B F0 23 45 */ bl func_801CA398
+/* 802C8054 002C3CB4 4B F0 23 45 */ bl memcmp
/* 802C8058 002C3CB8 2C 03 00 00 */ cmpwi r3, 0
/* 802C805C 002C3CBC 40 82 00 24 */ bne lbl_802C8080
lbl_802C8060:
@@ -89407,7 +89407,7 @@ lbl_802C8294:
/* 802C8294 002C3EF4 7F 64 DB 78 */ mr r4, r27
/* 802C8298 002C3EF8 38 7D 00 04 */ addi r3, r29, 4
/* 802C829C 002C3EFC 38 A0 00 06 */ li r5, 6
-/* 802C82A0 002C3F00 4B F0 20 F9 */ bl func_801CA398
+/* 802C82A0 002C3F00 4B F0 20 F9 */ bl memcmp
/* 802C82A4 002C3F04 2C 03 00 00 */ cmpwi r3, 0
/* 802C82A8 002C3F08 40 82 00 1C */ bne lbl_802C82C4
/* 802C82AC 002C3F0C 80 7D 00 00 */ lwz r3, 0(r29)
@@ -89821,7 +89821,7 @@ lbl_802C8848:
/* 802C8854 002C44B4 38 79 00 0A */ addi r3, r25, 0xa
/* 802C8858 002C44B8 38 81 00 0C */ addi r4, r1, 0xc
/* 802C885C 002C44BC 38 A0 00 06 */ li r5, 6
-/* 802C8860 002C44C0 4B F0 1B 39 */ bl func_801CA398
+/* 802C8860 002C44C0 4B F0 1B 39 */ bl memcmp
/* 802C8864 002C44C4 2C 03 00 00 */ cmpwi r3, 0
/* 802C8868 002C44C8 40 82 00 08 */ bne lbl_802C8870
/* 802C886C 002C44CC 48 00 00 18 */ b lbl_802C8884
@@ -90019,7 +90019,7 @@ lbl_802C8AF8:
/* 802C8B14 002C4774 7E E3 BB 78 */ mr r3, r23
/* 802C8B18 002C4778 38 9F 16 A8 */ addi r4, r31, 0x16a8
/* 802C8B1C 002C477C 38 A0 00 06 */ li r5, 6
-/* 802C8B20 002C4780 4B F0 18 79 */ bl func_801CA398
+/* 802C8B20 002C4780 4B F0 18 79 */ bl memcmp
/* 802C8B24 002C4784 2C 03 00 00 */ cmpwi r3, 0
/* 802C8B28 002C4788 40 82 00 0C */ bne lbl_802C8B34
/* 802C8B2C 002C478C 3B C0 00 00 */ li r30, 0
@@ -90314,7 +90314,7 @@ lbl_802C8EFC:
/* 802C8F08 002C4B68 7F 44 D3 78 */ mr r4, r26
/* 802C8F0C 002C4B6C 38 7E 00 08 */ addi r3, r30, 8
/* 802C8F10 002C4B70 38 A0 00 06 */ li r5, 6
-/* 802C8F14 002C4B74 4B F0 14 85 */ bl func_801CA398
+/* 802C8F14 002C4B74 4B F0 14 85 */ bl memcmp
/* 802C8F18 002C4B78 2C 03 00 00 */ cmpwi r3, 0
/* 802C8F1C 002C4B7C 41 82 00 14 */ beq lbl_802C8F30
lbl_802C8F20:
@@ -90436,7 +90436,7 @@ lbl_802C90AC:
/* 802C90B8 002C4D18 7F 84 E3 78 */ mr r4, r28
/* 802C90BC 002C4D1C 38 7E 00 08 */ addi r3, r30, 8
/* 802C90C0 002C4D20 38 A0 00 06 */ li r5, 6
-/* 802C90C4 002C4D24 4B F0 12 D5 */ bl func_801CA398
+/* 802C90C4 002C4D24 4B F0 12 D5 */ bl memcmp
/* 802C90C8 002C4D28 2C 03 00 00 */ cmpwi r3, 0
/* 802C90CC 002C4D2C 41 82 00 14 */ beq lbl_802C90E0
lbl_802C90D0:
@@ -91434,7 +91434,7 @@ lbl_802C9E7C:
/* 802C9E7C 002C5ADC 7F C4 F3 78 */ mr r4, r30
/* 802C9E80 002C5AE0 38 7B 00 28 */ addi r3, r27, 0x28
/* 802C9E84 002C5AE4 38 A0 00 06 */ li r5, 6
-/* 802C9E88 002C5AE8 4B F0 05 11 */ bl func_801CA398
+/* 802C9E88 002C5AE8 4B F0 05 11 */ bl memcmp
/* 802C9E8C 002C5AEC 2C 03 00 00 */ cmpwi r3, 0
/* 802C9E90 002C5AF0 40 82 00 8C */ bne lbl_802C9F1C
/* 802C9E94 002C5AF4 38 00 00 01 */ li r0, 1
@@ -91572,7 +91572,7 @@ lbl_802CA048:
/* 802CA074 002C5CD4 7F 24 CB 78 */ mr r4, r25
/* 802CA078 002C5CD8 38 7F 00 28 */ addi r3, r31, 0x28
/* 802CA07C 002C5CDC 38 A0 00 06 */ li r5, 6
-/* 802CA080 002C5CE0 4B F0 03 19 */ bl func_801CA398
+/* 802CA080 002C5CE0 4B F0 03 19 */ bl memcmp
/* 802CA084 002C5CE4 2C 03 00 00 */ cmpwi r3, 0
/* 802CA088 002C5CE8 40 82 00 FC */ bne lbl_802CA184
lbl_802CA08C:
@@ -91731,7 +91731,7 @@ lbl_802CA290:
/* 802CA29C 002C5EFC 7F A4 EB 78 */ mr r4, r29
/* 802CA2A0 002C5F00 38 7F 00 28 */ addi r3, r31, 0x28
/* 802CA2A4 002C5F04 38 A0 00 06 */ li r5, 6
-/* 802CA2A8 002C5F08 4B F0 00 F1 */ bl func_801CA398
+/* 802CA2A8 002C5F08 4B F0 00 F1 */ bl memcmp
/* 802CA2AC 002C5F0C 2C 03 00 00 */ cmpwi r3, 0
/* 802CA2B0 002C5F10 40 82 00 0C */ bne lbl_802CA2BC
/* 802CA2B4 002C5F14 57 C3 04 3E */ clrlwi r3, r30, 0x10
@@ -91855,7 +91855,7 @@ lbl_802CA430:
/* 802CA444 002C60A4 7F 84 E3 78 */ mr r4, r28
/* 802CA448 002C60A8 38 7E 00 28 */ addi r3, r30, 0x28
/* 802CA44C 002C60AC 38 A0 00 06 */ li r5, 6
-/* 802CA450 002C60B0 4B EF FF 49 */ bl func_801CA398
+/* 802CA450 002C60B0 4B EF FF 49 */ bl memcmp
/* 802CA454 002C60B4 2C 03 00 00 */ cmpwi r3, 0
/* 802CA458 002C60B8 40 82 00 28 */ bne lbl_802CA480
/* 802CA45C 002C60BC 88 1E 00 0D */ lbz r0, 0xd(r30)
@@ -92160,7 +92160,7 @@ lbl_802CA85C:
/* 802CA85C 002C64BC 7F A4 EB 78 */ mr r4, r29
/* 802CA860 002C64C0 38 7E 00 28 */ addi r3, r30, 0x28
/* 802CA864 002C64C4 38 A0 00 06 */ li r5, 6
-/* 802CA868 002C64C8 4B EF FB 31 */ bl func_801CA398
+/* 802CA868 002C64C8 4B EF FB 31 */ bl memcmp
/* 802CA86C 002C64CC 2C 03 00 00 */ cmpwi r3, 0
/* 802CA870 002C64D0 40 82 00 18 */ bne lbl_802CA888
/* 802CA874 002C64D4 A0 1E 00 08 */ lhz r0, 8(r30)
@@ -94619,7 +94619,7 @@ lbl_802CCAB8:
/* 802CCACC 002C872C 38 7F 19 54 */ addi r3, r31, 0x1954
/* 802CCAD0 002C8730 38 9E 00 1C */ addi r4, r30, 0x1c
/* 802CCAD4 002C8734 38 A0 00 06 */ li r5, 6
-/* 802CCAD8 002C8738 4B EF D8 C1 */ bl func_801CA398
+/* 802CCAD8 002C8738 4B EF D8 C1 */ bl memcmp
/* 802CCADC 002C873C 2C 03 00 00 */ cmpwi r3, 0
/* 802CCAE0 002C8740 40 82 00 48 */ bne lbl_802CCB28
/* 802CCAE4 002C8744 38 7F 19 3C */ addi r3, r31, 0x193c
@@ -95008,7 +95008,7 @@ lbl_802CD030:
/* 802CD050 002C8CB0 7F 63 DB 78 */ mr r3, r27
/* 802CD054 002C8CB4 38 9D 27 B4 */ addi r4, r29, 0x27b4
/* 802CD058 002C8CB8 38 A0 00 06 */ li r5, 6
-/* 802CD05C 002C8CBC 4B EF D3 3D */ bl func_801CA398
+/* 802CD05C 002C8CBC 4B EF D3 3D */ bl memcmp
/* 802CD060 002C8CC0 2C 03 00 00 */ cmpwi r3, 0
/* 802CD064 002C8CC4 40 82 00 14 */ bne lbl_802CD078
/* 802CD068 002C8CC8 38 7E 00 22 */ addi r3, r30, 0x22
@@ -97100,7 +97100,7 @@ lbl_802CED34:
/* 802CED58 002CA9B8 7F 43 D3 78 */ mr r3, r26
/* 802CED5C 002CA9BC 38 9D 00 09 */ addi r4, r29, 9
/* 802CED60 002CA9C0 38 A0 00 06 */ li r5, 6
-/* 802CED64 002CA9C4 4B EF B6 35 */ bl func_801CA398
+/* 802CED64 002CA9C4 4B EF B6 35 */ bl memcmp
/* 802CED68 002CA9C8 2C 03 00 00 */ cmpwi r3, 0
/* 802CED6C 002CA9CC 41 82 00 14 */ beq lbl_802CED80
lbl_802CED70:
diff --git a/asm/text_9.s b/asm/text_9.s
index ce23bbd..78ceac1 100644
--- a/asm/text_9.s
+++ b/asm/text_9.s
@@ -507,7 +507,7 @@ lbl_802D316C:
/* 802D316C 002CEDCC 7F 43 D3 78 */ mr r3, r26
/* 802D3170 002CEDD0 38 9F 00 01 */ addi r4, r31, 1
/* 802D3174 002CEDD4 38 A0 00 06 */ li r5, 6
-/* 802D3178 002CEDD8 4B EF 72 21 */ bl func_801CA398
+/* 802D3178 002CEDD8 4B EF 72 21 */ bl memcmp
/* 802D317C 002CEDDC 2C 03 00 00 */ cmpwi r3, 0
/* 802D3180 002CEDE0 41 82 00 14 */ beq lbl_802D3194
/* 802D3184 002CEDE4 3B BD 00 01 */ addi r29, r29, 1
@@ -1237,7 +1237,7 @@ lbl_802D3B80:
/* 802D3B8C 002CF7EC 7F 43 D3 78 */ mr r3, r26
/* 802D3B90 002CF7F0 38 9E 00 01 */ addi r4, r30, 1
/* 802D3B94 002CF7F4 38 A0 00 06 */ li r5, 6
-/* 802D3B98 002CF7F8 4B EF 68 01 */ bl func_801CA398
+/* 802D3B98 002CF7F8 4B EF 68 01 */ bl memcmp
/* 802D3B9C 002CF7FC 2C 03 00 00 */ cmpwi r3, 0
/* 802D3BA0 002CF800 41 82 00 14 */ beq lbl_802D3BB4
lbl_802D3BA4:
@@ -4051,7 +4051,7 @@ func_802D62DC:
/* 802D62F8 002D1F58 7C 7E 1B 78 */ mr r30, r3
/* 802D62FC 002D1F5C 7F C4 F3 78 */ mr r4, r30
/* 802D6300 002D1F60 38 62 A4 88 */ addi r3, r2, lbl_80642A88-_SDA2_BASE_
-/* 802D6304 002D1F64 4B EF 40 95 */ bl func_801CA398
+/* 802D6304 002D1F64 4B EF 40 95 */ bl memcmp
/* 802D6308 002D1F68 2C 03 00 00 */ cmpwi r3, 0
/* 802D630C 002D1F6C 41 82 00 3C */ beq lbl_802D6348
/* 802D6310 002D1F70 7F C3 F3 78 */ mr r3, r30
@@ -8094,7 +8094,7 @@ lbl_802D9C94:
/* 802D9CA0 002D5900 7F A4 EB 78 */ mr r4, r29
/* 802D9CA4 002D5904 38 7E 00 2A */ addi r3, r30, 0x2a
/* 802D9CA8 002D5908 38 A0 00 06 */ li r5, 6
-/* 802D9CAC 002D590C 4B EF 06 ED */ bl func_801CA398
+/* 802D9CAC 002D590C 4B EF 06 ED */ bl memcmp
/* 802D9CB0 002D5910 2C 03 00 00 */ cmpwi r3, 0
/* 802D9CB4 002D5914 40 82 00 0C */ bne lbl_802D9CC0
/* 802D9CB8 002D5918 7F C3 F3 78 */ mr r3, r30
@@ -16830,7 +16830,7 @@ func_802E168C:
/* 802E16C0 002DD320 41 82 00 5C */ beq lbl_802E171C
/* 802E16C4 002DD324 7F 64 DB 78 */ mr r4, r27
/* 802E16C8 002DD328 38 A0 00 06 */ li r5, 6
-/* 802E16CC 002DD32C 4B EE 8C CD */ bl func_801CA398
+/* 802E16CC 002DD32C 4B EE 8C CD */ bl memcmp
/* 802E16D0 002DD330 2C 03 00 00 */ cmpwi r3, 0
/* 802E16D4 002DD334 40 82 00 48 */ bne lbl_802E171C
/* 802E16D8 002DD338 88 1F 04 14 */ lbz r0, 0x414(r31)
@@ -23358,7 +23358,7 @@ lbl_802E7168:
lbl_802E71BC:
/* 802E71BC 002E2E1C 7F C4 F3 78 */ mr r4, r30
/* 802E71C0 002E2E20 7F A5 EB 78 */ mr r5, r29
-/* 802E71C4 002E2E24 4B EE 31 D5 */ bl func_801CA398
+/* 802E71C4 002E2E24 4B EE 31 D5 */ bl memcmp
/* 802E71C8 002E2E28 7C 60 00 34 */ cntlzw r0, r3
/* 802E71CC 002E2E2C 54 06 DE 3E */ rlwinm r6, r0, 0x1b, 0x18, 0x1f
lbl_802E71D0:
@@ -23413,7 +23413,7 @@ lbl_802E727C:
/* 802E727C 002E2EDC 38 61 00 18 */ addi r3, r1, 0x18
/* 802E7280 002E2EE0 38 81 00 08 */ addi r4, r1, 8
/* 802E7284 002E2EE4 38 A0 00 10 */ li r5, 0x10
-/* 802E7288 002E2EE8 4B EE 31 11 */ bl func_801CA398
+/* 802E7288 002E2EE8 4B EE 31 11 */ bl memcmp
/* 802E728C 002E2EEC 7C 60 00 34 */ cntlzw r0, r3
/* 802E7290 002E2EF0 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f
/* 802E7294 002E2EF4 48 00 00 BC */ b lbl_802E7350
@@ -23465,7 +23465,7 @@ lbl_802E7338:
/* 802E7338 002E2F98 38 61 00 18 */ addi r3, r1, 0x18
/* 802E733C 002E2F9C 38 81 00 08 */ addi r4, r1, 8
/* 802E7340 002E2FA0 38 A0 00 10 */ li r5, 0x10
-/* 802E7344 002E2FA4 4B EE 30 55 */ bl func_801CA398
+/* 802E7344 002E2FA4 4B EE 30 55 */ bl memcmp
/* 802E7348 002E2FA8 7C 60 00 34 */ cntlzw r0, r3
/* 802E734C 002E2FAC 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f
lbl_802E7350:
@@ -23512,7 +23512,7 @@ lbl_802E73D8:
/* 802E73D8 002E3038 38 A0 00 10 */ li r5, 0x10
/* 802E73DC 002E303C 38 63 00 04 */ addi r3, r3, 4
/* 802E73E0 002E3040 38 84 00 08 */ addi r4, r4, 8
-/* 802E73E4 002E3044 4B EE 2F B5 */ bl func_801CA398
+/* 802E73E4 002E3044 4B EE 2F B5 */ bl memcmp
/* 802E73E8 002E3048 7C 60 00 34 */ cntlzw r0, r3
/* 802E73EC 002E304C 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f
lbl_802E73F0:
@@ -27902,13 +27902,13 @@ func_802EAFA0:
/* 802EAFE0 002E6C40 38 8D 8B B0 */ addi r4, r13, lbl_8063DE70-_SDA_BASE_
/* 802EAFE4 002E6C44 38 A0 00 04 */ li r5, 4
/* 802EAFE8 002E6C48 3B FF FF FC */ addi r31, r31, -4
-/* 802EAFEC 002E6C4C 4B ED F3 AD */ bl func_801CA398
+/* 802EAFEC 002E6C4C 4B ED F3 AD */ bl memcmp
/* 802EAFF0 002E6C50 2C 03 00 00 */ cmpwi r3, 0
/* 802EAFF4 002E6C54 40 82 01 DC */ bne lbl_802EB1D0
/* 802EAFF8 002E6C58 7F E3 FB 78 */ mr r3, r31
/* 802EAFFC 002E6C5C 38 8D 8B B8 */ addi r4, r13, lbl_8063DE78-_SDA_BASE_
/* 802EB000 002E6C60 38 A0 00 04 */ li r5, 4
-/* 802EB004 002E6C64 4B ED F3 95 */ bl func_801CA398
+/* 802EB004 002E6C64 4B ED F3 95 */ bl memcmp
/* 802EB008 002E6C68 2C 03 00 00 */ cmpwi r3, 0
/* 802EB00C 002E6C6C 40 82 01 C4 */ bne lbl_802EB1D0
/* 802EB010 002E6C70 28 1A 40 00 */ cmplwi r26, 0x4000
@@ -28003,7 +28003,7 @@ lbl_802EB13C:
/* 802EB158 002E6DB8 7E C3 B3 78 */ mr r3, r22
/* 802EB15C 002E6DBC 7E A5 AB 78 */ mr r5, r21
/* 802EB160 002E6DC0 38 84 00 01 */ addi r4, r4, 1
-/* 802EB164 002E6DC4 4B ED F2 35 */ bl func_801CA398
+/* 802EB164 002E6DC4 4B ED F2 35 */ bl memcmp
/* 802EB168 002E6DC8 2C 03 00 00 */ cmpwi r3, 0
/* 802EB16C 002E6DCC 40 82 00 24 */ bne lbl_802EB190
/* 802EB170 002E6DD0 80 1B 00 04 */ lwz r0, 4(r27)
@@ -28561,7 +28561,7 @@ lbl_802EB8F4:
/* 802EB914 002E7574 80 61 00 20 */ lwz r3, 0x20(r1)
/* 802EB918 002E7578 7F 64 DB 78 */ mr r4, r27
/* 802EB91C 002E757C 7F 85 E3 78 */ mr r5, r28
-/* 802EB920 002E7580 4B ED EA 79 */ bl func_801CA398
+/* 802EB920 002E7580 4B ED EA 79 */ bl memcmp
/* 802EB924 002E7584 2C 03 00 00 */ cmpwi r3, 0
/* 802EB928 002E7588 41 82 00 1C */ beq lbl_802EB944
/* 802EB92C 002E758C 80 61 00 20 */ lwz r3, 0x20(r1)
@@ -28638,7 +28638,7 @@ lbl_802EBA10:
/* 802EBA24 002E7684 80 61 00 20 */ lwz r3, 0x20(r1)
/* 802EBA28 002E7688 7F 84 E3 78 */ mr r4, r28
/* 802EBA2C 002E768C 80 A1 00 18 */ lwz r5, 0x18(r1)
-/* 802EBA30 002E7690 4B ED E9 69 */ bl func_801CA398
+/* 802EBA30 002E7690 4B ED E9 69 */ bl memcmp
/* 802EBA34 002E7694 2C 03 00 00 */ cmpwi r3, 0
/* 802EBA38 002E7698 41 82 00 1C */ beq lbl_802EBA54
/* 802EBA3C 002E769C 80 61 00 20 */ lwz r3, 0x20(r1)
@@ -94604,7 +94604,7 @@ lbl_80323CA4:
/* 80323CF0 0031F950 7C 65 1B 78 */ mr r5, r3
/* 80323CF4 0031F954 7F C3 F3 78 */ mr r3, r30
/* 80323CF8 0031F958 38 8D 8D 9C */ addi r4, r13, lbl_8063E05C-_SDA_BASE_
-/* 80323CFC 0031F95C 4B EA 66 9D */ bl func_801CA398
+/* 80323CFC 0031F95C 4B EA 66 9D */ bl memcmp
/* 80323D00 0031F960 2C 03 00 00 */ cmpwi r3, 0
/* 80323D04 0031F964 41 82 00 1C */ beq lbl_80323D20
/* 80323D08 0031F968 7F C5 F3 78 */ mr r5, r30
@@ -94648,7 +94648,7 @@ lbl_80323D84:
/* 80323D94 0031F9F4 7C 65 1B 78 */ mr r5, r3
/* 80323D98 0031F9F8 7F C3 F3 78 */ mr r3, r30
/* 80323D9C 0031F9FC 38 8D 8D A4 */ addi r4, r13, lbl_8063E064-_SDA_BASE_
-/* 80323DA0 0031FA00 4B EA 65 F9 */ bl func_801CA398
+/* 80323DA0 0031FA00 4B EA 65 F9 */ bl memcmp
/* 80323DA4 0031FA04 2C 03 00 00 */ cmpwi r3, 0
/* 80323DA8 0031FA08 40 82 00 60 */ bne lbl_80323E08
/* 80323DAC 0031FA0C 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13)
@@ -97332,7 +97332,7 @@ lbl_80326470:
/* 80326474 003220D4 7F 83 E3 78 */ mr r3, r28
/* 80326478 003220D8 38 84 E7 68 */ addi r4, r4, lbl_8063E768@l
/* 8032647C 003220DC 38 A0 00 06 */ li r5, 6
-/* 80326480 003220E0 4B EA 3F 19 */ bl func_801CA398
+/* 80326480 003220E0 4B EA 3F 19 */ bl memcmp
/* 80326484 003220E4 2C 03 00 00 */ cmpwi r3, 0
/* 80326488 003220E8 40 82 00 28 */ bne lbl_803264B0
/* 8032648C 003220EC 38 9F 04 80 */ addi r4, r31, 0x480
diff --git a/obj_files.mk b/obj_files.mk
index e4dcd17..4c5b92e 100644
--- a/obj_files.mk
+++ b/obj_files.mk
@@ -27,7 +27,11 @@ TEXT_O_FILES := \
$(BUILD_DIR)/asm/libstdc++/direct_io.o \
$(BUILD_DIR)/asm/libstdc++/file_io.o \
$(BUILD_DIR)/asm/libstdc++/FILE_POS.o \
- $(BUILD_DIR)/asm/text_5_2.o \
+ $(BUILD_DIR)/asm/libstdc++/mbstring.o \
+ $(BUILD_DIR)/asm/libstdc++/mem.o \
+ $(BUILD_DIR)/asm/libstdc++/mem_funcs.o \
+ $(BUILD_DIR)/asm/libstdc++/math_api.o \
+ $(BUILD_DIR)/asm/libstdc++/misc_io.o \
$(BUILD_DIR)/asm/text_6.o \
$(BUILD_DIR)/asm/MetroTRK/mem_TRK.o \
$(BUILD_DIR)/asm/init.o \