diff options
author | Max <mparisi@stevens.edu> | 2020-09-18 00:31:16 -0400 |
---|---|---|
committer | Max <mparisi@stevens.edu> | 2020-09-18 00:31:16 -0400 |
commit | 27ed6eece445281e3be77ece9ffd76cdc81a0a97 (patch) | |
tree | 5770c965b4a21f0281763d9207b6265957b39960 | |
parent | 3fb7babc4e1032b94c3dfd4ae95d522b601739d8 (diff) |
split gsRC4.o and gsSHA1.o
-rw-r--r-- | asm/gsRC4.s | 324 | ||||
-rw-r--r-- | asm/gsSHA1.s | 671 | ||||
-rw-r--r-- | asm/text_10_2.s | 1116 | ||||
-rw-r--r-- | obj_files.mk | 2 |
4 files changed, 1061 insertions, 1052 deletions
diff --git a/asm/gsRC4.s b/asm/gsRC4.s new file mode 100644 index 0000000..2e1fad3 --- /dev/null +++ b/asm/gsRC4.s @@ -0,0 +1,324 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global RC4Init
+RC4Init:
+/* 8033BF60 00337BC0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8033BF64 00337BC4 2C 04 00 00 */ cmpwi r4, 0
+/* 8033BF68 00337BC8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8033BF6C 00337BCC 3B E0 00 00 */ li r31, 0
+/* 8033BF70 00337BD0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8033BF74 00337BD4 3B C0 00 00 */ li r30, 0
+/* 8033BF78 00337BD8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8033BF7C 00337BDC 41 82 03 14 */ beq lbl_8033C290
+/* 8033BF80 00337BE0 2C 05 00 00 */ cmpwi r5, 0
+/* 8033BF84 00337BE4 40 82 00 08 */ bne lbl_8033BF8C
+/* 8033BF88 00337BE8 48 00 03 08 */ b lbl_8033C290
+lbl_8033BF8C:
+/* 8033BF8C 00337BEC 38 C0 00 00 */ li r6, 0
+/* 8033BF90 00337BF0 38 00 00 08 */ li r0, 8
+/* 8033BF94 00337BF4 98 C3 00 00 */ stb r6, 0(r3)
+/* 8033BF98 00337BF8 3B A0 00 00 */ li r29, 0
+/* 8033BF9C 00337BFC 98 C3 00 01 */ stb r6, 1(r3)
+/* 8033BFA0 00337C00 7C 09 03 A6 */ mtctr r0
+lbl_8033BFA4:
+/* 8033BFA4 00337C04 7D 83 EA 14 */ add r12, r3, r29
+/* 8033BFA8 00337C08 39 7D 00 01 */ addi r11, r29, 1
+/* 8033BFAC 00337C0C 9B AC 00 02 */ stb r29, 2(r12)
+/* 8033BFB0 00337C10 39 5D 00 02 */ addi r10, r29, 2
+/* 8033BFB4 00337C14 39 3D 00 03 */ addi r9, r29, 3
+/* 8033BFB8 00337C18 39 1D 00 04 */ addi r8, r29, 4
+/* 8033BFBC 00337C1C 99 6C 00 03 */ stb r11, 3(r12)
+/* 8033BFC0 00337C20 38 FD 00 05 */ addi r7, r29, 5
+/* 8033BFC4 00337C24 38 DD 00 06 */ addi r6, r29, 6
+/* 8033BFC8 00337C28 38 1D 00 07 */ addi r0, r29, 7
+/* 8033BFCC 00337C2C 99 4C 00 04 */ stb r10, 4(r12)
+/* 8033BFD0 00337C30 39 7D 00 09 */ addi r11, r29, 9
+/* 8033BFD4 00337C34 39 5D 00 0A */ addi r10, r29, 0xa
+/* 8033BFD8 00337C38 99 2C 00 05 */ stb r9, 5(r12)
+/* 8033BFDC 00337C3C 39 3D 00 0B */ addi r9, r29, 0xb
+/* 8033BFE0 00337C40 99 0C 00 06 */ stb r8, 6(r12)
+/* 8033BFE4 00337C44 39 1D 00 0C */ addi r8, r29, 0xc
+/* 8033BFE8 00337C48 98 EC 00 07 */ stb r7, 7(r12)
+/* 8033BFEC 00337C4C 38 FD 00 0D */ addi r7, r29, 0xd
+/* 8033BFF0 00337C50 98 CC 00 08 */ stb r6, 8(r12)
+/* 8033BFF4 00337C54 38 DD 00 0E */ addi r6, r29, 0xe
+/* 8033BFF8 00337C58 3B BD 00 08 */ addi r29, r29, 8
+/* 8033BFFC 00337C5C 98 0C 00 09 */ stb r0, 9(r12)
+/* 8033C000 00337C60 7D 83 EA 14 */ add r12, r3, r29
+/* 8033C004 00337C64 38 1D 00 07 */ addi r0, r29, 7
+/* 8033C008 00337C68 9B AC 00 02 */ stb r29, 2(r12)
+/* 8033C00C 00337C6C 99 6C 00 03 */ stb r11, 3(r12)
+/* 8033C010 00337C70 39 7D 00 09 */ addi r11, r29, 9
+/* 8033C014 00337C74 99 4C 00 04 */ stb r10, 4(r12)
+/* 8033C018 00337C78 39 5D 00 0A */ addi r10, r29, 0xa
+/* 8033C01C 00337C7C 99 2C 00 05 */ stb r9, 5(r12)
+/* 8033C020 00337C80 39 3D 00 0B */ addi r9, r29, 0xb
+/* 8033C024 00337C84 99 0C 00 06 */ stb r8, 6(r12)
+/* 8033C028 00337C88 39 1D 00 0C */ addi r8, r29, 0xc
+/* 8033C02C 00337C8C 98 EC 00 07 */ stb r7, 7(r12)
+/* 8033C030 00337C90 38 FD 00 0D */ addi r7, r29, 0xd
+/* 8033C034 00337C94 98 CC 00 08 */ stb r6, 8(r12)
+/* 8033C038 00337C98 38 DD 00 0E */ addi r6, r29, 0xe
+/* 8033C03C 00337C9C 3B BD 00 08 */ addi r29, r29, 8
+/* 8033C040 00337CA0 98 0C 00 09 */ stb r0, 9(r12)
+/* 8033C044 00337CA4 7D 83 EA 14 */ add r12, r3, r29
+/* 8033C048 00337CA8 38 1D 00 07 */ addi r0, r29, 7
+/* 8033C04C 00337CAC 9B AC 00 02 */ stb r29, 2(r12)
+/* 8033C050 00337CB0 99 6C 00 03 */ stb r11, 3(r12)
+/* 8033C054 00337CB4 39 7D 00 09 */ addi r11, r29, 9
+/* 8033C058 00337CB8 99 4C 00 04 */ stb r10, 4(r12)
+/* 8033C05C 00337CBC 39 5D 00 0A */ addi r10, r29, 0xa
+/* 8033C060 00337CC0 99 2C 00 05 */ stb r9, 5(r12)
+/* 8033C064 00337CC4 39 3D 00 0B */ addi r9, r29, 0xb
+/* 8033C068 00337CC8 99 0C 00 06 */ stb r8, 6(r12)
+/* 8033C06C 00337CCC 39 1D 00 0C */ addi r8, r29, 0xc
+/* 8033C070 00337CD0 98 EC 00 07 */ stb r7, 7(r12)
+/* 8033C074 00337CD4 38 FD 00 0D */ addi r7, r29, 0xd
+/* 8033C078 00337CD8 98 CC 00 08 */ stb r6, 8(r12)
+/* 8033C07C 00337CDC 38 DD 00 0E */ addi r6, r29, 0xe
+/* 8033C080 00337CE0 3B BD 00 08 */ addi r29, r29, 8
+/* 8033C084 00337CE4 98 0C 00 09 */ stb r0, 9(r12)
+/* 8033C088 00337CE8 7D 83 EA 14 */ add r12, r3, r29
+/* 8033C08C 00337CEC 38 1D 00 07 */ addi r0, r29, 7
+/* 8033C090 00337CF0 9B AC 00 02 */ stb r29, 2(r12)
+/* 8033C094 00337CF4 3B BD 00 08 */ addi r29, r29, 8
+/* 8033C098 00337CF8 99 6C 00 03 */ stb r11, 3(r12)
+/* 8033C09C 00337CFC 99 4C 00 04 */ stb r10, 4(r12)
+/* 8033C0A0 00337D00 99 2C 00 05 */ stb r9, 5(r12)
+/* 8033C0A4 00337D04 99 0C 00 06 */ stb r8, 6(r12)
+/* 8033C0A8 00337D08 98 EC 00 07 */ stb r7, 7(r12)
+/* 8033C0AC 00337D0C 98 CC 00 08 */ stb r6, 8(r12)
+/* 8033C0B0 00337D10 98 0C 00 09 */ stb r0, 9(r12)
+/* 8033C0B4 00337D14 42 00 FE F0 */ bdnz lbl_8033BFA4
+/* 8033C0B8 00337D18 38 00 00 20 */ li r0, 0x20
+/* 8033C0BC 00337D1C 38 E0 00 00 */ li r7, 0
+/* 8033C0C0 00337D20 7C 09 03 A6 */ mtctr r0
+lbl_8033C0C4:
+/* 8033C0C4 00337D24 39 1E 00 01 */ addi r8, r30, 1
+/* 8033C0C8 00337D28 7C C3 3A 14 */ add r6, r3, r7
+/* 8033C0CC 00337D2C 7C 08 2B D6 */ divw r0, r8, r5
+/* 8033C0D0 00337D30 89 66 00 02 */ lbz r11, 2(r6)
+/* 8033C0D4 00337D34 7D 44 F0 AE */ lbzx r10, r4, r30
+/* 8033C0D8 00337D38 7D 3F 5A 14 */ add r9, r31, r11
+/* 8033C0DC 00337D3C 7D 2A 4A 14 */ add r9, r10, r9
+/* 8033C0E0 00337D40 55 2C 06 3E */ clrlwi r12, r9, 0x18
+/* 8033C0E4 00337D44 7C 00 29 D6 */ mullw r0, r0, r5
+/* 8033C0E8 00337D48 7D 43 62 14 */ add r10, r3, r12
+/* 8033C0EC 00337D4C 89 2A 00 02 */ lbz r9, 2(r10)
+/* 8033C0F0 00337D50 99 26 00 02 */ stb r9, 2(r6)
+/* 8033C0F4 00337D54 7C 00 40 50 */ subf r0, r0, r8
+/* 8033C0F8 00337D58 99 6A 00 02 */ stb r11, 2(r10)
+/* 8033C0FC 00337D5C 54 09 06 3E */ clrlwi r9, r0, 0x18
+/* 8033C100 00337D60 39 09 00 01 */ addi r8, r9, 1
+/* 8033C104 00337D64 89 66 00 03 */ lbz r11, 3(r6)
+/* 8033C108 00337D68 7C 08 2B D6 */ divw r0, r8, r5
+/* 8033C10C 00337D6C 7D 44 48 AE */ lbzx r10, r4, r9
+/* 8033C110 00337D70 7D 2C 5A 14 */ add r9, r12, r11
+/* 8033C114 00337D74 7D 2A 4A 14 */ add r9, r10, r9
+/* 8033C118 00337D78 55 2C 06 3E */ clrlwi r12, r9, 0x18
+/* 8033C11C 00337D7C 7D 43 62 14 */ add r10, r3, r12
+/* 8033C120 00337D80 7C 00 29 D6 */ mullw r0, r0, r5
+/* 8033C124 00337D84 89 2A 00 02 */ lbz r9, 2(r10)
+/* 8033C128 00337D88 99 26 00 03 */ stb r9, 3(r6)
+/* 8033C12C 00337D8C 99 6A 00 02 */ stb r11, 2(r10)
+/* 8033C130 00337D90 7C 00 40 50 */ subf r0, r0, r8
+/* 8033C134 00337D94 54 09 06 3E */ clrlwi r9, r0, 0x18
+/* 8033C138 00337D98 89 66 00 04 */ lbz r11, 4(r6)
+/* 8033C13C 00337D9C 39 09 00 01 */ addi r8, r9, 1
+/* 8033C140 00337DA0 7D 44 48 AE */ lbzx r10, r4, r9
+/* 8033C144 00337DA4 7C 08 2B D6 */ divw r0, r8, r5
+/* 8033C148 00337DA8 7D 2C 5A 14 */ add r9, r12, r11
+/* 8033C14C 00337DAC 7D 2A 4A 14 */ add r9, r10, r9
+/* 8033C150 00337DB0 55 2C 06 3E */ clrlwi r12, r9, 0x18
+/* 8033C154 00337DB4 7D 43 62 14 */ add r10, r3, r12
+/* 8033C158 00337DB8 89 2A 00 02 */ lbz r9, 2(r10)
+/* 8033C15C 00337DBC 7C 00 29 D6 */ mullw r0, r0, r5
+/* 8033C160 00337DC0 99 26 00 04 */ stb r9, 4(r6)
+/* 8033C164 00337DC4 99 6A 00 02 */ stb r11, 2(r10)
+/* 8033C168 00337DC8 89 66 00 05 */ lbz r11, 5(r6)
+/* 8033C16C 00337DCC 7C 00 40 50 */ subf r0, r0, r8
+/* 8033C170 00337DD0 54 0A 06 3E */ clrlwi r10, r0, 0x18
+/* 8033C174 00337DD4 7D 0C 5A 14 */ add r8, r12, r11
+/* 8033C178 00337DD8 39 2A 00 01 */ addi r9, r10, 1
+/* 8033C17C 00337DDC 7D 44 50 AE */ lbzx r10, r4, r10
+/* 8033C180 00337DE0 7C 09 2B D6 */ divw r0, r9, r5
+/* 8033C184 00337DE4 7D 0A 42 14 */ add r8, r10, r8
+/* 8033C188 00337DE8 55 0C 06 3E */ clrlwi r12, r8, 0x18
+/* 8033C18C 00337DEC 7D 43 62 14 */ add r10, r3, r12
+/* 8033C190 00337DF0 89 0A 00 02 */ lbz r8, 2(r10)
+/* 8033C194 00337DF4 99 06 00 05 */ stb r8, 5(r6)
+/* 8033C198 00337DF8 7C 00 29 D6 */ mullw r0, r0, r5
+/* 8033C19C 00337DFC 99 6A 00 02 */ stb r11, 2(r10)
+/* 8033C1A0 00337E00 89 66 00 06 */ lbz r11, 6(r6)
+/* 8033C1A4 00337E04 7D 0C 5A 14 */ add r8, r12, r11
+/* 8033C1A8 00337E08 7C 00 48 50 */ subf r0, r0, r9
+/* 8033C1AC 00337E0C 54 0A 06 3E */ clrlwi r10, r0, 0x18
+/* 8033C1B0 00337E10 39 2A 00 01 */ addi r9, r10, 1
+/* 8033C1B4 00337E14 7D 44 50 AE */ lbzx r10, r4, r10
+/* 8033C1B8 00337E18 7C 09 2B D6 */ divw r0, r9, r5
+/* 8033C1BC 00337E1C 7D 0A 42 14 */ add r8, r10, r8
+/* 8033C1C0 00337E20 55 0C 06 3E */ clrlwi r12, r8, 0x18
+/* 8033C1C4 00337E24 7D 43 62 14 */ add r10, r3, r12
+/* 8033C1C8 00337E28 89 0A 00 02 */ lbz r8, 2(r10)
+/* 8033C1CC 00337E2C 99 06 00 06 */ stb r8, 6(r6)
+/* 8033C1D0 00337E30 7D 00 29 D6 */ mullw r8, r0, r5
+/* 8033C1D4 00337E34 99 6A 00 02 */ stb r11, 2(r10)
+/* 8033C1D8 00337E38 89 46 00 07 */ lbz r10, 7(r6)
+/* 8033C1DC 00337E3C 7C 0C 52 14 */ add r0, r12, r10
+/* 8033C1E0 00337E40 7D 08 48 50 */ subf r8, r8, r9
+/* 8033C1E4 00337E44 55 0B 06 3E */ clrlwi r11, r8, 0x18
+/* 8033C1E8 00337E48 7D 04 58 AE */ lbzx r8, r4, r11
+/* 8033C1EC 00337E4C 7C 08 02 14 */ add r0, r8, r0
+/* 8033C1F0 00337E50 54 0C 06 3E */ clrlwi r12, r0, 0x18
+/* 8033C1F4 00337E54 7D 23 62 14 */ add r9, r3, r12
+/* 8033C1F8 00337E58 88 09 00 02 */ lbz r0, 2(r9)
+/* 8033C1FC 00337E5C 98 06 00 07 */ stb r0, 7(r6)
+/* 8033C200 00337E60 39 0B 00 01 */ addi r8, r11, 1
+/* 8033C204 00337E64 99 49 00 02 */ stb r10, 2(r9)
+/* 8033C208 00337E68 7C 08 2B D6 */ divw r0, r8, r5
+/* 8033C20C 00337E6C 38 E7 00 08 */ addi r7, r7, 8
+/* 8033C210 00337E70 89 66 00 08 */ lbz r11, 8(r6)
+/* 8033C214 00337E74 7D 2C 5A 14 */ add r9, r12, r11
+/* 8033C218 00337E78 7C 00 29 D6 */ mullw r0, r0, r5
+/* 8033C21C 00337E7C 7C 00 40 50 */ subf r0, r0, r8
+/* 8033C220 00337E80 54 0A 06 3E */ clrlwi r10, r0, 0x18
+/* 8033C224 00337E84 39 0A 00 01 */ addi r8, r10, 1
+/* 8033C228 00337E88 7D 44 50 AE */ lbzx r10, r4, r10
+/* 8033C22C 00337E8C 7C 08 2B D6 */ divw r0, r8, r5
+/* 8033C230 00337E90 7D 2A 4A 14 */ add r9, r10, r9
+/* 8033C234 00337E94 55 2C 06 3E */ clrlwi r12, r9, 0x18
+/* 8033C238 00337E98 7D 43 62 14 */ add r10, r3, r12
+/* 8033C23C 00337E9C 89 2A 00 02 */ lbz r9, 2(r10)
+/* 8033C240 00337EA0 99 26 00 08 */ stb r9, 8(r6)
+/* 8033C244 00337EA4 7C 00 29 D6 */ mullw r0, r0, r5
+/* 8033C248 00337EA8 99 6A 00 02 */ stb r11, 2(r10)
+/* 8033C24C 00337EAC 89 66 00 09 */ lbz r11, 9(r6)
+/* 8033C250 00337EB0 7D 2C 5A 14 */ add r9, r12, r11
+/* 8033C254 00337EB4 7C 00 40 50 */ subf r0, r0, r8
+/* 8033C258 00337EB8 54 0A 06 3E */ clrlwi r10, r0, 0x18
+/* 8033C25C 00337EBC 39 0A 00 01 */ addi r8, r10, 1
+/* 8033C260 00337EC0 7D 44 50 AE */ lbzx r10, r4, r10
+/* 8033C264 00337EC4 7C 08 2B D6 */ divw r0, r8, r5
+/* 8033C268 00337EC8 7D 2A 4A 14 */ add r9, r10, r9
+/* 8033C26C 00337ECC 55 3F 06 3E */ clrlwi r31, r9, 0x18
+/* 8033C270 00337ED0 7D 43 FA 14 */ add r10, r3, r31
+/* 8033C274 00337ED4 89 2A 00 02 */ lbz r9, 2(r10)
+/* 8033C278 00337ED8 99 26 00 09 */ stb r9, 9(r6)
+/* 8033C27C 00337EDC 7C 00 29 D6 */ mullw r0, r0, r5
+/* 8033C280 00337EE0 99 6A 00 02 */ stb r11, 2(r10)
+/* 8033C284 00337EE4 7C 00 40 50 */ subf r0, r0, r8
+/* 8033C288 00337EE8 54 1E 06 3E */ clrlwi r30, r0, 0x18
+/* 8033C28C 00337EEC 42 00 FE 38 */ bdnz lbl_8033C0C4
+lbl_8033C290:
+/* 8033C290 00337EF0 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8033C294 00337EF4 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8033C298 00337EF8 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8033C29C 00337EFC 38 21 00 20 */ addi r1, r1, 0x20
+/* 8033C2A0 00337F00 4E 80 00 20 */ blr
+
+.global RC4Encrypt
+RC4Encrypt:
+/* 8033C2A4 00337F04 2C 06 00 00 */ cmpwi r6, 0
+/* 8033C2A8 00337F08 4C 81 00 20 */ blelr
+/* 8033C2AC 00337F0C 54 C0 F8 7F */ rlwinm. r0, r6, 0x1f, 1, 0x1f
+/* 8033C2B0 00337F10 7C 09 03 A6 */ mtctr r0
+/* 8033C2B4 00337F14 41 82 00 F8 */ beq lbl_8033C3AC
+lbl_8033C2B8:
+/* 8033C2B8 00337F18 89 03 00 00 */ lbz r8, 0(r3)
+/* 8033C2BC 00337F1C 88 E3 00 01 */ lbz r7, 1(r3)
+/* 8033C2C0 00337F20 39 08 00 01 */ addi r8, r8, 1
+/* 8033C2C4 00337F24 89 24 00 00 */ lbz r9, 0(r4)
+/* 8033C2C8 00337F28 55 00 06 3E */ clrlwi r0, r8, 0x18
+/* 8033C2CC 00337F2C 99 03 00 00 */ stb r8, 0(r3)
+/* 8033C2D0 00337F30 7D 03 02 14 */ add r8, r3, r0
+/* 8033C2D4 00337F34 88 08 00 02 */ lbz r0, 2(r8)
+/* 8033C2D8 00337F38 7C 07 02 14 */ add r0, r7, r0
+/* 8033C2DC 00337F3C 98 03 00 01 */ stb r0, 1(r3)
+/* 8033C2E0 00337F40 54 00 06 3E */ clrlwi r0, r0, 0x18
+/* 8033C2E4 00337F44 7C E3 02 14 */ add r7, r3, r0
+/* 8033C2E8 00337F48 89 48 00 02 */ lbz r10, 2(r8)
+/* 8033C2EC 00337F4C 88 07 00 02 */ lbz r0, 2(r7)
+/* 8033C2F0 00337F50 98 08 00 02 */ stb r0, 2(r8)
+/* 8033C2F4 00337F54 99 47 00 02 */ stb r10, 2(r7)
+/* 8033C2F8 00337F58 88 E3 00 00 */ lbz r7, 0(r3)
+/* 8033C2FC 00337F5C 88 03 00 01 */ lbz r0, 1(r3)
+/* 8033C300 00337F60 7D 03 3A 14 */ add r8, r3, r7
+/* 8033C304 00337F64 7C E3 02 14 */ add r7, r3, r0
+/* 8033C308 00337F68 89 08 00 02 */ lbz r8, 2(r8)
+/* 8033C30C 00337F6C 88 07 00 02 */ lbz r0, 2(r7)
+/* 8033C310 00337F70 7C 08 02 14 */ add r0, r8, r0
+/* 8033C314 00337F74 54 00 06 3E */ clrlwi r0, r0, 0x18
+/* 8033C318 00337F78 7C E3 02 14 */ add r7, r3, r0
+/* 8033C31C 00337F7C 88 07 00 02 */ lbz r0, 2(r7)
+/* 8033C320 00337F80 7D 20 02 78 */ xor r0, r9, r0
+/* 8033C324 00337F84 89 24 00 01 */ lbz r9, 1(r4)
+/* 8033C328 00337F88 98 05 00 00 */ stb r0, 0(r5)
+/* 8033C32C 00337F8C 38 84 00 02 */ addi r4, r4, 2
+/* 8033C330 00337F90 89 03 00 00 */ lbz r8, 0(r3)
+/* 8033C334 00337F94 88 E3 00 01 */ lbz r7, 1(r3)
+/* 8033C338 00337F98 39 08 00 01 */ addi r8, r8, 1
+/* 8033C33C 00337F9C 55 00 06 3E */ clrlwi r0, r8, 0x18
+/* 8033C340 00337FA0 99 03 00 00 */ stb r8, 0(r3)
+/* 8033C344 00337FA4 7D 03 02 14 */ add r8, r3, r0
+/* 8033C348 00337FA8 88 08 00 02 */ lbz r0, 2(r8)
+/* 8033C34C 00337FAC 7C 07 02 14 */ add r0, r7, r0
+/* 8033C350 00337FB0 98 03 00 01 */ stb r0, 1(r3)
+/* 8033C354 00337FB4 54 00 06 3E */ clrlwi r0, r0, 0x18
+/* 8033C358 00337FB8 7C E3 02 14 */ add r7, r3, r0
+/* 8033C35C 00337FBC 89 48 00 02 */ lbz r10, 2(r8)
+/* 8033C360 00337FC0 88 07 00 02 */ lbz r0, 2(r7)
+/* 8033C364 00337FC4 98 08 00 02 */ stb r0, 2(r8)
+/* 8033C368 00337FC8 99 47 00 02 */ stb r10, 2(r7)
+/* 8033C36C 00337FCC 88 E3 00 00 */ lbz r7, 0(r3)
+/* 8033C370 00337FD0 88 03 00 01 */ lbz r0, 1(r3)
+/* 8033C374 00337FD4 7D 03 3A 14 */ add r8, r3, r7
+/* 8033C378 00337FD8 7C E3 02 14 */ add r7, r3, r0
+/* 8033C37C 00337FDC 89 08 00 02 */ lbz r8, 2(r8)
+/* 8033C380 00337FE0 88 07 00 02 */ lbz r0, 2(r7)
+/* 8033C384 00337FE4 7C 08 02 14 */ add r0, r8, r0
+/* 8033C388 00337FE8 54 00 06 3E */ clrlwi r0, r0, 0x18
+/* 8033C38C 00337FEC 7C E3 02 14 */ add r7, r3, r0
+/* 8033C390 00337FF0 88 07 00 02 */ lbz r0, 2(r7)
+/* 8033C394 00337FF4 7D 20 02 78 */ xor r0, r9, r0
+/* 8033C398 00337FF8 98 05 00 01 */ stb r0, 1(r5)
+/* 8033C39C 00337FFC 38 A5 00 02 */ addi r5, r5, 2
+/* 8033C3A0 00338000 42 00 FF 18 */ bdnz lbl_8033C2B8
+/* 8033C3A4 00338004 70 C6 00 01 */ andi. r6, r6, 1
+/* 8033C3A8 00338008 4D 82 00 20 */ beqlr
+lbl_8033C3AC:
+/* 8033C3AC 0033800C 7C C9 03 A6 */ mtctr r6
+lbl_8033C3B0:
+/* 8033C3B0 00338010 89 03 00 00 */ lbz r8, 0(r3)
+/* 8033C3B4 00338014 89 24 00 00 */ lbz r9, 0(r4)
+/* 8033C3B8 00338018 38 84 00 01 */ addi r4, r4, 1
+/* 8033C3BC 0033801C 39 08 00 01 */ addi r8, r8, 1
+/* 8033C3C0 00338020 88 E3 00 01 */ lbz r7, 1(r3)
+/* 8033C3C4 00338024 55 00 06 3E */ clrlwi r0, r8, 0x18
+/* 8033C3C8 00338028 99 03 00 00 */ stb r8, 0(r3)
+/* 8033C3CC 0033802C 7D 03 02 14 */ add r8, r3, r0
+/* 8033C3D0 00338030 88 08 00 02 */ lbz r0, 2(r8)
+/* 8033C3D4 00338034 7C 07 02 14 */ add r0, r7, r0
+/* 8033C3D8 00338038 98 03 00 01 */ stb r0, 1(r3)
+/* 8033C3DC 0033803C 54 00 06 3E */ clrlwi r0, r0, 0x18
+/* 8033C3E0 00338040 7C E3 02 14 */ add r7, r3, r0
+/* 8033C3E4 00338044 89 48 00 02 */ lbz r10, 2(r8)
+/* 8033C3E8 00338048 88 07 00 02 */ lbz r0, 2(r7)
+/* 8033C3EC 0033804C 98 08 00 02 */ stb r0, 2(r8)
+/* 8033C3F0 00338050 99 47 00 02 */ stb r10, 2(r7)
+/* 8033C3F4 00338054 88 E3 00 00 */ lbz r7, 0(r3)
+/* 8033C3F8 00338058 88 03 00 01 */ lbz r0, 1(r3)
+/* 8033C3FC 0033805C 7D 03 3A 14 */ add r8, r3, r7
+/* 8033C400 00338060 7C E3 02 14 */ add r7, r3, r0
+/* 8033C404 00338064 89 08 00 02 */ lbz r8, 2(r8)
+/* 8033C408 00338068 88 07 00 02 */ lbz r0, 2(r7)
+/* 8033C40C 0033806C 7C 08 02 14 */ add r0, r8, r0
+/* 8033C410 00338070 54 00 06 3E */ clrlwi r0, r0, 0x18
+/* 8033C414 00338074 7C E3 02 14 */ add r7, r3, r0
+/* 8033C418 00338078 88 07 00 02 */ lbz r0, 2(r7)
+/* 8033C41C 0033807C 7D 20 02 78 */ xor r0, r9, r0
+/* 8033C420 00338080 98 05 00 00 */ stb r0, 0(r5)
+/* 8033C424 00338084 38 A5 00 01 */ addi r5, r5, 1
+/* 8033C428 00338088 42 00 FF 88 */ bdnz lbl_8033C3B0
+/* 8033C42C 0033808C 4E 80 00 20 */ blr
diff --git a/asm/gsSHA1.s b/asm/gsSHA1.s new file mode 100644 index 0000000..22bf6c9 --- /dev/null +++ b/asm/gsSHA1.s @@ -0,0 +1,671 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+
+.global SHA1Reset
+SHA1Reset:
+/* 8033C430 00338090 2C 03 00 00 */ cmpwi r3, 0
+/* 8033C434 00338094 40 82 00 0C */ bne lbl_8033C440
+/* 8033C438 00338098 38 60 00 01 */ li r3, 1
+/* 8033C43C 0033809C 4E 80 00 20 */ blr
+lbl_8033C440:
+/* 8033C440 003380A0 3D 00 67 45 */ lis r8, 0x67452301@ha
+/* 8033C444 003380A4 3C E0 EF CE */ lis r7, 0xEFCDAB89@ha
+/* 8033C448 003380A8 39 20 00 00 */ li r9, 0
+/* 8033C44C 003380AC 3C C0 98 BB */ lis r6, 0x98BADCFE@ha
+/* 8033C450 003380B0 3C A0 10 32 */ lis r5, 0x10325476@ha
+/* 8033C454 003380B4 3C 80 C3 D3 */ lis r4, 0xC3D2E1F0@ha
+/* 8033C458 003380B8 39 08 23 01 */ addi r8, r8, 0x67452301@l
+/* 8033C45C 003380BC 38 E7 AB 89 */ addi r7, r7, 0xEFCDAB89@l
+/* 8033C460 003380C0 38 C6 DC FE */ addi r6, r6, 0x98BADCFE@l
+/* 8033C464 003380C4 38 A5 54 76 */ addi r5, r5, 0x10325476@l
+/* 8033C468 003380C8 38 04 E1 F0 */ addi r0, r4, 0xC3D2E1F0@l
+/* 8033C46C 003380CC 91 23 00 14 */ stw r9, 0x14(r3)
+/* 8033C470 003380D0 91 23 00 18 */ stw r9, 0x18(r3)
+/* 8033C474 003380D4 B1 23 00 1C */ sth r9, 0x1c(r3)
+/* 8033C478 003380D8 91 03 00 00 */ stw r8, 0(r3)
+/* 8033C47C 003380DC 90 E3 00 04 */ stw r7, 4(r3)
+/* 8033C480 003380E0 90 C3 00 08 */ stw r6, 8(r3)
+/* 8033C484 003380E4 90 A3 00 0C */ stw r5, 0xc(r3)
+/* 8033C488 003380E8 90 03 00 10 */ stw r0, 0x10(r3)
+/* 8033C48C 003380EC 91 23 00 60 */ stw r9, 0x60(r3)
+/* 8033C490 003380F0 91 23 00 64 */ stw r9, 0x64(r3)
+/* 8033C494 003380F4 38 60 00 00 */ li r3, 0
+/* 8033C498 003380F8 4E 80 00 20 */ blr
+
+.global SHA1Result
+SHA1Result:
+/* 8033C49C 003380FC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8033C4A0 00338100 7C 08 02 A6 */ mflr r0
+/* 8033C4A4 00338104 2C 03 00 00 */ cmpwi r3, 0
+/* 8033C4A8 00338108 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8033C4AC 0033810C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8033C4B0 00338110 7C 9F 23 78 */ mr r31, r4
+/* 8033C4B4 00338114 93 C1 00 08 */ stw r30, 8(r1)
+/* 8033C4B8 00338118 7C 7E 1B 78 */ mr r30, r3
+/* 8033C4BC 0033811C 41 82 00 0C */ beq lbl_8033C4C8
+/* 8033C4C0 00338120 2C 04 00 00 */ cmpwi r4, 0
+/* 8033C4C4 00338124 40 82 00 0C */ bne lbl_8033C4D0
+lbl_8033C4C8:
+/* 8033C4C8 00338128 38 60 00 01 */ li r3, 1
+/* 8033C4CC 0033812C 48 00 01 A8 */ b lbl_8033C674
+lbl_8033C4D0:
+/* 8033C4D0 00338130 80 03 00 64 */ lwz r0, 0x64(r3)
+/* 8033C4D4 00338134 2C 00 00 00 */ cmpwi r0, 0
+/* 8033C4D8 00338138 41 82 00 0C */ beq lbl_8033C4E4
+/* 8033C4DC 0033813C 7C 03 03 78 */ mr r3, r0
+/* 8033C4E0 00338140 48 00 01 94 */ b lbl_8033C674
+lbl_8033C4E4:
+/* 8033C4E4 00338144 80 03 00 60 */ lwz r0, 0x60(r3)
+/* 8033C4E8 00338148 2C 00 00 00 */ cmpwi r0, 0
+/* 8033C4EC 0033814C 40 82 00 D0 */ bne lbl_8033C5BC
+/* 8033C4F0 00338150 48 00 07 C5 */ bl SHA1PadMessage
+/* 8033C4F4 00338154 38 00 00 02 */ li r0, 2
+/* 8033C4F8 00338158 38 A0 00 00 */ li r5, 0
+/* 8033C4FC 0033815C 38 60 00 00 */ li r3, 0
+/* 8033C500 00338160 7C 09 03 A6 */ mtctr r0
+lbl_8033C504:
+/* 8033C504 00338164 7C 9E 2A 14 */ add r4, r30, r5
+/* 8033C508 00338168 38 A5 00 08 */ addi r5, r5, 8
+/* 8033C50C 0033816C 98 64 00 1E */ stb r3, 0x1e(r4)
+/* 8033C510 00338170 98 64 00 1F */ stb r3, 0x1f(r4)
+/* 8033C514 00338174 98 64 00 20 */ stb r3, 0x20(r4)
+/* 8033C518 00338178 98 64 00 21 */ stb r3, 0x21(r4)
+/* 8033C51C 0033817C 98 64 00 22 */ stb r3, 0x22(r4)
+/* 8033C520 00338180 98 64 00 23 */ stb r3, 0x23(r4)
+/* 8033C524 00338184 98 64 00 24 */ stb r3, 0x24(r4)
+/* 8033C528 00338188 98 64 00 25 */ stb r3, 0x25(r4)
+/* 8033C52C 0033818C 7C 9E 2A 14 */ add r4, r30, r5
+/* 8033C530 00338190 38 A5 00 08 */ addi r5, r5, 8
+/* 8033C534 00338194 98 64 00 1E */ stb r3, 0x1e(r4)
+/* 8033C538 00338198 98 64 00 1F */ stb r3, 0x1f(r4)
+/* 8033C53C 0033819C 98 64 00 20 */ stb r3, 0x20(r4)
+/* 8033C540 003381A0 98 64 00 21 */ stb r3, 0x21(r4)
+/* 8033C544 003381A4 98 64 00 22 */ stb r3, 0x22(r4)
+/* 8033C548 003381A8 98 64 00 23 */ stb r3, 0x23(r4)
+/* 8033C54C 003381AC 98 64 00 24 */ stb r3, 0x24(r4)
+/* 8033C550 003381B0 98 64 00 25 */ stb r3, 0x25(r4)
+/* 8033C554 003381B4 7C 9E 2A 14 */ add r4, r30, r5
+/* 8033C558 003381B8 38 A5 00 08 */ addi r5, r5, 8
+/* 8033C55C 003381BC 98 64 00 1E */ stb r3, 0x1e(r4)
+/* 8033C560 003381C0 98 64 00 1F */ stb r3, 0x1f(r4)
+/* 8033C564 003381C4 98 64 00 20 */ stb r3, 0x20(r4)
+/* 8033C568 003381C8 98 64 00 21 */ stb r3, 0x21(r4)
+/* 8033C56C 003381CC 98 64 00 22 */ stb r3, 0x22(r4)
+/* 8033C570 003381D0 98 64 00 23 */ stb r3, 0x23(r4)
+/* 8033C574 003381D4 98 64 00 24 */ stb r3, 0x24(r4)
+/* 8033C578 003381D8 98 64 00 25 */ stb r3, 0x25(r4)
+/* 8033C57C 003381DC 7C 9E 2A 14 */ add r4, r30, r5
+/* 8033C580 003381E0 38 A5 00 08 */ addi r5, r5, 8
+/* 8033C584 003381E4 98 64 00 1E */ stb r3, 0x1e(r4)
+/* 8033C588 003381E8 98 64 00 1F */ stb r3, 0x1f(r4)
+/* 8033C58C 003381EC 98 64 00 20 */ stb r3, 0x20(r4)
+/* 8033C590 003381F0 98 64 00 21 */ stb r3, 0x21(r4)
+/* 8033C594 003381F4 98 64 00 22 */ stb r3, 0x22(r4)
+/* 8033C598 003381F8 98 64 00 23 */ stb r3, 0x23(r4)
+/* 8033C59C 003381FC 98 64 00 24 */ stb r3, 0x24(r4)
+/* 8033C5A0 00338200 98 64 00 25 */ stb r3, 0x25(r4)
+/* 8033C5A4 00338204 42 00 FF 60 */ bdnz lbl_8033C504
+/* 8033C5A8 00338208 38 60 00 00 */ li r3, 0
+/* 8033C5AC 0033820C 38 00 00 01 */ li r0, 1
+/* 8033C5B0 00338210 90 7E 00 14 */ stw r3, 0x14(r30)
+/* 8033C5B4 00338214 90 7E 00 18 */ stw r3, 0x18(r30)
+/* 8033C5B8 00338218 90 1E 00 60 */ stw r0, 0x60(r30)
+lbl_8033C5BC:
+/* 8033C5BC 0033821C 38 00 00 04 */ li r0, 4
+/* 8033C5C0 00338220 38 80 00 00 */ li r4, 0
+/* 8033C5C4 00338224 7C 09 03 A6 */ mtctr r0
+lbl_8033C5C8:
+/* 8033C5C8 00338228 54 83 00 3A */ rlwinm r3, r4, 0, 0, 0x1d
+/* 8033C5CC 0033822C 54 80 07 BE */ clrlwi r0, r4, 0x1e
+/* 8033C5D0 00338230 20 00 00 03 */ subfic r0, r0, 3
+/* 8033C5D4 00338234 7C DE 18 2E */ lwzx r6, r30, r3
+/* 8033C5D8 00338238 54 00 18 38 */ slwi r0, r0, 3
+/* 8033C5DC 0033823C 38 A4 00 01 */ addi r5, r4, 1
+/* 8033C5E0 00338240 7C C8 04 30 */ srw r8, r6, r0
+/* 8033C5E4 00338244 7C 7F 22 14 */ add r3, r31, r4
+/* 8033C5E8 00338248 7D 1F 21 AE */ stbx r8, r31, r4
+/* 8033C5EC 0033824C 54 A0 07 BE */ clrlwi r0, r5, 0x1e
+/* 8033C5F0 00338250 54 A8 00 3A */ rlwinm r8, r5, 0, 0, 0x1d
+/* 8033C5F4 00338254 38 E4 00 02 */ addi r7, r4, 2
+/* 8033C5F8 00338258 20 00 00 03 */ subfic r0, r0, 3
+/* 8033C5FC 0033825C 7D 3E 40 2E */ lwzx r9, r30, r8
+/* 8033C600 00338260 54 08 18 38 */ slwi r8, r0, 3
+/* 8033C604 00338264 38 C4 00 03 */ addi r6, r4, 3
+/* 8033C608 00338268 7D 28 44 30 */ srw r8, r9, r8
+/* 8033C60C 0033826C 38 A4 00 04 */ addi r5, r4, 4
+/* 8033C610 00338270 99 03 00 01 */ stb r8, 1(r3)
+/* 8033C614 00338274 54 E0 07 BE */ clrlwi r0, r7, 0x1e
+/* 8033C618 00338278 54 E9 00 3A */ rlwinm r9, r7, 0, 0, 0x1d
+/* 8033C61C 0033827C 54 C7 00 3A */ rlwinm r7, r6, 0, 0, 0x1d
+/* 8033C620 00338280 21 00 00 03 */ subfic r8, r0, 3
+/* 8033C624 00338284 7D 3E 48 2E */ lwzx r9, r30, r9
+/* 8033C628 00338288 55 08 18 38 */ slwi r8, r8, 3
+/* 8033C62C 0033828C 54 C0 07 BE */ clrlwi r0, r6, 0x1e
+/* 8033C630 00338290 7D 28 44 30 */ srw r8, r9, r8
+/* 8033C634 00338294 38 84 00 05 */ addi r4, r4, 5
+/* 8033C638 00338298 99 03 00 02 */ stb r8, 2(r3)
+/* 8033C63C 0033829C 20 C0 00 03 */ subfic r6, r0, 3
+/* 8033C640 003382A0 54 A0 07 BE */ clrlwi r0, r5, 0x1e
+/* 8033C644 003382A4 54 A5 00 3A */ rlwinm r5, r5, 0, 0, 0x1d
+/* 8033C648 003382A8 7C FE 38 2E */ lwzx r7, r30, r7
+/* 8033C64C 003382AC 54 C6 18 38 */ slwi r6, r6, 3
+/* 8033C650 003382B0 20 00 00 03 */ subfic r0, r0, 3
+/* 8033C654 003382B4 7C E6 34 30 */ srw r6, r7, r6
+/* 8033C658 003382B8 98 C3 00 03 */ stb r6, 3(r3)
+/* 8033C65C 003382BC 54 00 18 38 */ slwi r0, r0, 3
+/* 8033C660 003382C0 7C BE 28 2E */ lwzx r5, r30, r5
+/* 8033C664 003382C4 7C A0 04 30 */ srw r0, r5, r0
+/* 8033C668 003382C8 98 03 00 04 */ stb r0, 4(r3)
+/* 8033C66C 003382CC 42 00 FF 5C */ bdnz lbl_8033C5C8
+/* 8033C670 003382D0 38 60 00 00 */ li r3, 0
+lbl_8033C674:
+/* 8033C674 003382D4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8033C678 003382D8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8033C67C 003382DC 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8033C680 003382E0 7C 08 03 A6 */ mtlr r0
+/* 8033C684 003382E4 38 21 00 10 */ addi r1, r1, 0x10
+/* 8033C688 003382E8 4E 80 00 20 */ blr
+
+.global SHA1Input
+SHA1Input:
+/* 8033C68C 003382EC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8033C690 003382F0 7C 08 02 A6 */ mflr r0
+/* 8033C694 003382F4 2C 05 00 00 */ cmpwi r5, 0
+/* 8033C698 003382F8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8033C69C 003382FC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8033C6A0 00338300 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8033C6A4 00338304 7C BE 2B 78 */ mr r30, r5
+/* 8033C6A8 00338308 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8033C6AC 0033830C 7C 9D 23 78 */ mr r29, r4
+/* 8033C6B0 00338310 93 81 00 10 */ stw r28, 0x10(r1)
+/* 8033C6B4 00338314 7C 7C 1B 78 */ mr r28, r3
+/* 8033C6B8 00338318 40 82 00 0C */ bne lbl_8033C6C4
+/* 8033C6BC 0033831C 38 60 00 00 */ li r3, 0
+/* 8033C6C0 00338320 48 00 00 C0 */ b lbl_8033C780
+lbl_8033C6C4:
+/* 8033C6C4 00338324 2C 03 00 00 */ cmpwi r3, 0
+/* 8033C6C8 00338328 41 82 00 0C */ beq lbl_8033C6D4
+/* 8033C6CC 0033832C 2C 04 00 00 */ cmpwi r4, 0
+/* 8033C6D0 00338330 40 82 00 0C */ bne lbl_8033C6DC
+lbl_8033C6D4:
+/* 8033C6D4 00338334 38 60 00 01 */ li r3, 1
+/* 8033C6D8 00338338 48 00 00 A8 */ b lbl_8033C780
+lbl_8033C6DC:
+/* 8033C6DC 0033833C 80 03 00 60 */ lwz r0, 0x60(r3)
+/* 8033C6E0 00338340 2C 00 00 00 */ cmpwi r0, 0
+/* 8033C6E4 00338344 41 82 00 14 */ beq lbl_8033C6F8
+/* 8033C6E8 00338348 38 00 00 03 */ li r0, 3
+/* 8033C6EC 0033834C 90 03 00 64 */ stw r0, 0x64(r3)
+/* 8033C6F0 00338350 38 60 00 03 */ li r3, 3
+/* 8033C6F4 00338354 48 00 00 8C */ b lbl_8033C780
+lbl_8033C6F8:
+/* 8033C6F8 00338358 80 63 00 64 */ lwz r3, 0x64(r3)
+/* 8033C6FC 0033835C 2C 03 00 00 */ cmpwi r3, 0
+/* 8033C700 00338360 41 82 00 08 */ beq lbl_8033C708
+/* 8033C704 00338364 48 00 00 7C */ b lbl_8033C780
+lbl_8033C708:
+/* 8033C708 00338368 3B E0 00 01 */ li r31, 1
+/* 8033C70C 0033836C 48 00 00 58 */ b lbl_8033C764
+lbl_8033C710:
+/* 8033C710 00338370 A8 9C 00 1C */ lha r4, 0x1c(r28)
+/* 8033C714 00338374 88 1D 00 00 */ lbz r0, 0(r29)
+/* 8033C718 00338378 7C 7C 22 14 */ add r3, r28, r4
+/* 8033C71C 0033837C 38 84 00 01 */ addi r4, r4, 1
+/* 8033C720 00338380 98 03 00 1E */ stb r0, 0x1e(r3)
+/* 8033C724 00338384 80 1C 00 14 */ lwz r0, 0x14(r28)
+/* 8033C728 00338388 B0 9C 00 1C */ sth r4, 0x1c(r28)
+/* 8033C72C 0033838C 34 00 00 08 */ addic. r0, r0, 8
+/* 8033C730 00338390 90 1C 00 14 */ stw r0, 0x14(r28)
+/* 8033C734 00338394 40 82 00 18 */ bne lbl_8033C74C
+/* 8033C738 00338398 80 1C 00 18 */ lwz r0, 0x18(r28)
+/* 8033C73C 0033839C 34 00 00 01 */ addic. r0, r0, 1
+/* 8033C740 003383A0 90 1C 00 18 */ stw r0, 0x18(r28)
+/* 8033C744 003383A4 40 82 00 08 */ bne lbl_8033C74C
+/* 8033C748 003383A8 93 FC 00 64 */ stw r31, 0x64(r28)
+lbl_8033C74C:
+/* 8033C74C 003383AC A8 1C 00 1C */ lha r0, 0x1c(r28)
+/* 8033C750 003383B0 2C 00 00 40 */ cmpwi r0, 0x40
+/* 8033C754 003383B4 40 82 00 0C */ bne lbl_8033C760
+/* 8033C758 003383B8 7F 83 E3 78 */ mr r3, r28
+/* 8033C75C 003383BC 48 00 00 45 */ bl SHA1ProcessMessageBlock
+lbl_8033C760:
+/* 8033C760 003383C0 3B BD 00 01 */ addi r29, r29, 1
+lbl_8033C764:
+/* 8033C764 003383C4 2C 1E 00 00 */ cmpwi r30, 0
+/* 8033C768 003383C8 3B DE FF FF */ addi r30, r30, -1
+/* 8033C76C 003383CC 41 82 00 10 */ beq lbl_8033C77C
+/* 8033C770 003383D0 80 1C 00 64 */ lwz r0, 0x64(r28)
+/* 8033C774 003383D4 2C 00 00 00 */ cmpwi r0, 0
+/* 8033C778 003383D8 41 82 FF 98 */ beq lbl_8033C710
+lbl_8033C77C:
+/* 8033C77C 003383DC 38 60 00 00 */ li r3, 0
+lbl_8033C780:
+/* 8033C780 003383E0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8033C784 003383E4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8033C788 003383E8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8033C78C 003383EC 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8033C790 003383F0 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 8033C794 003383F4 7C 08 03 A6 */ mtlr r0
+/* 8033C798 003383F8 38 21 00 20 */ addi r1, r1, 0x20
+/* 8033C79C 003383FC 4E 80 00 20 */ blr
+
+.global SHA1ProcessMessageBlock
+SHA1ProcessMessageBlock:
+/* 8033C7A0 00338400 94 21 FE A0 */ stwu r1, -0x160(r1)
+/* 8033C7A4 00338404 7C 08 02 A6 */ mflr r0
+/* 8033C7A8 00338408 90 01 01 64 */ stw r0, 0x164(r1)
+/* 8033C7AC 0033840C 39 61 01 60 */ addi r11, r1, 0x160
+/* 8033C7B0 00338410 4B E8 A9 75 */ bl func_801C7124
+/* 8033C7B4 00338414 3C 80 80 40 */ lis r4, lbl_80400004@ha
+/* 8033C7B8 00338418 87 C4 25 50 */ lwzu r30, 0x2550(r4)
+/* 8033C7BC 0033841C 38 00 00 08 */ li r0, 8
+/* 8033C7C0 00338420 39 21 00 08 */ addi r9, r1, 8
+/* 8033C7C4 00338424 83 E4 00 04 */ lwz r31, lbl_80400004@l(r4)
+/* 8033C7C8 00338428 39 00 00 00 */ li r8, 0
+/* 8033C7CC 0033842C 81 84 00 08 */ lwz r12, 8(r4)
+/* 8033C7D0 00338430 81 64 00 0C */ lwz r11, 0xc(r4)
+/* 8033C7D4 00338434 7C 09 03 A6 */ mtctr r0
+lbl_8033C7D8:
+/* 8033C7D8 00338438 7D 43 42 14 */ add r10, r3, r8
+/* 8033C7DC 0033843C 39 08 00 04 */ addi r8, r8, 4
+/* 8033C7E0 00338440 88 EA 00 1E */ lbz r7, 0x1e(r10)
+/* 8033C7E4 00338444 88 AA 00 1F */ lbz r5, 0x1f(r10)
+/* 8033C7E8 00338448 54 E6 C0 0E */ slwi r6, r7, 0x18
+/* 8033C7EC 0033844C 88 8A 00 20 */ lbz r4, 0x20(r10)
+/* 8033C7F0 00338450 90 C9 00 00 */ stw r6, 0(r9)
+/* 8033C7F4 00338454 50 A6 82 1E */ rlwimi r6, r5, 0x10, 8, 0xf
+/* 8033C7F8 00338458 88 0A 00 21 */ lbz r0, 0x21(r10)
+/* 8033C7FC 0033845C 7D 43 42 14 */ add r10, r3, r8
+/* 8033C800 00338460 90 C9 00 00 */ stw r6, 0(r9)
+/* 8033C804 00338464 50 86 44 2E */ rlwimi r6, r4, 8, 0x10, 0x17
+/* 8033C808 00338468 88 EA 00 1E */ lbz r7, 0x1e(r10)
+/* 8033C80C 0033846C 7C C0 03 78 */ or r0, r6, r0
+/* 8033C810 00338470 90 C9 00 00 */ stw r6, 0(r9)
+/* 8033C814 00338474 39 08 00 04 */ addi r8, r8, 4
+/* 8033C818 00338478 88 AA 00 1F */ lbz r5, 0x1f(r10)
+/* 8033C81C 0033847C 54 E6 C0 0E */ slwi r6, r7, 0x18
+/* 8033C820 00338480 90 09 00 00 */ stw r0, 0(r9)
+/* 8033C824 00338484 88 8A 00 20 */ lbz r4, 0x20(r10)
+/* 8033C828 00338488 50 A6 82 1E */ rlwimi r6, r5, 0x10, 8, 0xf
+/* 8033C82C 0033848C 88 0A 00 21 */ lbz r0, 0x21(r10)
+/* 8033C830 00338490 50 86 44 2E */ rlwimi r6, r4, 8, 0x10, 0x17
+/* 8033C834 00338494 7C C0 03 78 */ or r0, r6, r0
+/* 8033C838 00338498 90 09 00 04 */ stw r0, 4(r9)
+/* 8033C83C 0033849C 39 29 00 08 */ addi r9, r9, 8
+/* 8033C840 003384A0 42 00 FF 98 */ bdnz lbl_8033C7D8
+/* 8033C844 003384A4 38 00 00 10 */ li r0, 0x10
+/* 8033C848 003384A8 38 E1 00 48 */ addi r7, r1, 0x48
+/* 8033C84C 003384AC 7C 09 03 A6 */ mtctr r0
+lbl_8033C850:
+/* 8033C850 003384B0 80 C7 FF C0 */ lwz r6, -0x40(r7)
+/* 8033C854 003384B4 80 A7 FF C8 */ lwz r5, -0x38(r7)
+/* 8033C858 003384B8 80 87 FF F4 */ lwz r4, -0xc(r7)
+/* 8033C85C 003384BC 80 07 FF E0 */ lwz r0, -0x20(r7)
+/* 8033C860 003384C0 7C C5 2A 78 */ xor r5, r6, r5
+/* 8033C864 003384C4 7C 80 02 78 */ xor r0, r4, r0
+/* 8033C868 003384C8 7C A0 02 78 */ xor r0, r5, r0
+/* 8033C86C 003384CC 54 00 08 3E */ rotlwi r0, r0, 1
+/* 8033C870 003384D0 90 07 00 00 */ stw r0, 0(r7)
+/* 8033C874 003384D4 80 C7 FF C4 */ lwz r6, -0x3c(r7)
+/* 8033C878 003384D8 80 A7 FF CC */ lwz r5, -0x34(r7)
+/* 8033C87C 003384DC 80 87 FF F8 */ lwz r4, -8(r7)
+/* 8033C880 003384E0 80 07 FF E4 */ lwz r0, -0x1c(r7)
+/* 8033C884 003384E4 7C C5 2A 78 */ xor r5, r6, r5
+/* 8033C888 003384E8 7C 80 02 78 */ xor r0, r4, r0
+/* 8033C88C 003384EC 7C A0 02 78 */ xor r0, r5, r0
+/* 8033C890 003384F0 54 00 08 3E */ rotlwi r0, r0, 1
+/* 8033C894 003384F4 90 07 00 04 */ stw r0, 4(r7)
+/* 8033C898 003384F8 80 C7 FF C8 */ lwz r6, -0x38(r7)
+/* 8033C89C 003384FC 80 A7 FF D0 */ lwz r5, -0x30(r7)
+/* 8033C8A0 00338500 80 87 FF FC */ lwz r4, -4(r7)
+/* 8033C8A4 00338504 80 07 FF E8 */ lwz r0, -0x18(r7)
+/* 8033C8A8 00338508 7C C5 2A 78 */ xor r5, r6, r5
+/* 8033C8AC 0033850C 7C 80 02 78 */ xor r0, r4, r0
+/* 8033C8B0 00338510 7C A0 02 78 */ xor r0, r5, r0
+/* 8033C8B4 00338514 54 00 08 3E */ rotlwi r0, r0, 1
+/* 8033C8B8 00338518 90 07 00 08 */ stw r0, 8(r7)
+/* 8033C8BC 0033851C 80 C7 FF CC */ lwz r6, -0x34(r7)
+/* 8033C8C0 00338520 80 A7 FF D4 */ lwz r5, -0x2c(r7)
+/* 8033C8C4 00338524 80 87 00 00 */ lwz r4, 0(r7)
+/* 8033C8C8 00338528 80 07 FF EC */ lwz r0, -0x14(r7)
+/* 8033C8CC 0033852C 7C C5 2A 78 */ xor r5, r6, r5
+/* 8033C8D0 00338530 7C 80 02 78 */ xor r0, r4, r0
+/* 8033C8D4 00338534 7C A0 02 78 */ xor r0, r5, r0
+/* 8033C8D8 00338538 54 00 08 3E */ rotlwi r0, r0, 1
+/* 8033C8DC 0033853C 90 07 00 0C */ stw r0, 0xc(r7)
+/* 8033C8E0 00338540 38 E7 00 10 */ addi r7, r7, 0x10
+/* 8033C8E4 00338544 42 00 FF 6C */ bdnz lbl_8033C850
+/* 8033C8E8 00338548 38 C0 00 04 */ li r6, 4
+/* 8033C8EC 0033854C 38 81 00 08 */ addi r4, r1, 8
+/* 8033C8F0 00338550 80 03 00 00 */ lwz r0, 0(r3)
+/* 8033C8F4 00338554 81 43 00 04 */ lwz r10, 4(r3)
+/* 8033C8F8 00338558 80 A3 00 08 */ lwz r5, 8(r3)
+/* 8033C8FC 0033855C 81 03 00 0C */ lwz r8, 0xc(r3)
+/* 8033C900 00338560 81 23 00 10 */ lwz r9, 0x10(r3)
+/* 8033C904 00338564 7C C9 03 A6 */ mtctr r6
+lbl_8033C908:
+/* 8033C908 00338568 7D 47 28 38 */ and r7, r10, r5
+/* 8033C90C 0033856C 7D 06 50 78 */ andc r6, r8, r10
+/* 8033C910 00338570 7C E6 33 78 */ or r6, r7, r6
+/* 8033C914 00338574 83 64 00 00 */ lwz r27, 0(r4)
+/* 8033C918 00338578 55 47 F0 3E */ rotlwi r7, r10, 0x1e
+/* 8033C91C 0033857C 54 0A 28 3E */ rotlwi r10, r0, 5
+/* 8033C920 00338580 7C C9 32 14 */ add r6, r9, r6
+/* 8033C924 00338584 7D 3E DA 14 */ add r9, r30, r27
+/* 8033C928 00338588 7C CA 32 14 */ add r6, r10, r6
+/* 8033C92C 0033858C 83 84 00 04 */ lwz r28, 4(r4)
+/* 8033C930 00338590 7F A9 32 14 */ add r29, r9, r6
+/* 8033C934 00338594 7C 09 38 38 */ and r9, r0, r7
+/* 8033C938 00338598 54 06 F0 3E */ rotlwi r6, r0, 0x1e
+/* 8033C93C 0033859C 7C A0 00 78 */ andc r0, r5, r0
+/* 8033C940 003385A0 7D 3B 03 78 */ or r27, r9, r0
+/* 8033C944 003385A4 57 AA 28 3E */ rotlwi r10, r29, 5
+/* 8033C948 003385A8 7D 08 DA 14 */ add r8, r8, r27
+/* 8033C94C 003385AC 80 04 00 08 */ lwz r0, 8(r4)
+/* 8033C950 003385B0 7D 0A 42 14 */ add r8, r10, r8
+/* 8033C954 003385B4 7F 7E E2 14 */ add r27, r30, r28
+/* 8033C958 003385B8 7F 5B 42 14 */ add r26, r27, r8
+/* 8033C95C 003385BC 57 A9 F0 3E */ rotlwi r9, r29, 0x1e
+/* 8033C960 003385C0 7F BB 30 38 */ and r27, r29, r6
+/* 8033C964 003385C4 7C E8 E8 78 */ andc r8, r7, r29
+/* 8033C968 003385C8 7F 7B 43 78 */ or r27, r27, r8
+/* 8033C96C 003385CC 7F BE 02 14 */ add r29, r30, r0
+/* 8033C970 003385D0 7C A5 DA 14 */ add r5, r5, r27
+/* 8033C974 003385D4 57 5C 28 3E */ rotlwi r28, r26, 5
+/* 8033C978 003385D8 7F 9C 2A 14 */ add r28, r28, r5
+/* 8033C97C 003385DC 81 44 00 0C */ lwz r10, 0xc(r4)
+/* 8033C980 003385E0 80 04 00 10 */ lwz r0, 0x10(r4)
+/* 8033C984 003385E4 7F 5B 48 38 */ and r27, r26, r9
+/* 8033C988 003385E8 7C C5 D0 78 */ andc r5, r6, r26
+/* 8033C98C 003385EC 57 48 F0 3E */ rotlwi r8, r26, 0x1e
+/* 8033C990 003385F0 7F 5D E2 14 */ add r26, r29, r28
+/* 8033C994 003385F4 7D 5E 52 14 */ add r10, r30, r10
+/* 8033C998 003385F8 7F 7D 2B 78 */ or r29, r27, r5
+/* 8033C99C 003385FC 7F 7E 02 14 */ add r27, r30, r0
+/* 8033C9A0 00338600 57 5C 28 3E */ rotlwi r28, r26, 5
+/* 8033C9A4 00338604 7F 45 40 38 */ and r5, r26, r8
+/* 8033C9A8 00338608 7C E7 EA 14 */ add r7, r7, r29
+/* 8033C9AC 0033860C 7D 20 D0 78 */ andc r0, r9, r26
+/* 8033C9B0 00338610 7C FC 3A 14 */ add r7, r28, r7
+/* 8033C9B4 00338614 38 84 00 14 */ addi r4, r4, 0x14
+/* 8033C9B8 00338618 7C A0 03 78 */ or r0, r5, r0
+/* 8033C9BC 0033861C 7D 4A 3A 14 */ add r10, r10, r7
+/* 8033C9C0 00338620 55 45 28 3E */ rotlwi r5, r10, 5
+/* 8033C9C4 00338624 7C 06 02 14 */ add r0, r6, r0
+/* 8033C9C8 00338628 7C 05 02 14 */ add r0, r5, r0
+/* 8033C9CC 0033862C 57 45 F0 3E */ rotlwi r5, r26, 0x1e
+/* 8033C9D0 00338630 7C 1B 02 14 */ add r0, r27, r0
+/* 8033C9D4 00338634 42 00 FF 34 */ bdnz lbl_8033C908
+/* 8033C9D8 00338638 38 C0 00 04 */ li r6, 4
+/* 8033C9DC 0033863C 38 81 00 58 */ addi r4, r1, 0x58
+/* 8033C9E0 00338640 7C C9 03 A6 */ mtctr r6
+lbl_8033C9E4:
+/* 8033C9E4 00338644 7D 06 52 78 */ xor r6, r8, r10
+/* 8033C9E8 00338648 80 E4 00 00 */ lwz r7, 0(r4)
+/* 8033C9EC 0033864C 7C C6 2A 78 */ xor r6, r6, r5
+/* 8033C9F0 00338650 83 64 00 04 */ lwz r27, 4(r4)
+/* 8033C9F4 00338654 7C E7 4A 14 */ add r7, r7, r9
+/* 8033C9F8 00338658 54 09 28 3E */ rotlwi r9, r0, 5
+/* 8033C9FC 0033865C 7C DF 32 14 */ add r6, r31, r6
+/* 8033CA00 00338660 83 C4 00 08 */ lwz r30, 8(r4)
+/* 8033CA04 00338664 7C E7 32 14 */ add r7, r7, r6
+/* 8033CA08 00338668 7F 49 3A 14 */ add r26, r9, r7
+/* 8033CA0C 0033866C 55 46 F0 3E */ rotlwi r6, r10, 0x1e
+/* 8033CA10 00338670 7C A7 02 78 */ xor r7, r5, r0
+/* 8033CA14 00338674 7D 5F DA 14 */ add r10, r31, r27
+/* 8033CA18 00338678 7C E7 32 78 */ xor r7, r7, r6
+/* 8033CA1C 0033867C 57 49 28 3E */ rotlwi r9, r26, 5
+/* 8033CA20 00338680 7D 08 3A 14 */ add r8, r8, r7
+/* 8033CA24 00338684 54 00 F0 3E */ rotlwi r0, r0, 0x1e
+/* 8033CA28 00338688 7C C7 D2 78 */ xor r7, r6, r26
+/* 8033CA2C 0033868C 83 64 00 0C */ lwz r27, 0xc(r4)
+/* 8033CA30 00338690 7D 09 42 14 */ add r8, r9, r8
+/* 8033CA34 00338694 57 49 F0 3E */ rotlwi r9, r26, 0x1e
+/* 8033CA38 00338698 7F 4A 42 14 */ add r26, r10, r8
+/* 8033CA3C 0033869C 7C FD 02 78 */ xor r29, r7, r0
+/* 8033CA40 003386A0 7C A5 EA 14 */ add r5, r5, r29
+/* 8033CA44 003386A4 57 5C 28 3E */ rotlwi r28, r26, 5
+/* 8033CA48 003386A8 7C 07 D2 78 */ xor r7, r0, r26
+/* 8033CA4C 003386AC 7C EA 4A 78 */ xor r10, r7, r9
+/* 8033CA50 003386B0 80 E4 00 10 */ lwz r7, 0x10(r4)
+/* 8033CA54 003386B4 7F 9C 2A 14 */ add r28, r28, r5
+/* 8033CA58 003386B8 7F BF F2 14 */ add r29, r31, r30
+/* 8033CA5C 003386BC 7C A6 52 14 */ add r5, r6, r10
+/* 8033CA60 003386C0 57 48 F0 3E */ rotlwi r8, r26, 0x1e
+/* 8033CA64 003386C4 7F 5D E2 14 */ add r26, r29, r28
+/* 8033CA68 003386C8 7D 5F DA 14 */ add r10, r31, r27
+/* 8033CA6C 003386CC 57 5B 28 3E */ rotlwi r27, r26, 5
+/* 8033CA70 003386D0 7C DF 3A 14 */ add r6, r31, r7
+/* 8033CA74 003386D4 7C FB 2A 14 */ add r7, r27, r5
+/* 8033CA78 003386D8 7D 25 D2 78 */ xor r5, r9, r26
+/* 8033CA7C 003386DC 7D 4A 3A 14 */ add r10, r10, r7
+/* 8033CA80 003386E0 38 84 00 14 */ addi r4, r4, 0x14
+/* 8033CA84 003386E4 7C A5 42 78 */ xor r5, r5, r8
+/* 8033CA88 003386E8 7C 00 2A 14 */ add r0, r0, r5
+/* 8033CA8C 003386EC 55 47 28 3E */ rotlwi r7, r10, 5
+/* 8033CA90 003386F0 7C 07 02 14 */ add r0, r7, r0
+/* 8033CA94 003386F4 57 45 F0 3E */ rotlwi r5, r26, 0x1e
+/* 8033CA98 003386F8 7C 06 02 14 */ add r0, r6, r0
+/* 8033CA9C 003386FC 42 00 FF 48 */ bdnz lbl_8033C9E4
+/* 8033CAA0 00338700 38 C0 00 04 */ li r6, 4
+/* 8033CAA4 00338704 38 81 00 A8 */ addi r4, r1, 0xa8
+/* 8033CAA8 00338708 7C C9 03 A6 */ mtctr r6
+lbl_8033CAAC:
+/* 8033CAAC 0033870C 7C BB 43 78 */ or r27, r5, r8
+/* 8033CAB0 00338710 55 47 F0 3E */ rotlwi r7, r10, 0x1e
+/* 8033CAB4 00338714 7D 4A D8 38 */ and r10, r10, r27
+/* 8033CAB8 00338718 7C BC 40 38 */ and r28, r5, r8
+/* 8033CABC 0033871C 7F 9D 53 78 */ or r29, r28, r10
+/* 8033CAC0 00338720 83 C4 00 00 */ lwz r30, 0(r4)
+/* 8033CAC4 00338724 7C EA 2B 78 */ or r10, r7, r5
+/* 8033CAC8 00338728 54 1B 28 3E */ rotlwi r27, r0, 5
+/* 8033CACC 0033872C 7D 29 EA 14 */ add r9, r9, r29
+/* 8033CAD0 00338730 7F 8C F2 14 */ add r28, r12, r30
+/* 8033CAD4 00338734 7D 3B 4A 14 */ add r9, r27, r9
+/* 8033CAD8 00338738 7C FB 28 38 */ and r27, r7, r5
+/* 8033CADC 0033873C 7F FC 4A 14 */ add r31, r28, r9
+/* 8033CAE0 00338740 7C 0A 50 38 */ and r10, r0, r10
+/* 8033CAE4 00338744 7F 7D 53 78 */ or r29, r27, r10
+/* 8033CAE8 00338748 54 06 F0 3E */ rotlwi r6, r0, 0x1e
+/* 8033CAEC 0033874C 83 C4 00 04 */ lwz r30, 4(r4)
+/* 8033CAF0 00338750 7C C0 3B 78 */ or r0, r6, r7
+/* 8033CAF4 00338754 57 FC 28 3E */ rotlwi r28, r31, 5
+/* 8033CAF8 00338758 7D 08 EA 14 */ add r8, r8, r29
+/* 8033CAFC 0033875C 7D 4C F2 14 */ add r10, r12, r30
+/* 8033CB00 00338760 7F E0 00 38 */ and r0, r31, r0
+/* 8033CB04 00338764 7D 1C 42 14 */ add r8, r28, r8
+/* 8033CB08 00338768 7C DC 38 38 */ and r28, r6, r7
+/* 8033CB0C 0033876C 7F 4A 42 14 */ add r26, r10, r8
+/* 8033CB10 00338770 57 E9 F0 3E */ rotlwi r9, r31, 0x1e
+/* 8033CB14 00338774 7F 9D 03 78 */ or r29, r28, r0
+/* 8033CB18 00338778 83 64 00 08 */ lwz r27, 8(r4)
+/* 8033CB1C 0033877C 7C A5 EA 14 */ add r5, r5, r29
+/* 8033CB20 00338780 57 5F 28 3E */ rotlwi r31, r26, 5
+/* 8033CB24 00338784 83 C4 00 0C */ lwz r30, 0xc(r4)
+/* 8033CB28 00338788 7D 20 33 78 */ or r0, r9, r6
+/* 8033CB2C 0033878C 7F FF 2A 14 */ add r31, r31, r5
+/* 8033CB30 00338790 7F 8C DA 14 */ add r28, r12, r27
+/* 8033CB34 00338794 7F 7C FA 14 */ add r27, r28, r31
+/* 8033CB38 00338798 81 44 00 10 */ lwz r10, 0x10(r4)
+/* 8033CB3C 0033879C 7D 3D 30 38 */ and r29, r9, r6
+/* 8033CB40 003387A0 7F 45 00 38 */ and r5, r26, r0
+/* 8033CB44 003387A4 57 48 F0 3E */ rotlwi r8, r26, 0x1e
+/* 8033CB48 003387A8 57 7F 28 3E */ rotlwi r31, r27, 5
+/* 8033CB4C 003387AC 7F A5 2B 78 */ or r5, r29, r5
+/* 8033CB50 003387B0 7F CC F2 14 */ add r30, r12, r30
+/* 8033CB54 003387B4 7D 00 4B 78 */ or r0, r8, r9
+/* 8033CB58 003387B8 7D 1D 48 38 */ and r29, r8, r9
+/* 8033CB5C 003387BC 7C A7 2A 14 */ add r5, r7, r5
+/* 8033CB60 003387C0 38 84 00 14 */ addi r4, r4, 0x14
+/* 8033CB64 003387C4 7F 60 00 38 */ and r0, r27, r0
+/* 8033CB68 003387C8 7C FF 2A 14 */ add r7, r31, r5
+/* 8033CB6C 003387CC 7C AC 52 14 */ add r5, r12, r10
+/* 8033CB70 003387D0 7D 5E 3A 14 */ add r10, r30, r7
+/* 8033CB74 003387D4 7F A0 03 78 */ or r0, r29, r0
+/* 8033CB78 003387D8 55 47 28 3E */ rotlwi r7, r10, 5
+/* 8033CB7C 003387DC 7C 06 02 14 */ add r0, r6, r0
+/* 8033CB80 003387E0 7C 07 02 14 */ add r0, r7, r0
+/* 8033CB84 003387E4 7C 05 02 14 */ add r0, r5, r0
+/* 8033CB88 003387E8 57 65 F0 3E */ rotlwi r5, r27, 0x1e
+/* 8033CB8C 003387EC 42 00 FF 20 */ bdnz lbl_8033CAAC
+/* 8033CB90 003387F0 38 C0 00 04 */ li r6, 4
+/* 8033CB94 003387F4 38 81 00 F8 */ addi r4, r1, 0xf8
+/* 8033CB98 003387F8 7C C9 03 A6 */ mtctr r6
+lbl_8033CB9C:
+/* 8033CB9C 003387FC 7D 06 52 78 */ xor r6, r8, r10
+/* 8033CBA0 00338800 80 E4 00 00 */ lwz r7, 0(r4)
+/* 8033CBA4 00338804 7C C6 2A 78 */ xor r6, r6, r5
+/* 8033CBA8 00338808 81 84 00 04 */ lwz r12, 4(r4)
+/* 8033CBAC 0033880C 7C E7 4A 14 */ add r7, r7, r9
+/* 8033CBB0 00338810 54 09 28 3E */ rotlwi r9, r0, 5
+/* 8033CBB4 00338814 7C CB 32 14 */ add r6, r11, r6
+/* 8033CBB8 00338818 83 A4 00 08 */ lwz r29, 8(r4)
+/* 8033CBBC 0033881C 7C E7 32 14 */ add r7, r7, r6
+/* 8033CBC0 00338820 7F 69 3A 14 */ add r27, r9, r7
+/* 8033CBC4 00338824 55 46 F0 3E */ rotlwi r6, r10, 0x1e
+/* 8033CBC8 00338828 7C A7 02 78 */ xor r7, r5, r0
+/* 8033CBCC 0033882C 7D 4B 62 14 */ add r10, r11, r12
+/* 8033CBD0 00338830 7C E7 32 78 */ xor r7, r7, r6
+/* 8033CBD4 00338834 57 69 28 3E */ rotlwi r9, r27, 5
+/* 8033CBD8 00338838 7D 08 3A 14 */ add r8, r8, r7
+/* 8033CBDC 0033883C 54 00 F0 3E */ rotlwi r0, r0, 0x1e
+/* 8033CBE0 00338840 7C C7 DA 78 */ xor r7, r6, r27
+/* 8033CBE4 00338844 81 84 00 0C */ lwz r12, 0xc(r4)
+/* 8033CBE8 00338848 7D 09 42 14 */ add r8, r9, r8
+/* 8033CBEC 0033884C 57 69 F0 3E */ rotlwi r9, r27, 0x1e
+/* 8033CBF0 00338850 7F 6A 42 14 */ add r27, r10, r8
+/* 8033CBF4 00338854 7C FF 02 78 */ xor r31, r7, r0
+/* 8033CBF8 00338858 7C A5 FA 14 */ add r5, r5, r31
+/* 8033CBFC 0033885C 57 7E 28 3E */ rotlwi r30, r27, 5
+/* 8033CC00 00338860 7C 07 DA 78 */ xor r7, r0, r27
+/* 8033CC04 00338864 7C EA 4A 78 */ xor r10, r7, r9
+/* 8033CC08 00338868 80 E4 00 10 */ lwz r7, 0x10(r4)
+/* 8033CC0C 0033886C 7F DE 2A 14 */ add r30, r30, r5
+/* 8033CC10 00338870 7F EB EA 14 */ add r31, r11, r29
+/* 8033CC14 00338874 7C A6 52 14 */ add r5, r6, r10
+/* 8033CC18 00338878 57 68 F0 3E */ rotlwi r8, r27, 0x1e
+/* 8033CC1C 0033887C 7F 7F F2 14 */ add r27, r31, r30
+/* 8033CC20 00338880 7D 4B 62 14 */ add r10, r11, r12
+/* 8033CC24 00338884 57 6C 28 3E */ rotlwi r12, r27, 5
+/* 8033CC28 00338888 7C CB 3A 14 */ add r6, r11, r7
+/* 8033CC2C 0033888C 7C EC 2A 14 */ add r7, r12, r5
+/* 8033CC30 00338890 7D 25 DA 78 */ xor r5, r9, r27
+/* 8033CC34 00338894 7D 4A 3A 14 */ add r10, r10, r7
+/* 8033CC38 00338898 38 84 00 14 */ addi r4, r4, 0x14
+/* 8033CC3C 0033889C 7C A5 42 78 */ xor r5, r5, r8
+/* 8033CC40 003388A0 7C 00 2A 14 */ add r0, r0, r5
+/* 8033CC44 003388A4 55 47 28 3E */ rotlwi r7, r10, 5
+/* 8033CC48 003388A8 7C 07 02 14 */ add r0, r7, r0
+/* 8033CC4C 003388AC 57 65 F0 3E */ rotlwi r5, r27, 0x1e
+/* 8033CC50 003388B0 7C 06 02 14 */ add r0, r6, r0
+/* 8033CC54 003388B4 42 00 FF 48 */ bdnz lbl_8033CB9C
+/* 8033CC58 003388B8 80 C3 00 00 */ lwz r6, 0(r3)
+/* 8033CC5C 003388BC 38 80 00 00 */ li r4, 0
+/* 8033CC60 003388C0 81 63 00 04 */ lwz r11, 4(r3)
+/* 8033CC64 003388C4 7D 86 02 14 */ add r12, r6, r0
+/* 8033CC68 003388C8 80 E3 00 08 */ lwz r7, 8(r3)
+/* 8033CC6C 003388CC 80 03 00 10 */ lwz r0, 0x10(r3)
+/* 8033CC70 003388D0 7D 4B 52 14 */ add r10, r11, r10
+/* 8033CC74 003388D4 7C E7 2A 14 */ add r7, r7, r5
+/* 8033CC78 003388D8 80 C3 00 0C */ lwz r6, 0xc(r3)
+/* 8033CC7C 003388DC 7C 00 4A 14 */ add r0, r0, r9
+/* 8033CC80 003388E0 91 83 00 00 */ stw r12, 0(r3)
+/* 8033CC84 003388E4 7C A6 42 14 */ add r5, r6, r8
+/* 8033CC88 003388E8 39 61 01 60 */ addi r11, r1, 0x160
+/* 8033CC8C 003388EC 91 43 00 04 */ stw r10, 4(r3)
+/* 8033CC90 003388F0 90 E3 00 08 */ stw r7, 8(r3)
+/* 8033CC94 003388F4 90 A3 00 0C */ stw r5, 0xc(r3)
+/* 8033CC98 003388F8 90 03 00 10 */ stw r0, 0x10(r3)
+/* 8033CC9C 003388FC B0 83 00 1C */ sth r4, 0x1c(r3)
+/* 8033CCA0 00338900 4B E8 A4 D1 */ bl func_801C7170
+/* 8033CCA4 00338904 80 01 01 64 */ lwz r0, 0x164(r1)
+/* 8033CCA8 00338908 7C 08 03 A6 */ mtlr r0
+/* 8033CCAC 0033890C 38 21 01 60 */ addi r1, r1, 0x160
+/* 8033CCB0 00338910 4E 80 00 20 */ blr
+
+.global SHA1PadMessage
+SHA1PadMessage:
+/* 8033CCB4 00338914 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8033CCB8 00338918 7C 08 02 A6 */ mflr r0
+/* 8033CCBC 0033891C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8033CCC0 00338920 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8033CCC4 00338924 7C 7F 1B 78 */ mr r31, r3
+/* 8033CCC8 00338928 A8 A3 00 1C */ lha r5, 0x1c(r3)
+/* 8033CCCC 0033892C 2C 05 00 37 */ cmpwi r5, 0x37
+/* 8033CCD0 00338930 40 81 00 74 */ ble lbl_8033CD44
+/* 8033CCD4 00338934 7C 83 2A 14 */ add r4, r3, r5
+/* 8033CCD8 00338938 38 00 00 80 */ li r0, 0x80
+/* 8033CCDC 0033893C 98 04 00 1E */ stb r0, 0x1e(r4)
+/* 8033CCE0 00338940 38 05 00 01 */ addi r0, r5, 1
+/* 8033CCE4 00338944 38 C0 00 00 */ li r6, 0
+/* 8033CCE8 00338948 B0 03 00 1C */ sth r0, 0x1c(r3)
+/* 8033CCEC 0033894C 48 00 00 18 */ b lbl_8033CD04
+lbl_8033CCF0:
+/* 8033CCF0 00338950 A8 A3 00 1C */ lha r5, 0x1c(r3)
+/* 8033CCF4 00338954 7C 83 2A 14 */ add r4, r3, r5
+/* 8033CCF8 00338958 38 05 00 01 */ addi r0, r5, 1
+/* 8033CCFC 0033895C 98 C4 00 1E */ stb r6, 0x1e(r4)
+/* 8033CD00 00338960 B0 03 00 1C */ sth r0, 0x1c(r3)
+lbl_8033CD04:
+/* 8033CD04 00338964 A8 03 00 1C */ lha r0, 0x1c(r3)
+/* 8033CD08 00338968 2C 00 00 40 */ cmpwi r0, 0x40
+/* 8033CD0C 0033896C 41 80 FF E4 */ blt lbl_8033CCF0
+/* 8033CD10 00338970 7F E3 FB 78 */ mr r3, r31
+/* 8033CD14 00338974 4B FF FA 8D */ bl SHA1ProcessMessageBlock
+/* 8033CD18 00338978 38 A0 00 00 */ li r5, 0
+/* 8033CD1C 0033897C 48 00 00 18 */ b lbl_8033CD34
+lbl_8033CD20:
+/* 8033CD20 00338980 A8 9F 00 1C */ lha r4, 0x1c(r31)
+/* 8033CD24 00338984 7C 7F 22 14 */ add r3, r31, r4
+/* 8033CD28 00338988 38 04 00 01 */ addi r0, r4, 1
+/* 8033CD2C 0033898C 98 A3 00 1E */ stb r5, 0x1e(r3)
+/* 8033CD30 00338990 B0 1F 00 1C */ sth r0, 0x1c(r31)
+lbl_8033CD34:
+/* 8033CD34 00338994 A8 1F 00 1C */ lha r0, 0x1c(r31)
+/* 8033CD38 00338998 2C 00 00 38 */ cmpwi r0, 0x38
+/* 8033CD3C 0033899C 41 80 FF E4 */ blt lbl_8033CD20
+/* 8033CD40 003389A0 48 00 00 40 */ b lbl_8033CD80
+lbl_8033CD44:
+/* 8033CD44 003389A4 7C 83 2A 14 */ add r4, r3, r5
+/* 8033CD48 003389A8 38 00 00 80 */ li r0, 0x80
+/* 8033CD4C 003389AC 98 04 00 1E */ stb r0, 0x1e(r4)
+/* 8033CD50 003389B0 38 05 00 01 */ addi r0, r5, 1
+/* 8033CD54 003389B4 38 C0 00 00 */ li r6, 0
+/* 8033CD58 003389B8 B0 03 00 1C */ sth r0, 0x1c(r3)
+/* 8033CD5C 003389BC 48 00 00 18 */ b lbl_8033CD74
+lbl_8033CD60:
+/* 8033CD60 003389C0 A8 A3 00 1C */ lha r5, 0x1c(r3)
+/* 8033CD64 003389C4 7C 83 2A 14 */ add r4, r3, r5
+/* 8033CD68 003389C8 38 05 00 01 */ addi r0, r5, 1
+/* 8033CD6C 003389CC 98 C4 00 1E */ stb r6, 0x1e(r4)
+/* 8033CD70 003389D0 B0 03 00 1C */ sth r0, 0x1c(r3)
+lbl_8033CD74:
+/* 8033CD74 003389D4 A8 03 00 1C */ lha r0, 0x1c(r3)
+/* 8033CD78 003389D8 2C 00 00 38 */ cmpwi r0, 0x38
+/* 8033CD7C 003389DC 41 80 FF E4 */ blt lbl_8033CD60
+lbl_8033CD80:
+/* 8033CD80 003389E0 81 5F 00 18 */ lwz r10, 0x18(r31)
+/* 8033CD84 003389E4 7F E3 FB 78 */ mr r3, r31
+/* 8033CD88 003389E8 80 DF 00 14 */ lwz r6, 0x14(r31)
+/* 8033CD8C 003389EC 55 49 46 3E */ srwi r9, r10, 0x18
+/* 8033CD90 003389F0 55 48 86 3E */ rlwinm r8, r10, 0x10, 0x18, 0x1f
+/* 8033CD94 003389F4 55 47 C6 3E */ rlwinm r7, r10, 0x18, 0x18, 0x1f
+/* 8033CD98 003389F8 54 C5 46 3E */ srwi r5, r6, 0x18
+/* 8033CD9C 003389FC 54 C4 86 3E */ rlwinm r4, r6, 0x10, 0x18, 0x1f
+/* 8033CDA0 00338A00 54 C0 C6 3E */ rlwinm r0, r6, 0x18, 0x18, 0x1f
+/* 8033CDA4 00338A04 99 3F 00 56 */ stb r9, 0x56(r31)
+/* 8033CDA8 00338A08 99 1F 00 57 */ stb r8, 0x57(r31)
+/* 8033CDAC 00338A0C 98 FF 00 58 */ stb r7, 0x58(r31)
+/* 8033CDB0 00338A10 99 5F 00 59 */ stb r10, 0x59(r31)
+/* 8033CDB4 00338A14 98 BF 00 5A */ stb r5, 0x5a(r31)
+/* 8033CDB8 00338A18 98 9F 00 5B */ stb r4, 0x5b(r31)
+/* 8033CDBC 00338A1C 98 1F 00 5C */ stb r0, 0x5c(r31)
+/* 8033CDC0 00338A20 98 DF 00 5D */ stb r6, 0x5d(r31)
+/* 8033CDC4 00338A24 4B FF F9 DD */ bl SHA1ProcessMessageBlock
+/* 8033CDC8 00338A28 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8033CDCC 00338A2C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8033CDD0 00338A30 7C 08 03 A6 */ mtlr r0
+/* 8033CDD4 00338A34 38 21 00 10 */ addi r1, r1, 0x10
+/* 8033CDD8 00338A38 4E 80 00 20 */ blr
diff --git a/asm/text_10_2.s b/asm/text_10_2.s index 4f6e359..6c1250f 100644 --- a/asm/text_10_2.s +++ b/asm/text_10_2.s @@ -2,994 +2,6 @@ .section .text, "ax" # 0x80006980 - 0x803E1E60
-.global func_8033BF60
-func_8033BF60:
-/* 8033BF60 00337BC0 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 8033BF64 00337BC4 2C 04 00 00 */ cmpwi r4, 0
-/* 8033BF68 00337BC8 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 8033BF6C 00337BCC 3B E0 00 00 */ li r31, 0
-/* 8033BF70 00337BD0 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 8033BF74 00337BD4 3B C0 00 00 */ li r30, 0
-/* 8033BF78 00337BD8 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 8033BF7C 00337BDC 41 82 03 14 */ beq lbl_8033C290
-/* 8033BF80 00337BE0 2C 05 00 00 */ cmpwi r5, 0
-/* 8033BF84 00337BE4 40 82 00 08 */ bne lbl_8033BF8C
-/* 8033BF88 00337BE8 48 00 03 08 */ b lbl_8033C290
-lbl_8033BF8C:
-/* 8033BF8C 00337BEC 38 C0 00 00 */ li r6, 0
-/* 8033BF90 00337BF0 38 00 00 08 */ li r0, 8
-/* 8033BF94 00337BF4 98 C3 00 00 */ stb r6, 0(r3)
-/* 8033BF98 00337BF8 3B A0 00 00 */ li r29, 0
-/* 8033BF9C 00337BFC 98 C3 00 01 */ stb r6, 1(r3)
-/* 8033BFA0 00337C00 7C 09 03 A6 */ mtctr r0
-lbl_8033BFA4:
-/* 8033BFA4 00337C04 7D 83 EA 14 */ add r12, r3, r29
-/* 8033BFA8 00337C08 39 7D 00 01 */ addi r11, r29, 1
-/* 8033BFAC 00337C0C 9B AC 00 02 */ stb r29, 2(r12)
-/* 8033BFB0 00337C10 39 5D 00 02 */ addi r10, r29, 2
-/* 8033BFB4 00337C14 39 3D 00 03 */ addi r9, r29, 3
-/* 8033BFB8 00337C18 39 1D 00 04 */ addi r8, r29, 4
-/* 8033BFBC 00337C1C 99 6C 00 03 */ stb r11, 3(r12)
-/* 8033BFC0 00337C20 38 FD 00 05 */ addi r7, r29, 5
-/* 8033BFC4 00337C24 38 DD 00 06 */ addi r6, r29, 6
-/* 8033BFC8 00337C28 38 1D 00 07 */ addi r0, r29, 7
-/* 8033BFCC 00337C2C 99 4C 00 04 */ stb r10, 4(r12)
-/* 8033BFD0 00337C30 39 7D 00 09 */ addi r11, r29, 9
-/* 8033BFD4 00337C34 39 5D 00 0A */ addi r10, r29, 0xa
-/* 8033BFD8 00337C38 99 2C 00 05 */ stb r9, 5(r12)
-/* 8033BFDC 00337C3C 39 3D 00 0B */ addi r9, r29, 0xb
-/* 8033BFE0 00337C40 99 0C 00 06 */ stb r8, 6(r12)
-/* 8033BFE4 00337C44 39 1D 00 0C */ addi r8, r29, 0xc
-/* 8033BFE8 00337C48 98 EC 00 07 */ stb r7, 7(r12)
-/* 8033BFEC 00337C4C 38 FD 00 0D */ addi r7, r29, 0xd
-/* 8033BFF0 00337C50 98 CC 00 08 */ stb r6, 8(r12)
-/* 8033BFF4 00337C54 38 DD 00 0E */ addi r6, r29, 0xe
-/* 8033BFF8 00337C58 3B BD 00 08 */ addi r29, r29, 8
-/* 8033BFFC 00337C5C 98 0C 00 09 */ stb r0, 9(r12)
-/* 8033C000 00337C60 7D 83 EA 14 */ add r12, r3, r29
-/* 8033C004 00337C64 38 1D 00 07 */ addi r0, r29, 7
-/* 8033C008 00337C68 9B AC 00 02 */ stb r29, 2(r12)
-/* 8033C00C 00337C6C 99 6C 00 03 */ stb r11, 3(r12)
-/* 8033C010 00337C70 39 7D 00 09 */ addi r11, r29, 9
-/* 8033C014 00337C74 99 4C 00 04 */ stb r10, 4(r12)
-/* 8033C018 00337C78 39 5D 00 0A */ addi r10, r29, 0xa
-/* 8033C01C 00337C7C 99 2C 00 05 */ stb r9, 5(r12)
-/* 8033C020 00337C80 39 3D 00 0B */ addi r9, r29, 0xb
-/* 8033C024 00337C84 99 0C 00 06 */ stb r8, 6(r12)
-/* 8033C028 00337C88 39 1D 00 0C */ addi r8, r29, 0xc
-/* 8033C02C 00337C8C 98 EC 00 07 */ stb r7, 7(r12)
-/* 8033C030 00337C90 38 FD 00 0D */ addi r7, r29, 0xd
-/* 8033C034 00337C94 98 CC 00 08 */ stb r6, 8(r12)
-/* 8033C038 00337C98 38 DD 00 0E */ addi r6, r29, 0xe
-/* 8033C03C 00337C9C 3B BD 00 08 */ addi r29, r29, 8
-/* 8033C040 00337CA0 98 0C 00 09 */ stb r0, 9(r12)
-/* 8033C044 00337CA4 7D 83 EA 14 */ add r12, r3, r29
-/* 8033C048 00337CA8 38 1D 00 07 */ addi r0, r29, 7
-/* 8033C04C 00337CAC 9B AC 00 02 */ stb r29, 2(r12)
-/* 8033C050 00337CB0 99 6C 00 03 */ stb r11, 3(r12)
-/* 8033C054 00337CB4 39 7D 00 09 */ addi r11, r29, 9
-/* 8033C058 00337CB8 99 4C 00 04 */ stb r10, 4(r12)
-/* 8033C05C 00337CBC 39 5D 00 0A */ addi r10, r29, 0xa
-/* 8033C060 00337CC0 99 2C 00 05 */ stb r9, 5(r12)
-/* 8033C064 00337CC4 39 3D 00 0B */ addi r9, r29, 0xb
-/* 8033C068 00337CC8 99 0C 00 06 */ stb r8, 6(r12)
-/* 8033C06C 00337CCC 39 1D 00 0C */ addi r8, r29, 0xc
-/* 8033C070 00337CD0 98 EC 00 07 */ stb r7, 7(r12)
-/* 8033C074 00337CD4 38 FD 00 0D */ addi r7, r29, 0xd
-/* 8033C078 00337CD8 98 CC 00 08 */ stb r6, 8(r12)
-/* 8033C07C 00337CDC 38 DD 00 0E */ addi r6, r29, 0xe
-/* 8033C080 00337CE0 3B BD 00 08 */ addi r29, r29, 8
-/* 8033C084 00337CE4 98 0C 00 09 */ stb r0, 9(r12)
-/* 8033C088 00337CE8 7D 83 EA 14 */ add r12, r3, r29
-/* 8033C08C 00337CEC 38 1D 00 07 */ addi r0, r29, 7
-/* 8033C090 00337CF0 9B AC 00 02 */ stb r29, 2(r12)
-/* 8033C094 00337CF4 3B BD 00 08 */ addi r29, r29, 8
-/* 8033C098 00337CF8 99 6C 00 03 */ stb r11, 3(r12)
-/* 8033C09C 00337CFC 99 4C 00 04 */ stb r10, 4(r12)
-/* 8033C0A0 00337D00 99 2C 00 05 */ stb r9, 5(r12)
-/* 8033C0A4 00337D04 99 0C 00 06 */ stb r8, 6(r12)
-/* 8033C0A8 00337D08 98 EC 00 07 */ stb r7, 7(r12)
-/* 8033C0AC 00337D0C 98 CC 00 08 */ stb r6, 8(r12)
-/* 8033C0B0 00337D10 98 0C 00 09 */ stb r0, 9(r12)
-/* 8033C0B4 00337D14 42 00 FE F0 */ bdnz lbl_8033BFA4
-/* 8033C0B8 00337D18 38 00 00 20 */ li r0, 0x20
-/* 8033C0BC 00337D1C 38 E0 00 00 */ li r7, 0
-/* 8033C0C0 00337D20 7C 09 03 A6 */ mtctr r0
-lbl_8033C0C4:
-/* 8033C0C4 00337D24 39 1E 00 01 */ addi r8, r30, 1
-/* 8033C0C8 00337D28 7C C3 3A 14 */ add r6, r3, r7
-/* 8033C0CC 00337D2C 7C 08 2B D6 */ divw r0, r8, r5
-/* 8033C0D0 00337D30 89 66 00 02 */ lbz r11, 2(r6)
-/* 8033C0D4 00337D34 7D 44 F0 AE */ lbzx r10, r4, r30
-/* 8033C0D8 00337D38 7D 3F 5A 14 */ add r9, r31, r11
-/* 8033C0DC 00337D3C 7D 2A 4A 14 */ add r9, r10, r9
-/* 8033C0E0 00337D40 55 2C 06 3E */ clrlwi r12, r9, 0x18
-/* 8033C0E4 00337D44 7C 00 29 D6 */ mullw r0, r0, r5
-/* 8033C0E8 00337D48 7D 43 62 14 */ add r10, r3, r12
-/* 8033C0EC 00337D4C 89 2A 00 02 */ lbz r9, 2(r10)
-/* 8033C0F0 00337D50 99 26 00 02 */ stb r9, 2(r6)
-/* 8033C0F4 00337D54 7C 00 40 50 */ subf r0, r0, r8
-/* 8033C0F8 00337D58 99 6A 00 02 */ stb r11, 2(r10)
-/* 8033C0FC 00337D5C 54 09 06 3E */ clrlwi r9, r0, 0x18
-/* 8033C100 00337D60 39 09 00 01 */ addi r8, r9, 1
-/* 8033C104 00337D64 89 66 00 03 */ lbz r11, 3(r6)
-/* 8033C108 00337D68 7C 08 2B D6 */ divw r0, r8, r5
-/* 8033C10C 00337D6C 7D 44 48 AE */ lbzx r10, r4, r9
-/* 8033C110 00337D70 7D 2C 5A 14 */ add r9, r12, r11
-/* 8033C114 00337D74 7D 2A 4A 14 */ add r9, r10, r9
-/* 8033C118 00337D78 55 2C 06 3E */ clrlwi r12, r9, 0x18
-/* 8033C11C 00337D7C 7D 43 62 14 */ add r10, r3, r12
-/* 8033C120 00337D80 7C 00 29 D6 */ mullw r0, r0, r5
-/* 8033C124 00337D84 89 2A 00 02 */ lbz r9, 2(r10)
-/* 8033C128 00337D88 99 26 00 03 */ stb r9, 3(r6)
-/* 8033C12C 00337D8C 99 6A 00 02 */ stb r11, 2(r10)
-/* 8033C130 00337D90 7C 00 40 50 */ subf r0, r0, r8
-/* 8033C134 00337D94 54 09 06 3E */ clrlwi r9, r0, 0x18
-/* 8033C138 00337D98 89 66 00 04 */ lbz r11, 4(r6)
-/* 8033C13C 00337D9C 39 09 00 01 */ addi r8, r9, 1
-/* 8033C140 00337DA0 7D 44 48 AE */ lbzx r10, r4, r9
-/* 8033C144 00337DA4 7C 08 2B D6 */ divw r0, r8, r5
-/* 8033C148 00337DA8 7D 2C 5A 14 */ add r9, r12, r11
-/* 8033C14C 00337DAC 7D 2A 4A 14 */ add r9, r10, r9
-/* 8033C150 00337DB0 55 2C 06 3E */ clrlwi r12, r9, 0x18
-/* 8033C154 00337DB4 7D 43 62 14 */ add r10, r3, r12
-/* 8033C158 00337DB8 89 2A 00 02 */ lbz r9, 2(r10)
-/* 8033C15C 00337DBC 7C 00 29 D6 */ mullw r0, r0, r5
-/* 8033C160 00337DC0 99 26 00 04 */ stb r9, 4(r6)
-/* 8033C164 00337DC4 99 6A 00 02 */ stb r11, 2(r10)
-/* 8033C168 00337DC8 89 66 00 05 */ lbz r11, 5(r6)
-/* 8033C16C 00337DCC 7C 00 40 50 */ subf r0, r0, r8
-/* 8033C170 00337DD0 54 0A 06 3E */ clrlwi r10, r0, 0x18
-/* 8033C174 00337DD4 7D 0C 5A 14 */ add r8, r12, r11
-/* 8033C178 00337DD8 39 2A 00 01 */ addi r9, r10, 1
-/* 8033C17C 00337DDC 7D 44 50 AE */ lbzx r10, r4, r10
-/* 8033C180 00337DE0 7C 09 2B D6 */ divw r0, r9, r5
-/* 8033C184 00337DE4 7D 0A 42 14 */ add r8, r10, r8
-/* 8033C188 00337DE8 55 0C 06 3E */ clrlwi r12, r8, 0x18
-/* 8033C18C 00337DEC 7D 43 62 14 */ add r10, r3, r12
-/* 8033C190 00337DF0 89 0A 00 02 */ lbz r8, 2(r10)
-/* 8033C194 00337DF4 99 06 00 05 */ stb r8, 5(r6)
-/* 8033C198 00337DF8 7C 00 29 D6 */ mullw r0, r0, r5
-/* 8033C19C 00337DFC 99 6A 00 02 */ stb r11, 2(r10)
-/* 8033C1A0 00337E00 89 66 00 06 */ lbz r11, 6(r6)
-/* 8033C1A4 00337E04 7D 0C 5A 14 */ add r8, r12, r11
-/* 8033C1A8 00337E08 7C 00 48 50 */ subf r0, r0, r9
-/* 8033C1AC 00337E0C 54 0A 06 3E */ clrlwi r10, r0, 0x18
-/* 8033C1B0 00337E10 39 2A 00 01 */ addi r9, r10, 1
-/* 8033C1B4 00337E14 7D 44 50 AE */ lbzx r10, r4, r10
-/* 8033C1B8 00337E18 7C 09 2B D6 */ divw r0, r9, r5
-/* 8033C1BC 00337E1C 7D 0A 42 14 */ add r8, r10, r8
-/* 8033C1C0 00337E20 55 0C 06 3E */ clrlwi r12, r8, 0x18
-/* 8033C1C4 00337E24 7D 43 62 14 */ add r10, r3, r12
-/* 8033C1C8 00337E28 89 0A 00 02 */ lbz r8, 2(r10)
-/* 8033C1CC 00337E2C 99 06 00 06 */ stb r8, 6(r6)
-/* 8033C1D0 00337E30 7D 00 29 D6 */ mullw r8, r0, r5
-/* 8033C1D4 00337E34 99 6A 00 02 */ stb r11, 2(r10)
-/* 8033C1D8 00337E38 89 46 00 07 */ lbz r10, 7(r6)
-/* 8033C1DC 00337E3C 7C 0C 52 14 */ add r0, r12, r10
-/* 8033C1E0 00337E40 7D 08 48 50 */ subf r8, r8, r9
-/* 8033C1E4 00337E44 55 0B 06 3E */ clrlwi r11, r8, 0x18
-/* 8033C1E8 00337E48 7D 04 58 AE */ lbzx r8, r4, r11
-/* 8033C1EC 00337E4C 7C 08 02 14 */ add r0, r8, r0
-/* 8033C1F0 00337E50 54 0C 06 3E */ clrlwi r12, r0, 0x18
-/* 8033C1F4 00337E54 7D 23 62 14 */ add r9, r3, r12
-/* 8033C1F8 00337E58 88 09 00 02 */ lbz r0, 2(r9)
-/* 8033C1FC 00337E5C 98 06 00 07 */ stb r0, 7(r6)
-/* 8033C200 00337E60 39 0B 00 01 */ addi r8, r11, 1
-/* 8033C204 00337E64 99 49 00 02 */ stb r10, 2(r9)
-/* 8033C208 00337E68 7C 08 2B D6 */ divw r0, r8, r5
-/* 8033C20C 00337E6C 38 E7 00 08 */ addi r7, r7, 8
-/* 8033C210 00337E70 89 66 00 08 */ lbz r11, 8(r6)
-/* 8033C214 00337E74 7D 2C 5A 14 */ add r9, r12, r11
-/* 8033C218 00337E78 7C 00 29 D6 */ mullw r0, r0, r5
-/* 8033C21C 00337E7C 7C 00 40 50 */ subf r0, r0, r8
-/* 8033C220 00337E80 54 0A 06 3E */ clrlwi r10, r0, 0x18
-/* 8033C224 00337E84 39 0A 00 01 */ addi r8, r10, 1
-/* 8033C228 00337E88 7D 44 50 AE */ lbzx r10, r4, r10
-/* 8033C22C 00337E8C 7C 08 2B D6 */ divw r0, r8, r5
-/* 8033C230 00337E90 7D 2A 4A 14 */ add r9, r10, r9
-/* 8033C234 00337E94 55 2C 06 3E */ clrlwi r12, r9, 0x18
-/* 8033C238 00337E98 7D 43 62 14 */ add r10, r3, r12
-/* 8033C23C 00337E9C 89 2A 00 02 */ lbz r9, 2(r10)
-/* 8033C240 00337EA0 99 26 00 08 */ stb r9, 8(r6)
-/* 8033C244 00337EA4 7C 00 29 D6 */ mullw r0, r0, r5
-/* 8033C248 00337EA8 99 6A 00 02 */ stb r11, 2(r10)
-/* 8033C24C 00337EAC 89 66 00 09 */ lbz r11, 9(r6)
-/* 8033C250 00337EB0 7D 2C 5A 14 */ add r9, r12, r11
-/* 8033C254 00337EB4 7C 00 40 50 */ subf r0, r0, r8
-/* 8033C258 00337EB8 54 0A 06 3E */ clrlwi r10, r0, 0x18
-/* 8033C25C 00337EBC 39 0A 00 01 */ addi r8, r10, 1
-/* 8033C260 00337EC0 7D 44 50 AE */ lbzx r10, r4, r10
-/* 8033C264 00337EC4 7C 08 2B D6 */ divw r0, r8, r5
-/* 8033C268 00337EC8 7D 2A 4A 14 */ add r9, r10, r9
-/* 8033C26C 00337ECC 55 3F 06 3E */ clrlwi r31, r9, 0x18
-/* 8033C270 00337ED0 7D 43 FA 14 */ add r10, r3, r31
-/* 8033C274 00337ED4 89 2A 00 02 */ lbz r9, 2(r10)
-/* 8033C278 00337ED8 99 26 00 09 */ stb r9, 9(r6)
-/* 8033C27C 00337EDC 7C 00 29 D6 */ mullw r0, r0, r5
-/* 8033C280 00337EE0 99 6A 00 02 */ stb r11, 2(r10)
-/* 8033C284 00337EE4 7C 00 40 50 */ subf r0, r0, r8
-/* 8033C288 00337EE8 54 1E 06 3E */ clrlwi r30, r0, 0x18
-/* 8033C28C 00337EEC 42 00 FE 38 */ bdnz lbl_8033C0C4
-lbl_8033C290:
-/* 8033C290 00337EF0 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 8033C294 00337EF4 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 8033C298 00337EF8 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 8033C29C 00337EFC 38 21 00 20 */ addi r1, r1, 0x20
-/* 8033C2A0 00337F00 4E 80 00 20 */ blr
-
-.global func_8033C2A4
-func_8033C2A4:
-/* 8033C2A4 00337F04 2C 06 00 00 */ cmpwi r6, 0
-/* 8033C2A8 00337F08 4C 81 00 20 */ blelr
-/* 8033C2AC 00337F0C 54 C0 F8 7F */ rlwinm. r0, r6, 0x1f, 1, 0x1f
-/* 8033C2B0 00337F10 7C 09 03 A6 */ mtctr r0
-/* 8033C2B4 00337F14 41 82 00 F8 */ beq lbl_8033C3AC
-lbl_8033C2B8:
-/* 8033C2B8 00337F18 89 03 00 00 */ lbz r8, 0(r3)
-/* 8033C2BC 00337F1C 88 E3 00 01 */ lbz r7, 1(r3)
-/* 8033C2C0 00337F20 39 08 00 01 */ addi r8, r8, 1
-/* 8033C2C4 00337F24 89 24 00 00 */ lbz r9, 0(r4)
-/* 8033C2C8 00337F28 55 00 06 3E */ clrlwi r0, r8, 0x18
-/* 8033C2CC 00337F2C 99 03 00 00 */ stb r8, 0(r3)
-/* 8033C2D0 00337F30 7D 03 02 14 */ add r8, r3, r0
-/* 8033C2D4 00337F34 88 08 00 02 */ lbz r0, 2(r8)
-/* 8033C2D8 00337F38 7C 07 02 14 */ add r0, r7, r0
-/* 8033C2DC 00337F3C 98 03 00 01 */ stb r0, 1(r3)
-/* 8033C2E0 00337F40 54 00 06 3E */ clrlwi r0, r0, 0x18
-/* 8033C2E4 00337F44 7C E3 02 14 */ add r7, r3, r0
-/* 8033C2E8 00337F48 89 48 00 02 */ lbz r10, 2(r8)
-/* 8033C2EC 00337F4C 88 07 00 02 */ lbz r0, 2(r7)
-/* 8033C2F0 00337F50 98 08 00 02 */ stb r0, 2(r8)
-/* 8033C2F4 00337F54 99 47 00 02 */ stb r10, 2(r7)
-/* 8033C2F8 00337F58 88 E3 00 00 */ lbz r7, 0(r3)
-/* 8033C2FC 00337F5C 88 03 00 01 */ lbz r0, 1(r3)
-/* 8033C300 00337F60 7D 03 3A 14 */ add r8, r3, r7
-/* 8033C304 00337F64 7C E3 02 14 */ add r7, r3, r0
-/* 8033C308 00337F68 89 08 00 02 */ lbz r8, 2(r8)
-/* 8033C30C 00337F6C 88 07 00 02 */ lbz r0, 2(r7)
-/* 8033C310 00337F70 7C 08 02 14 */ add r0, r8, r0
-/* 8033C314 00337F74 54 00 06 3E */ clrlwi r0, r0, 0x18
-/* 8033C318 00337F78 7C E3 02 14 */ add r7, r3, r0
-/* 8033C31C 00337F7C 88 07 00 02 */ lbz r0, 2(r7)
-/* 8033C320 00337F80 7D 20 02 78 */ xor r0, r9, r0
-/* 8033C324 00337F84 89 24 00 01 */ lbz r9, 1(r4)
-/* 8033C328 00337F88 98 05 00 00 */ stb r0, 0(r5)
-/* 8033C32C 00337F8C 38 84 00 02 */ addi r4, r4, 2
-/* 8033C330 00337F90 89 03 00 00 */ lbz r8, 0(r3)
-/* 8033C334 00337F94 88 E3 00 01 */ lbz r7, 1(r3)
-/* 8033C338 00337F98 39 08 00 01 */ addi r8, r8, 1
-/* 8033C33C 00337F9C 55 00 06 3E */ clrlwi r0, r8, 0x18
-/* 8033C340 00337FA0 99 03 00 00 */ stb r8, 0(r3)
-/* 8033C344 00337FA4 7D 03 02 14 */ add r8, r3, r0
-/* 8033C348 00337FA8 88 08 00 02 */ lbz r0, 2(r8)
-/* 8033C34C 00337FAC 7C 07 02 14 */ add r0, r7, r0
-/* 8033C350 00337FB0 98 03 00 01 */ stb r0, 1(r3)
-/* 8033C354 00337FB4 54 00 06 3E */ clrlwi r0, r0, 0x18
-/* 8033C358 00337FB8 7C E3 02 14 */ add r7, r3, r0
-/* 8033C35C 00337FBC 89 48 00 02 */ lbz r10, 2(r8)
-/* 8033C360 00337FC0 88 07 00 02 */ lbz r0, 2(r7)
-/* 8033C364 00337FC4 98 08 00 02 */ stb r0, 2(r8)
-/* 8033C368 00337FC8 99 47 00 02 */ stb r10, 2(r7)
-/* 8033C36C 00337FCC 88 E3 00 00 */ lbz r7, 0(r3)
-/* 8033C370 00337FD0 88 03 00 01 */ lbz r0, 1(r3)
-/* 8033C374 00337FD4 7D 03 3A 14 */ add r8, r3, r7
-/* 8033C378 00337FD8 7C E3 02 14 */ add r7, r3, r0
-/* 8033C37C 00337FDC 89 08 00 02 */ lbz r8, 2(r8)
-/* 8033C380 00337FE0 88 07 00 02 */ lbz r0, 2(r7)
-/* 8033C384 00337FE4 7C 08 02 14 */ add r0, r8, r0
-/* 8033C388 00337FE8 54 00 06 3E */ clrlwi r0, r0, 0x18
-/* 8033C38C 00337FEC 7C E3 02 14 */ add r7, r3, r0
-/* 8033C390 00337FF0 88 07 00 02 */ lbz r0, 2(r7)
-/* 8033C394 00337FF4 7D 20 02 78 */ xor r0, r9, r0
-/* 8033C398 00337FF8 98 05 00 01 */ stb r0, 1(r5)
-/* 8033C39C 00337FFC 38 A5 00 02 */ addi r5, r5, 2
-/* 8033C3A0 00338000 42 00 FF 18 */ bdnz lbl_8033C2B8
-/* 8033C3A4 00338004 70 C6 00 01 */ andi. r6, r6, 1
-/* 8033C3A8 00338008 4D 82 00 20 */ beqlr
-lbl_8033C3AC:
-/* 8033C3AC 0033800C 7C C9 03 A6 */ mtctr r6
-lbl_8033C3B0:
-/* 8033C3B0 00338010 89 03 00 00 */ lbz r8, 0(r3)
-/* 8033C3B4 00338014 89 24 00 00 */ lbz r9, 0(r4)
-/* 8033C3B8 00338018 38 84 00 01 */ addi r4, r4, 1
-/* 8033C3BC 0033801C 39 08 00 01 */ addi r8, r8, 1
-/* 8033C3C0 00338020 88 E3 00 01 */ lbz r7, 1(r3)
-/* 8033C3C4 00338024 55 00 06 3E */ clrlwi r0, r8, 0x18
-/* 8033C3C8 00338028 99 03 00 00 */ stb r8, 0(r3)
-/* 8033C3CC 0033802C 7D 03 02 14 */ add r8, r3, r0
-/* 8033C3D0 00338030 88 08 00 02 */ lbz r0, 2(r8)
-/* 8033C3D4 00338034 7C 07 02 14 */ add r0, r7, r0
-/* 8033C3D8 00338038 98 03 00 01 */ stb r0, 1(r3)
-/* 8033C3DC 0033803C 54 00 06 3E */ clrlwi r0, r0, 0x18
-/* 8033C3E0 00338040 7C E3 02 14 */ add r7, r3, r0
-/* 8033C3E4 00338044 89 48 00 02 */ lbz r10, 2(r8)
-/* 8033C3E8 00338048 88 07 00 02 */ lbz r0, 2(r7)
-/* 8033C3EC 0033804C 98 08 00 02 */ stb r0, 2(r8)
-/* 8033C3F0 00338050 99 47 00 02 */ stb r10, 2(r7)
-/* 8033C3F4 00338054 88 E3 00 00 */ lbz r7, 0(r3)
-/* 8033C3F8 00338058 88 03 00 01 */ lbz r0, 1(r3)
-/* 8033C3FC 0033805C 7D 03 3A 14 */ add r8, r3, r7
-/* 8033C400 00338060 7C E3 02 14 */ add r7, r3, r0
-/* 8033C404 00338064 89 08 00 02 */ lbz r8, 2(r8)
-/* 8033C408 00338068 88 07 00 02 */ lbz r0, 2(r7)
-/* 8033C40C 0033806C 7C 08 02 14 */ add r0, r8, r0
-/* 8033C410 00338070 54 00 06 3E */ clrlwi r0, r0, 0x18
-/* 8033C414 00338074 7C E3 02 14 */ add r7, r3, r0
-/* 8033C418 00338078 88 07 00 02 */ lbz r0, 2(r7)
-/* 8033C41C 0033807C 7D 20 02 78 */ xor r0, r9, r0
-/* 8033C420 00338080 98 05 00 00 */ stb r0, 0(r5)
-/* 8033C424 00338084 38 A5 00 01 */ addi r5, r5, 1
-/* 8033C428 00338088 42 00 FF 88 */ bdnz lbl_8033C3B0
-/* 8033C42C 0033808C 4E 80 00 20 */ blr
-
-.global func_8033C430
-func_8033C430:
-/* 8033C430 00338090 2C 03 00 00 */ cmpwi r3, 0
-/* 8033C434 00338094 40 82 00 0C */ bne lbl_8033C440
-/* 8033C438 00338098 38 60 00 01 */ li r3, 1
-/* 8033C43C 0033809C 4E 80 00 20 */ blr
-lbl_8033C440:
-/* 8033C440 003380A0 3D 00 67 45 */ lis r8, 0x67452301@ha
-/* 8033C444 003380A4 3C E0 EF CE */ lis r7, 0xEFCDAB89@ha
-/* 8033C448 003380A8 39 20 00 00 */ li r9, 0
-/* 8033C44C 003380AC 3C C0 98 BB */ lis r6, 0x98BADCFE@ha
-/* 8033C450 003380B0 3C A0 10 32 */ lis r5, 0x10325476@ha
-/* 8033C454 003380B4 3C 80 C3 D3 */ lis r4, 0xC3D2E1F0@ha
-/* 8033C458 003380B8 39 08 23 01 */ addi r8, r8, 0x67452301@l
-/* 8033C45C 003380BC 38 E7 AB 89 */ addi r7, r7, 0xEFCDAB89@l
-/* 8033C460 003380C0 38 C6 DC FE */ addi r6, r6, 0x98BADCFE@l
-/* 8033C464 003380C4 38 A5 54 76 */ addi r5, r5, 0x10325476@l
-/* 8033C468 003380C8 38 04 E1 F0 */ addi r0, r4, 0xC3D2E1F0@l
-/* 8033C46C 003380CC 91 23 00 14 */ stw r9, 0x14(r3)
-/* 8033C470 003380D0 91 23 00 18 */ stw r9, 0x18(r3)
-/* 8033C474 003380D4 B1 23 00 1C */ sth r9, 0x1c(r3)
-/* 8033C478 003380D8 91 03 00 00 */ stw r8, 0(r3)
-/* 8033C47C 003380DC 90 E3 00 04 */ stw r7, 4(r3)
-/* 8033C480 003380E0 90 C3 00 08 */ stw r6, 8(r3)
-/* 8033C484 003380E4 90 A3 00 0C */ stw r5, 0xc(r3)
-/* 8033C488 003380E8 90 03 00 10 */ stw r0, 0x10(r3)
-/* 8033C48C 003380EC 91 23 00 60 */ stw r9, 0x60(r3)
-/* 8033C490 003380F0 91 23 00 64 */ stw r9, 0x64(r3)
-/* 8033C494 003380F4 38 60 00 00 */ li r3, 0
-/* 8033C498 003380F8 4E 80 00 20 */ blr
-
-.global func_8033C49C
-func_8033C49C:
-/* 8033C49C 003380FC 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8033C4A0 00338100 7C 08 02 A6 */ mflr r0
-/* 8033C4A4 00338104 2C 03 00 00 */ cmpwi r3, 0
-/* 8033C4A8 00338108 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8033C4AC 0033810C 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 8033C4B0 00338110 7C 9F 23 78 */ mr r31, r4
-/* 8033C4B4 00338114 93 C1 00 08 */ stw r30, 8(r1)
-/* 8033C4B8 00338118 7C 7E 1B 78 */ mr r30, r3
-/* 8033C4BC 0033811C 41 82 00 0C */ beq lbl_8033C4C8
-/* 8033C4C0 00338120 2C 04 00 00 */ cmpwi r4, 0
-/* 8033C4C4 00338124 40 82 00 0C */ bne lbl_8033C4D0
-lbl_8033C4C8:
-/* 8033C4C8 00338128 38 60 00 01 */ li r3, 1
-/* 8033C4CC 0033812C 48 00 01 A8 */ b lbl_8033C674
-lbl_8033C4D0:
-/* 8033C4D0 00338130 80 03 00 64 */ lwz r0, 0x64(r3)
-/* 8033C4D4 00338134 2C 00 00 00 */ cmpwi r0, 0
-/* 8033C4D8 00338138 41 82 00 0C */ beq lbl_8033C4E4
-/* 8033C4DC 0033813C 7C 03 03 78 */ mr r3, r0
-/* 8033C4E0 00338140 48 00 01 94 */ b lbl_8033C674
-lbl_8033C4E4:
-/* 8033C4E4 00338144 80 03 00 60 */ lwz r0, 0x60(r3)
-/* 8033C4E8 00338148 2C 00 00 00 */ cmpwi r0, 0
-/* 8033C4EC 0033814C 40 82 00 D0 */ bne lbl_8033C5BC
-/* 8033C4F0 00338150 48 00 07 C5 */ bl func_8033CCB4
-/* 8033C4F4 00338154 38 00 00 02 */ li r0, 2
-/* 8033C4F8 00338158 38 A0 00 00 */ li r5, 0
-/* 8033C4FC 0033815C 38 60 00 00 */ li r3, 0
-/* 8033C500 00338160 7C 09 03 A6 */ mtctr r0
-lbl_8033C504:
-/* 8033C504 00338164 7C 9E 2A 14 */ add r4, r30, r5
-/* 8033C508 00338168 38 A5 00 08 */ addi r5, r5, 8
-/* 8033C50C 0033816C 98 64 00 1E */ stb r3, 0x1e(r4)
-/* 8033C510 00338170 98 64 00 1F */ stb r3, 0x1f(r4)
-/* 8033C514 00338174 98 64 00 20 */ stb r3, 0x20(r4)
-/* 8033C518 00338178 98 64 00 21 */ stb r3, 0x21(r4)
-/* 8033C51C 0033817C 98 64 00 22 */ stb r3, 0x22(r4)
-/* 8033C520 00338180 98 64 00 23 */ stb r3, 0x23(r4)
-/* 8033C524 00338184 98 64 00 24 */ stb r3, 0x24(r4)
-/* 8033C528 00338188 98 64 00 25 */ stb r3, 0x25(r4)
-/* 8033C52C 0033818C 7C 9E 2A 14 */ add r4, r30, r5
-/* 8033C530 00338190 38 A5 00 08 */ addi r5, r5, 8
-/* 8033C534 00338194 98 64 00 1E */ stb r3, 0x1e(r4)
-/* 8033C538 00338198 98 64 00 1F */ stb r3, 0x1f(r4)
-/* 8033C53C 0033819C 98 64 00 20 */ stb r3, 0x20(r4)
-/* 8033C540 003381A0 98 64 00 21 */ stb r3, 0x21(r4)
-/* 8033C544 003381A4 98 64 00 22 */ stb r3, 0x22(r4)
-/* 8033C548 003381A8 98 64 00 23 */ stb r3, 0x23(r4)
-/* 8033C54C 003381AC 98 64 00 24 */ stb r3, 0x24(r4)
-/* 8033C550 003381B0 98 64 00 25 */ stb r3, 0x25(r4)
-/* 8033C554 003381B4 7C 9E 2A 14 */ add r4, r30, r5
-/* 8033C558 003381B8 38 A5 00 08 */ addi r5, r5, 8
-/* 8033C55C 003381BC 98 64 00 1E */ stb r3, 0x1e(r4)
-/* 8033C560 003381C0 98 64 00 1F */ stb r3, 0x1f(r4)
-/* 8033C564 003381C4 98 64 00 20 */ stb r3, 0x20(r4)
-/* 8033C568 003381C8 98 64 00 21 */ stb r3, 0x21(r4)
-/* 8033C56C 003381CC 98 64 00 22 */ stb r3, 0x22(r4)
-/* 8033C570 003381D0 98 64 00 23 */ stb r3, 0x23(r4)
-/* 8033C574 003381D4 98 64 00 24 */ stb r3, 0x24(r4)
-/* 8033C578 003381D8 98 64 00 25 */ stb r3, 0x25(r4)
-/* 8033C57C 003381DC 7C 9E 2A 14 */ add r4, r30, r5
-/* 8033C580 003381E0 38 A5 00 08 */ addi r5, r5, 8
-/* 8033C584 003381E4 98 64 00 1E */ stb r3, 0x1e(r4)
-/* 8033C588 003381E8 98 64 00 1F */ stb r3, 0x1f(r4)
-/* 8033C58C 003381EC 98 64 00 20 */ stb r3, 0x20(r4)
-/* 8033C590 003381F0 98 64 00 21 */ stb r3, 0x21(r4)
-/* 8033C594 003381F4 98 64 00 22 */ stb r3, 0x22(r4)
-/* 8033C598 003381F8 98 64 00 23 */ stb r3, 0x23(r4)
-/* 8033C59C 003381FC 98 64 00 24 */ stb r3, 0x24(r4)
-/* 8033C5A0 00338200 98 64 00 25 */ stb r3, 0x25(r4)
-/* 8033C5A4 00338204 42 00 FF 60 */ bdnz lbl_8033C504
-/* 8033C5A8 00338208 38 60 00 00 */ li r3, 0
-/* 8033C5AC 0033820C 38 00 00 01 */ li r0, 1
-/* 8033C5B0 00338210 90 7E 00 14 */ stw r3, 0x14(r30)
-/* 8033C5B4 00338214 90 7E 00 18 */ stw r3, 0x18(r30)
-/* 8033C5B8 00338218 90 1E 00 60 */ stw r0, 0x60(r30)
-lbl_8033C5BC:
-/* 8033C5BC 0033821C 38 00 00 04 */ li r0, 4
-/* 8033C5C0 00338220 38 80 00 00 */ li r4, 0
-/* 8033C5C4 00338224 7C 09 03 A6 */ mtctr r0
-lbl_8033C5C8:
-/* 8033C5C8 00338228 54 83 00 3A */ rlwinm r3, r4, 0, 0, 0x1d
-/* 8033C5CC 0033822C 54 80 07 BE */ clrlwi r0, r4, 0x1e
-/* 8033C5D0 00338230 20 00 00 03 */ subfic r0, r0, 3
-/* 8033C5D4 00338234 7C DE 18 2E */ lwzx r6, r30, r3
-/* 8033C5D8 00338238 54 00 18 38 */ slwi r0, r0, 3
-/* 8033C5DC 0033823C 38 A4 00 01 */ addi r5, r4, 1
-/* 8033C5E0 00338240 7C C8 04 30 */ srw r8, r6, r0
-/* 8033C5E4 00338244 7C 7F 22 14 */ add r3, r31, r4
-/* 8033C5E8 00338248 7D 1F 21 AE */ stbx r8, r31, r4
-/* 8033C5EC 0033824C 54 A0 07 BE */ clrlwi r0, r5, 0x1e
-/* 8033C5F0 00338250 54 A8 00 3A */ rlwinm r8, r5, 0, 0, 0x1d
-/* 8033C5F4 00338254 38 E4 00 02 */ addi r7, r4, 2
-/* 8033C5F8 00338258 20 00 00 03 */ subfic r0, r0, 3
-/* 8033C5FC 0033825C 7D 3E 40 2E */ lwzx r9, r30, r8
-/* 8033C600 00338260 54 08 18 38 */ slwi r8, r0, 3
-/* 8033C604 00338264 38 C4 00 03 */ addi r6, r4, 3
-/* 8033C608 00338268 7D 28 44 30 */ srw r8, r9, r8
-/* 8033C60C 0033826C 38 A4 00 04 */ addi r5, r4, 4
-/* 8033C610 00338270 99 03 00 01 */ stb r8, 1(r3)
-/* 8033C614 00338274 54 E0 07 BE */ clrlwi r0, r7, 0x1e
-/* 8033C618 00338278 54 E9 00 3A */ rlwinm r9, r7, 0, 0, 0x1d
-/* 8033C61C 0033827C 54 C7 00 3A */ rlwinm r7, r6, 0, 0, 0x1d
-/* 8033C620 00338280 21 00 00 03 */ subfic r8, r0, 3
-/* 8033C624 00338284 7D 3E 48 2E */ lwzx r9, r30, r9
-/* 8033C628 00338288 55 08 18 38 */ slwi r8, r8, 3
-/* 8033C62C 0033828C 54 C0 07 BE */ clrlwi r0, r6, 0x1e
-/* 8033C630 00338290 7D 28 44 30 */ srw r8, r9, r8
-/* 8033C634 00338294 38 84 00 05 */ addi r4, r4, 5
-/* 8033C638 00338298 99 03 00 02 */ stb r8, 2(r3)
-/* 8033C63C 0033829C 20 C0 00 03 */ subfic r6, r0, 3
-/* 8033C640 003382A0 54 A0 07 BE */ clrlwi r0, r5, 0x1e
-/* 8033C644 003382A4 54 A5 00 3A */ rlwinm r5, r5, 0, 0, 0x1d
-/* 8033C648 003382A8 7C FE 38 2E */ lwzx r7, r30, r7
-/* 8033C64C 003382AC 54 C6 18 38 */ slwi r6, r6, 3
-/* 8033C650 003382B0 20 00 00 03 */ subfic r0, r0, 3
-/* 8033C654 003382B4 7C E6 34 30 */ srw r6, r7, r6
-/* 8033C658 003382B8 98 C3 00 03 */ stb r6, 3(r3)
-/* 8033C65C 003382BC 54 00 18 38 */ slwi r0, r0, 3
-/* 8033C660 003382C0 7C BE 28 2E */ lwzx r5, r30, r5
-/* 8033C664 003382C4 7C A0 04 30 */ srw r0, r5, r0
-/* 8033C668 003382C8 98 03 00 04 */ stb r0, 4(r3)
-/* 8033C66C 003382CC 42 00 FF 5C */ bdnz lbl_8033C5C8
-/* 8033C670 003382D0 38 60 00 00 */ li r3, 0
-lbl_8033C674:
-/* 8033C674 003382D4 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8033C678 003382D8 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8033C67C 003382DC 83 C1 00 08 */ lwz r30, 8(r1)
-/* 8033C680 003382E0 7C 08 03 A6 */ mtlr r0
-/* 8033C684 003382E4 38 21 00 10 */ addi r1, r1, 0x10
-/* 8033C688 003382E8 4E 80 00 20 */ blr
-
-.global func_8033C68C
-func_8033C68C:
-/* 8033C68C 003382EC 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 8033C690 003382F0 7C 08 02 A6 */ mflr r0
-/* 8033C694 003382F4 2C 05 00 00 */ cmpwi r5, 0
-/* 8033C698 003382F8 90 01 00 24 */ stw r0, 0x24(r1)
-/* 8033C69C 003382FC 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 8033C6A0 00338300 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 8033C6A4 00338304 7C BE 2B 78 */ mr r30, r5
-/* 8033C6A8 00338308 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 8033C6AC 0033830C 7C 9D 23 78 */ mr r29, r4
-/* 8033C6B0 00338310 93 81 00 10 */ stw r28, 0x10(r1)
-/* 8033C6B4 00338314 7C 7C 1B 78 */ mr r28, r3
-/* 8033C6B8 00338318 40 82 00 0C */ bne lbl_8033C6C4
-/* 8033C6BC 0033831C 38 60 00 00 */ li r3, 0
-/* 8033C6C0 00338320 48 00 00 C0 */ b lbl_8033C780
-lbl_8033C6C4:
-/* 8033C6C4 00338324 2C 03 00 00 */ cmpwi r3, 0
-/* 8033C6C8 00338328 41 82 00 0C */ beq lbl_8033C6D4
-/* 8033C6CC 0033832C 2C 04 00 00 */ cmpwi r4, 0
-/* 8033C6D0 00338330 40 82 00 0C */ bne lbl_8033C6DC
-lbl_8033C6D4:
-/* 8033C6D4 00338334 38 60 00 01 */ li r3, 1
-/* 8033C6D8 00338338 48 00 00 A8 */ b lbl_8033C780
-lbl_8033C6DC:
-/* 8033C6DC 0033833C 80 03 00 60 */ lwz r0, 0x60(r3)
-/* 8033C6E0 00338340 2C 00 00 00 */ cmpwi r0, 0
-/* 8033C6E4 00338344 41 82 00 14 */ beq lbl_8033C6F8
-/* 8033C6E8 00338348 38 00 00 03 */ li r0, 3
-/* 8033C6EC 0033834C 90 03 00 64 */ stw r0, 0x64(r3)
-/* 8033C6F0 00338350 38 60 00 03 */ li r3, 3
-/* 8033C6F4 00338354 48 00 00 8C */ b lbl_8033C780
-lbl_8033C6F8:
-/* 8033C6F8 00338358 80 63 00 64 */ lwz r3, 0x64(r3)
-/* 8033C6FC 0033835C 2C 03 00 00 */ cmpwi r3, 0
-/* 8033C700 00338360 41 82 00 08 */ beq lbl_8033C708
-/* 8033C704 00338364 48 00 00 7C */ b lbl_8033C780
-lbl_8033C708:
-/* 8033C708 00338368 3B E0 00 01 */ li r31, 1
-/* 8033C70C 0033836C 48 00 00 58 */ b lbl_8033C764
-lbl_8033C710:
-/* 8033C710 00338370 A8 9C 00 1C */ lha r4, 0x1c(r28)
-/* 8033C714 00338374 88 1D 00 00 */ lbz r0, 0(r29)
-/* 8033C718 00338378 7C 7C 22 14 */ add r3, r28, r4
-/* 8033C71C 0033837C 38 84 00 01 */ addi r4, r4, 1
-/* 8033C720 00338380 98 03 00 1E */ stb r0, 0x1e(r3)
-/* 8033C724 00338384 80 1C 00 14 */ lwz r0, 0x14(r28)
-/* 8033C728 00338388 B0 9C 00 1C */ sth r4, 0x1c(r28)
-/* 8033C72C 0033838C 34 00 00 08 */ addic. r0, r0, 8
-/* 8033C730 00338390 90 1C 00 14 */ stw r0, 0x14(r28)
-/* 8033C734 00338394 40 82 00 18 */ bne lbl_8033C74C
-/* 8033C738 00338398 80 1C 00 18 */ lwz r0, 0x18(r28)
-/* 8033C73C 0033839C 34 00 00 01 */ addic. r0, r0, 1
-/* 8033C740 003383A0 90 1C 00 18 */ stw r0, 0x18(r28)
-/* 8033C744 003383A4 40 82 00 08 */ bne lbl_8033C74C
-/* 8033C748 003383A8 93 FC 00 64 */ stw r31, 0x64(r28)
-lbl_8033C74C:
-/* 8033C74C 003383AC A8 1C 00 1C */ lha r0, 0x1c(r28)
-/* 8033C750 003383B0 2C 00 00 40 */ cmpwi r0, 0x40
-/* 8033C754 003383B4 40 82 00 0C */ bne lbl_8033C760
-/* 8033C758 003383B8 7F 83 E3 78 */ mr r3, r28
-/* 8033C75C 003383BC 48 00 00 45 */ bl func_8033C7A0
-lbl_8033C760:
-/* 8033C760 003383C0 3B BD 00 01 */ addi r29, r29, 1
-lbl_8033C764:
-/* 8033C764 003383C4 2C 1E 00 00 */ cmpwi r30, 0
-/* 8033C768 003383C8 3B DE FF FF */ addi r30, r30, -1
-/* 8033C76C 003383CC 41 82 00 10 */ beq lbl_8033C77C
-/* 8033C770 003383D0 80 1C 00 64 */ lwz r0, 0x64(r28)
-/* 8033C774 003383D4 2C 00 00 00 */ cmpwi r0, 0
-/* 8033C778 003383D8 41 82 FF 98 */ beq lbl_8033C710
-lbl_8033C77C:
-/* 8033C77C 003383DC 38 60 00 00 */ li r3, 0
-lbl_8033C780:
-/* 8033C780 003383E0 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 8033C784 003383E4 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 8033C788 003383E8 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 8033C78C 003383EC 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 8033C790 003383F0 83 81 00 10 */ lwz r28, 0x10(r1)
-/* 8033C794 003383F4 7C 08 03 A6 */ mtlr r0
-/* 8033C798 003383F8 38 21 00 20 */ addi r1, r1, 0x20
-/* 8033C79C 003383FC 4E 80 00 20 */ blr
-
-.global func_8033C7A0
-func_8033C7A0:
-/* 8033C7A0 00338400 94 21 FE A0 */ stwu r1, -0x160(r1)
-/* 8033C7A4 00338404 7C 08 02 A6 */ mflr r0
-/* 8033C7A8 00338408 90 01 01 64 */ stw r0, 0x164(r1)
-/* 8033C7AC 0033840C 39 61 01 60 */ addi r11, r1, 0x160
-/* 8033C7B0 00338410 4B E8 A9 75 */ bl func_801C7124
-/* 8033C7B4 00338414 3C 80 80 40 */ lis r4, lbl_80400004@ha
-/* 8033C7B8 00338418 87 C4 25 50 */ lwzu r30, 0x2550(r4)
-/* 8033C7BC 0033841C 38 00 00 08 */ li r0, 8
-/* 8033C7C0 00338420 39 21 00 08 */ addi r9, r1, 8
-/* 8033C7C4 00338424 83 E4 00 04 */ lwz r31, lbl_80400004@l(r4)
-/* 8033C7C8 00338428 39 00 00 00 */ li r8, 0
-/* 8033C7CC 0033842C 81 84 00 08 */ lwz r12, 8(r4)
-/* 8033C7D0 00338430 81 64 00 0C */ lwz r11, 0xc(r4)
-/* 8033C7D4 00338434 7C 09 03 A6 */ mtctr r0
-lbl_8033C7D8:
-/* 8033C7D8 00338438 7D 43 42 14 */ add r10, r3, r8
-/* 8033C7DC 0033843C 39 08 00 04 */ addi r8, r8, 4
-/* 8033C7E0 00338440 88 EA 00 1E */ lbz r7, 0x1e(r10)
-/* 8033C7E4 00338444 88 AA 00 1F */ lbz r5, 0x1f(r10)
-/* 8033C7E8 00338448 54 E6 C0 0E */ slwi r6, r7, 0x18
-/* 8033C7EC 0033844C 88 8A 00 20 */ lbz r4, 0x20(r10)
-/* 8033C7F0 00338450 90 C9 00 00 */ stw r6, 0(r9)
-/* 8033C7F4 00338454 50 A6 82 1E */ rlwimi r6, r5, 0x10, 8, 0xf
-/* 8033C7F8 00338458 88 0A 00 21 */ lbz r0, 0x21(r10)
-/* 8033C7FC 0033845C 7D 43 42 14 */ add r10, r3, r8
-/* 8033C800 00338460 90 C9 00 00 */ stw r6, 0(r9)
-/* 8033C804 00338464 50 86 44 2E */ rlwimi r6, r4, 8, 0x10, 0x17
-/* 8033C808 00338468 88 EA 00 1E */ lbz r7, 0x1e(r10)
-/* 8033C80C 0033846C 7C C0 03 78 */ or r0, r6, r0
-/* 8033C810 00338470 90 C9 00 00 */ stw r6, 0(r9)
-/* 8033C814 00338474 39 08 00 04 */ addi r8, r8, 4
-/* 8033C818 00338478 88 AA 00 1F */ lbz r5, 0x1f(r10)
-/* 8033C81C 0033847C 54 E6 C0 0E */ slwi r6, r7, 0x18
-/* 8033C820 00338480 90 09 00 00 */ stw r0, 0(r9)
-/* 8033C824 00338484 88 8A 00 20 */ lbz r4, 0x20(r10)
-/* 8033C828 00338488 50 A6 82 1E */ rlwimi r6, r5, 0x10, 8, 0xf
-/* 8033C82C 0033848C 88 0A 00 21 */ lbz r0, 0x21(r10)
-/* 8033C830 00338490 50 86 44 2E */ rlwimi r6, r4, 8, 0x10, 0x17
-/* 8033C834 00338494 7C C0 03 78 */ or r0, r6, r0
-/* 8033C838 00338498 90 09 00 04 */ stw r0, 4(r9)
-/* 8033C83C 0033849C 39 29 00 08 */ addi r9, r9, 8
-/* 8033C840 003384A0 42 00 FF 98 */ bdnz lbl_8033C7D8
-/* 8033C844 003384A4 38 00 00 10 */ li r0, 0x10
-/* 8033C848 003384A8 38 E1 00 48 */ addi r7, r1, 0x48
-/* 8033C84C 003384AC 7C 09 03 A6 */ mtctr r0
-lbl_8033C850:
-/* 8033C850 003384B0 80 C7 FF C0 */ lwz r6, -0x40(r7)
-/* 8033C854 003384B4 80 A7 FF C8 */ lwz r5, -0x38(r7)
-/* 8033C858 003384B8 80 87 FF F4 */ lwz r4, -0xc(r7)
-/* 8033C85C 003384BC 80 07 FF E0 */ lwz r0, -0x20(r7)
-/* 8033C860 003384C0 7C C5 2A 78 */ xor r5, r6, r5
-/* 8033C864 003384C4 7C 80 02 78 */ xor r0, r4, r0
-/* 8033C868 003384C8 7C A0 02 78 */ xor r0, r5, r0
-/* 8033C86C 003384CC 54 00 08 3E */ rotlwi r0, r0, 1
-/* 8033C870 003384D0 90 07 00 00 */ stw r0, 0(r7)
-/* 8033C874 003384D4 80 C7 FF C4 */ lwz r6, -0x3c(r7)
-/* 8033C878 003384D8 80 A7 FF CC */ lwz r5, -0x34(r7)
-/* 8033C87C 003384DC 80 87 FF F8 */ lwz r4, -8(r7)
-/* 8033C880 003384E0 80 07 FF E4 */ lwz r0, -0x1c(r7)
-/* 8033C884 003384E4 7C C5 2A 78 */ xor r5, r6, r5
-/* 8033C888 003384E8 7C 80 02 78 */ xor r0, r4, r0
-/* 8033C88C 003384EC 7C A0 02 78 */ xor r0, r5, r0
-/* 8033C890 003384F0 54 00 08 3E */ rotlwi r0, r0, 1
-/* 8033C894 003384F4 90 07 00 04 */ stw r0, 4(r7)
-/* 8033C898 003384F8 80 C7 FF C8 */ lwz r6, -0x38(r7)
-/* 8033C89C 003384FC 80 A7 FF D0 */ lwz r5, -0x30(r7)
-/* 8033C8A0 00338500 80 87 FF FC */ lwz r4, -4(r7)
-/* 8033C8A4 00338504 80 07 FF E8 */ lwz r0, -0x18(r7)
-/* 8033C8A8 00338508 7C C5 2A 78 */ xor r5, r6, r5
-/* 8033C8AC 0033850C 7C 80 02 78 */ xor r0, r4, r0
-/* 8033C8B0 00338510 7C A0 02 78 */ xor r0, r5, r0
-/* 8033C8B4 00338514 54 00 08 3E */ rotlwi r0, r0, 1
-/* 8033C8B8 00338518 90 07 00 08 */ stw r0, 8(r7)
-/* 8033C8BC 0033851C 80 C7 FF CC */ lwz r6, -0x34(r7)
-/* 8033C8C0 00338520 80 A7 FF D4 */ lwz r5, -0x2c(r7)
-/* 8033C8C4 00338524 80 87 00 00 */ lwz r4, 0(r7)
-/* 8033C8C8 00338528 80 07 FF EC */ lwz r0, -0x14(r7)
-/* 8033C8CC 0033852C 7C C5 2A 78 */ xor r5, r6, r5
-/* 8033C8D0 00338530 7C 80 02 78 */ xor r0, r4, r0
-/* 8033C8D4 00338534 7C A0 02 78 */ xor r0, r5, r0
-/* 8033C8D8 00338538 54 00 08 3E */ rotlwi r0, r0, 1
-/* 8033C8DC 0033853C 90 07 00 0C */ stw r0, 0xc(r7)
-/* 8033C8E0 00338540 38 E7 00 10 */ addi r7, r7, 0x10
-/* 8033C8E4 00338544 42 00 FF 6C */ bdnz lbl_8033C850
-/* 8033C8E8 00338548 38 C0 00 04 */ li r6, 4
-/* 8033C8EC 0033854C 38 81 00 08 */ addi r4, r1, 8
-/* 8033C8F0 00338550 80 03 00 00 */ lwz r0, 0(r3)
-/* 8033C8F4 00338554 81 43 00 04 */ lwz r10, 4(r3)
-/* 8033C8F8 00338558 80 A3 00 08 */ lwz r5, 8(r3)
-/* 8033C8FC 0033855C 81 03 00 0C */ lwz r8, 0xc(r3)
-/* 8033C900 00338560 81 23 00 10 */ lwz r9, 0x10(r3)
-/* 8033C904 00338564 7C C9 03 A6 */ mtctr r6
-lbl_8033C908:
-/* 8033C908 00338568 7D 47 28 38 */ and r7, r10, r5
-/* 8033C90C 0033856C 7D 06 50 78 */ andc r6, r8, r10
-/* 8033C910 00338570 7C E6 33 78 */ or r6, r7, r6
-/* 8033C914 00338574 83 64 00 00 */ lwz r27, 0(r4)
-/* 8033C918 00338578 55 47 F0 3E */ rotlwi r7, r10, 0x1e
-/* 8033C91C 0033857C 54 0A 28 3E */ rotlwi r10, r0, 5
-/* 8033C920 00338580 7C C9 32 14 */ add r6, r9, r6
-/* 8033C924 00338584 7D 3E DA 14 */ add r9, r30, r27
-/* 8033C928 00338588 7C CA 32 14 */ add r6, r10, r6
-/* 8033C92C 0033858C 83 84 00 04 */ lwz r28, 4(r4)
-/* 8033C930 00338590 7F A9 32 14 */ add r29, r9, r6
-/* 8033C934 00338594 7C 09 38 38 */ and r9, r0, r7
-/* 8033C938 00338598 54 06 F0 3E */ rotlwi r6, r0, 0x1e
-/* 8033C93C 0033859C 7C A0 00 78 */ andc r0, r5, r0
-/* 8033C940 003385A0 7D 3B 03 78 */ or r27, r9, r0
-/* 8033C944 003385A4 57 AA 28 3E */ rotlwi r10, r29, 5
-/* 8033C948 003385A8 7D 08 DA 14 */ add r8, r8, r27
-/* 8033C94C 003385AC 80 04 00 08 */ lwz r0, 8(r4)
-/* 8033C950 003385B0 7D 0A 42 14 */ add r8, r10, r8
-/* 8033C954 003385B4 7F 7E E2 14 */ add r27, r30, r28
-/* 8033C958 003385B8 7F 5B 42 14 */ add r26, r27, r8
-/* 8033C95C 003385BC 57 A9 F0 3E */ rotlwi r9, r29, 0x1e
-/* 8033C960 003385C0 7F BB 30 38 */ and r27, r29, r6
-/* 8033C964 003385C4 7C E8 E8 78 */ andc r8, r7, r29
-/* 8033C968 003385C8 7F 7B 43 78 */ or r27, r27, r8
-/* 8033C96C 003385CC 7F BE 02 14 */ add r29, r30, r0
-/* 8033C970 003385D0 7C A5 DA 14 */ add r5, r5, r27
-/* 8033C974 003385D4 57 5C 28 3E */ rotlwi r28, r26, 5
-/* 8033C978 003385D8 7F 9C 2A 14 */ add r28, r28, r5
-/* 8033C97C 003385DC 81 44 00 0C */ lwz r10, 0xc(r4)
-/* 8033C980 003385E0 80 04 00 10 */ lwz r0, 0x10(r4)
-/* 8033C984 003385E4 7F 5B 48 38 */ and r27, r26, r9
-/* 8033C988 003385E8 7C C5 D0 78 */ andc r5, r6, r26
-/* 8033C98C 003385EC 57 48 F0 3E */ rotlwi r8, r26, 0x1e
-/* 8033C990 003385F0 7F 5D E2 14 */ add r26, r29, r28
-/* 8033C994 003385F4 7D 5E 52 14 */ add r10, r30, r10
-/* 8033C998 003385F8 7F 7D 2B 78 */ or r29, r27, r5
-/* 8033C99C 003385FC 7F 7E 02 14 */ add r27, r30, r0
-/* 8033C9A0 00338600 57 5C 28 3E */ rotlwi r28, r26, 5
-/* 8033C9A4 00338604 7F 45 40 38 */ and r5, r26, r8
-/* 8033C9A8 00338608 7C E7 EA 14 */ add r7, r7, r29
-/* 8033C9AC 0033860C 7D 20 D0 78 */ andc r0, r9, r26
-/* 8033C9B0 00338610 7C FC 3A 14 */ add r7, r28, r7
-/* 8033C9B4 00338614 38 84 00 14 */ addi r4, r4, 0x14
-/* 8033C9B8 00338618 7C A0 03 78 */ or r0, r5, r0
-/* 8033C9BC 0033861C 7D 4A 3A 14 */ add r10, r10, r7
-/* 8033C9C0 00338620 55 45 28 3E */ rotlwi r5, r10, 5
-/* 8033C9C4 00338624 7C 06 02 14 */ add r0, r6, r0
-/* 8033C9C8 00338628 7C 05 02 14 */ add r0, r5, r0
-/* 8033C9CC 0033862C 57 45 F0 3E */ rotlwi r5, r26, 0x1e
-/* 8033C9D0 00338630 7C 1B 02 14 */ add r0, r27, r0
-/* 8033C9D4 00338634 42 00 FF 34 */ bdnz lbl_8033C908
-/* 8033C9D8 00338638 38 C0 00 04 */ li r6, 4
-/* 8033C9DC 0033863C 38 81 00 58 */ addi r4, r1, 0x58
-/* 8033C9E0 00338640 7C C9 03 A6 */ mtctr r6
-lbl_8033C9E4:
-/* 8033C9E4 00338644 7D 06 52 78 */ xor r6, r8, r10
-/* 8033C9E8 00338648 80 E4 00 00 */ lwz r7, 0(r4)
-/* 8033C9EC 0033864C 7C C6 2A 78 */ xor r6, r6, r5
-/* 8033C9F0 00338650 83 64 00 04 */ lwz r27, 4(r4)
-/* 8033C9F4 00338654 7C E7 4A 14 */ add r7, r7, r9
-/* 8033C9F8 00338658 54 09 28 3E */ rotlwi r9, r0, 5
-/* 8033C9FC 0033865C 7C DF 32 14 */ add r6, r31, r6
-/* 8033CA00 00338660 83 C4 00 08 */ lwz r30, 8(r4)
-/* 8033CA04 00338664 7C E7 32 14 */ add r7, r7, r6
-/* 8033CA08 00338668 7F 49 3A 14 */ add r26, r9, r7
-/* 8033CA0C 0033866C 55 46 F0 3E */ rotlwi r6, r10, 0x1e
-/* 8033CA10 00338670 7C A7 02 78 */ xor r7, r5, r0
-/* 8033CA14 00338674 7D 5F DA 14 */ add r10, r31, r27
-/* 8033CA18 00338678 7C E7 32 78 */ xor r7, r7, r6
-/* 8033CA1C 0033867C 57 49 28 3E */ rotlwi r9, r26, 5
-/* 8033CA20 00338680 7D 08 3A 14 */ add r8, r8, r7
-/* 8033CA24 00338684 54 00 F0 3E */ rotlwi r0, r0, 0x1e
-/* 8033CA28 00338688 7C C7 D2 78 */ xor r7, r6, r26
-/* 8033CA2C 0033868C 83 64 00 0C */ lwz r27, 0xc(r4)
-/* 8033CA30 00338690 7D 09 42 14 */ add r8, r9, r8
-/* 8033CA34 00338694 57 49 F0 3E */ rotlwi r9, r26, 0x1e
-/* 8033CA38 00338698 7F 4A 42 14 */ add r26, r10, r8
-/* 8033CA3C 0033869C 7C FD 02 78 */ xor r29, r7, r0
-/* 8033CA40 003386A0 7C A5 EA 14 */ add r5, r5, r29
-/* 8033CA44 003386A4 57 5C 28 3E */ rotlwi r28, r26, 5
-/* 8033CA48 003386A8 7C 07 D2 78 */ xor r7, r0, r26
-/* 8033CA4C 003386AC 7C EA 4A 78 */ xor r10, r7, r9
-/* 8033CA50 003386B0 80 E4 00 10 */ lwz r7, 0x10(r4)
-/* 8033CA54 003386B4 7F 9C 2A 14 */ add r28, r28, r5
-/* 8033CA58 003386B8 7F BF F2 14 */ add r29, r31, r30
-/* 8033CA5C 003386BC 7C A6 52 14 */ add r5, r6, r10
-/* 8033CA60 003386C0 57 48 F0 3E */ rotlwi r8, r26, 0x1e
-/* 8033CA64 003386C4 7F 5D E2 14 */ add r26, r29, r28
-/* 8033CA68 003386C8 7D 5F DA 14 */ add r10, r31, r27
-/* 8033CA6C 003386CC 57 5B 28 3E */ rotlwi r27, r26, 5
-/* 8033CA70 003386D0 7C DF 3A 14 */ add r6, r31, r7
-/* 8033CA74 003386D4 7C FB 2A 14 */ add r7, r27, r5
-/* 8033CA78 003386D8 7D 25 D2 78 */ xor r5, r9, r26
-/* 8033CA7C 003386DC 7D 4A 3A 14 */ add r10, r10, r7
-/* 8033CA80 003386E0 38 84 00 14 */ addi r4, r4, 0x14
-/* 8033CA84 003386E4 7C A5 42 78 */ xor r5, r5, r8
-/* 8033CA88 003386E8 7C 00 2A 14 */ add r0, r0, r5
-/* 8033CA8C 003386EC 55 47 28 3E */ rotlwi r7, r10, 5
-/* 8033CA90 003386F0 7C 07 02 14 */ add r0, r7, r0
-/* 8033CA94 003386F4 57 45 F0 3E */ rotlwi r5, r26, 0x1e
-/* 8033CA98 003386F8 7C 06 02 14 */ add r0, r6, r0
-/* 8033CA9C 003386FC 42 00 FF 48 */ bdnz lbl_8033C9E4
-/* 8033CAA0 00338700 38 C0 00 04 */ li r6, 4
-/* 8033CAA4 00338704 38 81 00 A8 */ addi r4, r1, 0xa8
-/* 8033CAA8 00338708 7C C9 03 A6 */ mtctr r6
-lbl_8033CAAC:
-/* 8033CAAC 0033870C 7C BB 43 78 */ or r27, r5, r8
-/* 8033CAB0 00338710 55 47 F0 3E */ rotlwi r7, r10, 0x1e
-/* 8033CAB4 00338714 7D 4A D8 38 */ and r10, r10, r27
-/* 8033CAB8 00338718 7C BC 40 38 */ and r28, r5, r8
-/* 8033CABC 0033871C 7F 9D 53 78 */ or r29, r28, r10
-/* 8033CAC0 00338720 83 C4 00 00 */ lwz r30, 0(r4)
-/* 8033CAC4 00338724 7C EA 2B 78 */ or r10, r7, r5
-/* 8033CAC8 00338728 54 1B 28 3E */ rotlwi r27, r0, 5
-/* 8033CACC 0033872C 7D 29 EA 14 */ add r9, r9, r29
-/* 8033CAD0 00338730 7F 8C F2 14 */ add r28, r12, r30
-/* 8033CAD4 00338734 7D 3B 4A 14 */ add r9, r27, r9
-/* 8033CAD8 00338738 7C FB 28 38 */ and r27, r7, r5
-/* 8033CADC 0033873C 7F FC 4A 14 */ add r31, r28, r9
-/* 8033CAE0 00338740 7C 0A 50 38 */ and r10, r0, r10
-/* 8033CAE4 00338744 7F 7D 53 78 */ or r29, r27, r10
-/* 8033CAE8 00338748 54 06 F0 3E */ rotlwi r6, r0, 0x1e
-/* 8033CAEC 0033874C 83 C4 00 04 */ lwz r30, 4(r4)
-/* 8033CAF0 00338750 7C C0 3B 78 */ or r0, r6, r7
-/* 8033CAF4 00338754 57 FC 28 3E */ rotlwi r28, r31, 5
-/* 8033CAF8 00338758 7D 08 EA 14 */ add r8, r8, r29
-/* 8033CAFC 0033875C 7D 4C F2 14 */ add r10, r12, r30
-/* 8033CB00 00338760 7F E0 00 38 */ and r0, r31, r0
-/* 8033CB04 00338764 7D 1C 42 14 */ add r8, r28, r8
-/* 8033CB08 00338768 7C DC 38 38 */ and r28, r6, r7
-/* 8033CB0C 0033876C 7F 4A 42 14 */ add r26, r10, r8
-/* 8033CB10 00338770 57 E9 F0 3E */ rotlwi r9, r31, 0x1e
-/* 8033CB14 00338774 7F 9D 03 78 */ or r29, r28, r0
-/* 8033CB18 00338778 83 64 00 08 */ lwz r27, 8(r4)
-/* 8033CB1C 0033877C 7C A5 EA 14 */ add r5, r5, r29
-/* 8033CB20 00338780 57 5F 28 3E */ rotlwi r31, r26, 5
-/* 8033CB24 00338784 83 C4 00 0C */ lwz r30, 0xc(r4)
-/* 8033CB28 00338788 7D 20 33 78 */ or r0, r9, r6
-/* 8033CB2C 0033878C 7F FF 2A 14 */ add r31, r31, r5
-/* 8033CB30 00338790 7F 8C DA 14 */ add r28, r12, r27
-/* 8033CB34 00338794 7F 7C FA 14 */ add r27, r28, r31
-/* 8033CB38 00338798 81 44 00 10 */ lwz r10, 0x10(r4)
-/* 8033CB3C 0033879C 7D 3D 30 38 */ and r29, r9, r6
-/* 8033CB40 003387A0 7F 45 00 38 */ and r5, r26, r0
-/* 8033CB44 003387A4 57 48 F0 3E */ rotlwi r8, r26, 0x1e
-/* 8033CB48 003387A8 57 7F 28 3E */ rotlwi r31, r27, 5
-/* 8033CB4C 003387AC 7F A5 2B 78 */ or r5, r29, r5
-/* 8033CB50 003387B0 7F CC F2 14 */ add r30, r12, r30
-/* 8033CB54 003387B4 7D 00 4B 78 */ or r0, r8, r9
-/* 8033CB58 003387B8 7D 1D 48 38 */ and r29, r8, r9
-/* 8033CB5C 003387BC 7C A7 2A 14 */ add r5, r7, r5
-/* 8033CB60 003387C0 38 84 00 14 */ addi r4, r4, 0x14
-/* 8033CB64 003387C4 7F 60 00 38 */ and r0, r27, r0
-/* 8033CB68 003387C8 7C FF 2A 14 */ add r7, r31, r5
-/* 8033CB6C 003387CC 7C AC 52 14 */ add r5, r12, r10
-/* 8033CB70 003387D0 7D 5E 3A 14 */ add r10, r30, r7
-/* 8033CB74 003387D4 7F A0 03 78 */ or r0, r29, r0
-/* 8033CB78 003387D8 55 47 28 3E */ rotlwi r7, r10, 5
-/* 8033CB7C 003387DC 7C 06 02 14 */ add r0, r6, r0
-/* 8033CB80 003387E0 7C 07 02 14 */ add r0, r7, r0
-/* 8033CB84 003387E4 7C 05 02 14 */ add r0, r5, r0
-/* 8033CB88 003387E8 57 65 F0 3E */ rotlwi r5, r27, 0x1e
-/* 8033CB8C 003387EC 42 00 FF 20 */ bdnz lbl_8033CAAC
-/* 8033CB90 003387F0 38 C0 00 04 */ li r6, 4
-/* 8033CB94 003387F4 38 81 00 F8 */ addi r4, r1, 0xf8
-/* 8033CB98 003387F8 7C C9 03 A6 */ mtctr r6
-lbl_8033CB9C:
-/* 8033CB9C 003387FC 7D 06 52 78 */ xor r6, r8, r10
-/* 8033CBA0 00338800 80 E4 00 00 */ lwz r7, 0(r4)
-/* 8033CBA4 00338804 7C C6 2A 78 */ xor r6, r6, r5
-/* 8033CBA8 00338808 81 84 00 04 */ lwz r12, 4(r4)
-/* 8033CBAC 0033880C 7C E7 4A 14 */ add r7, r7, r9
-/* 8033CBB0 00338810 54 09 28 3E */ rotlwi r9, r0, 5
-/* 8033CBB4 00338814 7C CB 32 14 */ add r6, r11, r6
-/* 8033CBB8 00338818 83 A4 00 08 */ lwz r29, 8(r4)
-/* 8033CBBC 0033881C 7C E7 32 14 */ add r7, r7, r6
-/* 8033CBC0 00338820 7F 69 3A 14 */ add r27, r9, r7
-/* 8033CBC4 00338824 55 46 F0 3E */ rotlwi r6, r10, 0x1e
-/* 8033CBC8 00338828 7C A7 02 78 */ xor r7, r5, r0
-/* 8033CBCC 0033882C 7D 4B 62 14 */ add r10, r11, r12
-/* 8033CBD0 00338830 7C E7 32 78 */ xor r7, r7, r6
-/* 8033CBD4 00338834 57 69 28 3E */ rotlwi r9, r27, 5
-/* 8033CBD8 00338838 7D 08 3A 14 */ add r8, r8, r7
-/* 8033CBDC 0033883C 54 00 F0 3E */ rotlwi r0, r0, 0x1e
-/* 8033CBE0 00338840 7C C7 DA 78 */ xor r7, r6, r27
-/* 8033CBE4 00338844 81 84 00 0C */ lwz r12, 0xc(r4)
-/* 8033CBE8 00338848 7D 09 42 14 */ add r8, r9, r8
-/* 8033CBEC 0033884C 57 69 F0 3E */ rotlwi r9, r27, 0x1e
-/* 8033CBF0 00338850 7F 6A 42 14 */ add r27, r10, r8
-/* 8033CBF4 00338854 7C FF 02 78 */ xor r31, r7, r0
-/* 8033CBF8 00338858 7C A5 FA 14 */ add r5, r5, r31
-/* 8033CBFC 0033885C 57 7E 28 3E */ rotlwi r30, r27, 5
-/* 8033CC00 00338860 7C 07 DA 78 */ xor r7, r0, r27
-/* 8033CC04 00338864 7C EA 4A 78 */ xor r10, r7, r9
-/* 8033CC08 00338868 80 E4 00 10 */ lwz r7, 0x10(r4)
-/* 8033CC0C 0033886C 7F DE 2A 14 */ add r30, r30, r5
-/* 8033CC10 00338870 7F EB EA 14 */ add r31, r11, r29
-/* 8033CC14 00338874 7C A6 52 14 */ add r5, r6, r10
-/* 8033CC18 00338878 57 68 F0 3E */ rotlwi r8, r27, 0x1e
-/* 8033CC1C 0033887C 7F 7F F2 14 */ add r27, r31, r30
-/* 8033CC20 00338880 7D 4B 62 14 */ add r10, r11, r12
-/* 8033CC24 00338884 57 6C 28 3E */ rotlwi r12, r27, 5
-/* 8033CC28 00338888 7C CB 3A 14 */ add r6, r11, r7
-/* 8033CC2C 0033888C 7C EC 2A 14 */ add r7, r12, r5
-/* 8033CC30 00338890 7D 25 DA 78 */ xor r5, r9, r27
-/* 8033CC34 00338894 7D 4A 3A 14 */ add r10, r10, r7
-/* 8033CC38 00338898 38 84 00 14 */ addi r4, r4, 0x14
-/* 8033CC3C 0033889C 7C A5 42 78 */ xor r5, r5, r8
-/* 8033CC40 003388A0 7C 00 2A 14 */ add r0, r0, r5
-/* 8033CC44 003388A4 55 47 28 3E */ rotlwi r7, r10, 5
-/* 8033CC48 003388A8 7C 07 02 14 */ add r0, r7, r0
-/* 8033CC4C 003388AC 57 65 F0 3E */ rotlwi r5, r27, 0x1e
-/* 8033CC50 003388B0 7C 06 02 14 */ add r0, r6, r0
-/* 8033CC54 003388B4 42 00 FF 48 */ bdnz lbl_8033CB9C
-/* 8033CC58 003388B8 80 C3 00 00 */ lwz r6, 0(r3)
-/* 8033CC5C 003388BC 38 80 00 00 */ li r4, 0
-/* 8033CC60 003388C0 81 63 00 04 */ lwz r11, 4(r3)
-/* 8033CC64 003388C4 7D 86 02 14 */ add r12, r6, r0
-/* 8033CC68 003388C8 80 E3 00 08 */ lwz r7, 8(r3)
-/* 8033CC6C 003388CC 80 03 00 10 */ lwz r0, 0x10(r3)
-/* 8033CC70 003388D0 7D 4B 52 14 */ add r10, r11, r10
-/* 8033CC74 003388D4 7C E7 2A 14 */ add r7, r7, r5
-/* 8033CC78 003388D8 80 C3 00 0C */ lwz r6, 0xc(r3)
-/* 8033CC7C 003388DC 7C 00 4A 14 */ add r0, r0, r9
-/* 8033CC80 003388E0 91 83 00 00 */ stw r12, 0(r3)
-/* 8033CC84 003388E4 7C A6 42 14 */ add r5, r6, r8
-/* 8033CC88 003388E8 39 61 01 60 */ addi r11, r1, 0x160
-/* 8033CC8C 003388EC 91 43 00 04 */ stw r10, 4(r3)
-/* 8033CC90 003388F0 90 E3 00 08 */ stw r7, 8(r3)
-/* 8033CC94 003388F4 90 A3 00 0C */ stw r5, 0xc(r3)
-/* 8033CC98 003388F8 90 03 00 10 */ stw r0, 0x10(r3)
-/* 8033CC9C 003388FC B0 83 00 1C */ sth r4, 0x1c(r3)
-/* 8033CCA0 00338900 4B E8 A4 D1 */ bl func_801C7170
-/* 8033CCA4 00338904 80 01 01 64 */ lwz r0, 0x164(r1)
-/* 8033CCA8 00338908 7C 08 03 A6 */ mtlr r0
-/* 8033CCAC 0033890C 38 21 01 60 */ addi r1, r1, 0x160
-/* 8033CCB0 00338910 4E 80 00 20 */ blr
-
-.global func_8033CCB4
-func_8033CCB4:
-/* 8033CCB4 00338914 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8033CCB8 00338918 7C 08 02 A6 */ mflr r0
-/* 8033CCBC 0033891C 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8033CCC0 00338920 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 8033CCC4 00338924 7C 7F 1B 78 */ mr r31, r3
-/* 8033CCC8 00338928 A8 A3 00 1C */ lha r5, 0x1c(r3)
-/* 8033CCCC 0033892C 2C 05 00 37 */ cmpwi r5, 0x37
-/* 8033CCD0 00338930 40 81 00 74 */ ble lbl_8033CD44
-/* 8033CCD4 00338934 7C 83 2A 14 */ add r4, r3, r5
-/* 8033CCD8 00338938 38 00 00 80 */ li r0, 0x80
-/* 8033CCDC 0033893C 98 04 00 1E */ stb r0, 0x1e(r4)
-/* 8033CCE0 00338940 38 05 00 01 */ addi r0, r5, 1
-/* 8033CCE4 00338944 38 C0 00 00 */ li r6, 0
-/* 8033CCE8 00338948 B0 03 00 1C */ sth r0, 0x1c(r3)
-/* 8033CCEC 0033894C 48 00 00 18 */ b lbl_8033CD04
-lbl_8033CCF0:
-/* 8033CCF0 00338950 A8 A3 00 1C */ lha r5, 0x1c(r3)
-/* 8033CCF4 00338954 7C 83 2A 14 */ add r4, r3, r5
-/* 8033CCF8 00338958 38 05 00 01 */ addi r0, r5, 1
-/* 8033CCFC 0033895C 98 C4 00 1E */ stb r6, 0x1e(r4)
-/* 8033CD00 00338960 B0 03 00 1C */ sth r0, 0x1c(r3)
-lbl_8033CD04:
-/* 8033CD04 00338964 A8 03 00 1C */ lha r0, 0x1c(r3)
-/* 8033CD08 00338968 2C 00 00 40 */ cmpwi r0, 0x40
-/* 8033CD0C 0033896C 41 80 FF E4 */ blt lbl_8033CCF0
-/* 8033CD10 00338970 7F E3 FB 78 */ mr r3, r31
-/* 8033CD14 00338974 4B FF FA 8D */ bl func_8033C7A0
-/* 8033CD18 00338978 38 A0 00 00 */ li r5, 0
-/* 8033CD1C 0033897C 48 00 00 18 */ b lbl_8033CD34
-lbl_8033CD20:
-/* 8033CD20 00338980 A8 9F 00 1C */ lha r4, 0x1c(r31)
-/* 8033CD24 00338984 7C 7F 22 14 */ add r3, r31, r4
-/* 8033CD28 00338988 38 04 00 01 */ addi r0, r4, 1
-/* 8033CD2C 0033898C 98 A3 00 1E */ stb r5, 0x1e(r3)
-/* 8033CD30 00338990 B0 1F 00 1C */ sth r0, 0x1c(r31)
-lbl_8033CD34:
-/* 8033CD34 00338994 A8 1F 00 1C */ lha r0, 0x1c(r31)
-/* 8033CD38 00338998 2C 00 00 38 */ cmpwi r0, 0x38
-/* 8033CD3C 0033899C 41 80 FF E4 */ blt lbl_8033CD20
-/* 8033CD40 003389A0 48 00 00 40 */ b lbl_8033CD80
-lbl_8033CD44:
-/* 8033CD44 003389A4 7C 83 2A 14 */ add r4, r3, r5
-/* 8033CD48 003389A8 38 00 00 80 */ li r0, 0x80
-/* 8033CD4C 003389AC 98 04 00 1E */ stb r0, 0x1e(r4)
-/* 8033CD50 003389B0 38 05 00 01 */ addi r0, r5, 1
-/* 8033CD54 003389B4 38 C0 00 00 */ li r6, 0
-/* 8033CD58 003389B8 B0 03 00 1C */ sth r0, 0x1c(r3)
-/* 8033CD5C 003389BC 48 00 00 18 */ b lbl_8033CD74
-lbl_8033CD60:
-/* 8033CD60 003389C0 A8 A3 00 1C */ lha r5, 0x1c(r3)
-/* 8033CD64 003389C4 7C 83 2A 14 */ add r4, r3, r5
-/* 8033CD68 003389C8 38 05 00 01 */ addi r0, r5, 1
-/* 8033CD6C 003389CC 98 C4 00 1E */ stb r6, 0x1e(r4)
-/* 8033CD70 003389D0 B0 03 00 1C */ sth r0, 0x1c(r3)
-lbl_8033CD74:
-/* 8033CD74 003389D4 A8 03 00 1C */ lha r0, 0x1c(r3)
-/* 8033CD78 003389D8 2C 00 00 38 */ cmpwi r0, 0x38
-/* 8033CD7C 003389DC 41 80 FF E4 */ blt lbl_8033CD60
-lbl_8033CD80:
-/* 8033CD80 003389E0 81 5F 00 18 */ lwz r10, 0x18(r31)
-/* 8033CD84 003389E4 7F E3 FB 78 */ mr r3, r31
-/* 8033CD88 003389E8 80 DF 00 14 */ lwz r6, 0x14(r31)
-/* 8033CD8C 003389EC 55 49 46 3E */ srwi r9, r10, 0x18
-/* 8033CD90 003389F0 55 48 86 3E */ rlwinm r8, r10, 0x10, 0x18, 0x1f
-/* 8033CD94 003389F4 55 47 C6 3E */ rlwinm r7, r10, 0x18, 0x18, 0x1f
-/* 8033CD98 003389F8 54 C5 46 3E */ srwi r5, r6, 0x18
-/* 8033CD9C 003389FC 54 C4 86 3E */ rlwinm r4, r6, 0x10, 0x18, 0x1f
-/* 8033CDA0 00338A00 54 C0 C6 3E */ rlwinm r0, r6, 0x18, 0x18, 0x1f
-/* 8033CDA4 00338A04 99 3F 00 56 */ stb r9, 0x56(r31)
-/* 8033CDA8 00338A08 99 1F 00 57 */ stb r8, 0x57(r31)
-/* 8033CDAC 00338A0C 98 FF 00 58 */ stb r7, 0x58(r31)
-/* 8033CDB0 00338A10 99 5F 00 59 */ stb r10, 0x59(r31)
-/* 8033CDB4 00338A14 98 BF 00 5A */ stb r5, 0x5a(r31)
-/* 8033CDB8 00338A18 98 9F 00 5B */ stb r4, 0x5b(r31)
-/* 8033CDBC 00338A1C 98 1F 00 5C */ stb r0, 0x5c(r31)
-/* 8033CDC0 00338A20 98 DF 00 5D */ stb r6, 0x5d(r31)
-/* 8033CDC4 00338A24 4B FF F9 DD */ bl func_8033C7A0
-/* 8033CDC8 00338A28 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8033CDCC 00338A2C 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8033CDD0 00338A30 7C 08 03 A6 */ mtlr r0
-/* 8033CDD4 00338A34 38 21 00 10 */ addi r1, r1, 0x10
-/* 8033CDD8 00338A38 4E 80 00 20 */ blr
-
.global func_8033CDDC
func_8033CDDC:
/* 8033CDDC 00338A3C 80 63 00 00 */ lwz r3, 0(r3)
@@ -25471,26 +24483,26 @@ func_803520FC: /* 80352108 0034DD68 93 E1 01 2C */ stw r31, 0x12c(r1)
/* 8035210C 0034DD6C 7C 7F 1B 78 */ mr r31, r3
/* 80352110 0034DD70 38 61 00 B8 */ addi r3, r1, 0xb8
-/* 80352114 0034DD74 4B FE A3 1D */ bl func_8033C430
+/* 80352114 0034DD74 4B FE A3 1D */ bl SHA1Reset
/* 80352118 0034DD78 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8035211C 0034DD7C 38 8D 93 98 */ addi r4, r13, lbl_8063E658-_SDA_BASE_
/* 80352120 0034DD80 38 A0 00 01 */ li r5, 1
-/* 80352124 0034DD84 4B FE A5 69 */ bl func_8033C68C
+/* 80352124 0034DD84 4B FE A5 69 */ bl SHA1Input
/* 80352128 0034DD88 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8035212C 0034DD8C 38 9F 06 A4 */ addi r4, r31, 0x6a4
/* 80352130 0034DD90 38 A0 00 30 */ li r5, 0x30
-/* 80352134 0034DD94 4B FE A5 59 */ bl func_8033C68C
+/* 80352134 0034DD94 4B FE A5 59 */ bl SHA1Input
/* 80352138 0034DD98 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8035213C 0034DD9C 38 9F 06 84 */ addi r4, r31, 0x684
/* 80352140 0034DDA0 38 A0 00 20 */ li r5, 0x20
-/* 80352144 0034DDA4 4B FE A5 49 */ bl func_8033C68C
+/* 80352144 0034DDA4 4B FE A5 49 */ bl SHA1Input
/* 80352148 0034DDA8 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8035214C 0034DDAC 38 9F 06 64 */ addi r4, r31, 0x664
/* 80352150 0034DDB0 38 A0 00 20 */ li r5, 0x20
-/* 80352154 0034DDB4 4B FE A5 39 */ bl func_8033C68C
+/* 80352154 0034DDB4 4B FE A5 39 */ bl SHA1Input
/* 80352158 0034DDB8 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8035215C 0034DDBC 38 81 00 08 */ addi r4, r1, 8
-/* 80352160 0034DDC0 4B FE A3 3D */ bl func_8033C49C
+/* 80352160 0034DDC0 4B FE A3 3D */ bl SHA1Result
/* 80352164 0034DDC4 38 61 00 60 */ addi r3, r1, 0x60
/* 80352168 0034DDC8 4B FE 4B 3D */ bl MD5Init
/* 8035216C 0034DDCC 38 61 00 60 */ addi r3, r1, 0x60
@@ -25505,26 +24517,26 @@ func_803520FC: /* 80352190 0034DDF0 38 81 00 60 */ addi r4, r1, 0x60
/* 80352194 0034DDF4 4B FE 4C 3D */ bl MD5Final
/* 80352198 0034DDF8 38 61 00 B8 */ addi r3, r1, 0xb8
-/* 8035219C 0034DDFC 4B FE A2 95 */ bl func_8033C430
+/* 8035219C 0034DDFC 4B FE A2 95 */ bl SHA1Reset
/* 803521A0 0034DE00 38 61 00 B8 */ addi r3, r1, 0xb8
/* 803521A4 0034DE04 38 8D 93 9C */ addi r4, r13, lbl_8063E65C-_SDA_BASE_
/* 803521A8 0034DE08 38 A0 00 02 */ li r5, 2
-/* 803521AC 0034DE0C 4B FE A4 E1 */ bl func_8033C68C
+/* 803521AC 0034DE0C 4B FE A4 E1 */ bl SHA1Input
/* 803521B0 0034DE10 38 61 00 B8 */ addi r3, r1, 0xb8
/* 803521B4 0034DE14 38 9F 06 A4 */ addi r4, r31, 0x6a4
/* 803521B8 0034DE18 38 A0 00 30 */ li r5, 0x30
-/* 803521BC 0034DE1C 4B FE A4 D1 */ bl func_8033C68C
+/* 803521BC 0034DE1C 4B FE A4 D1 */ bl SHA1Input
/* 803521C0 0034DE20 38 61 00 B8 */ addi r3, r1, 0xb8
/* 803521C4 0034DE24 38 9F 06 84 */ addi r4, r31, 0x684
/* 803521C8 0034DE28 38 A0 00 20 */ li r5, 0x20
-/* 803521CC 0034DE2C 4B FE A4 C1 */ bl func_8033C68C
+/* 803521CC 0034DE2C 4B FE A4 C1 */ bl SHA1Input
/* 803521D0 0034DE30 38 61 00 B8 */ addi r3, r1, 0xb8
/* 803521D4 0034DE34 38 9F 06 64 */ addi r4, r31, 0x664
/* 803521D8 0034DE38 38 A0 00 20 */ li r5, 0x20
-/* 803521DC 0034DE3C 4B FE A4 B1 */ bl func_8033C68C
+/* 803521DC 0034DE3C 4B FE A4 B1 */ bl SHA1Input
/* 803521E0 0034DE40 38 61 00 B8 */ addi r3, r1, 0xb8
/* 803521E4 0034DE44 38 81 00 08 */ addi r4, r1, 8
-/* 803521E8 0034DE48 4B FE A2 B5 */ bl func_8033C49C
+/* 803521E8 0034DE48 4B FE A2 B5 */ bl SHA1Result
/* 803521EC 0034DE4C 38 61 00 60 */ addi r3, r1, 0x60
/* 803521F0 0034DE50 4B FE 4A B5 */ bl MD5Init
/* 803521F4 0034DE54 38 61 00 60 */ addi r3, r1, 0x60
@@ -25539,26 +24551,26 @@ func_803520FC: /* 80352218 0034DE78 38 81 00 60 */ addi r4, r1, 0x60
/* 8035221C 0034DE7C 4B FE 4B B5 */ bl MD5Final
/* 80352220 0034DE80 38 61 00 B8 */ addi r3, r1, 0xb8
-/* 80352224 0034DE84 4B FE A2 0D */ bl func_8033C430
+/* 80352224 0034DE84 4B FE A2 0D */ bl SHA1Reset
/* 80352228 0034DE88 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8035222C 0034DE8C 38 8D 93 A0 */ addi r4, r13, lbl_8063E660-_SDA_BASE_
/* 80352230 0034DE90 38 A0 00 03 */ li r5, 3
-/* 80352234 0034DE94 4B FE A4 59 */ bl func_8033C68C
+/* 80352234 0034DE94 4B FE A4 59 */ bl SHA1Input
/* 80352238 0034DE98 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8035223C 0034DE9C 38 9F 06 A4 */ addi r4, r31, 0x6a4
/* 80352240 0034DEA0 38 A0 00 30 */ li r5, 0x30
-/* 80352244 0034DEA4 4B FE A4 49 */ bl func_8033C68C
+/* 80352244 0034DEA4 4B FE A4 49 */ bl SHA1Input
/* 80352248 0034DEA8 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8035224C 0034DEAC 38 9F 06 84 */ addi r4, r31, 0x684
/* 80352250 0034DEB0 38 A0 00 20 */ li r5, 0x20
-/* 80352254 0034DEB4 4B FE A4 39 */ bl func_8033C68C
+/* 80352254 0034DEB4 4B FE A4 39 */ bl SHA1Input
/* 80352258 0034DEB8 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8035225C 0034DEBC 38 9F 06 64 */ addi r4, r31, 0x664
/* 80352260 0034DEC0 38 A0 00 20 */ li r5, 0x20
-/* 80352264 0034DEC4 4B FE A4 29 */ bl func_8033C68C
+/* 80352264 0034DEC4 4B FE A4 29 */ bl SHA1Input
/* 80352268 0034DEC8 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8035226C 0034DECC 38 81 00 08 */ addi r4, r1, 8
-/* 80352270 0034DED0 4B FE A2 2D */ bl func_8033C49C
+/* 80352270 0034DED0 4B FE A2 2D */ bl SHA1Result
/* 80352274 0034DED4 38 61 00 60 */ addi r3, r1, 0x60
/* 80352278 0034DED8 4B FE 4A 2D */ bl MD5Init
/* 8035227C 0034DEDC 38 61 00 60 */ addi r3, r1, 0x60
@@ -25573,26 +24585,26 @@ func_803520FC: /* 803522A0 0034DF00 38 81 00 60 */ addi r4, r1, 0x60
/* 803522A4 0034DF04 4B FE 4B 2D */ bl MD5Final
/* 803522A8 0034DF08 38 61 00 B8 */ addi r3, r1, 0xb8
-/* 803522AC 0034DF0C 4B FE A1 85 */ bl func_8033C430
+/* 803522AC 0034DF0C 4B FE A1 85 */ bl SHA1Reset
/* 803522B0 0034DF10 38 61 00 B8 */ addi r3, r1, 0xb8
/* 803522B4 0034DF14 38 8D 93 98 */ addi r4, r13, lbl_8063E658-_SDA_BASE_
/* 803522B8 0034DF18 38 A0 00 01 */ li r5, 1
-/* 803522BC 0034DF1C 4B FE A3 D1 */ bl func_8033C68C
+/* 803522BC 0034DF1C 4B FE A3 D1 */ bl SHA1Input
/* 803522C0 0034DF20 38 61 00 B8 */ addi r3, r1, 0xb8
/* 803522C4 0034DF24 38 9F 06 D4 */ addi r4, r31, 0x6d4
/* 803522C8 0034DF28 38 A0 00 30 */ li r5, 0x30
-/* 803522CC 0034DF2C 4B FE A3 C1 */ bl func_8033C68C
+/* 803522CC 0034DF2C 4B FE A3 C1 */ bl SHA1Input
/* 803522D0 0034DF30 38 61 00 B8 */ addi r3, r1, 0xb8
/* 803522D4 0034DF34 38 9F 06 64 */ addi r4, r31, 0x664
/* 803522D8 0034DF38 38 A0 00 20 */ li r5, 0x20
-/* 803522DC 0034DF3C 4B FE A3 B1 */ bl func_8033C68C
+/* 803522DC 0034DF3C 4B FE A3 B1 */ bl SHA1Input
/* 803522E0 0034DF40 38 61 00 B8 */ addi r3, r1, 0xb8
/* 803522E4 0034DF44 38 9F 06 84 */ addi r4, r31, 0x684
/* 803522E8 0034DF48 38 A0 00 20 */ li r5, 0x20
-/* 803522EC 0034DF4C 4B FE A3 A1 */ bl func_8033C68C
+/* 803522EC 0034DF4C 4B FE A3 A1 */ bl SHA1Input
/* 803522F0 0034DF50 38 61 00 B8 */ addi r3, r1, 0xb8
/* 803522F4 0034DF54 38 81 00 08 */ addi r4, r1, 8
-/* 803522F8 0034DF58 4B FE A1 A5 */ bl func_8033C49C
+/* 803522F8 0034DF58 4B FE A1 A5 */ bl SHA1Result
/* 803522FC 0034DF5C 38 61 00 60 */ addi r3, r1, 0x60
/* 80352300 0034DF60 4B FE 49 A5 */ bl MD5Init
/* 80352304 0034DF64 38 61 00 60 */ addi r3, r1, 0x60
@@ -25607,26 +24619,26 @@ func_803520FC: /* 80352328 0034DF88 38 81 00 60 */ addi r4, r1, 0x60
/* 8035232C 0034DF8C 4B FE 4A A5 */ bl MD5Final
/* 80352330 0034DF90 38 61 00 B8 */ addi r3, r1, 0xb8
-/* 80352334 0034DF94 4B FE A0 FD */ bl func_8033C430
+/* 80352334 0034DF94 4B FE A0 FD */ bl SHA1Reset
/* 80352338 0034DF98 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8035233C 0034DF9C 38 8D 93 9C */ addi r4, r13, lbl_8063E65C-_SDA_BASE_
/* 80352340 0034DFA0 38 A0 00 02 */ li r5, 2
-/* 80352344 0034DFA4 4B FE A3 49 */ bl func_8033C68C
+/* 80352344 0034DFA4 4B FE A3 49 */ bl SHA1Input
/* 80352348 0034DFA8 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8035234C 0034DFAC 38 9F 06 D4 */ addi r4, r31, 0x6d4
/* 80352350 0034DFB0 38 A0 00 30 */ li r5, 0x30
-/* 80352354 0034DFB4 4B FE A3 39 */ bl func_8033C68C
+/* 80352354 0034DFB4 4B FE A3 39 */ bl SHA1Input
/* 80352358 0034DFB8 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8035235C 0034DFBC 38 9F 06 64 */ addi r4, r31, 0x664
/* 80352360 0034DFC0 38 A0 00 20 */ li r5, 0x20
-/* 80352364 0034DFC4 4B FE A3 29 */ bl func_8033C68C
+/* 80352364 0034DFC4 4B FE A3 29 */ bl SHA1Input
/* 80352368 0034DFC8 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8035236C 0034DFCC 38 9F 06 84 */ addi r4, r31, 0x684
/* 80352370 0034DFD0 38 A0 00 20 */ li r5, 0x20
-/* 80352374 0034DFD4 4B FE A3 19 */ bl func_8033C68C
+/* 80352374 0034DFD4 4B FE A3 19 */ bl SHA1Input
/* 80352378 0034DFD8 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8035237C 0034DFDC 38 81 00 08 */ addi r4, r1, 8
-/* 80352380 0034DFE0 4B FE A1 1D */ bl func_8033C49C
+/* 80352380 0034DFE0 4B FE A1 1D */ bl SHA1Result
/* 80352384 0034DFE4 38 61 00 60 */ addi r3, r1, 0x60
/* 80352388 0034DFE8 4B FE 49 1D */ bl MD5Init
/* 8035238C 0034DFEC 38 61 00 60 */ addi r3, r1, 0x60
@@ -25641,26 +24653,26 @@ func_803520FC: /* 803523B0 0034E010 38 81 00 60 */ addi r4, r1, 0x60
/* 803523B4 0034E014 4B FE 4A 1D */ bl MD5Final
/* 803523B8 0034E018 38 61 00 B8 */ addi r3, r1, 0xb8
-/* 803523BC 0034E01C 4B FE A0 75 */ bl func_8033C430
+/* 803523BC 0034E01C 4B FE A0 75 */ bl SHA1Reset
/* 803523C0 0034E020 38 61 00 B8 */ addi r3, r1, 0xb8
/* 803523C4 0034E024 38 8D 93 A0 */ addi r4, r13, lbl_8063E660-_SDA_BASE_
/* 803523C8 0034E028 38 A0 00 03 */ li r5, 3
-/* 803523CC 0034E02C 4B FE A2 C1 */ bl func_8033C68C
+/* 803523CC 0034E02C 4B FE A2 C1 */ bl SHA1Input
/* 803523D0 0034E030 38 61 00 B8 */ addi r3, r1, 0xb8
/* 803523D4 0034E034 38 9F 06 D4 */ addi r4, r31, 0x6d4
/* 803523D8 0034E038 38 A0 00 30 */ li r5, 0x30
-/* 803523DC 0034E03C 4B FE A2 B1 */ bl func_8033C68C
+/* 803523DC 0034E03C 4B FE A2 B1 */ bl SHA1Input
/* 803523E0 0034E040 38 61 00 B8 */ addi r3, r1, 0xb8
/* 803523E4 0034E044 38 9F 06 64 */ addi r4, r31, 0x664
/* 803523E8 0034E048 38 A0 00 20 */ li r5, 0x20
-/* 803523EC 0034E04C 4B FE A2 A1 */ bl func_8033C68C
+/* 803523EC 0034E04C 4B FE A2 A1 */ bl SHA1Input
/* 803523F0 0034E050 38 61 00 B8 */ addi r3, r1, 0xb8
/* 803523F4 0034E054 38 9F 06 84 */ addi r4, r31, 0x684
/* 803523F8 0034E058 38 A0 00 20 */ li r5, 0x20
-/* 803523FC 0034E05C 4B FE A2 91 */ bl func_8033C68C
+/* 803523FC 0034E05C 4B FE A2 91 */ bl SHA1Input
/* 80352400 0034E060 38 61 00 B8 */ addi r3, r1, 0xb8
/* 80352404 0034E064 38 81 00 08 */ addi r4, r1, 8
-/* 80352408 0034E068 4B FE A0 95 */ bl func_8033C49C
+/* 80352408 0034E068 4B FE A0 95 */ bl SHA1Result
/* 8035240C 0034E06C 38 61 00 60 */ addi r3, r1, 0x60
/* 80352410 0034E070 4B FE 48 95 */ bl MD5Init
/* 80352414 0034E074 38 61 00 60 */ addi r3, r1, 0x60
@@ -25675,26 +24687,26 @@ func_803520FC: /* 80352438 0034E098 38 81 00 60 */ addi r4, r1, 0x60
/* 8035243C 0034E09C 4B FE 49 95 */ bl MD5Final
/* 80352440 0034E0A0 38 61 00 B8 */ addi r3, r1, 0xb8
-/* 80352444 0034E0A4 4B FE 9F ED */ bl func_8033C430
+/* 80352444 0034E0A4 4B FE 9F ED */ bl SHA1Reset
/* 80352448 0034E0A8 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8035244C 0034E0AC 38 8D 93 A4 */ addi r4, r13, lbl_8063E664-_SDA_BASE_
/* 80352450 0034E0B0 38 A0 00 04 */ li r5, 4
-/* 80352454 0034E0B4 4B FE A2 39 */ bl func_8033C68C
+/* 80352454 0034E0B4 4B FE A2 39 */ bl SHA1Input
/* 80352458 0034E0B8 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8035245C 0034E0BC 38 9F 06 D4 */ addi r4, r31, 0x6d4
/* 80352460 0034E0C0 38 A0 00 30 */ li r5, 0x30
-/* 80352464 0034E0C4 4B FE A2 29 */ bl func_8033C68C
+/* 80352464 0034E0C4 4B FE A2 29 */ bl SHA1Input
/* 80352468 0034E0C8 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8035246C 0034E0CC 38 9F 06 64 */ addi r4, r31, 0x664
/* 80352470 0034E0D0 38 A0 00 20 */ li r5, 0x20
-/* 80352474 0034E0D4 4B FE A2 19 */ bl func_8033C68C
+/* 80352474 0034E0D4 4B FE A2 19 */ bl SHA1Input
/* 80352478 0034E0D8 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8035247C 0034E0DC 38 9F 06 84 */ addi r4, r31, 0x684
/* 80352480 0034E0E0 38 A0 00 20 */ li r5, 0x20
-/* 80352484 0034E0E4 4B FE A2 09 */ bl func_8033C68C
+/* 80352484 0034E0E4 4B FE A2 09 */ bl SHA1Input
/* 80352488 0034E0E8 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8035248C 0034E0EC 38 81 00 08 */ addi r4, r1, 8
-/* 80352490 0034E0F0 4B FE A0 0D */ bl func_8033C49C
+/* 80352490 0034E0F0 4B FE A0 0D */ bl SHA1Result
/* 80352494 0034E0F4 38 61 00 60 */ addi r3, r1, 0x60
/* 80352498 0034E0F8 4B FE 48 0D */ bl MD5Init
/* 8035249C 0034E0FC 38 61 00 60 */ addi r3, r1, 0x60
@@ -25732,11 +24744,11 @@ func_803520FC: /* 8035251C 0034E17C 90 1F 03 8C */ stw r0, 0x38c(r31)
/* 80352520 0034E180 90 1F 03 90 */ stw r0, 0x390(r31)
/* 80352524 0034E184 90 1F 03 94 */ stw r0, 0x394(r31)
-/* 80352528 0034E188 4B FE 9A 39 */ bl func_8033BF60
+/* 80352528 0034E188 4B FE 9A 39 */ bl RC4Init
/* 8035252C 0034E18C 80 BF 03 94 */ lwz r5, 0x394(r31)
/* 80352530 0034E190 38 7F 04 A2 */ addi r3, r31, 0x4a2
/* 80352534 0034E194 38 9F 03 58 */ addi r4, r31, 0x358
-/* 80352538 0034E198 4B FE 9A 29 */ bl func_8033BF60
+/* 80352538 0034E198 4B FE 9A 29 */ bl RC4Init
/* 8035253C 0034E19C 80 01 01 34 */ lwz r0, 0x134(r1)
/* 80352540 0034E1A0 83 E1 01 2C */ lwz r31, 0x12c(r1)
/* 80352544 0034E1A4 7C 08 03 A6 */ mtlr r0
@@ -25777,7 +24789,7 @@ lbl_803525A4: /* 803525C4 0034E224 93 FE 00 0C */ stw r31, 0xc(r30)
/* 803525C8 0034E228 4B FE 46 DD */ bl MD5Init
/* 803525CC 0034E22C 38 7C 05 FC */ addi r3, r28, 0x5fc
-/* 803525D0 0034E230 4B FE 9E 61 */ bl func_8033C430
+/* 803525D0 0034E230 4B FE 9E 61 */ bl SHA1Reset
/* 803525D4 0034E234 38 00 00 16 */ li r0, 0x16
/* 803525D8 0034E238 3B C0 00 03 */ li r30, 3
/* 803525DC 0034E23C 98 01 00 14 */ stb r0, 0x14(r1)
@@ -25848,7 +24860,7 @@ lbl_80352658: /* 803526DC 0034E33C 38 7C 05 FC */ addi r3, r28, 0x5fc
/* 803526E0 0034E340 38 81 00 19 */ addi r4, r1, 0x19
/* 803526E4 0034E344 38 A0 00 2D */ li r5, 0x2d
-/* 803526E8 0034E348 4B FE 9F A5 */ bl func_8033C68C
+/* 803526E8 0034E348 4B FE 9F A5 */ bl SHA1Input
/* 803526EC 0034E34C 38 7B 00 54 */ addi r3, r27, 0x54
/* 803526F0 0034E350 38 81 00 14 */ addi r4, r1, 0x14
/* 803526F4 0034E354 38 A0 00 32 */ li r5, 0x32
@@ -25992,13 +25004,13 @@ lbl_80352818: /* 803528F4 0034E554 7F A6 EB 78 */ mr r6, r29
/* 803528F8 0034E558 38 7E 03 A0 */ addi r3, r30, 0x3a0
/* 803528FC 0034E55C 38 BB 00 05 */ addi r5, r27, 5
-/* 80352900 0034E560 4B FE 99 A5 */ bl func_8033C2A4
+/* 80352900 0034E560 4B FE 99 A5 */ bl RC4Encrypt
/* 80352904 0034E564 3B BD 00 05 */ addi r29, r29, 5
/* 80352908 0034E568 38 7E 03 A0 */ addi r3, r30, 0x3a0
/* 8035290C 0034E56C 38 81 00 10 */ addi r4, r1, 0x10
/* 80352910 0034E570 38 C0 00 10 */ li r6, 0x10
/* 80352914 0034E574 7C BB EA 14 */ add r5, r27, r29
-/* 80352918 0034E578 4B FE 99 8D */ bl func_8033C2A4
+/* 80352918 0034E578 4B FE 99 8D */ bl RC4Encrypt
/* 8035291C 0034E57C 38 7D 00 0B */ addi r3, r29, 0xb
/* 80352920 0034E580 4B FA 44 59 */ bl func_802F6D78
/* 80352924 0034E584 90 61 00 0C */ stw r3, 0xc(r1)
@@ -26123,7 +25135,7 @@ lbl_80352ABC: /* 80352ACC 0034E72C 38 7E 04 A2 */ addi r3, r30, 0x4a2
/* 80352AD0 0034E730 57 E6 04 3E */ clrlwi r6, r31, 0x10
/* 80352AD4 0034E734 7C 85 23 78 */ mr r5, r4
-/* 80352AD8 0034E738 4B FE 97 CD */ bl func_8033C2A4
+/* 80352AD8 0034E738 4B FE 97 CD */ bl RC4Encrypt
lbl_80352ADC:
/* 80352ADC 0034E73C 7E A3 AB 78 */ mr r3, r21
/* 80352AE0 0034E740 38 81 00 08 */ addi r4, r1, 8
@@ -26145,7 +25157,7 @@ lbl_80352B0C: /* 80352B1C 0034E77C 38 7E 04 A2 */ addi r3, r30, 0x4a2
/* 80352B20 0034E780 57 E6 04 3E */ clrlwi r6, r31, 0x10
/* 80352B24 0034E784 7C 85 23 78 */ mr r5, r4
-/* 80352B28 0034E788 4B FE 97 7D */ bl func_8033C2A4
+/* 80352B28 0034E788 4B FE 97 7D */ bl RC4Encrypt
lbl_80352B2C:
/* 80352B2C 0034E78C 57 E4 04 3E */ clrlwi r4, r31, 0x10
/* 80352B30 0034E790 7C 79 E2 14 */ add r3, r25, r28
@@ -26340,7 +25352,7 @@ lbl_80352DA0: /* 80352DC0 0034EA20 7D E5 7B 78 */ mr r5, r15
/* 80352DC4 0034EA24 38 7F 05 FC */ addi r3, r31, 0x5fc
/* 80352DC8 0034EA28 7C 80 82 14 */ add r4, r0, r16
-/* 80352DCC 0034EA2C 4B FE 98 C1 */ bl func_8033C68C
+/* 80352DCC 0034EA2C 4B FE 98 C1 */ bl SHA1Input
/* 80352DD0 0034EA30 48 00 0E 68 */ b lbl_80353C38
lbl_80352DD4:
/* 80352DD4 0034EA34 2C 00 00 0B */ cmpwi r0, 0xb
@@ -26995,7 +26007,7 @@ lbl_803536DC: /* 803536F8 0034F358 7D E5 7B 78 */ mr r5, r15
/* 803536FC 0034F35C 38 7F 05 FC */ addi r3, r31, 0x5fc
/* 80353700 0034F360 7C 80 82 14 */ add r4, r0, r16
-/* 80353704 0034F364 4B FE 8F 89 */ bl func_8033C68C
+/* 80353704 0034F364 4B FE 8F 89 */ bl SHA1Input
/* 80353708 0034F368 48 00 05 30 */ b lbl_80353C38
lbl_8035370C:
/* 8035370C 0034F36C 2C 00 00 0E */ cmpwi r0, 0xe
@@ -27037,7 +26049,7 @@ lbl_8035376C: /* 8035378C 0034F3EC 80 1C 00 10 */ lwz r0, 0x10(r28)
/* 80353790 0034F3F0 7C 84 82 14 */ add r4, r4, r16
/* 80353794 0034F3F4 7C B0 00 50 */ subf r5, r16, r0
-/* 80353798 0034F3F8 4B FE 8E F5 */ bl func_8033C68C
+/* 80353798 0034F3F8 4B FE 8E F5 */ bl SHA1Input
/* 8035379C 0034F3FC 80 1F 01 08 */ lwz r0, 0x108(r31)
/* 803537A0 0034F400 54 03 10 3A */ slwi r3, r0, 2
/* 803537A4 0034F404 38 03 00 09 */ addi r0, r3, 9
@@ -27122,7 +26134,7 @@ lbl_803537F0: /* 803538D4 0034F534 38 8F 00 05 */ addi r4, r15, 5
/* 803538D8 0034F538 54 05 10 3A */ slwi r5, r0, 2
/* 803538DC 0034F53C 38 A5 00 04 */ addi r5, r5, 4
-/* 803538E0 0034F540 4B FE 8D AD */ bl func_8033C68C
+/* 803538E0 0034F540 4B FE 8D AD */ bl SHA1Input
/* 803538E4 0034F544 80 9B 00 58 */ lwz r4, 0x58(r27)
/* 803538E8 0034F548 7F E3 FB 78 */ mr r3, r31
/* 803538EC 0034F54C 80 1B 00 60 */ lwz r0, 0x60(r27)
@@ -27185,18 +26197,18 @@ lbl_803537F0: /* 803539D0 0034F630 38 7F 05 FC */ addi r3, r31, 0x5fc
/* 803539D4 0034F634 38 8D 93 B0 */ addi r4, r13, lbl_8063E670-_SDA_BASE_
/* 803539D8 0034F638 38 A0 00 04 */ li r5, 4
-/* 803539DC 0034F63C 4B FE 8C B1 */ bl func_8033C68C
+/* 803539DC 0034F63C 4B FE 8C B1 */ bl SHA1Input
/* 803539E0 0034F640 38 7F 05 FC */ addi r3, r31, 0x5fc
/* 803539E4 0034F644 38 9F 06 D4 */ addi r4, r31, 0x6d4
/* 803539E8 0034F648 38 A0 00 30 */ li r5, 0x30
-/* 803539EC 0034F64C 4B FE 8C A1 */ bl func_8033C68C
+/* 803539EC 0034F64C 4B FE 8C A1 */ bl SHA1Input
/* 803539F0 0034F650 38 7F 05 FC */ addi r3, r31, 0x5fc
/* 803539F4 0034F654 38 99 BF 8C */ addi r4, r25, -16500
/* 803539F8 0034F658 38 A0 00 28 */ li r5, 0x28
-/* 803539FC 0034F65C 4B FE 8C 91 */ bl func_8033C68C
+/* 803539FC 0034F65C 4B FE 8C 91 */ bl SHA1Input
/* 80353A00 0034F660 38 7F 05 FC */ addi r3, r31, 0x5fc
/* 80353A04 0034F664 38 81 00 50 */ addi r4, r1, 0x50
-/* 80353A08 0034F668 4B FE 8A 95 */ bl func_8033C49C
+/* 80353A08 0034F668 4B FE 8A 95 */ bl SHA1Result
/* 80353A0C 0034F66C 38 7F 05 A4 */ addi r3, r31, 0x5a4
/* 80353A10 0034F670 4B FE 32 95 */ bl MD5Init
/* 80353A14 0034F674 38 7F 05 A4 */ addi r3, r31, 0x5a4
@@ -27215,22 +26227,22 @@ lbl_803537F0: /* 80353A48 0034F6A8 38 9F 05 A4 */ addi r4, r31, 0x5a4
/* 80353A4C 0034F6AC 4B FE 33 85 */ bl MD5Final
/* 80353A50 0034F6B0 38 7F 05 FC */ addi r3, r31, 0x5fc
-/* 80353A54 0034F6B4 4B FE 89 DD */ bl func_8033C430
+/* 80353A54 0034F6B4 4B FE 89 DD */ bl SHA1Reset
/* 80353A58 0034F6B8 38 7F 05 FC */ addi r3, r31, 0x5fc
/* 80353A5C 0034F6BC 38 9F 06 D4 */ addi r4, r31, 0x6d4
/* 80353A60 0034F6C0 38 A0 00 30 */ li r5, 0x30
-/* 80353A64 0034F6C4 4B FE 8C 29 */ bl func_8033C68C
+/* 80353A64 0034F6C4 4B FE 8C 29 */ bl SHA1Input
/* 80353A68 0034F6C8 38 7F 05 FC */ addi r3, r31, 0x5fc
/* 80353A6C 0034F6CC 38 9A BF C0 */ addi r4, r26, -16448
/* 80353A70 0034F6D0 38 A0 00 28 */ li r5, 0x28
-/* 80353A74 0034F6D4 4B FE 8C 19 */ bl func_8033C68C
+/* 80353A74 0034F6D4 4B FE 8C 19 */ bl SHA1Input
/* 80353A78 0034F6D8 38 7F 05 FC */ addi r3, r31, 0x5fc
/* 80353A7C 0034F6DC 38 81 00 50 */ addi r4, r1, 0x50
/* 80353A80 0034F6E0 38 A0 00 14 */ li r5, 0x14
-/* 80353A84 0034F6E4 4B FE 8C 09 */ bl func_8033C68C
+/* 80353A84 0034F6E4 4B FE 8C 09 */ bl SHA1Input
/* 80353A88 0034F6E8 38 7F 05 FC */ addi r3, r31, 0x5fc
/* 80353A8C 0034F6EC 38 81 00 50 */ addi r4, r1, 0x50
-/* 80353A90 0034F6F0 4B FE 8A 0D */ bl func_8033C49C
+/* 80353A90 0034F6F0 4B FE 8A 0D */ bl SHA1Result
/* 80353A94 0034F6F4 80 7B 00 58 */ lwz r3, 0x58(r27)
/* 80353A98 0034F6F8 38 81 00 40 */ addi r4, r1, 0x40
/* 80353A9C 0034F6FC 80 1B 00 60 */ lwz r0, 0x60(r27)
@@ -27327,7 +26339,7 @@ lbl_803537F0: /* 80353C08 0034F868 38 7F 03 A0 */ addi r3, r31, 0x3a0
/* 80353C0C 0034F86C 7C 85 23 78 */ mr r5, r4
/* 80353C10 0034F870 38 C0 00 38 */ li r6, 0x38
-/* 80353C14 0034F874 4B FE 86 91 */ bl func_8033C2A4
+/* 80353C14 0034F874 4B FE 86 91 */ bl RC4Encrypt
/* 80353C18 0034F878 48 00 00 20 */ b lbl_80353C38
lbl_80353C1C:
/* 80353C1C 0034F87C 2C 00 00 14 */ cmpwi r0, 0x14
diff --git a/obj_files.mk b/obj_files.mk index 43937da..cfc59ba 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -37,6 +37,8 @@ TEXT_O_FILES := \ $(BUILD_DIR)/asm/gsAvailable.o \ $(BUILD_DIR)/asm/gsCrypt.o \ $(BUILD_DIR)/asm/gsLargeInt.o \ + $(BUILD_DIR)/asm/gsRC4.o \ + $(BUILD_DIR)/asm/gsSHA1.o \ $(BUILD_DIR)/asm/text_10_2.o \ $(BUILD_DIR)/asm/text_11.o |