diff options
author | Revo <projectrevotpp@hotmail.com> | 2020-09-20 11:39:24 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-20 11:39:24 -0400 |
commit | f4a3b2af4ed0af3ad14dc49f580f9f6386dedc3a (patch) | |
tree | f251f182e5bd7820b4a27f58a2a7a436405bb74b | |
parent | b2f71079109a292d4ad97744d1a821c694c9dd1b (diff) | |
parent | 0f7cb3fa768cf36356e9f83998437693b0918d35 (diff) |
Merge pull request #60 from mparisi20/master
Added incbin counting feature to calcrom. Split ghttpEncryption, ghtt…
-rw-r--r-- | .travis/calcrom/calcrom.cpp | 22 | ||||
-rw-r--r-- | asm/ghttpConnection.s | 6 | ||||
-rw-r--r-- | asm/ghttpEncryption.s | 2076 | ||||
-rw-r--r-- | asm/ghttpMain.s | 452 | ||||
-rw-r--r-- | asm/ghttpPost.s | 1666 | ||||
-rw-r--r-- | asm/text_10_2.s | 4189 | ||||
-rw-r--r-- | asm/text_9.s | 10 | ||||
-rw-r--r-- | obj_files.mk | 3 |
8 files changed, 4232 insertions, 4192 deletions
diff --git a/.travis/calcrom/calcrom.cpp b/.travis/calcrom/calcrom.cpp index df1d48a..ae1be54 100644 --- a/.travis/calcrom/calcrom.cpp +++ b/.travis/calcrom/calcrom.cpp @@ -106,6 +106,7 @@ void analyze(string basedir, string version) { // data _____|________ // text | unsigned split_sizes[2][2] = {{0, 0}, {0, 0}}; + unsigned incbins = 0; char * shstrtab = NULL; size_t shstrsz = 0; stringstream builddir; @@ -121,6 +122,22 @@ void analyze(string basedir, string version) { string fileroot = fname_s.substr(fname_s.rfind('/') + 1); string unsplit_regex("(init|extab|extabindex|text|ctors|dtors|rodata|data|sdata|sdata2)(_[^.]*)?[.]s"); bool is_unsplit = is_asm && regex_match(fileroot, regex(unsplit_regex)); + + // open the .s file and count incbins + if (is_asm) { + fstream sfile; + sfile.open(fname_s, ios_base::in); + if (!elf.good()) { + cerr << "Error: file not found: " << fname_s << endl; + return; + } + string line; + while (getline(sfile, line)) { + if (line.find(".incbin") != string::npos) + incbins++; + } + sfile.close(); + } fname_s = fname_s.replace(fname_s.find(basedir), basedir.length(), basebuilddir.str()); fname_s = fname_s.replace(fname_s.rfind('.'), 4, ".o"); @@ -208,7 +225,10 @@ void analyze(string basedir, string version) { cout << " " << split_sizes[0][0] << " bytes of asm data in split files (" << (split_asm_data_d / asm_data_d * 100.0) << "%)" << endl; cout << " " << split_sizes[0][1] << " bytes of asm data in unsplit files (" << (unsplit_asm_data_d / asm_data_d * 100.0) << "%)" << endl; } - + cout << endl; + // Report incbins + cout << " " << incbins << " incbins remain" << endl; + // Let vectors fall to gc } diff --git a/asm/ghttpConnection.s b/asm/ghttpConnection.s index 3ea7e8e..0e042c5 100644 --- a/asm/ghttpConnection.s +++ b/asm/ghttpConnection.s @@ -269,16 +269,16 @@ lbl_80351AD4: /* 80351B00 0034D760 2C 00 00 00 */ cmpwi r0, 0
/* 80351B04 0034D764 41 82 00 0C */ beq lbl_80351B10
/* 80351B08 0034D768 7F E3 FB 78 */ mr r3, r31
-/* 80351B0C 0034D76C 48 00 2E 81 */ bl func_8035498C
+/* 80351B0C 0034D76C 48 00 2E 81 */ bl ghiPostCleanupState
lbl_80351B10:
/* 80351B10 0034D770 80 7F 01 60 */ lwz r3, 0x160(r31)
/* 80351B14 0034D774 2C 03 00 00 */ cmpwi r3, 0
/* 80351B18 0034D778 41 82 00 20 */ beq lbl_80351B38
-/* 80351B1C 0034D77C 48 00 27 25 */ bl func_80354240
+/* 80351B1C 0034D77C 48 00 27 25 */ bl ghiIsPostAutoFree
/* 80351B20 0034D780 2C 03 00 00 */ cmpwi r3, 0
/* 80351B24 0034D784 41 82 00 14 */ beq lbl_80351B38
/* 80351B28 0034D788 80 7F 01 60 */ lwz r3, 0x160(r31)
-/* 80351B2C 0034D78C 48 00 27 1D */ bl func_80354248
+/* 80351B2C 0034D78C 48 00 27 1D */ bl ghiFreePost
/* 80351B30 0034D790 38 00 00 00 */ li r0, 0
/* 80351B34 0034D794 90 1F 01 60 */ stw r0, 0x160(r31)
lbl_80351B38:
diff --git a/asm/ghttpEncryption.s b/asm/ghttpEncryption.s new file mode 100644 index 0000000..1f42dfc --- /dev/null +++ b/asm/ghttpEncryption.s @@ -0,0 +1,2076 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global ghttpSetRequestEncryptionEngine
+ghttpSetRequestEncryptionEngine:
+/* 80351EA0 0034DB00 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80351EA4 0034DB04 7C 08 02 A6 */ mflr r0
+/* 80351EA8 0034DB08 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80351EAC 0034DB0C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80351EB0 0034DB10 93 C1 00 08 */ stw r30, 8(r1)
+/* 80351EB4 0034DB14 7C 9E 23 78 */ mr r30, r4
+/* 80351EB8 0034DB18 4B FF FC E1 */ bl ghiRequestToConnection
+/* 80351EBC 0034DB1C 2C 03 00 00 */ cmpwi r3, 0
+/* 80351EC0 0034DB20 7C 7F 1B 78 */ mr r31, r3
+/* 80351EC4 0034DB24 40 82 00 0C */ bne lbl_80351ED0
+/* 80351EC8 0034DB28 38 60 00 00 */ li r3, 0
+/* 80351ECC 0034DB2C 48 00 00 BC */ b lbl_80351F88
+lbl_80351ED0:
+/* 80351ED0 0034DB30 80 03 01 94 */ lwz r0, 0x194(r3)
+/* 80351ED4 0034DB34 7C 80 F0 00 */ cmpw cr1, r0, r30
+/* 80351ED8 0034DB38 40 86 00 0C */ bne cr1, lbl_80351EE4
+/* 80351EDC 0034DB3C 38 60 00 01 */ li r3, 1
+/* 80351EE0 0034DB40 48 00 00 A8 */ b lbl_80351F88
+lbl_80351EE4:
+/* 80351EE4 0034DB44 80 03 01 90 */ lwz r0, 0x190(r3)
+/* 80351EE8 0034DB48 2C 00 00 00 */ cmpwi r0, 0
+/* 80351EEC 0034DB4C 41 82 00 10 */ beq lbl_80351EFC
+/* 80351EF0 0034DB50 41 86 00 0C */ beq cr1, lbl_80351EFC
+/* 80351EF4 0034DB54 38 60 00 00 */ li r3, 0
+/* 80351EF8 0034DB58 48 00 00 90 */ b lbl_80351F88
+lbl_80351EFC:
+/* 80351EFC 0034DB5C 2C 1E 00 00 */ cmpwi r30, 0
+/* 80351F00 0034DB60 40 82 00 28 */ bne lbl_80351F28
+/* 80351F04 0034DB64 3C 80 80 45 */ lis r4, lbl_8044BF80@ha
+/* 80351F08 0034DB68 80 63 00 14 */ lwz r3, 0x14(r3)
+/* 80351F0C 0034DB6C 38 84 BF 80 */ addi r4, r4, lbl_8044BF80@l
+/* 80351F10 0034DB70 38 A0 00 08 */ li r5, 8
+/* 80351F14 0034DB74 4B E7 C6 55 */ bl func_801CE568
+/* 80351F18 0034DB78 2C 03 00 00 */ cmpwi r3, 0
+/* 80351F1C 0034DB7C 40 82 00 0C */ bne lbl_80351F28
+/* 80351F20 0034DB80 38 60 00 00 */ li r3, 0
+/* 80351F24 0034DB84 48 00 00 64 */ b lbl_80351F88
+lbl_80351F28:
+/* 80351F28 0034DB88 2C 1E 00 00 */ cmpwi r30, 0
+/* 80351F2C 0034DB8C 93 DF 01 94 */ stw r30, 0x194(r31)
+/* 80351F30 0034DB90 40 82 00 14 */ bne lbl_80351F44
+/* 80351F34 0034DB94 38 00 00 00 */ li r0, 0
+/* 80351F38 0034DB98 38 60 00 01 */ li r3, 1
+/* 80351F3C 0034DB9C 90 1F 01 90 */ stw r0, 0x190(r31)
+/* 80351F40 0034DBA0 48 00 00 48 */ b lbl_80351F88
+lbl_80351F44:
+/* 80351F44 0034DBA4 38 00 00 00 */ li r0, 0
+/* 80351F48 0034DBA8 3C 80 80 35 */ lis r4, ghttpEncryptorSslInitFunc@ha
+/* 80351F4C 0034DBAC 90 1F 01 90 */ stw r0, 0x190(r31)
+/* 80351F50 0034DBB0 38 84 25 50 */ addi r4, r4, ghttpEncryptorSslInitFunc@l
+/* 80351F54 0034DBB4 3C 60 80 35 */ lis r3, ghttpEncryptorSslCleanupFunc@ha
+/* 80351F58 0034DBB8 3C A0 80 35 */ lis r5, ghttpEncryptorSslEncryptFunc@ha
+/* 80351F5C 0034DBBC 90 9F 01 A0 */ stw r4, 0x1a0(r31)
+/* 80351F60 0034DBC0 38 63 27 24 */ addi r3, r3, ghttpEncryptorSslCleanupFunc@l
+/* 80351F64 0034DBC4 3C 80 80 35 */ lis r4, ghttpEncryptorSslDecryptFunc@ha
+/* 80351F68 0034DBC8 38 A5 27 7C */ addi r5, r5, ghttpEncryptorSslEncryptFunc@l
+/* 80351F6C 0034DBCC 90 7F 01 A4 */ stw r3, 0x1a4(r31)
+/* 80351F70 0034DBD0 38 84 29 98 */ addi r4, r4, ghttpEncryptorSslDecryptFunc@l
+/* 80351F74 0034DBD4 38 60 00 01 */ li r3, 1
+/* 80351F78 0034DBD8 90 BF 01 A8 */ stw r5, 0x1a8(r31)
+/* 80351F7C 0034DBDC 90 9F 01 AC */ stw r4, 0x1ac(r31)
+/* 80351F80 0034DBE0 90 1F 01 98 */ stw r0, 0x198(r31)
+/* 80351F84 0034DBE4 90 1F 01 9C */ stw r0, 0x19c(r31)
+lbl_80351F88:
+/* 80351F88 0034DBE8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80351F8C 0034DBEC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80351F90 0034DBF0 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80351F94 0034DBF4 7C 08 03 A6 */ mtlr r0
+/* 80351F98 0034DBF8 38 21 00 10 */ addi r1, r1, 0x10
+/* 80351F9C 0034DBFC 4E 80 00 20 */ blr
+
+.global ghiEncryptorParseASN1Sequence
+ghiEncryptorParseASN1Sequence:
+/* 80351FA0 0034DC00 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80351FA4 0034DC04 7C 08 02 A6 */ mflr r0
+/* 80351FA8 0034DC08 38 A0 00 01 */ li r5, 1
+/* 80351FAC 0034DC0C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80351FB0 0034DC10 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80351FB4 0034DC14 3B E0 00 00 */ li r31, 0
+/* 80351FB8 0034DC18 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80351FBC 0034DC1C 7C 9E 23 78 */ mr r30, r4
+/* 80351FC0 0034DC20 38 81 00 08 */ addi r4, r1, 8
+/* 80351FC4 0034DC24 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80351FC8 0034DC28 7C 7D 1B 78 */ mr r29, r3
+/* 80351FCC 0034DC2C 9B E1 00 08 */ stb r31, 8(r1)
+/* 80351FD0 0034DC30 4B FF F1 79 */ bl ghiReadDataFromBufferFixed
+/* 80351FD4 0034DC34 2C 03 00 00 */ cmpwi r3, 0
+/* 80351FD8 0034DC38 40 82 00 0C */ bne lbl_80351FE4
+/* 80351FDC 0034DC3C 38 60 00 00 */ li r3, 0
+/* 80351FE0 0034DC40 48 00 01 00 */ b lbl_803520E0
+lbl_80351FE4:
+/* 80351FE4 0034DC44 88 01 00 08 */ lbz r0, 8(r1)
+/* 80351FE8 0034DC48 2C 00 00 30 */ cmpwi r0, 0x30
+/* 80351FEC 0034DC4C 41 82 00 0C */ beq lbl_80351FF8
+/* 80351FF0 0034DC50 38 60 00 00 */ li r3, 0
+/* 80351FF4 0034DC54 48 00 00 EC */ b lbl_803520E0
+lbl_80351FF8:
+/* 80351FF8 0034DC58 7F A3 EB 78 */ mr r3, r29
+/* 80351FFC 0034DC5C 38 81 00 08 */ addi r4, r1, 8
+/* 80352000 0034DC60 38 A0 00 01 */ li r5, 1
+/* 80352004 0034DC64 4B FF F1 45 */ bl ghiReadDataFromBufferFixed
+/* 80352008 0034DC68 2C 03 00 00 */ cmpwi r3, 0
+/* 8035200C 0034DC6C 40 82 00 0C */ bne lbl_80352018
+/* 80352010 0034DC70 38 60 00 00 */ li r3, 0
+/* 80352014 0034DC74 48 00 00 CC */ b lbl_803520E0
+lbl_80352018:
+/* 80352018 0034DC78 88 81 00 08 */ lbz r4, 8(r1)
+/* 8035201C 0034DC7C 54 80 06 30 */ rlwinm r0, r4, 0, 0x18, 0x18
+/* 80352020 0034DC80 2C 00 00 80 */ cmpwi r0, 0x80
+/* 80352024 0034DC84 40 82 00 94 */ bne lbl_803520B8
+/* 80352028 0034DC88 68 80 00 80 */ xori r0, r4, 0x80
+/* 8035202C 0034DC8C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80352030 0034DC90 7C 05 07 74 */ extsb r5, r0
+/* 80352034 0034DC94 28 05 00 04 */ cmplwi r5, 4
+/* 80352038 0034DC98 98 01 00 08 */ stb r0, 8(r1)
+/* 8035203C 0034DC9C 40 81 00 0C */ ble lbl_80352048
+/* 80352040 0034DCA0 38 00 00 00 */ li r0, 0
+/* 80352044 0034DCA4 48 00 00 38 */ b lbl_8035207C
+lbl_80352048:
+/* 80352048 0034DCA8 20 05 00 04 */ subfic r0, r5, 4
+/* 8035204C 0034DCAC 38 81 00 0C */ addi r4, r1, 0xc
+/* 80352050 0034DCB0 7F A3 EB 78 */ mr r3, r29
+/* 80352054 0034DCB4 7C 84 02 14 */ add r4, r4, r0
+/* 80352058 0034DCB8 4B FF F0 F1 */ bl ghiReadDataFromBufferFixed
+/* 8035205C 0034DCBC 2C 03 00 00 */ cmpwi r3, 0
+/* 80352060 0034DCC0 40 82 00 0C */ bne lbl_8035206C
+/* 80352064 0034DCC4 38 00 00 00 */ li r0, 0
+/* 80352068 0034DCC8 48 00 00 14 */ b lbl_8035207C
+lbl_8035206C:
+/* 8035206C 0034DCCC 80 61 00 0C */ lwz r3, 0xc(r1)
+/* 80352070 0034DCD0 4B FA 4D 09 */ bl func_802F6D78
+/* 80352074 0034DCD4 90 61 00 0C */ stw r3, 0xc(r1)
+/* 80352078 0034DCD8 38 00 00 01 */ li r0, 1
+lbl_8035207C:
+/* 8035207C 0034DCDC 2C 00 00 00 */ cmpwi r0, 0
+/* 80352080 0034DCE0 40 82 00 0C */ bne lbl_8035208C
+/* 80352084 0034DCE4 38 60 00 00 */ li r3, 0
+/* 80352088 0034DCE8 48 00 00 58 */ b lbl_803520E0
+lbl_8035208C:
+/* 8035208C 0034DCEC 80 7D 00 10 */ lwz r3, 0x10(r29)
+/* 80352090 0034DCF0 80 1D 00 0C */ lwz r0, 0xc(r29)
+/* 80352094 0034DCF4 80 81 00 0C */ lwz r4, 0xc(r1)
+/* 80352098 0034DCF8 7C 03 00 50 */ subf r0, r3, r0
+/* 8035209C 0034DCFC 7C 04 00 00 */ cmpw r4, r0
+/* 803520A0 0034DD00 40 81 00 0C */ ble lbl_803520AC
+/* 803520A4 0034DD04 38 60 00 00 */ li r3, 0
+/* 803520A8 0034DD08 48 00 00 38 */ b lbl_803520E0
+lbl_803520AC:
+/* 803520AC 0034DD0C 90 9E 00 00 */ stw r4, 0(r30)
+/* 803520B0 0034DD10 38 60 00 01 */ li r3, 1
+/* 803520B4 0034DD14 48 00 00 2C */ b lbl_803520E0
+lbl_803520B8:
+/* 803520B8 0034DD18 80 7D 00 10 */ lwz r3, 0x10(r29)
+/* 803520BC 0034DD1C 7C 84 07 74 */ extsb r4, r4
+/* 803520C0 0034DD20 80 1D 00 0C */ lwz r0, 0xc(r29)
+/* 803520C4 0034DD24 7C 03 00 50 */ subf r0, r3, r0
+/* 803520C8 0034DD28 7C 04 00 00 */ cmpw r4, r0
+/* 803520CC 0034DD2C 40 81 00 0C */ ble lbl_803520D8
+/* 803520D0 0034DD30 38 60 00 00 */ li r3, 0
+/* 803520D4 0034DD34 48 00 00 0C */ b lbl_803520E0
+lbl_803520D8:
+/* 803520D8 0034DD38 90 9E 00 00 */ stw r4, 0(r30)
+/* 803520DC 0034DD3C 38 60 00 01 */ li r3, 1
+lbl_803520E0:
+/* 803520E0 0034DD40 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 803520E4 0034DD44 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 803520E8 0034DD48 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 803520EC 0034DD4C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 803520F0 0034DD50 7C 08 03 A6 */ mtlr r0
+/* 803520F4 0034DD54 38 21 00 20 */ addi r1, r1, 0x20
+/* 803520F8 0034DD58 4E 80 00 20 */ blr
+
+.global ghttpEncryptorGenerateEncryptionKeys
+ghttpEncryptorGenerateEncryptionKeys:
+/* 803520FC 0034DD5C 94 21 FE D0 */ stwu r1, -0x130(r1)
+/* 80352100 0034DD60 7C 08 02 A6 */ mflr r0
+/* 80352104 0034DD64 90 01 01 34 */ stw r0, 0x134(r1)
+/* 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 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 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 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 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 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 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
+/* 80352170 0034DDD0 38 9F 06 A4 */ addi r4, r31, 0x6a4
+/* 80352174 0034DDD4 38 A0 00 30 */ li r5, 0x30
+/* 80352178 0034DDD8 4B FE 4B 6D */ bl MD5Update
+/* 8035217C 0034DDDC 38 61 00 60 */ addi r3, r1, 0x60
+/* 80352180 0034DDE0 38 81 00 08 */ addi r4, r1, 8
+/* 80352184 0034DDE4 38 A0 00 14 */ li r5, 0x14
+/* 80352188 0034DDE8 4B FE 4B 5D */ bl MD5Update
+/* 8035218C 0034DDEC 38 7F 06 D4 */ addi r3, r31, 0x6d4
+/* 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 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 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 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 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 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 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
+/* 803521F8 0034DE58 38 9F 06 A4 */ addi r4, r31, 0x6a4
+/* 803521FC 0034DE5C 38 A0 00 30 */ li r5, 0x30
+/* 80352200 0034DE60 4B FE 4A E5 */ bl MD5Update
+/* 80352204 0034DE64 38 61 00 60 */ addi r3, r1, 0x60
+/* 80352208 0034DE68 38 81 00 08 */ addi r4, r1, 8
+/* 8035220C 0034DE6C 38 A0 00 14 */ li r5, 0x14
+/* 80352210 0034DE70 4B FE 4A D5 */ bl MD5Update
+/* 80352214 0034DE74 38 7F 06 E4 */ addi r3, r31, 0x6e4
+/* 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 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 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 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 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 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 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
+/* 80352280 0034DEE0 38 9F 06 A4 */ addi r4, r31, 0x6a4
+/* 80352284 0034DEE4 38 A0 00 30 */ li r5, 0x30
+/* 80352288 0034DEE8 4B FE 4A 5D */ bl MD5Update
+/* 8035228C 0034DEEC 38 61 00 60 */ addi r3, r1, 0x60
+/* 80352290 0034DEF0 38 81 00 08 */ addi r4, r1, 8
+/* 80352294 0034DEF4 38 A0 00 14 */ li r5, 0x14
+/* 80352298 0034DEF8 4B FE 4A 4D */ bl MD5Update
+/* 8035229C 0034DEFC 38 7F 06 F4 */ addi r3, r31, 0x6f4
+/* 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 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 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 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 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 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 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
+/* 80352308 0034DF68 38 9F 06 D4 */ addi r4, r31, 0x6d4
+/* 8035230C 0034DF6C 38 A0 00 30 */ li r5, 0x30
+/* 80352310 0034DF70 4B FE 49 D5 */ bl MD5Update
+/* 80352314 0034DF74 38 61 00 60 */ addi r3, r1, 0x60
+/* 80352318 0034DF78 38 81 00 08 */ addi r4, r1, 8
+/* 8035231C 0034DF7C 38 A0 00 14 */ li r5, 0x14
+/* 80352320 0034DF80 4B FE 49 C5 */ bl MD5Update
+/* 80352324 0034DF84 38 61 00 20 */ addi r3, r1, 0x20
+/* 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 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 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 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 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 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 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
+/* 80352390 0034DFF0 38 9F 06 D4 */ addi r4, r31, 0x6d4
+/* 80352394 0034DFF4 38 A0 00 30 */ li r5, 0x30
+/* 80352398 0034DFF8 4B FE 49 4D */ bl MD5Update
+/* 8035239C 0034DFFC 38 61 00 60 */ addi r3, r1, 0x60
+/* 803523A0 0034E000 38 81 00 08 */ addi r4, r1, 8
+/* 803523A4 0034E004 38 A0 00 14 */ li r5, 0x14
+/* 803523A8 0034E008 4B FE 49 3D */ bl MD5Update
+/* 803523AC 0034E00C 38 61 00 30 */ addi r3, r1, 0x30
+/* 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 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 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 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 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 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 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
+/* 80352418 0034E078 38 9F 06 D4 */ addi r4, r31, 0x6d4
+/* 8035241C 0034E07C 38 A0 00 30 */ li r5, 0x30
+/* 80352420 0034E080 4B FE 48 C5 */ bl MD5Update
+/* 80352424 0034E084 38 61 00 60 */ addi r3, r1, 0x60
+/* 80352428 0034E088 38 81 00 08 */ addi r4, r1, 8
+/* 8035242C 0034E08C 38 A0 00 14 */ li r5, 0x14
+/* 80352430 0034E090 4B FE 48 B5 */ bl MD5Update
+/* 80352434 0034E094 38 61 00 40 */ addi r3, r1, 0x40
+/* 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 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 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 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 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 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 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
+/* 803524A0 0034E100 38 9F 06 D4 */ addi r4, r31, 0x6d4
+/* 803524A4 0034E104 38 A0 00 30 */ li r5, 0x30
+/* 803524A8 0034E108 4B FE 48 3D */ bl MD5Update
+/* 803524AC 0034E10C 38 61 00 60 */ addi r3, r1, 0x60
+/* 803524B0 0034E110 38 81 00 08 */ addi r4, r1, 8
+/* 803524B4 0034E114 38 A0 00 14 */ li r5, 0x14
+/* 803524B8 0034E118 4B FE 48 2D */ bl MD5Update
+/* 803524BC 0034E11C 38 61 00 50 */ addi r3, r1, 0x50
+/* 803524C0 0034E120 38 81 00 60 */ addi r4, r1, 0x60
+/* 803524C4 0034E124 4B FE 49 0D */ bl MD5Final
+/* 803524C8 0034E128 38 7F 03 20 */ addi r3, r31, 0x320
+/* 803524CC 0034E12C 38 81 00 20 */ addi r4, r1, 0x20
+/* 803524D0 0034E130 38 A0 00 10 */ li r5, 0x10
+/* 803524D4 0034E134 4B CB 1B 2D */ bl memcpy
+/* 803524D8 0034E138 38 7F 03 34 */ addi r3, r31, 0x334
+/* 803524DC 0034E13C 38 81 00 30 */ addi r4, r1, 0x30
+/* 803524E0 0034E140 38 A0 00 10 */ li r5, 0x10
+/* 803524E4 0034E144 4B CB 1B 1D */ bl memcpy
+/* 803524E8 0034E148 38 7F 03 48 */ addi r3, r31, 0x348
+/* 803524EC 0034E14C 38 81 00 40 */ addi r4, r1, 0x40
+/* 803524F0 0034E150 38 A0 00 10 */ li r5, 0x10
+/* 803524F4 0034E154 4B CB 1B 0D */ bl memcpy
+/* 803524F8 0034E158 38 7F 03 58 */ addi r3, r31, 0x358
+/* 803524FC 0034E15C 38 81 00 50 */ addi r4, r1, 0x50
+/* 80352500 0034E160 38 A0 00 10 */ li r5, 0x10
+/* 80352504 0034E164 4B CB 1A FD */ bl memcpy
+/* 80352508 0034E168 38 00 00 10 */ li r0, 0x10
+/* 8035250C 0034E16C 38 7F 03 A0 */ addi r3, r31, 0x3a0
+/* 80352510 0034E170 90 1F 03 88 */ stw r0, 0x388(r31)
+/* 80352514 0034E174 38 9F 03 48 */ addi r4, r31, 0x348
+/* 80352518 0034E178 38 A0 00 10 */ li r5, 0x10
+/* 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 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 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
+/* 80352548 0034E1A8 38 21 01 30 */ addi r1, r1, 0x130
+/* 8035254C 0034E1AC 4E 80 00 20 */ blr
+
+.global ghttpEncryptorSslInitFunc
+ghttpEncryptorSslInitFunc:
+/* 80352550 0034E1B0 94 21 FF A0 */ stwu r1, -0x60(r1)
+/* 80352554 0034E1B4 7C 08 02 A6 */ mflr r0
+/* 80352558 0034E1B8 90 01 00 64 */ stw r0, 0x64(r1)
+/* 8035255C 0034E1BC 39 61 00 60 */ addi r11, r1, 0x60
+/* 80352560 0034E1C0 4B E7 4B C9 */ bl _savegpr_27
+/* 80352564 0034E1C4 80 A3 00 60 */ lwz r5, 0x60(r3)
+/* 80352568 0034E1C8 7C 7B 1B 78 */ mr r27, r3
+/* 8035256C 0034E1CC 80 03 00 5C */ lwz r0, 0x5c(r3)
+/* 80352570 0034E1D0 7C 9E 23 78 */ mr r30, r4
+/* 80352574 0034E1D4 7C 05 00 50 */ subf r0, r5, r0
+/* 80352578 0034E1D8 28 00 00 32 */ cmplwi r0, 0x32
+/* 8035257C 0034E1DC 40 80 00 0C */ bge lbl_80352588
+/* 80352580 0034E1E0 38 60 00 02 */ li r3, 2
+/* 80352584 0034E1E4 48 00 01 88 */ b lbl_8035270C
+lbl_80352588:
+/* 80352588 0034E1E8 38 60 07 04 */ li r3, 0x704
+/* 8035258C 0034E1EC 4B FE 6D 89 */ bl gsimalloc
+/* 80352590 0034E1F0 2C 03 00 00 */ cmpwi r3, 0
+/* 80352594 0034E1F4 90 7E 00 00 */ stw r3, 0(r30)
+/* 80352598 0034E1F8 40 82 00 0C */ bne lbl_803525A4
+/* 8035259C 0034E1FC 38 60 00 03 */ li r3, 3
+/* 803525A0 0034E200 48 00 01 6C */ b lbl_8035270C
+lbl_803525A4:
+/* 803525A4 0034E204 38 80 00 00 */ li r4, 0
+/* 803525A8 0034E208 38 A0 07 04 */ li r5, 0x704
+/* 803525AC 0034E20C 4B CB 1B 59 */ bl memset
+/* 803525B0 0034E210 83 9E 00 00 */ lwz r28, 0(r30)
+/* 803525B4 0034E214 3B A0 00 01 */ li r29, 1
+/* 803525B8 0034E218 3B E0 00 00 */ li r31, 0
+/* 803525BC 0034E21C 93 BE 00 08 */ stw r29, 8(r30)
+/* 803525C0 0034E220 38 7C 05 A4 */ addi r3, r28, 0x5a4
+/* 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 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)
+/* 803525E0 0034E240 38 60 00 2D */ li r3, 0x2d
+/* 803525E4 0034E244 9B C1 00 15 */ stb r30, 0x15(r1)
+/* 803525E8 0034E248 9B E1 00 16 */ stb r31, 0x16(r1)
+/* 803525EC 0034E24C 4B FA 47 8D */ bl func_802F6D78
+/* 803525F0 0034E250 90 61 00 10 */ stw r3, 0x10(r1)
+/* 803525F4 0034E254 38 61 00 17 */ addi r3, r1, 0x17
+/* 803525F8 0034E258 38 81 00 12 */ addi r4, r1, 0x12
+/* 803525FC 0034E25C 38 A0 00 02 */ li r5, 2
+/* 80352600 0034E260 4B CB 1A 01 */ bl memcpy
+/* 80352604 0034E264 9B A1 00 19 */ stb r29, 0x19(r1)
+/* 80352608 0034E268 38 60 00 29 */ li r3, 0x29
+/* 8035260C 0034E26C 9B C1 00 1D */ stb r30, 0x1d(r1)
+/* 80352610 0034E270 9B E1 00 1E */ stb r31, 0x1e(r1)
+/* 80352614 0034E274 4B FA 47 65 */ bl func_802F6D78
+/* 80352618 0034E278 90 61 00 0C */ stw r3, 0xc(r1)
+/* 8035261C 0034E27C 38 61 00 1A */ addi r3, r1, 0x1a
+/* 80352620 0034E280 38 81 00 0D */ addi r4, r1, 0xd
+/* 80352624 0034E284 38 A0 00 03 */ li r5, 3
+/* 80352628 0034E288 4B CB 19 D9 */ bl memcpy
+/* 8035262C 0034E28C 38 60 00 00 */ li r3, 0
+/* 80352630 0034E290 4B FA 47 49 */ bl func_802F6D78
+/* 80352634 0034E294 90 61 00 08 */ stw r3, 8(r1)
+/* 80352638 0034E298 38 61 00 1F */ addi r3, r1, 0x1f
+/* 8035263C 0034E29C 38 81 00 08 */ addi r4, r1, 8
+/* 80352640 0034E2A0 38 A0 00 04 */ li r5, 4
+/* 80352644 0034E2A4 4B CB 19 BD */ bl memcpy
+/* 80352648 0034E2A8 4B FE 69 91 */ bl current_time
+/* 8035264C 0034E2AC 4B FE 6A 15 */ bl Util_RandSeed
+/* 80352650 0034E2B0 3B A1 00 14 */ addi r29, r1, 0x14
+/* 80352654 0034E2B4 3B C0 00 00 */ li r30, 0
+lbl_80352658:
+/* 80352658 0034E2B8 38 60 00 00 */ li r3, 0
+/* 8035265C 0034E2BC 38 80 00 FF */ li r4, 0xff
+/* 80352660 0034E2C0 4B FE 6A 19 */ bl Util_RandInt
+/* 80352664 0034E2C4 3B DE 00 01 */ addi r30, r30, 1
+/* 80352668 0034E2C8 98 7D 00 0F */ stb r3, 0xf(r29)
+/* 8035266C 0034E2CC 2C 1E 00 1C */ cmpwi r30, 0x1c
+/* 80352670 0034E2D0 3B BD 00 01 */ addi r29, r29, 1
+/* 80352674 0034E2D4 41 80 FF E4 */ blt lbl_80352658
+/* 80352678 0034E2D8 38 7C 06 84 */ addi r3, r28, 0x684
+/* 8035267C 0034E2DC 38 81 00 1F */ addi r4, r1, 0x1f
+/* 80352680 0034E2E0 38 A0 00 04 */ li r5, 4
+/* 80352684 0034E2E4 4B CB 19 7D */ bl memcpy
+/* 80352688 0034E2E8 38 7C 06 88 */ addi r3, r28, 0x688
+/* 8035268C 0034E2EC 38 81 00 23 */ addi r4, r1, 0x23
+/* 80352690 0034E2F0 38 A0 00 1C */ li r5, 0x1c
+/* 80352694 0034E2F4 4B CB 19 6D */ bl memcpy
+/* 80352698 0034E2F8 3B C0 00 00 */ li r30, 0
+/* 8035269C 0034E2FC 38 60 00 02 */ li r3, 2
+/* 803526A0 0034E300 9B C1 00 3F */ stb r30, 0x3f(r1)
+/* 803526A4 0034E304 4B FA 46 D9 */ bl func_802F6D7C
+/* 803526A8 0034E308 B0 61 00 40 */ sth r3, 0x40(r1)
+/* 803526AC 0034E30C 3C 80 80 40 */ lis r4, lbl_80402560@ha
+/* 803526B0 0034E310 80 04 25 60 */ lwz r0, lbl_80402560@l(r4)
+/* 803526B4 0034E314 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 803526B8 0034E318 4B FA 46 C5 */ bl func_802F6D7C
+/* 803526BC 0034E31C 3B E0 00 01 */ li r31, 1
+/* 803526C0 0034E320 B0 61 00 42 */ sth r3, 0x42(r1)
+/* 803526C4 0034E324 38 7C 05 A4 */ addi r3, r28, 0x5a4
+/* 803526C8 0034E328 38 81 00 19 */ addi r4, r1, 0x19
+/* 803526CC 0034E32C 9B E1 00 44 */ stb r31, 0x44(r1)
+/* 803526D0 0034E330 38 A0 00 2D */ li r5, 0x2d
+/* 803526D4 0034E334 9B C1 00 45 */ stb r30, 0x45(r1)
+/* 803526D8 0034E338 4B FE 46 0D */ bl MD5Update
+/* 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 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
+/* 803526F8 0034E358 4B FF E3 C5 */ bl ghiAppendDataToBuffer
+/* 803526FC 0034E35C 2C 03 00 00 */ cmpwi r3, 0
+/* 80352700 0034E360 40 82 00 08 */ bne lbl_80352708
+/* 80352704 0034E364 3B E0 00 02 */ li r31, 2
+lbl_80352708:
+/* 80352708 0034E368 7F E3 FB 78 */ mr r3, r31
+lbl_8035270C:
+/* 8035270C 0034E36C 39 61 00 60 */ addi r11, r1, 0x60
+/* 80352710 0034E370 4B E7 4A 65 */ bl _restgpr_27
+/* 80352714 0034E374 80 01 00 64 */ lwz r0, 0x64(r1)
+/* 80352718 0034E378 7C 08 03 A6 */ mtlr r0
+/* 8035271C 0034E37C 38 21 00 60 */ addi r1, r1, 0x60
+/* 80352720 0034E380 4E 80 00 20 */ blr
+
+.global ghttpEncryptorSslCleanupFunc
+ghttpEncryptorSslCleanupFunc:
+/* 80352724 0034E384 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80352728 0034E388 7C 08 02 A6 */ mflr r0
+/* 8035272C 0034E38C 2C 04 00 00 */ cmpwi r4, 0
+/* 80352730 0034E390 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80352734 0034E394 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80352738 0034E398 7C 9F 23 78 */ mr r31, r4
+/* 8035273C 0034E39C 41 82 00 28 */ beq lbl_80352764
+/* 80352740 0034E3A0 80 64 00 00 */ lwz r3, 0(r4)
+/* 80352744 0034E3A4 2C 03 00 00 */ cmpwi r3, 0
+/* 80352748 0034E3A8 41 82 00 10 */ beq lbl_80352758
+/* 8035274C 0034E3AC 4B FE 6B ED */ bl gsifree
+/* 80352750 0034E3B0 38 00 00 00 */ li r0, 0
+/* 80352754 0034E3B4 90 1F 00 00 */ stw r0, 0(r31)
+lbl_80352758:
+/* 80352758 0034E3B8 38 00 00 00 */ li r0, 0
+/* 8035275C 0034E3BC 90 1F 00 08 */ stw r0, 8(r31)
+/* 80352760 0034E3C0 90 1F 00 0C */ stw r0, 0xc(r31)
+lbl_80352764:
+/* 80352764 0034E3C4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80352768 0034E3C8 38 60 00 01 */ li r3, 1
+/* 8035276C 0034E3CC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80352770 0034E3D0 7C 08 03 A6 */ mtlr r0
+/* 80352774 0034E3D4 38 21 00 10 */ addi r1, r1, 0x10
+/* 80352778 0034E3D8 4E 80 00 20 */ blr
+
+.global ghttpEncryptorSslEncryptFunc
+ghttpEncryptorSslEncryptFunc:
+/* 8035277C 0034E3DC 94 21 FF 70 */ stwu r1, -0x90(r1)
+/* 80352780 0034E3E0 7C 08 02 A6 */ mflr r0
+/* 80352784 0034E3E4 90 01 00 94 */ stw r0, 0x94(r1)
+/* 80352788 0034E3E8 39 61 00 90 */ addi r11, r1, 0x90
+/* 8035278C 0034E3EC 4B E7 49 99 */ bl func_801C7124
+/* 80352790 0034E3F0 2C 04 00 00 */ cmpwi r4, 0
+/* 80352794 0034E3F4 7C BA 2B 78 */ mr r26, r5
+/* 80352798 0034E3F8 7C DD 33 78 */ mr r29, r6
+/* 8035279C 0034E3FC 7C FB 3B 78 */ mr r27, r7
+/* 803527A0 0034E400 7D 1C 43 78 */ mr r28, r8
+/* 803527A4 0034E404 41 82 01 D8 */ beq lbl_8035297C
+/* 803527A8 0034E408 83 C4 00 00 */ lwz r30, 0(r4)
+/* 803527AC 0034E40C 2C 1E 00 00 */ cmpwi r30, 0
+/* 803527B0 0034E410 41 82 00 10 */ beq lbl_803527C0
+/* 803527B4 0034E414 80 04 00 0C */ lwz r0, 0xc(r4)
+/* 803527B8 0034E418 2C 00 00 00 */ cmpwi r0, 0
+/* 803527BC 0034E41C 40 82 00 38 */ bne lbl_803527F4
+lbl_803527C0:
+/* 803527C0 0034E420 80 08 00 00 */ lwz r0, 0(r8)
+/* 803527C4 0034E424 7C 06 00 00 */ cmpw r6, r0
+/* 803527C8 0034E428 40 81 00 0C */ ble lbl_803527D4
+/* 803527CC 0034E42C 38 60 00 02 */ li r3, 2
+/* 803527D0 0034E430 48 00 01 B0 */ b lbl_80352980
+lbl_803527D4:
+/* 803527D4 0034E434 7F 63 DB 78 */ mr r3, r27
+/* 803527D8 0034E438 7F 44 D3 78 */ mr r4, r26
+/* 803527DC 0034E43C 7F A5 EB 78 */ mr r5, r29
+/* 803527E0 0034E440 4B CB 18 21 */ bl memcpy
+/* 803527E4 0034E444 80 1C 00 00 */ lwz r0, 0(r28)
+/* 803527E8 0034E448 7C 00 EA 14 */ add r0, r0, r29
+/* 803527EC 0034E44C 90 1C 00 00 */ stw r0, 0(r28)
+/* 803527F0 0034E450 48 00 01 8C */ b lbl_8035297C
+lbl_803527F4:
+/* 803527F4 0034E454 54 C3 04 3E */ clrlwi r3, r6, 0x10
+/* 803527F8 0034E458 4B FA 45 85 */ bl func_802F6D7C
+/* 803527FC 0034E45C B0 61 00 08 */ sth r3, 8(r1)
+/* 80352800 0034E460 38 1D 00 05 */ addi r0, r29, 5
+/* 80352804 0034E464 80 7C 00 00 */ lwz r3, 0(r28)
+/* 80352808 0034E468 7C 03 00 00 */ cmpw r3, r0
+/* 8035280C 0034E46C 40 80 00 0C */ bge lbl_80352818
+/* 80352810 0034E470 38 60 00 02 */ li r3, 2
+/* 80352814 0034E474 48 00 01 6C */ b lbl_80352980
+lbl_80352818:
+/* 80352818 0034E478 38 60 00 17 */ li r3, 0x17
+/* 8035281C 0034E47C 38 00 00 03 */ li r0, 3
+/* 80352820 0034E480 3B E0 00 00 */ li r31, 0
+/* 80352824 0034E484 98 7B 00 00 */ stb r3, 0(r27)
+/* 80352828 0034E488 38 61 00 20 */ addi r3, r1, 0x20
+/* 8035282C 0034E48C 98 1B 00 01 */ stb r0, 1(r27)
+/* 80352830 0034E490 9B FB 00 02 */ stb r31, 2(r27)
+/* 80352834 0034E494 4B FE 44 71 */ bl MD5Init
+/* 80352838 0034E498 80 BE 03 88 */ lwz r5, 0x388(r30)
+/* 8035283C 0034E49C 38 61 00 20 */ addi r3, r1, 0x20
+/* 80352840 0034E4A0 38 9E 03 20 */ addi r4, r30, 0x320
+/* 80352844 0034E4A4 4B FE 44 A1 */ bl MD5Update
+/* 80352848 0034E4A8 3C 80 80 45 */ lis r4, lbl_8044BF8C@ha
+/* 8035284C 0034E4AC 38 61 00 20 */ addi r3, r1, 0x20
+/* 80352850 0034E4B0 38 84 BF 8C */ addi r4, r4, lbl_8044BF8C@l
+/* 80352854 0034E4B4 38 A0 00 30 */ li r5, 0x30
+/* 80352858 0034E4B8 4B FE 44 8D */ bl MD5Update
+/* 8035285C 0034E4BC 38 61 00 20 */ addi r3, r1, 0x20
+/* 80352860 0034E4C0 38 9E 03 10 */ addi r4, r30, 0x310
+/* 80352864 0034E4C4 38 A0 00 08 */ li r5, 8
+/* 80352868 0034E4C8 4B FE 44 7D */ bl MD5Update
+/* 8035286C 0034E4CC 38 61 00 20 */ addi r3, r1, 0x20
+/* 80352870 0034E4D0 38 8D 93 AC */ addi r4, r13, lbl_8063E66C-_SDA_BASE_
+/* 80352874 0034E4D4 38 A0 00 01 */ li r5, 1
+/* 80352878 0034E4D8 4B FE 44 6D */ bl MD5Update
+/* 8035287C 0034E4DC 38 61 00 20 */ addi r3, r1, 0x20
+/* 80352880 0034E4E0 38 81 00 08 */ addi r4, r1, 8
+/* 80352884 0034E4E4 38 A0 00 02 */ li r5, 2
+/* 80352888 0034E4E8 4B FE 44 5D */ bl MD5Update
+/* 8035288C 0034E4EC 7F 44 D3 78 */ mr r4, r26
+/* 80352890 0034E4F0 7F A5 EB 78 */ mr r5, r29
+/* 80352894 0034E4F4 38 61 00 20 */ addi r3, r1, 0x20
+/* 80352898 0034E4F8 4B FE 44 4D */ bl MD5Update
+/* 8035289C 0034E4FC 38 61 00 10 */ addi r3, r1, 0x10
+/* 803528A0 0034E500 38 81 00 20 */ addi r4, r1, 0x20
+/* 803528A4 0034E504 4B FE 45 2D */ bl MD5Final
+/* 803528A8 0034E508 38 61 00 20 */ addi r3, r1, 0x20
+/* 803528AC 0034E50C 4B FE 43 F9 */ bl MD5Init
+/* 803528B0 0034E510 80 BE 03 88 */ lwz r5, 0x388(r30)
+/* 803528B4 0034E514 38 61 00 20 */ addi r3, r1, 0x20
+/* 803528B8 0034E518 38 9E 03 20 */ addi r4, r30, 0x320
+/* 803528BC 0034E51C 4B FE 44 29 */ bl MD5Update
+/* 803528C0 0034E520 3C 80 80 45 */ lis r4, lbl_8044BFC0@ha
+/* 803528C4 0034E524 38 61 00 20 */ addi r3, r1, 0x20
+/* 803528C8 0034E528 38 84 BF C0 */ addi r4, r4, lbl_8044BFC0@l
+/* 803528CC 0034E52C 38 A0 00 30 */ li r5, 0x30
+/* 803528D0 0034E530 4B FE 44 15 */ bl MD5Update
+/* 803528D4 0034E534 38 61 00 20 */ addi r3, r1, 0x20
+/* 803528D8 0034E538 38 81 00 10 */ addi r4, r1, 0x10
+/* 803528DC 0034E53C 38 A0 00 10 */ li r5, 0x10
+/* 803528E0 0034E540 4B FE 44 05 */ bl MD5Update
+/* 803528E4 0034E544 38 61 00 10 */ addi r3, r1, 0x10
+/* 803528E8 0034E548 38 81 00 20 */ addi r4, r1, 0x20
+/* 803528EC 0034E54C 4B FE 44 E5 */ bl MD5Final
+/* 803528F0 0034E550 7F 44 D3 78 */ mr r4, r26
+/* 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 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 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)
+/* 80352928 0034E588 38 7B 00 03 */ addi r3, r27, 3
+/* 8035292C 0034E58C 38 81 00 0E */ addi r4, r1, 0xe
+/* 80352930 0034E590 38 A0 00 02 */ li r5, 2
+/* 80352934 0034E594 4B CB 16 CD */ bl memcpy
+/* 80352938 0034E598 80 1C 00 00 */ lwz r0, 0(r28)
+/* 8035293C 0034E59C 38 7D 00 10 */ addi r3, r29, 0x10
+/* 80352940 0034E5A0 38 A0 00 07 */ li r5, 7
+/* 80352944 0034E5A4 7C 03 00 50 */ subf r0, r3, r0
+/* 80352948 0034E5A8 90 1C 00 00 */ stw r0, 0(r28)
+lbl_8035294C:
+/* 8035294C 0034E5AC 7C 9E 2A 14 */ add r4, r30, r5
+/* 80352950 0034E5B0 88 64 03 10 */ lbz r3, 0x310(r4)
+/* 80352954 0034E5B4 28 03 00 FF */ cmplwi r3, 0xff
+/* 80352958 0034E5B8 40 82 00 10 */ bne lbl_80352968
+/* 8035295C 0034E5BC 9B E4 03 10 */ stb r31, 0x310(r4)
+/* 80352960 0034E5C0 38 A5 FF FF */ addi r5, r5, -1
+/* 80352964 0034E5C4 48 00 00 10 */ b lbl_80352974
+lbl_80352968:
+/* 80352968 0034E5C8 38 03 00 01 */ addi r0, r3, 1
+/* 8035296C 0034E5CC 38 A0 00 00 */ li r5, 0
+/* 80352970 0034E5D0 98 04 03 10 */ stb r0, 0x310(r4)
+lbl_80352974:
+/* 80352974 0034E5D4 2C 05 00 00 */ cmpwi r5, 0
+/* 80352978 0034E5D8 40 80 FF D4 */ bge lbl_8035294C
+lbl_8035297C:
+/* 8035297C 0034E5DC 38 60 00 01 */ li r3, 1
+lbl_80352980:
+/* 80352980 0034E5E0 39 61 00 90 */ addi r11, r1, 0x90
+/* 80352984 0034E5E4 4B E7 47 ED */ bl func_801C7170
+/* 80352988 0034E5E8 80 01 00 94 */ lwz r0, 0x94(r1)
+/* 8035298C 0034E5EC 7C 08 03 A6 */ mtlr r0
+/* 80352990 0034E5F0 38 21 00 90 */ addi r1, r1, 0x90
+/* 80352994 0034E5F4 4E 80 00 20 */ blr
+
+.global ghttpEncryptorSslDecryptFunc
+ghttpEncryptorSslDecryptFunc:
+/* 80352998 0034E5F8 94 21 FF A0 */ stwu r1, -0x60(r1)
+/* 8035299C 0034E5FC 7C 08 02 A6 */ mflr r0
+/* 803529A0 0034E600 90 01 00 64 */ stw r0, 0x64(r1)
+/* 803529A4 0034E604 39 61 00 60 */ addi r11, r1, 0x60
+/* 803529A8 0034E608 4B E7 47 65 */ bl func_801C710C
+/* 803529AC 0034E60C 2C 04 00 00 */ cmpwi r4, 0
+/* 803529B0 0034E610 7C 75 1B 78 */ mr r21, r3
+/* 803529B4 0034E614 7C 96 23 78 */ mr r22, r4
+/* 803529B8 0034E618 7C B7 2B 78 */ mr r23, r5
+/* 803529BC 0034E61C 7C D8 33 78 */ mr r24, r6
+/* 803529C0 0034E620 7C F9 3B 78 */ mr r25, r7
+/* 803529C4 0034E624 7D 1A 43 78 */ mr r26, r8
+/* 803529C8 0034E628 3B A0 00 00 */ li r29, 0
+/* 803529CC 0034E62C 3B 80 00 00 */ li r28, 0
+/* 803529D0 0034E630 41 82 00 10 */ beq lbl_803529E0
+/* 803529D4 0034E634 83 C4 00 00 */ lwz r30, 0(r4)
+/* 803529D8 0034E638 2C 1E 00 00 */ cmpwi r30, 0
+/* 803529DC 0034E63C 40 82 00 2C */ bne lbl_80352A08
+lbl_803529E0:
+/* 803529E0 0034E640 80 A6 00 00 */ lwz r5, 0(r6)
+/* 803529E4 0034E644 7F 23 CB 78 */ mr r3, r25
+/* 803529E8 0034E648 7E E4 BB 78 */ mr r4, r23
+/* 803529EC 0034E64C 4B CB 16 15 */ bl memcpy
+/* 803529F0 0034E650 80 98 00 00 */ lwz r4, 0(r24)
+/* 803529F4 0034E654 38 00 00 00 */ li r0, 0
+/* 803529F8 0034E658 38 60 00 01 */ li r3, 1
+/* 803529FC 0034E65C 90 9A 00 00 */ stw r4, 0(r26)
+/* 80352A00 0034E660 90 18 00 00 */ stw r0, 0(r24)
+/* 80352A04 0034E664 48 00 01 94 */ b lbl_80352B98
+lbl_80352A08:
+/* 80352A08 0034E668 40 82 00 0C */ bne lbl_80352A14
+/* 80352A0C 0034E66C 38 60 00 03 */ li r3, 3
+/* 80352A10 0034E670 48 00 01 88 */ b lbl_80352B98
+lbl_80352A14:
+/* 80352A14 0034E674 3A 80 00 01 */ li r20, 1
+/* 80352A18 0034E678 48 00 01 58 */ b lbl_80352B70
+lbl_80352A1C:
+/* 80352A1C 0034E67C 7C 1D 00 50 */ subf r0, r29, r0
+/* 80352A20 0034E680 28 00 00 05 */ cmplwi r0, 5
+/* 80352A24 0034E684 41 80 01 58 */ blt lbl_80352B7C
+/* 80352A28 0034E688 7F 77 EA 14 */ add r27, r23, r29
+/* 80352A2C 0034E68C 88 1B 00 04 */ lbz r0, 4(r27)
+/* 80352A30 0034E690 88 7B 00 03 */ lbz r3, 3(r27)
+/* 80352A34 0034E694 50 03 44 2E */ rlwimi r3, r0, 8, 0x10, 0x17
+/* 80352A38 0034E698 4B FA 43 39 */ bl func_802F6D70
+/* 80352A3C 0034E69C 54 65 04 3E */ clrlwi r5, r3, 0x10
+/* 80352A40 0034E6A0 80 D8 00 00 */ lwz r6, 0(r24)
+/* 80352A44 0034E6A4 7C 9D 2A 14 */ add r4, r29, r5
+/* 80352A48 0034E6A8 7C 7F 1B 78 */ mr r31, r3
+/* 80352A4C 0034E6AC 38 04 00 05 */ addi r0, r4, 5
+/* 80352A50 0034E6B0 7C 06 00 00 */ cmpw r6, r0
+/* 80352A54 0034E6B4 41 80 01 28 */ blt lbl_80352B7C
+/* 80352A58 0034E6B8 80 75 01 9C */ lwz r3, 0x19c(r21)
+/* 80352A5C 0034E6BC 2C 03 00 00 */ cmpwi r3, 0
+/* 80352A60 0034E6C0 41 82 00 30 */ beq lbl_80352A90
+/* 80352A64 0034E6C4 80 1A 00 00 */ lwz r0, 0(r26)
+/* 80352A68 0034E6C8 7C 1C 00 50 */ subf r0, r28, r0
+/* 80352A6C 0034E6CC 7C 00 28 00 */ cmpw r0, r5
+/* 80352A70 0034E6D0 40 80 00 20 */ bge lbl_80352A90
+/* 80352A74 0034E6D4 93 B8 00 00 */ stw r29, 0(r24)
+/* 80352A78 0034E6D8 2C 1C 00 00 */ cmpwi r28, 0
+/* 80352A7C 0034E6DC 38 60 00 02 */ li r3, 2
+/* 80352A80 0034E6E0 93 9A 00 00 */ stw r28, 0(r26)
+/* 80352A84 0034E6E4 40 81 01 14 */ ble lbl_80352B98
+/* 80352A88 0034E6E8 38 60 00 01 */ li r3, 1
+/* 80352A8C 0034E6EC 48 00 01 0C */ b lbl_80352B98
+lbl_80352A90:
+/* 80352A90 0034E6F0 88 1B 00 00 */ lbz r0, 0(r27)
+/* 80352A94 0034E6F4 2C 00 00 16 */ cmpwi r0, 0x16
+/* 80352A98 0034E6F8 41 82 00 24 */ beq lbl_80352ABC
+/* 80352A9C 0034E6FC 40 80 00 14 */ bge lbl_80352AB0
+/* 80352AA0 0034E700 2C 00 00 14 */ cmpwi r0, 0x14
+/* 80352AA4 0034E704 41 82 00 A8 */ beq lbl_80352B4C
+/* 80352AA8 0034E708 40 80 00 B0 */ bge lbl_80352B58
+/* 80352AAC 0034E70C 48 00 00 B4 */ b lbl_80352B60
+lbl_80352AB0:
+/* 80352AB0 0034E710 2C 00 00 18 */ cmpwi r0, 0x18
+/* 80352AB4 0034E714 40 80 00 AC */ bge lbl_80352B60
+/* 80352AB8 0034E718 48 00 00 54 */ b lbl_80352B0C
+lbl_80352ABC:
+/* 80352ABC 0034E71C 2C 03 00 00 */ cmpwi r3, 0
+/* 80352AC0 0034E720 3B BD 00 05 */ addi r29, r29, 5
+/* 80352AC4 0034E724 41 82 00 18 */ beq lbl_80352ADC
+/* 80352AC8 0034E728 7C 97 EA 14 */ add r4, r23, r29
+/* 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 RC4Encrypt
+lbl_80352ADC:
+/* 80352ADC 0034E73C 7E A3 AB 78 */ mr r3, r21
+/* 80352AE0 0034E740 38 81 00 08 */ addi r4, r1, 8
+/* 80352AE4 0034E744 7C B7 EA 14 */ add r5, r23, r29
+/* 80352AE8 0034E748 57 E6 04 3E */ clrlwi r6, r31, 0x10
+/* 80352AEC 0034E74C 4B FF DE FD */ bl ghiInitReadOnlyBuffer
+/* 80352AF0 0034E750 7E A3 AB 78 */ mr r3, r21
+/* 80352AF4 0034E754 7E C4 B3 78 */ mr r4, r22
+/* 80352AF8 0034E758 38 A1 00 08 */ addi r5, r1, 8
+/* 80352AFC 0034E75C 48 00 00 B5 */ bl ghttpEncryptorProcessSSLHandshake
+/* 80352B00 0034E760 2C 03 00 01 */ cmpwi r3, 1
+/* 80352B04 0034E764 41 82 00 64 */ beq lbl_80352B68
+/* 80352B08 0034E768 48 00 00 90 */ b lbl_80352B98
+lbl_80352B0C:
+/* 80352B0C 0034E76C 2C 03 00 00 */ cmpwi r3, 0
+/* 80352B10 0034E770 3B BD 00 05 */ addi r29, r29, 5
+/* 80352B14 0034E774 41 82 00 18 */ beq lbl_80352B2C
+/* 80352B18 0034E778 7C 97 EA 14 */ add r4, r23, r29
+/* 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 RC4Encrypt
+lbl_80352B2C:
+/* 80352B2C 0034E78C 57 E4 04 3E */ clrlwi r4, r31, 0x10
+/* 80352B30 0034E790 7C 79 E2 14 */ add r3, r25, r28
+/* 80352B34 0034E794 3B 64 FF F0 */ addi r27, r4, -16
+/* 80352B38 0034E798 7C 97 EA 14 */ add r4, r23, r29
+/* 80352B3C 0034E79C 7F 65 DB 78 */ mr r5, r27
+/* 80352B40 0034E7A0 4B CB 14 C1 */ bl memcpy
+/* 80352B44 0034E7A4 7F 9C DA 14 */ add r28, r28, r27
+/* 80352B48 0034E7A8 48 00 00 20 */ b lbl_80352B68
+lbl_80352B4C:
+/* 80352B4C 0034E7AC 92 95 01 9C */ stw r20, 0x19c(r21)
+/* 80352B50 0034E7B0 3B BD 00 05 */ addi r29, r29, 5
+/* 80352B54 0034E7B4 48 00 00 14 */ b lbl_80352B68
+lbl_80352B58:
+/* 80352B58 0034E7B8 3B BD 00 05 */ addi r29, r29, 5
+/* 80352B5C 0034E7BC 48 00 00 0C */ b lbl_80352B68
+lbl_80352B60:
+/* 80352B60 0034E7C0 38 60 00 03 */ li r3, 3
+/* 80352B64 0034E7C4 48 00 00 34 */ b lbl_80352B98
+lbl_80352B68:
+/* 80352B68 0034E7C8 57 E0 04 3E */ clrlwi r0, r31, 0x10
+/* 80352B6C 0034E7CC 7F BD 02 14 */ add r29, r29, r0
+lbl_80352B70:
+/* 80352B70 0034E7D0 80 18 00 00 */ lwz r0, 0(r24)
+/* 80352B74 0034E7D4 7C 1D 00 00 */ cmpw r29, r0
+/* 80352B78 0034E7D8 41 80 FE A4 */ blt lbl_80352A1C
+lbl_80352B7C:
+/* 80352B7C 0034E7DC 93 B8 00 00 */ stw r29, 0(r24)
+/* 80352B80 0034E7E0 38 60 00 01 */ li r3, 1
+/* 80352B84 0034E7E4 93 9A 00 00 */ stw r28, 0(r26)
+/* 80352B88 0034E7E8 80 18 00 00 */ lwz r0, 0(r24)
+/* 80352B8C 0034E7EC 2C 00 00 00 */ cmpwi r0, 0
+/* 80352B90 0034E7F0 40 80 00 08 */ bge lbl_80352B98
+/* 80352B94 0034E7F4 38 60 00 03 */ li r3, 3
+lbl_80352B98:
+/* 80352B98 0034E7F8 39 61 00 60 */ addi r11, r1, 0x60
+/* 80352B9C 0034E7FC 4B E7 45 BD */ bl func_801C7158
+/* 80352BA0 0034E800 80 01 00 64 */ lwz r0, 0x64(r1)
+/* 80352BA4 0034E804 7C 08 03 A6 */ mtlr r0
+/* 80352BA8 0034E808 38 21 00 60 */ addi r1, r1, 0x60
+/* 80352BAC 0034E80C 4E 80 00 20 */ blr
+
+.global ghttpEncryptorProcessSSLHandshake
+ghttpEncryptorProcessSSLHandshake:
+/* 80352BB0 0034E810 94 21 FF 50 */ stwu r1, -0xb0(r1)
+/* 80352BB4 0034E814 7C 08 02 A6 */ mflr r0
+/* 80352BB8 0034E818 90 01 00 B4 */ stw r0, 0xb4(r1)
+/* 80352BBC 0034E81C 39 61 00 B0 */ addi r11, r1, 0xb0
+/* 80352BC0 0034E820 4B E7 45 35 */ bl __save_gpr
+/* 80352BC4 0034E824 83 E4 00 00 */ lwz r31, 0(r4)
+/* 80352BC8 0034E828 7C 7B 1B 78 */ mr r27, r3
+/* 80352BCC 0034E82C 7C BC 2B 78 */ mr r28, r5
+/* 80352BD0 0034E830 3A 21 00 25 */ addi r17, r1, 0x25
+/* 80352BD4 0034E834 3A 40 00 00 */ li r18, 0
+/* 80352BD8 0034E838 3E A0 80 40 */ lis r21, 0x8040
+/* 80352BDC 0034E83C 3A C0 00 03 */ li r22, 3
+/* 80352BE0 0034E840 3A E0 00 16 */ li r23, 0x16
+/* 80352BE4 0034E844 3B 00 00 14 */ li r24, 0x14
+/* 80352BE8 0034E848 39 C0 00 01 */ li r14, 1
+/* 80352BEC 0034E84C 3F 20 80 45 */ lis r25, 0x8045
+/* 80352BF0 0034E850 3F 40 80 45 */ lis r26, 0x8045
+/* 80352BF4 0034E854 48 00 10 44 */ b lbl_80353C38
+lbl_80352BF8:
+/* 80352BF8 0034E858 9A 41 00 09 */ stb r18, 9(r1)
+/* 80352BFC 0034E85C 7F 83 E3 78 */ mr r3, r28
+/* 80352C00 0034E860 38 81 00 09 */ addi r4, r1, 9
+/* 80352C04 0034E864 38 A0 00 01 */ li r5, 1
+/* 80352C08 0034E868 4B FF E5 41 */ bl ghiReadDataFromBufferFixed
+/* 80352C0C 0034E86C 2C 03 00 00 */ cmpwi r3, 0
+/* 80352C10 0034E870 40 82 00 0C */ bne lbl_80352C1C
+/* 80352C14 0034E874 38 60 00 03 */ li r3, 3
+/* 80352C18 0034E878 48 00 10 3C */ b lbl_80353C54
+lbl_80352C1C:
+/* 80352C1C 0034E87C 88 01 00 09 */ lbz r0, 9(r1)
+/* 80352C20 0034E880 7C 00 07 74 */ extsb r0, r0
+/* 80352C24 0034E884 2C 00 00 02 */ cmpwi r0, 2
+/* 80352C28 0034E888 40 82 01 AC */ bne lbl_80352DD4
+/* 80352C2C 0034E88C 92 41 00 34 */ stw r18, 0x34(r1)
+/* 80352C30 0034E890 92 41 00 30 */ stw r18, 0x30(r1)
+/* 80352C34 0034E894 9A 41 00 08 */ stb r18, 8(r1)
+/* 80352C38 0034E898 80 1F 00 00 */ lwz r0, 0(r31)
+/* 80352C3C 0034E89C 2C 00 00 00 */ cmpwi r0, 0
+/* 80352C40 0034E8A0 41 82 00 0C */ beq lbl_80352C4C
+/* 80352C44 0034E8A4 38 60 00 03 */ li r3, 3
+/* 80352C48 0034E8A8 48 00 10 0C */ b lbl_80353C54
+lbl_80352C4C:
+/* 80352C4C 0034E8AC 7F 83 E3 78 */ mr r3, r28
+/* 80352C50 0034E8B0 38 81 00 35 */ addi r4, r1, 0x35
+/* 80352C54 0034E8B4 38 A0 00 03 */ li r5, 3
+/* 80352C58 0034E8B8 4B FF E4 F1 */ bl ghiReadDataFromBufferFixed
+/* 80352C5C 0034E8BC 2C 03 00 00 */ cmpwi r3, 0
+/* 80352C60 0034E8C0 40 82 00 0C */ bne lbl_80352C6C
+/* 80352C64 0034E8C4 38 00 00 00 */ li r0, 0
+/* 80352C68 0034E8C8 48 00 00 14 */ b lbl_80352C7C
+lbl_80352C6C:
+/* 80352C6C 0034E8CC 80 61 00 34 */ lwz r3, 0x34(r1)
+/* 80352C70 0034E8D0 4B FA 41 09 */ bl func_802F6D78
+/* 80352C74 0034E8D4 90 61 00 34 */ stw r3, 0x34(r1)
+/* 80352C78 0034E8D8 38 00 00 01 */ li r0, 1
+lbl_80352C7C:
+/* 80352C7C 0034E8DC 2C 00 00 00 */ cmpwi r0, 0
+/* 80352C80 0034E8E0 40 82 00 0C */ bne lbl_80352C8C
+/* 80352C84 0034E8E4 38 60 00 03 */ li r3, 3
+/* 80352C88 0034E8E8 48 00 0F CC */ b lbl_80353C54
+lbl_80352C8C:
+/* 80352C8C 0034E8EC 80 7C 00 10 */ lwz r3, 0x10(r28)
+/* 80352C90 0034E8F0 80 1C 00 0C */ lwz r0, 0xc(r28)
+/* 80352C94 0034E8F4 80 81 00 34 */ lwz r4, 0x34(r1)
+/* 80352C98 0034E8F8 7C 03 00 50 */ subf r0, r3, r0
+/* 80352C9C 0034E8FC 7C 04 00 00 */ cmpw r4, r0
+/* 80352CA0 0034E900 40 81 00 0C */ ble lbl_80352CAC
+/* 80352CA4 0034E904 38 60 00 03 */ li r3, 3
+/* 80352CA8 0034E908 48 00 0F AC */ b lbl_80353C54
+lbl_80352CAC:
+/* 80352CAC 0034E90C 38 03 00 02 */ addi r0, r3, 2
+/* 80352CB0 0034E910 7F 83 E3 78 */ mr r3, r28
+/* 80352CB4 0034E914 90 1C 00 10 */ stw r0, 0x10(r28)
+/* 80352CB8 0034E918 38 9F 06 64 */ addi r4, r31, 0x664
+/* 80352CBC 0034E91C 38 A0 00 20 */ li r5, 0x20
+/* 80352CC0 0034E920 4B FF E4 89 */ bl ghiReadDataFromBufferFixed
+/* 80352CC4 0034E924 2C 03 00 00 */ cmpwi r3, 0
+/* 80352CC8 0034E928 40 82 00 0C */ bne lbl_80352CD4
+/* 80352CCC 0034E92C 38 60 00 03 */ li r3, 3
+/* 80352CD0 0034E930 48 00 0F 84 */ b lbl_80353C54
+lbl_80352CD4:
+/* 80352CD4 0034E934 7F 83 E3 78 */ mr r3, r28
+/* 80352CD8 0034E938 38 81 00 08 */ addi r4, r1, 8
+/* 80352CDC 0034E93C 38 A0 00 01 */ li r5, 1
+/* 80352CE0 0034E940 4B FF E4 69 */ bl ghiReadDataFromBufferFixed
+/* 80352CE4 0034E944 2C 03 00 00 */ cmpwi r3, 0
+/* 80352CE8 0034E948 40 82 00 0C */ bne lbl_80352CF4
+/* 80352CEC 0034E94C 38 60 00 03 */ li r3, 3
+/* 80352CF0 0034E950 48 00 0F 64 */ b lbl_80353C54
+lbl_80352CF4:
+/* 80352CF4 0034E954 88 A1 00 08 */ lbz r5, 8(r1)
+/* 80352CF8 0034E958 7F 83 E3 78 */ mr r3, r28
+/* 80352CFC 0034E95C 38 9F 00 04 */ addi r4, r31, 4
+/* 80352D00 0034E960 7C A5 07 74 */ extsb r5, r5
+/* 80352D04 0034E964 4B FF E4 45 */ bl ghiReadDataFromBufferFixed
+/* 80352D08 0034E968 2C 03 00 00 */ cmpwi r3, 0
+/* 80352D0C 0034E96C 40 82 00 0C */ bne lbl_80352D18
+/* 80352D10 0034E970 38 60 00 03 */ li r3, 3
+/* 80352D14 0034E974 48 00 0F 40 */ b lbl_80353C54
+lbl_80352D18:
+/* 80352D18 0034E978 88 01 00 08 */ lbz r0, 8(r1)
+/* 80352D1C 0034E97C 7F 83 E3 78 */ mr r3, r28
+/* 80352D20 0034E980 38 81 00 32 */ addi r4, r1, 0x32
+/* 80352D24 0034E984 38 A0 00 02 */ li r5, 2
+/* 80352D28 0034E988 7C 00 07 74 */ extsb r0, r0
+/* 80352D2C 0034E98C 90 1F 00 00 */ stw r0, 0(r31)
+/* 80352D30 0034E990 4B FF E4 19 */ bl ghiReadDataFromBufferFixed
+/* 80352D34 0034E994 2C 03 00 00 */ cmpwi r3, 0
+/* 80352D38 0034E998 40 82 00 0C */ bne lbl_80352D44
+/* 80352D3C 0034E99C 38 00 00 00 */ li r0, 0
+/* 80352D40 0034E9A0 48 00 00 14 */ b lbl_80352D54
+lbl_80352D44:
+/* 80352D44 0034E9A4 80 61 00 30 */ lwz r3, 0x30(r1)
+/* 80352D48 0034E9A8 4B FA 40 31 */ bl func_802F6D78
+/* 80352D4C 0034E9AC 90 61 00 30 */ stw r3, 0x30(r1)
+/* 80352D50 0034E9B0 38 00 00 01 */ li r0, 1
+lbl_80352D54:
+/* 80352D54 0034E9B4 2C 00 00 00 */ cmpwi r0, 0
+/* 80352D58 0034E9B8 40 82 00 0C */ bne lbl_80352D64
+/* 80352D5C 0034E9BC 38 60 00 03 */ li r3, 3
+/* 80352D60 0034E9C0 48 00 0E F4 */ b lbl_80353C54
+lbl_80352D64:
+/* 80352D64 0034E9C4 80 01 00 30 */ lwz r0, 0x30(r1)
+/* 80352D68 0034E9C8 7F 83 E3 78 */ mr r3, r28
+/* 80352D6C 0034E9CC 38 81 00 08 */ addi r4, r1, 8
+/* 80352D70 0034E9D0 38 A0 00 01 */ li r5, 1
+/* 80352D74 0034E9D4 B0 1F 01 04 */ sth r0, 0x104(r31)
+/* 80352D78 0034E9D8 4B FF E3 D1 */ bl ghiReadDataFromBufferFixed
+/* 80352D7C 0034E9DC 2C 03 00 00 */ cmpwi r3, 0
+/* 80352D80 0034E9E0 40 82 00 0C */ bne lbl_80352D8C
+/* 80352D84 0034E9E4 38 60 00 03 */ li r3, 3
+/* 80352D88 0034E9E8 48 00 0E CC */ b lbl_80353C54
+lbl_80352D8C:
+/* 80352D8C 0034E9EC 88 01 00 08 */ lbz r0, 8(r1)
+/* 80352D90 0034E9F0 7C 00 07 75 */ extsb. r0, r0
+/* 80352D94 0034E9F4 41 82 00 0C */ beq lbl_80352DA0
+/* 80352D98 0034E9F8 38 60 00 03 */ li r3, 3
+/* 80352D9C 0034E9FC 48 00 0E B8 */ b lbl_80353C54
+lbl_80352DA0:
+/* 80352DA0 0034EA00 80 9C 00 10 */ lwz r4, 0x10(r28)
+/* 80352DA4 0034EA04 38 7F 05 A4 */ addi r3, r31, 0x5a4
+/* 80352DA8 0034EA08 80 1C 00 04 */ lwz r0, 4(r28)
+/* 80352DAC 0034EA0C 7D F0 20 50 */ subf r15, r16, r4
+/* 80352DB0 0034EA10 7D E5 7B 78 */ mr r5, r15
+/* 80352DB4 0034EA14 7C 80 82 14 */ add r4, r0, r16
+/* 80352DB8 0034EA18 4B FE 3F 2D */ bl MD5Update
+/* 80352DBC 0034EA1C 80 1C 00 04 */ lwz r0, 4(r28)
+/* 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 SHA1Input
+/* 80352DD0 0034EA30 48 00 0E 68 */ b lbl_80353C38
+lbl_80352DD4:
+/* 80352DD4 0034EA34 2C 00 00 0B */ cmpwi r0, 0xb
+/* 80352DD8 0034EA38 40 82 09 34 */ bne lbl_8035370C
+/* 80352DDC 0034EA3C 92 41 00 2C */ stw r18, 0x2c(r1)
+/* 80352DE0 0034EA40 7F 83 E3 78 */ mr r3, r28
+/* 80352DE4 0034EA44 38 81 00 2D */ addi r4, r1, 0x2d
+/* 80352DE8 0034EA48 3B C0 00 00 */ li r30, 0
+/* 80352DEC 0034EA4C 92 41 00 28 */ stw r18, 0x28(r1)
+/* 80352DF0 0034EA50 38 A0 00 03 */ li r5, 3
+/* 80352DF4 0034EA54 4B FF E3 55 */ bl ghiReadDataFromBufferFixed
+/* 80352DF8 0034EA58 2C 03 00 00 */ cmpwi r3, 0
+/* 80352DFC 0034EA5C 40 82 00 0C */ bne lbl_80352E08
+/* 80352E00 0034EA60 38 00 00 00 */ li r0, 0
+/* 80352E04 0034EA64 48 00 00 14 */ b lbl_80352E18
+lbl_80352E08:
+/* 80352E08 0034EA68 80 61 00 2C */ lwz r3, 0x2c(r1)
+/* 80352E0C 0034EA6C 4B FA 3F 6D */ bl func_802F6D78
+/* 80352E10 0034EA70 90 61 00 2C */ stw r3, 0x2c(r1)
+/* 80352E14 0034EA74 38 00 00 01 */ li r0, 1
+lbl_80352E18:
+/* 80352E18 0034EA78 2C 00 00 00 */ cmpwi r0, 0
+/* 80352E1C 0034EA7C 40 82 00 0C */ bne lbl_80352E28
+/* 80352E20 0034EA80 38 60 00 03 */ li r3, 3
+/* 80352E24 0034EA84 48 00 0E 30 */ b lbl_80353C54
+lbl_80352E28:
+/* 80352E28 0034EA88 7F 83 E3 78 */ mr r3, r28
+/* 80352E2C 0034EA8C 38 81 00 29 */ addi r4, r1, 0x29
+/* 80352E30 0034EA90 38 A0 00 03 */ li r5, 3
+/* 80352E34 0034EA94 4B FF E3 15 */ bl ghiReadDataFromBufferFixed
+/* 80352E38 0034EA98 2C 03 00 00 */ cmpwi r3, 0
+/* 80352E3C 0034EA9C 40 82 00 0C */ bne lbl_80352E48
+/* 80352E40 0034EAA0 38 00 00 00 */ li r0, 0
+/* 80352E44 0034EAA4 48 00 00 14 */ b lbl_80352E58
+lbl_80352E48:
+/* 80352E48 0034EAA8 80 61 00 28 */ lwz r3, 0x28(r1)
+/* 80352E4C 0034EAAC 4B FA 3F 2D */ bl func_802F6D78
+/* 80352E50 0034EAB0 90 61 00 28 */ stw r3, 0x28(r1)
+/* 80352E54 0034EAB4 38 00 00 01 */ li r0, 1
+lbl_80352E58:
+/* 80352E58 0034EAB8 2C 00 00 00 */ cmpwi r0, 0
+/* 80352E5C 0034EABC 40 82 00 0C */ bne lbl_80352E68
+/* 80352E60 0034EAC0 38 60 00 03 */ li r3, 3
+/* 80352E64 0034EAC4 48 00 0D F0 */ b lbl_80353C54
+lbl_80352E68:
+/* 80352E68 0034EAC8 80 81 00 28 */ lwz r4, 0x28(r1)
+/* 80352E6C 0034EACC 80 61 00 2C */ lwz r3, 0x2c(r1)
+/* 80352E70 0034EAD0 38 04 00 03 */ addi r0, r4, 3
+/* 80352E74 0034EAD4 7C 03 00 00 */ cmpw r3, r0
+/* 80352E78 0034EAD8 41 82 00 0C */ beq lbl_80352E84
+/* 80352E7C 0034EADC 38 60 00 03 */ li r3, 3
+/* 80352E80 0034EAE0 48 00 0D D4 */ b lbl_80353C54
+lbl_80352E84:
+/* 80352E84 0034EAE4 80 7C 00 10 */ lwz r3, 0x10(r28)
+/* 80352E88 0034EAE8 80 1C 00 0C */ lwz r0, 0xc(r28)
+/* 80352E8C 0034EAEC 7F A3 22 14 */ add r29, r3, r4
+/* 80352E90 0034EAF0 7C 03 00 50 */ subf r0, r3, r0
+/* 80352E94 0034EAF4 7C 04 00 00 */ cmpw r4, r0
+/* 80352E98 0034EAF8 40 81 00 0C */ ble lbl_80352EA4
+/* 80352E9C 0034EAFC 38 60 00 03 */ li r3, 3
+/* 80352EA0 0034EB00 48 00 0D B4 */ b lbl_80353C54
+lbl_80352EA4:
+/* 80352EA4 0034EB04 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
+/* 80352EA8 0034EB08 3A 63 FF FF */ addi r19, r3, 0x0000FFFF@l
+/* 80352EAC 0034EB0C 48 00 08 18 */ b lbl_803536C4
+lbl_80352EB0:
+/* 80352EB0 0034EB10 92 41 00 24 */ stw r18, 0x24(r1)
+/* 80352EB4 0034EB14 7F 83 E3 78 */ mr r3, r28
+/* 80352EB8 0034EB18 7E 24 8B 78 */ mr r4, r17
+/* 80352EBC 0034EB1C 38 A0 00 03 */ li r5, 3
+/* 80352EC0 0034EB20 4B FF E2 89 */ bl ghiReadDataFromBufferFixed
+/* 80352EC4 0034EB24 2C 03 00 00 */ cmpwi r3, 0
+/* 80352EC8 0034EB28 40 82 00 0C */ bne lbl_80352ED4
+/* 80352ECC 0034EB2C 38 00 00 00 */ li r0, 0
+/* 80352ED0 0034EB30 48 00 00 14 */ b lbl_80352EE4
+lbl_80352ED4:
+/* 80352ED4 0034EB34 80 61 00 24 */ lwz r3, 0x24(r1)
+/* 80352ED8 0034EB38 4B FA 3E A1 */ bl func_802F6D78
+/* 80352EDC 0034EB3C 90 61 00 24 */ stw r3, 0x24(r1)
+/* 80352EE0 0034EB40 38 00 00 01 */ li r0, 1
+lbl_80352EE4:
+/* 80352EE4 0034EB44 2C 00 00 00 */ cmpwi r0, 0
+/* 80352EE8 0034EB48 40 82 00 0C */ bne lbl_80352EF4
+/* 80352EEC 0034EB4C 38 60 00 03 */ li r3, 3
+/* 80352EF0 0034EB50 48 00 0D 64 */ b lbl_80353C54
+lbl_80352EF4:
+/* 80352EF4 0034EB54 81 FC 00 10 */ lwz r15, 0x10(r28)
+/* 80352EF8 0034EB58 80 1C 00 0C */ lwz r0, 0xc(r28)
+/* 80352EFC 0034EB5C 80 61 00 24 */ lwz r3, 0x24(r1)
+/* 80352F00 0034EB60 7C 0F 00 50 */ subf r0, r15, r0
+/* 80352F04 0034EB64 7C 03 00 00 */ cmpw r3, r0
+/* 80352F08 0034EB68 40 81 00 0C */ ble lbl_80352F14
+/* 80352F0C 0034EB6C 38 60 00 03 */ li r3, 3
+/* 80352F10 0034EB70 48 00 0D 44 */ b lbl_80353C54
+lbl_80352F14:
+/* 80352F14 0034EB74 7C 03 98 00 */ cmpw r3, r19
+/* 80352F18 0034EB78 40 81 00 0C */ ble lbl_80352F24
+/* 80352F1C 0034EB7C 38 60 00 03 */ li r3, 3
+/* 80352F20 0034EB80 48 00 0D 34 */ b lbl_80353C54
+lbl_80352F24:
+/* 80352F24 0034EB84 3B DE 00 01 */ addi r30, r30, 1
+/* 80352F28 0034EB88 2C 1E 00 01 */ cmpwi r30, 1
+/* 80352F2C 0034EB8C 40 82 07 8C */ bne lbl_803536B8
+/* 80352F30 0034EB90 92 41 00 20 */ stw r18, 0x20(r1)
+/* 80352F34 0034EB94 7F 83 E3 78 */ mr r3, r28
+/* 80352F38 0034EB98 38 81 00 20 */ addi r4, r1, 0x20
+/* 80352F3C 0034EB9C 4B FF F0 65 */ bl ghiEncryptorParseASN1Sequence
+/* 80352F40 0034EBA0 2C 03 00 00 */ cmpwi r3, 0
+/* 80352F44 0034EBA4 40 82 00 0C */ bne lbl_80352F50
+/* 80352F48 0034EBA8 38 60 00 03 */ li r3, 3
+/* 80352F4C 0034EBAC 48 00 0D 08 */ b lbl_80353C54
+lbl_80352F50:
+/* 80352F50 0034EBB0 7F 83 E3 78 */ mr r3, r28
+/* 80352F54 0034EBB4 38 81 00 20 */ addi r4, r1, 0x20
+/* 80352F58 0034EBB8 4B FF F0 49 */ bl ghiEncryptorParseASN1Sequence
+/* 80352F5C 0034EBBC 2C 03 00 00 */ cmpwi r3, 0
+/* 80352F60 0034EBC0 40 82 00 0C */ bne lbl_80352F6C
+/* 80352F64 0034EBC4 38 60 00 03 */ li r3, 3
+/* 80352F68 0034EBC8 48 00 0C EC */ b lbl_80353C54
+lbl_80352F6C:
+/* 80352F6C 0034EBCC 80 9C 00 10 */ lwz r4, 0x10(r28)
+/* 80352F70 0034EBD0 80 1C 00 0C */ lwz r0, 0xc(r28)
+/* 80352F74 0034EBD4 7C 04 00 50 */ subf r0, r4, r0
+/* 80352F78 0034EBD8 2C 00 00 05 */ cmpwi r0, 5
+/* 80352F7C 0034EBDC 40 80 00 0C */ bge lbl_80352F88
+/* 80352F80 0034EBE0 38 60 00 03 */ li r3, 3
+/* 80352F84 0034EBE4 48 00 0C D0 */ b lbl_80353C54
+lbl_80352F88:
+/* 80352F88 0034EBE8 38 A4 00 01 */ addi r5, r4, 1
+/* 80352F8C 0034EBEC 80 7C 00 04 */ lwz r3, 4(r28)
+/* 80352F90 0034EBF0 90 BC 00 10 */ stw r5, 0x10(r28)
+/* 80352F94 0034EBF4 7C 03 20 AE */ lbzx r0, r3, r4
+/* 80352F98 0034EBF8 28 00 00 A0 */ cmplwi r0, 0xa0
+/* 80352F9C 0034EBFC 41 82 00 0C */ beq lbl_80352FA8
+/* 80352FA0 0034EC00 38 60 00 03 */ li r3, 3
+/* 80352FA4 0034EC04 48 00 0C B0 */ b lbl_80353C54
+lbl_80352FA8:
+/* 80352FA8 0034EC08 38 85 00 01 */ addi r4, r5, 1
+/* 80352FAC 0034EC0C 90 9C 00 10 */ stw r4, 0x10(r28)
+/* 80352FB0 0034EC10 7C 03 28 AE */ lbzx r0, r3, r5
+/* 80352FB4 0034EC14 28 00 00 03 */ cmplwi r0, 3
+/* 80352FB8 0034EC18 41 82 00 0C */ beq lbl_80352FC4
+/* 80352FBC 0034EC1C 38 60 00 03 */ li r3, 3
+/* 80352FC0 0034EC20 48 00 0C 94 */ b lbl_80353C54
+lbl_80352FC4:
+/* 80352FC4 0034EC24 38 A4 00 01 */ addi r5, r4, 1
+/* 80352FC8 0034EC28 90 BC 00 10 */ stw r5, 0x10(r28)
+/* 80352FCC 0034EC2C 7C 03 20 AE */ lbzx r0, r3, r4
+/* 80352FD0 0034EC30 28 00 00 02 */ cmplwi r0, 2
+/* 80352FD4 0034EC34 41 82 00 0C */ beq lbl_80352FE0
+/* 80352FD8 0034EC38 38 60 00 03 */ li r3, 3
+/* 80352FDC 0034EC3C 48 00 0C 78 */ b lbl_80353C54
+lbl_80352FE0:
+/* 80352FE0 0034EC40 38 85 00 01 */ addi r4, r5, 1
+/* 80352FE4 0034EC44 90 9C 00 10 */ stw r4, 0x10(r28)
+/* 80352FE8 0034EC48 7C 03 28 AE */ lbzx r0, r3, r5
+/* 80352FEC 0034EC4C 28 00 00 01 */ cmplwi r0, 1
+/* 80352FF0 0034EC50 41 82 00 0C */ beq lbl_80352FFC
+/* 80352FF4 0034EC54 38 60 00 03 */ li r3, 3
+/* 80352FF8 0034EC58 48 00 0C 5C */ b lbl_80353C54
+lbl_80352FFC:
+/* 80352FFC 0034EC5C 38 A4 00 01 */ addi r5, r4, 1
+/* 80353000 0034EC60 38 85 00 01 */ addi r4, r5, 1
+/* 80353004 0034EC64 90 9C 00 10 */ stw r4, 0x10(r28)
+/* 80353008 0034EC68 7C 03 28 AE */ lbzx r0, r3, r5
+/* 8035300C 0034EC6C 28 00 00 02 */ cmplwi r0, 2
+/* 80353010 0034EC70 41 82 00 0C */ beq lbl_8035301C
+/* 80353014 0034EC74 38 60 00 03 */ li r3, 3
+/* 80353018 0034EC78 48 00 0C 3C */ b lbl_80353C54
+lbl_8035301C:
+/* 8035301C 0034EC7C 38 04 00 01 */ addi r0, r4, 1
+/* 80353020 0034EC80 90 1C 00 10 */ stw r0, 0x10(r28)
+/* 80353024 0034EC84 7E 83 20 AE */ lbzx r20, r3, r4
+/* 80353028 0034EC88 7C 00 A2 14 */ add r0, r0, r20
+/* 8035302C 0034EC8C 7C 00 E8 00 */ cmpw r0, r29
+/* 80353030 0034EC90 40 81 00 0C */ ble lbl_8035303C
+/* 80353034 0034EC94 38 60 00 03 */ li r3, 3
+/* 80353038 0034EC98 48 00 0C 1C */ b lbl_80353C54
+lbl_8035303C:
+/* 8035303C 0034EC9C 90 1C 00 10 */ stw r0, 0x10(r28)
+/* 80353040 0034ECA0 7F 83 E3 78 */ mr r3, r28
+/* 80353044 0034ECA4 38 81 00 20 */ addi r4, r1, 0x20
+/* 80353048 0034ECA8 4B FF EF 59 */ bl ghiEncryptorParseASN1Sequence
+/* 8035304C 0034ECAC 2C 03 00 00 */ cmpwi r3, 0
+/* 80353050 0034ECB0 40 82 00 0C */ bne lbl_8035305C
+/* 80353054 0034ECB4 38 60 00 03 */ li r3, 3
+/* 80353058 0034ECB8 48 00 0B FC */ b lbl_80353C54
+lbl_8035305C:
+/* 8035305C 0034ECBC 80 BC 00 10 */ lwz r5, 0x10(r28)
+/* 80353060 0034ECC0 7F 83 E3 78 */ mr r3, r28
+/* 80353064 0034ECC4 80 01 00 20 */ lwz r0, 0x20(r1)
+/* 80353068 0034ECC8 38 81 00 20 */ addi r4, r1, 0x20
+/* 8035306C 0034ECCC 7C 05 02 14 */ add r0, r5, r0
+/* 80353070 0034ECD0 90 1C 00 10 */ stw r0, 0x10(r28)
+/* 80353074 0034ECD4 4B FF EF 2D */ bl ghiEncryptorParseASN1Sequence
+/* 80353078 0034ECD8 2C 03 00 00 */ cmpwi r3, 0
+/* 8035307C 0034ECDC 40 82 00 0C */ bne lbl_80353088
+/* 80353080 0034ECE0 38 60 00 03 */ li r3, 3
+/* 80353084 0034ECE4 48 00 0B D0 */ b lbl_80353C54
+lbl_80353088:
+/* 80353088 0034ECE8 80 BC 00 10 */ lwz r5, 0x10(r28)
+/* 8035308C 0034ECEC 7F 83 E3 78 */ mr r3, r28
+/* 80353090 0034ECF0 80 01 00 20 */ lwz r0, 0x20(r1)
+/* 80353094 0034ECF4 38 81 00 20 */ addi r4, r1, 0x20
+/* 80353098 0034ECF8 7C 05 02 14 */ add r0, r5, r0
+/* 8035309C 0034ECFC 90 1C 00 10 */ stw r0, 0x10(r28)
+/* 803530A0 0034ED00 4B FF EF 01 */ bl ghiEncryptorParseASN1Sequence
+/* 803530A4 0034ED04 2C 03 00 00 */ cmpwi r3, 0
+/* 803530A8 0034ED08 40 82 00 0C */ bne lbl_803530B4
+/* 803530AC 0034ED0C 38 60 00 03 */ li r3, 3
+/* 803530B0 0034ED10 48 00 0B A4 */ b lbl_80353C54
+lbl_803530B4:
+/* 803530B4 0034ED14 80 BC 00 10 */ lwz r5, 0x10(r28)
+/* 803530B8 0034ED18 7F 83 E3 78 */ mr r3, r28
+/* 803530BC 0034ED1C 80 01 00 20 */ lwz r0, 0x20(r1)
+/* 803530C0 0034ED20 38 81 00 20 */ addi r4, r1, 0x20
+/* 803530C4 0034ED24 7C 05 02 14 */ add r0, r5, r0
+/* 803530C8 0034ED28 90 1C 00 10 */ stw r0, 0x10(r28)
+/* 803530CC 0034ED2C 4B FF EE D5 */ bl ghiEncryptorParseASN1Sequence
+/* 803530D0 0034ED30 2C 03 00 00 */ cmpwi r3, 0
+/* 803530D4 0034ED34 40 82 00 0C */ bne lbl_803530E0
+/* 803530D8 0034ED38 38 60 00 03 */ li r3, 3
+/* 803530DC 0034ED3C 48 00 0B 78 */ b lbl_80353C54
+lbl_803530E0:
+/* 803530E0 0034ED40 80 BC 00 10 */ lwz r5, 0x10(r28)
+/* 803530E4 0034ED44 7F 83 E3 78 */ mr r3, r28
+/* 803530E8 0034ED48 80 01 00 20 */ lwz r0, 0x20(r1)
+/* 803530EC 0034ED4C 38 81 00 20 */ addi r4, r1, 0x20
+/* 803530F0 0034ED50 7C 05 02 14 */ add r0, r5, r0
+/* 803530F4 0034ED54 90 1C 00 10 */ stw r0, 0x10(r28)
+/* 803530F8 0034ED58 4B FF EE A9 */ bl ghiEncryptorParseASN1Sequence
+/* 803530FC 0034ED5C 2C 03 00 00 */ cmpwi r3, 0
+/* 80353100 0034ED60 40 82 00 0C */ bne lbl_8035310C
+/* 80353104 0034ED64 38 60 00 03 */ li r3, 3
+/* 80353108 0034ED68 48 00 0B 4C */ b lbl_80353C54
+lbl_8035310C:
+/* 8035310C 0034ED6C 7F 83 E3 78 */ mr r3, r28
+/* 80353110 0034ED70 38 81 00 20 */ addi r4, r1, 0x20
+/* 80353114 0034ED74 4B FF EE 8D */ bl ghiEncryptorParseASN1Sequence
+/* 80353118 0034ED78 2C 03 00 00 */ cmpwi r3, 0
+/* 8035311C 0034ED7C 40 82 00 0C */ bne lbl_80353128
+/* 80353120 0034ED80 38 60 00 03 */ li r3, 3
+/* 80353124 0034ED84 48 00 0B 30 */ b lbl_80353C54
+lbl_80353128:
+/* 80353128 0034ED88 80 01 00 20 */ lwz r0, 0x20(r1)
+/* 8035312C 0034ED8C 2C 00 00 0D */ cmpwi r0, 0xd
+/* 80353130 0034ED90 41 82 00 0C */ beq lbl_8035313C
+/* 80353134 0034ED94 38 60 00 03 */ li r3, 3
+/* 80353138 0034ED98 48 00 0B 1C */ b lbl_80353C54
+lbl_8035313C:
+/* 8035313C 0034ED9C 80 7C 00 10 */ lwz r3, 0x10(r28)
+/* 80353140 0034EDA0 80 BC 00 04 */ lwz r5, 4(r28)
+/* 80353144 0034EDA4 38 83 00 01 */ addi r4, r3, 1
+/* 80353148 0034EDA8 90 9C 00 10 */ stw r4, 0x10(r28)
+/* 8035314C 0034EDAC 7C 05 18 AE */ lbzx r0, r5, r3
+/* 80353150 0034EDB0 28 00 00 06 */ cmplwi r0, 6
+/* 80353154 0034EDB4 41 82 00 0C */ beq lbl_80353160
+/* 80353158 0034EDB8 38 60 00 03 */ li r3, 3
+/* 8035315C 0034EDBC 48 00 0A F8 */ b lbl_80353C54
+lbl_80353160:
+/* 80353160 0034EDC0 38 64 00 01 */ addi r3, r4, 1
+/* 80353164 0034EDC4 90 7C 00 10 */ stw r3, 0x10(r28)
+/* 80353168 0034EDC8 7C 05 20 AE */ lbzx r0, r5, r4
+/* 8035316C 0034EDCC 28 00 00 09 */ cmplwi r0, 9
+/* 80353170 0034EDD0 41 82 00 0C */ beq lbl_8035317C
+/* 80353174 0034EDD4 38 60 00 03 */ li r3, 3
+/* 80353178 0034EDD8 48 00 0A DC */ b lbl_80353C54
+lbl_8035317C:
+/* 8035317C 0034EDDC 7C 65 1A 14 */ add r3, r5, r3
+/* 80353180 0034EDE0 38 95 25 70 */ addi r4, r21, 0x2570
+/* 80353184 0034EDE4 38 A0 00 09 */ li r5, 9
+/* 80353188 0034EDE8 4B E7 72 11 */ bl func_801CA398
+/* 8035318C 0034EDEC 2C 03 00 00 */ cmpwi r3, 0
+/* 80353190 0034EDF0 41 82 00 0C */ beq lbl_8035319C
+/* 80353194 0034EDF4 38 60 00 03 */ li r3, 3
+/* 80353198 0034EDF8 48 00 0A BC */ b lbl_80353C54
+lbl_8035319C:
+/* 8035319C 0034EDFC 80 9C 00 10 */ lwz r4, 0x10(r28)
+/* 803531A0 0034EE00 80 7C 00 04 */ lwz r3, 4(r28)
+/* 803531A4 0034EE04 38 84 00 09 */ addi r4, r4, 9
+/* 803531A8 0034EE08 38 A4 00 01 */ addi r5, r4, 1
+/* 803531AC 0034EE0C 90 BC 00 10 */ stw r5, 0x10(r28)
+/* 803531B0 0034EE10 7C 03 20 AE */ lbzx r0, r3, r4
+/* 803531B4 0034EE14 28 00 00 05 */ cmplwi r0, 5
+/* 803531B8 0034EE18 41 82 00 0C */ beq lbl_803531C4
+/* 803531BC 0034EE1C 38 60 00 03 */ li r3, 3
+/* 803531C0 0034EE20 48 00 0A 94 */ b lbl_80353C54
+lbl_803531C4:
+/* 803531C4 0034EE24 38 85 00 01 */ addi r4, r5, 1
+/* 803531C8 0034EE28 90 9C 00 10 */ stw r4, 0x10(r28)
+/* 803531CC 0034EE2C 7C 03 28 AE */ lbzx r0, r3, r5
+/* 803531D0 0034EE30 2C 00 00 00 */ cmpwi r0, 0
+/* 803531D4 0034EE34 41 82 00 0C */ beq lbl_803531E0
+/* 803531D8 0034EE38 38 60 00 03 */ li r3, 3
+/* 803531DC 0034EE3C 48 00 0A 78 */ b lbl_80353C54
+lbl_803531E0:
+/* 803531E0 0034EE40 7C 04 E8 50 */ subf r0, r4, r29
+/* 803531E4 0034EE44 2C 00 00 02 */ cmpwi r0, 2
+/* 803531E8 0034EE48 40 80 00 0C */ bge lbl_803531F4
+/* 803531EC 0034EE4C 38 60 00 03 */ li r3, 3
+/* 803531F0 0034EE50 48 00 0A 64 */ b lbl_80353C54
+lbl_803531F4:
+/* 803531F4 0034EE54 38 A4 00 01 */ addi r5, r4, 1
+/* 803531F8 0034EE58 90 BC 00 10 */ stw r5, 0x10(r28)
+/* 803531FC 0034EE5C 7C 03 20 AE */ lbzx r0, r3, r4
+/* 80353200 0034EE60 28 00 00 03 */ cmplwi r0, 3
+/* 80353204 0034EE64 41 82 00 0C */ beq lbl_80353210
+/* 80353208 0034EE68 38 60 00 03 */ li r3, 3
+/* 8035320C 0034EE6C 48 00 0A 48 */ b lbl_80353C54
+lbl_80353210:
+/* 80353210 0034EE70 38 85 00 01 */ addi r4, r5, 1
+/* 80353214 0034EE74 90 9C 00 10 */ stw r4, 0x10(r28)
+/* 80353218 0034EE78 7C 03 28 AE */ lbzx r0, r3, r5
+/* 8035321C 0034EE7C 28 00 00 81 */ cmplwi r0, 0x81
+/* 80353220 0034EE80 41 82 00 0C */ beq lbl_8035322C
+/* 80353224 0034EE84 38 60 00 03 */ li r3, 3
+/* 80353228 0034EE88 48 00 0A 2C */ b lbl_80353C54
+lbl_8035322C:
+/* 8035322C 0034EE8C 7C 04 E8 50 */ subf r0, r4, r29
+/* 80353230 0034EE90 7C 14 00 00 */ cmpw r20, r0
+/* 80353234 0034EE94 40 81 00 0C */ ble lbl_80353240
+/* 80353238 0034EE98 38 60 00 03 */ li r3, 3
+/* 8035323C 0034EE9C 48 00 0A 18 */ b lbl_80353C54
+lbl_80353240:
+/* 80353240 0034EEA0 38 84 00 01 */ addi r4, r4, 1
+/* 80353244 0034EEA4 38 04 00 01 */ addi r0, r4, 1
+/* 80353248 0034EEA8 90 1C 00 10 */ stw r0, 0x10(r28)
+/* 8035324C 0034EEAC 7C 03 20 AE */ lbzx r0, r3, r4
+/* 80353250 0034EEB0 2C 00 00 00 */ cmpwi r0, 0
+/* 80353254 0034EEB4 41 82 00 0C */ beq lbl_80353260
+/* 80353258 0034EEB8 38 60 00 03 */ li r3, 3
+/* 8035325C 0034EEBC 48 00 09 F8 */ b lbl_80353C54
+lbl_80353260:
+/* 80353260 0034EEC0 7F 83 E3 78 */ mr r3, r28
+/* 80353264 0034EEC4 38 81 00 20 */ addi r4, r1, 0x20
+/* 80353268 0034EEC8 4B FF ED 39 */ bl ghiEncryptorParseASN1Sequence
+/* 8035326C 0034EECC 2C 03 00 00 */ cmpwi r3, 0
+/* 80353270 0034EED0 40 82 00 0C */ bne lbl_8035327C
+/* 80353274 0034EED4 38 60 00 03 */ li r3, 3
+/* 80353278 0034EED8 48 00 09 DC */ b lbl_80353C54
+lbl_8035327C:
+/* 8035327C 0034EEDC 80 9C 00 10 */ lwz r4, 0x10(r28)
+/* 80353280 0034EEE0 80 BC 00 04 */ lwz r5, 4(r28)
+/* 80353284 0034EEE4 38 64 00 01 */ addi r3, r4, 1
+/* 80353288 0034EEE8 90 7C 00 10 */ stw r3, 0x10(r28)
+/* 8035328C 0034EEEC 7C 05 20 AE */ lbzx r0, r5, r4
+/* 80353290 0034EEF0 7C 00 07 74 */ extsb r0, r0
+/* 80353294 0034EEF4 2C 00 00 02 */ cmpwi r0, 2
+/* 80353298 0034EEF8 41 82 00 0C */ beq lbl_803532A4
+/* 8035329C 0034EEFC 38 60 00 03 */ li r3, 3
+/* 803532A0 0034EF00 48 00 09 B4 */ b lbl_80353C54
+lbl_803532A4:
+/* 803532A4 0034EF04 7C 05 18 AE */ lbzx r0, r5, r3
+/* 803532A8 0034EF08 54 00 06 30 */ rlwinm r0, r0, 0, 0x18, 0x18
+/* 803532AC 0034EF0C 2C 00 00 80 */ cmpwi r0, 0x80
+/* 803532B0 0034EF10 40 82 01 34 */ bne lbl_803533E4
+/* 803532B4 0034EF14 38 03 00 01 */ addi r0, r3, 1
+/* 803532B8 0034EF18 90 1C 00 10 */ stw r0, 0x10(r28)
+/* 803532BC 0034EF1C 7C 05 18 AE */ lbzx r0, r5, r3
+/* 803532C0 0034EF20 54 07 06 7E */ clrlwi r7, r0, 0x19
+/* 803532C4 0034EF24 2C 07 00 04 */ cmpwi r7, 4
+/* 803532C8 0034EF28 40 81 00 0C */ ble lbl_803532D4
+/* 803532CC 0034EF2C 38 60 00 03 */ li r3, 3
+/* 803532D0 0034EF30 48 00 09 84 */ b lbl_80353C54
+lbl_803532D4:
+/* 803532D4 0034EF34 2C 07 00 00 */ cmpwi r7, 0
+/* 803532D8 0034EF38 3A 80 00 00 */ li r20, 0
+/* 803532DC 0034EF3C 40 81 01 14 */ ble lbl_803533F0
+/* 803532E0 0034EF40 54 E0 E8 FF */ rlwinm. r0, r7, 0x1d, 3, 0x1f
+/* 803532E4 0034EF44 7C 09 03 A6 */ mtctr r0
+/* 803532E8 0034EF48 41 82 00 D4 */ beq lbl_803533BC
+lbl_803532EC:
+/* 803532EC 0034EF4C 80 9C 00 10 */ lwz r4, 0x10(r28)
+/* 803532F0 0034EF50 56 86 40 2E */ slwi r6, r20, 8
+/* 803532F4 0034EF54 80 BC 00 04 */ lwz r5, 4(r28)
+/* 803532F8 0034EF58 38 64 00 01 */ addi r3, r4, 1
+/* 803532FC 0034EF5C 90 7C 00 10 */ stw r3, 0x10(r28)
+/* 80353300 0034EF60 7C 05 20 AE */ lbzx r0, r5, r4
+/* 80353304 0034EF64 7C 64 1B 78 */ mr r4, r3
+/* 80353308 0034EF68 38 63 00 01 */ addi r3, r3, 1
+/* 8035330C 0034EF6C 90 7C 00 10 */ stw r3, 0x10(r28)
+/* 80353310 0034EF70 7C D4 03 78 */ or r20, r6, r0
+/* 80353314 0034EF74 56 86 40 2E */ slwi r6, r20, 8
+/* 80353318 0034EF78 7C 05 20 AE */ lbzx r0, r5, r4
+/* 8035331C 0034EF7C 7C 64 1B 78 */ mr r4, r3
+/* 80353320 0034EF80 38 63 00 01 */ addi r3, r3, 1
+/* 80353324 0034EF84 90 7C 00 10 */ stw r3, 0x10(r28)
+/* 80353328 0034EF88 7C D4 03 78 */ or r20, r6, r0
+/* 8035332C 0034EF8C 56 86 40 2E */ slwi r6, r20, 8
+/* 80353330 0034EF90 7C 05 20 AE */ lbzx r0, r5, r4
+/* 80353334 0034EF94 7C 64 1B 78 */ mr r4, r3
+/* 80353338 0034EF98 38 63 00 01 */ addi r3, r3, 1
+/* 8035333C 0034EF9C 90 7C 00 10 */ stw r3, 0x10(r28)
+/* 80353340 0034EFA0 7C D4 03 78 */ or r20, r6, r0
+/* 80353344 0034EFA4 56 86 40 2E */ slwi r6, r20, 8
+/* 80353348 0034EFA8 7C 05 20 AE */ lbzx r0, r5, r4
+/* 8035334C 0034EFAC 7C 64 1B 78 */ mr r4, r3
+/* 80353350 0034EFB0 38 63 00 01 */ addi r3, r3, 1
+/* 80353354 0034EFB4 90 7C 00 10 */ stw r3, 0x10(r28)
+/* 80353358 0034EFB8 7C D4 03 78 */ or r20, r6, r0
+/* 8035335C 0034EFBC 56 86 40 2E */ slwi r6, r20, 8
+/* 80353360 0034EFC0 7C 05 20 AE */ lbzx r0, r5, r4
+/* 80353364 0034EFC4 7C 64 1B 78 */ mr r4, r3
+/* 80353368 0034EFC8 38 63 00 01 */ addi r3, r3, 1
+/* 8035336C 0034EFCC 90 7C 00 10 */ stw r3, 0x10(r28)
+/* 80353370 0034EFD0 7C D4 03 78 */ or r20, r6, r0
+/* 80353374 0034EFD4 56 86 40 2E */ slwi r6, r20, 8
+/* 80353378 0034EFD8 7C 05 20 AE */ lbzx r0, r5, r4
+/* 8035337C 0034EFDC 7C 64 1B 78 */ mr r4, r3
+/* 80353380 0034EFE0 38 63 00 01 */ addi r3, r3, 1
+/* 80353384 0034EFE4 90 7C 00 10 */ stw r3, 0x10(r28)
+/* 80353388 0034EFE8 7C D4 03 78 */ or r20, r6, r0
+/* 8035338C 0034EFEC 56 86 40 2E */ slwi r6, r20, 8
+/* 80353390 0034EFF0 7C 05 20 AE */ lbzx r0, r5, r4
+/* 80353394 0034EFF4 7C 64 1B 78 */ mr r4, r3
+/* 80353398 0034EFF8 38 63 00 01 */ addi r3, r3, 1
+/* 8035339C 0034EFFC 90 7C 00 10 */ stw r3, 0x10(r28)
+/* 803533A0 0034F000 7C D4 03 78 */ or r20, r6, r0
+/* 803533A4 0034F004 56 86 40 2E */ slwi r6, r20, 8
+/* 803533A8 0034F008 7C 05 20 AE */ lbzx r0, r5, r4
+/* 803533AC 0034F00C 7C D4 03 78 */ or r20, r6, r0
+/* 803533B0 0034F010 42 00 FF 3C */ bdnz lbl_803532EC
+/* 803533B4 0034F014 70 E7 00 07 */ andi. r7, r7, 7
+/* 803533B8 0034F018 41 82 00 38 */ beq lbl_803533F0
+lbl_803533BC:
+/* 803533BC 0034F01C 7C E9 03 A6 */ mtctr r7
+lbl_803533C0:
+/* 803533C0 0034F020 80 9C 00 10 */ lwz r4, 0x10(r28)
+/* 803533C4 0034F024 56 86 40 2E */ slwi r6, r20, 8
+/* 803533C8 0034F028 80 BC 00 04 */ lwz r5, 4(r28)
+/* 803533CC 0034F02C 38 64 00 01 */ addi r3, r4, 1
+/* 803533D0 0034F030 90 7C 00 10 */ stw r3, 0x10(r28)
+/* 803533D4 0034F034 7C 05 20 AE */ lbzx r0, r5, r4
+/* 803533D8 0034F038 7C D4 03 78 */ or r20, r6, r0
+/* 803533DC 0034F03C 42 00 FF E4 */ bdnz lbl_803533C0
+/* 803533E0 0034F040 48 00 00 10 */ b lbl_803533F0
+lbl_803533E4:
+/* 803533E4 0034F044 38 03 00 01 */ addi r0, r3, 1
+/* 803533E8 0034F048 90 1C 00 10 */ stw r0, 0x10(r28)
+/* 803533EC 0034F04C 7E 85 18 AE */ lbzx r20, r5, r3
+lbl_803533F0:
+/* 803533F0 0034F050 80 9C 00 10 */ lwz r4, 0x10(r28)
+/* 803533F4 0034F054 7C 04 A2 14 */ add r0, r4, r20
+/* 803533F8 0034F058 7C 00 E8 00 */ cmpw r0, r29
+/* 803533FC 0034F05C 40 81 00 0C */ ble lbl_80353408
+/* 80353400 0034F060 38 60 00 03 */ li r3, 3
+/* 80353404 0034F064 48 00 08 50 */ b lbl_80353C54
+lbl_80353408:
+/* 80353408 0034F068 38 04 00 01 */ addi r0, r4, 1
+/* 8035340C 0034F06C 80 7C 00 04 */ lwz r3, 4(r28)
+/* 80353410 0034F070 90 1C 00 10 */ stw r0, 0x10(r28)
+/* 80353414 0034F074 7C 03 20 AE */ lbzx r0, r3, r4
+/* 80353418 0034F078 7C 00 07 75 */ extsb. r0, r0
+/* 8035341C 0034F07C 41 82 00 0C */ beq lbl_80353428
+/* 80353420 0034F080 38 60 00 03 */ li r3, 3
+/* 80353424 0034F084 48 00 08 30 */ b lbl_80353C54
+lbl_80353428:
+/* 80353428 0034F088 38 B4 FF FF */ addi r5, r20, -1
+/* 8035342C 0034F08C 28 05 08 00 */ cmplwi r5, 0x800
+/* 80353430 0034F090 40 81 00 0C */ ble lbl_8035343C
+/* 80353434 0034F094 38 60 00 03 */ li r3, 3
+/* 80353438 0034F098 48 00 08 1C */ b lbl_80353C54
+lbl_8035343C:
+/* 8035343C 0034F09C 54 A0 F0 02 */ slwi r0, r5, 0x1e
+/* 80353440 0034F0A0 54 A3 0F FE */ srwi r3, r5, 0x1f
+/* 80353444 0034F0A4 7C 03 00 50 */ subf r0, r3, r0
+/* 80353448 0034F0A8 7C A4 16 70 */ srawi r4, r5, 2
+/* 8035344C 0034F0AC 54 00 10 3E */ rotlwi r0, r0, 2
+/* 80353450 0034F0B0 7C 84 01 94 */ addze r4, r4
+/* 80353454 0034F0B4 7C 00 1A 14 */ add r0, r0, r3
+/* 80353458 0034F0B8 90 9F 01 08 */ stw r4, 0x108(r31)
+/* 8035345C 0034F0BC 20 00 00 04 */ subfic r0, r0, 4
+/* 80353460 0034F0C0 54 04 F0 02 */ slwi r4, r0, 0x1e
+/* 80353464 0034F0C4 80 7C 00 04 */ lwz r3, 4(r28)
+/* 80353468 0034F0C8 54 07 0F FE */ srwi r7, r0, 0x1f
+/* 8035346C 0034F0CC 80 1C 00 10 */ lwz r0, 0x10(r28)
+/* 80353470 0034F0D0 7C 87 20 50 */ subf r4, r7, r4
+/* 80353474 0034F0D4 54 86 10 3E */ rotlwi r6, r4, 2
+/* 80353478 0034F0D8 7C 83 02 14 */ add r4, r3, r0
+/* 8035347C 0034F0DC 7C 06 3A 14 */ add r0, r6, r7
+/* 80353480 0034F0E0 7C 7F 02 14 */ add r3, r31, r0
+/* 80353484 0034F0E4 38 63 01 0C */ addi r3, r3, 0x10c
+/* 80353488 0034F0E8 4B CB 0B 79 */ bl memcpy
+/* 8035348C 0034F0EC 38 7F 01 08 */ addi r3, r31, 0x108
+/* 80353490 0034F0F0 4B FE 8A 81 */ bl gsLargeIntReverseBytes
+/* 80353494 0034F0F4 80 1C 00 10 */ lwz r0, 0x10(r28)
+/* 80353498 0034F0F8 80 BC 00 04 */ lwz r5, 4(r28)
+/* 8035349C 0034F0FC 7C 74 02 14 */ add r3, r20, r0
+/* 803534A0 0034F100 38 83 FF FF */ addi r4, r3, -1
+/* 803534A4 0034F104 38 64 00 01 */ addi r3, r4, 1
+/* 803534A8 0034F108 90 7C 00 10 */ stw r3, 0x10(r28)
+/* 803534AC 0034F10C 7C 05 20 AE */ lbzx r0, r5, r4
+/* 803534B0 0034F110 7C 00 07 74 */ extsb r0, r0
+/* 803534B4 0034F114 2C 00 00 02 */ cmpwi r0, 2
+/* 803534B8 0034F118 41 82 00 0C */ beq lbl_803534C4
+/* 803534BC 0034F11C 38 60 00 03 */ li r3, 3
+/* 803534C0 0034F120 48 00 07 94 */ b lbl_80353C54
+lbl_803534C4:
+/* 803534C4 0034F124 7C 05 18 AE */ lbzx r0, r5, r3
+/* 803534C8 0034F128 54 00 06 30 */ rlwinm r0, r0, 0, 0x18, 0x18
+/* 803534CC 0034F12C 2C 00 00 80 */ cmpwi r0, 0x80
+/* 803534D0 0034F130 40 82 01 34 */ bne lbl_80353604
+/* 803534D4 0034F134 38 03 00 01 */ addi r0, r3, 1
+/* 803534D8 0034F138 90 1C 00 10 */ stw r0, 0x10(r28)
+/* 803534DC 0034F13C 7C 05 18 AE */ lbzx r0, r5, r3
+/* 803534E0 0034F140 54 07 06 7E */ clrlwi r7, r0, 0x19
+/* 803534E4 0034F144 2C 07 00 04 */ cmpwi r7, 4
+/* 803534E8 0034F148 40 81 00 0C */ ble lbl_803534F4
+/* 803534EC 0034F14C 38 60 00 03 */ li r3, 3
+/* 803534F0 0034F150 48 00 07 64 */ b lbl_80353C54
+lbl_803534F4:
+/* 803534F4 0034F154 2C 07 00 00 */ cmpwi r7, 0
+/* 803534F8 0034F158 3A 80 00 00 */ li r20, 0
+/* 803534FC 0034F15C 40 81 01 14 */ ble lbl_80353610
+/* 80353500 0034F160 54 E0 E8 FF */ rlwinm. r0, r7, 0x1d, 3, 0x1f
+/* 80353504 0034F164 7C 09 03 A6 */ mtctr r0
+/* 80353508 0034F168 41 82 00 D4 */ beq lbl_803535DC
+lbl_8035350C:
+/* 8035350C 0034F16C 80 9C 00 10 */ lwz r4, 0x10(r28)
+/* 80353510 0034F170 56 86 40 2E */ slwi r6, r20, 8
+/* 80353514 0034F174 80 BC 00 04 */ lwz r5, 4(r28)
+/* 80353518 0034F178 38 64 00 01 */ addi r3, r4, 1
+/* 8035351C 0034F17C 90 7C 00 10 */ stw r3, 0x10(r28)
+/* 80353520 0034F180 7C 05 20 AE */ lbzx r0, r5, r4
+/* 80353524 0034F184 7C 64 1B 78 */ mr r4, r3
+/* 80353528 0034F188 38 63 00 01 */ addi r3, r3, 1
+/* 8035352C 0034F18C 90 7C 00 10 */ stw r3, 0x10(r28)
+/* 80353530 0034F190 7C D4 03 78 */ or r20, r6, r0
+/* 80353534 0034F194 56 86 40 2E */ slwi r6, r20, 8
+/* 80353538 0034F198 7C 05 20 AE */ lbzx r0, r5, r4
+/* 8035353C 0034F19C 7C 64 1B 78 */ mr r4, r3
+/* 80353540 0034F1A0 38 63 00 01 */ addi r3, r3, 1
+/* 80353544 0034F1A4 90 7C 00 10 */ stw r3, 0x10(r28)
+/* 80353548 0034F1A8 7C D4 03 78 */ or r20, r6, r0
+/* 8035354C 0034F1AC 56 86 40 2E */ slwi r6, r20, 8
+/* 80353550 0034F1B0 7C 05 20 AE */ lbzx r0, r5, r4
+/* 80353554 0034F1B4 7C 64 1B 78 */ mr r4, r3
+/* 80353558 0034F1B8 38 63 00 01 */ addi r3, r3, 1
+/* 8035355C 0034F1BC 90 7C 00 10 */ stw r3, 0x10(r28)
+/* 80353560 0034F1C0 7C D4 03 78 */ or r20, r6, r0
+/* 80353564 0034F1C4 56 86 40 2E */ slwi r6, r20, 8
+/* 80353568 0034F1C8 7C 05 20 AE */ lbzx r0, r5, r4
+/* 8035356C 0034F1CC 7C 64 1B 78 */ mr r4, r3
+/* 80353570 0034F1D0 38 63 00 01 */ addi r3, r3, 1
+/* 80353574 0034F1D4 90 7C 00 10 */ stw r3, 0x10(r28)
+/* 80353578 0034F1D8 7C D4 03 78 */ or r20, r6, r0
+/* 8035357C 0034F1DC 56 86 40 2E */ slwi r6, r20, 8
+/* 80353580 0034F1E0 7C 05 20 AE */ lbzx r0, r5, r4
+/* 80353584 0034F1E4 7C 64 1B 78 */ mr r4, r3
+/* 80353588 0034F1E8 38 63 00 01 */ addi r3, r3, 1
+/* 8035358C 0034F1EC 90 7C 00 10 */ stw r3, 0x10(r28)
+/* 80353590 0034F1F0 7C D4 03 78 */ or r20, r6, r0
+/* 80353594 0034F1F4 56 86 40 2E */ slwi r6, r20, 8
+/* 80353598 0034F1F8 7C 05 20 AE */ lbzx r0, r5, r4
+/* 8035359C 0034F1FC 7C 64 1B 78 */ mr r4, r3
+/* 803535A0 0034F200 38 63 00 01 */ addi r3, r3, 1
+/* 803535A4 0034F204 90 7C 00 10 */ stw r3, 0x10(r28)
+/* 803535A8 0034F208 7C D4 03 78 */ or r20, r6, r0
+/* 803535AC 0034F20C 56 86 40 2E */ slwi r6, r20, 8
+/* 803535B0 0034F210 7C 05 20 AE */ lbzx r0, r5, r4
+/* 803535B4 0034F214 7C 64 1B 78 */ mr r4, r3
+/* 803535B8 0034F218 38 63 00 01 */ addi r3, r3, 1
+/* 803535BC 0034F21C 90 7C 00 10 */ stw r3, 0x10(r28)
+/* 803535C0 0034F220 7C D4 03 78 */ or r20, r6, r0
+/* 803535C4 0034F224 56 86 40 2E */ slwi r6, r20, 8
+/* 803535C8 0034F228 7C 05 20 AE */ lbzx r0, r5, r4
+/* 803535CC 0034F22C 7C D4 03 78 */ or r20, r6, r0
+/* 803535D0 0034F230 42 00 FF 3C */ bdnz lbl_8035350C
+/* 803535D4 0034F234 70 E7 00 07 */ andi. r7, r7, 7
+/* 803535D8 0034F238 41 82 00 38 */ beq lbl_80353610
+lbl_803535DC:
+/* 803535DC 0034F23C 7C E9 03 A6 */ mtctr r7
+lbl_803535E0:
+/* 803535E0 0034F240 80 9C 00 10 */ lwz r4, 0x10(r28)
+/* 803535E4 0034F244 56 86 40 2E */ slwi r6, r20, 8
+/* 803535E8 0034F248 80 BC 00 04 */ lwz r5, 4(r28)
+/* 803535EC 0034F24C 38 64 00 01 */ addi r3, r4, 1
+/* 803535F0 0034F250 90 7C 00 10 */ stw r3, 0x10(r28)
+/* 803535F4 0034F254 7C 05 20 AE */ lbzx r0, r5, r4
+/* 803535F8 0034F258 7C D4 03 78 */ or r20, r6, r0
+/* 803535FC 0034F25C 42 00 FF E4 */ bdnz lbl_803535E0
+/* 80353600 0034F260 48 00 00 10 */ b lbl_80353610
+lbl_80353604:
+/* 80353604 0034F264 38 03 00 01 */ addi r0, r3, 1
+/* 80353608 0034F268 90 1C 00 10 */ stw r0, 0x10(r28)
+/* 8035360C 0034F26C 7E 85 18 AE */ lbzx r20, r5, r3
+lbl_80353610:
+/* 80353610 0034F270 80 1C 00 10 */ lwz r0, 0x10(r28)
+/* 80353614 0034F274 7C 00 A2 14 */ add r0, r0, r20
+/* 80353618 0034F278 7C 00 E8 00 */ cmpw r0, r29
+/* 8035361C 0034F27C 40 81 00 0C */ ble lbl_80353628
+/* 80353620 0034F280 38 60 00 03 */ li r3, 3
+/* 80353624 0034F284 48 00 06 30 */ b lbl_80353C54
+lbl_80353628:
+/* 80353628 0034F288 2C 14 00 00 */ cmpwi r20, 0
+/* 8035362C 0034F28C 40 82 00 0C */ bne lbl_80353638
+/* 80353630 0034F290 38 60 00 03 */ li r3, 3
+/* 80353634 0034F294 48 00 06 20 */ b lbl_80353C54
+lbl_80353638:
+/* 80353638 0034F298 28 14 08 00 */ cmplwi r20, 0x800
+/* 8035363C 0034F29C 40 81 00 0C */ ble lbl_80353648
+/* 80353640 0034F2A0 38 60 00 03 */ li r3, 3
+/* 80353644 0034F2A4 48 00 06 10 */ b lbl_80353C54
+lbl_80353648:
+/* 80353648 0034F2A8 56 80 F0 02 */ slwi r0, r20, 0x1e
+/* 8035364C 0034F2AC 56 83 0F FE */ srwi r3, r20, 0x1f
+/* 80353650 0034F2B0 38 94 FF FF */ addi r4, r20, -1
+/* 80353654 0034F2B4 7E 85 A3 78 */ mr r5, r20
+/* 80353658 0034F2B8 7C 03 00 50 */ subf r0, r3, r0
+/* 8035365C 0034F2BC 7C 84 16 70 */ srawi r4, r4, 2
+/* 80353660 0034F2C0 54 00 10 3E */ rotlwi r0, r0, 2
+/* 80353664 0034F2C4 7C 84 01 94 */ addze r4, r4
+/* 80353668 0034F2C8 7C 00 1A 14 */ add r0, r0, r3
+/* 8035366C 0034F2CC 20 60 00 04 */ subfic r3, r0, 4
+/* 80353670 0034F2D0 38 04 00 01 */ addi r0, r4, 1
+/* 80353674 0034F2D4 90 1F 02 0C */ stw r0, 0x20c(r31)
+/* 80353678 0034F2D8 54 60 F0 02 */ slwi r0, r3, 0x1e
+/* 8035367C 0034F2DC 54 66 0F FE */ srwi r6, r3, 0x1f
+/* 80353680 0034F2E0 7C 06 00 50 */ subf r0, r6, r0
+/* 80353684 0034F2E4 80 7C 00 04 */ lwz r3, 4(r28)
+/* 80353688 0034F2E8 54 04 10 3E */ rotlwi r4, r0, 2
+/* 8035368C 0034F2EC 80 1C 00 10 */ lwz r0, 0x10(r28)
+/* 80353690 0034F2F0 7C 84 32 14 */ add r4, r4, r6
+/* 80353694 0034F2F4 7C DF 22 14 */ add r6, r31, r4
+/* 80353698 0034F2F8 7C 83 02 14 */ add r4, r3, r0
+/* 8035369C 0034F2FC 38 66 02 10 */ addi r3, r6, 0x210
+/* 803536A0 0034F300 4B CB 09 61 */ bl memcpy
+/* 803536A4 0034F304 38 7F 02 0C */ addi r3, r31, 0x20c
+/* 803536A8 0034F308 4B FE 88 69 */ bl gsLargeIntReverseBytes
+/* 803536AC 0034F30C 80 1C 00 10 */ lwz r0, 0x10(r28)
+/* 803536B0 0034F310 7C 00 A2 14 */ add r0, r0, r20
+/* 803536B4 0034F314 90 1C 00 10 */ stw r0, 0x10(r28)
+lbl_803536B8:
+/* 803536B8 0034F318 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 803536BC 0034F31C 7C 0F 02 14 */ add r0, r15, r0
+/* 803536C0 0034F320 90 1C 00 10 */ stw r0, 0x10(r28)
+lbl_803536C4:
+/* 803536C4 0034F324 80 7C 00 10 */ lwz r3, 0x10(r28)
+/* 803536C8 0034F328 7C 03 E8 00 */ cmpw r3, r29
+/* 803536CC 0034F32C 41 80 F7 E4 */ blt lbl_80352EB0
+/* 803536D0 0034F330 41 82 00 0C */ beq lbl_803536DC
+/* 803536D4 0034F334 38 60 00 03 */ li r3, 3
+/* 803536D8 0034F338 48 00 05 7C */ b lbl_80353C54
+lbl_803536DC:
+/* 803536DC 0034F33C 80 1C 00 04 */ lwz r0, 4(r28)
+/* 803536E0 0034F340 7D F0 18 50 */ subf r15, r16, r3
+/* 803536E4 0034F344 7D E5 7B 78 */ mr r5, r15
+/* 803536E8 0034F348 38 7F 05 A4 */ addi r3, r31, 0x5a4
+/* 803536EC 0034F34C 7C 80 82 14 */ add r4, r0, r16
+/* 803536F0 0034F350 4B FE 35 F5 */ bl MD5Update
+/* 803536F4 0034F354 80 1C 00 04 */ lwz r0, 4(r28)
+/* 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 SHA1Input
+/* 80353708 0034F368 48 00 05 30 */ b lbl_80353C38
+lbl_8035370C:
+/* 8035370C 0034F36C 2C 00 00 0E */ cmpwi r0, 0xe
+/* 80353710 0034F370 40 82 05 0C */ bne lbl_80353C1C
+/* 80353714 0034F374 92 41 00 1C */ stw r18, 0x1c(r1)
+/* 80353718 0034F378 7F 83 E3 78 */ mr r3, r28
+/* 8035371C 0034F37C 38 81 00 1D */ addi r4, r1, 0x1d
+/* 80353720 0034F380 38 A0 00 03 */ li r5, 3
+/* 80353724 0034F384 4B FF DA 25 */ bl ghiReadDataFromBufferFixed
+/* 80353728 0034F388 2C 03 00 00 */ cmpwi r3, 0
+/* 8035372C 0034F38C 40 82 00 0C */ bne lbl_80353738
+/* 80353730 0034F390 38 00 00 00 */ li r0, 0
+/* 80353734 0034F394 48 00 00 14 */ b lbl_80353748
+lbl_80353738:
+/* 80353738 0034F398 80 61 00 1C */ lwz r3, 0x1c(r1)
+/* 8035373C 0034F39C 4B FA 36 3D */ bl func_802F6D78
+/* 80353740 0034F3A0 90 61 00 1C */ stw r3, 0x1c(r1)
+/* 80353744 0034F3A4 38 00 00 01 */ li r0, 1
+lbl_80353748:
+/* 80353748 0034F3A8 2C 00 00 00 */ cmpwi r0, 0
+/* 8035374C 0034F3AC 40 82 00 0C */ bne lbl_80353758
+/* 80353750 0034F3B0 38 60 00 03 */ li r3, 3
+/* 80353754 0034F3B4 48 00 05 00 */ b lbl_80353C54
+lbl_80353758:
+/* 80353758 0034F3B8 80 01 00 1C */ lwz r0, 0x1c(r1)
+/* 8035375C 0034F3BC 2C 00 00 00 */ cmpwi r0, 0
+/* 80353760 0034F3C0 41 82 00 0C */ beq lbl_8035376C
+/* 80353764 0034F3C4 38 60 00 03 */ li r3, 3
+/* 80353768 0034F3C8 48 00 04 EC */ b lbl_80353C54
+lbl_8035376C:
+/* 8035376C 0034F3CC 80 9C 00 04 */ lwz r4, 4(r28)
+/* 80353770 0034F3D0 38 7F 05 A4 */ addi r3, r31, 0x5a4
+/* 80353774 0034F3D4 80 1C 00 10 */ lwz r0, 0x10(r28)
+/* 80353778 0034F3D8 7C 84 82 14 */ add r4, r4, r16
+/* 8035377C 0034F3DC 7C B0 00 50 */ subf r5, r16, r0
+/* 80353780 0034F3E0 4B FE 35 65 */ bl MD5Update
+/* 80353784 0034F3E4 80 9C 00 04 */ lwz r4, 4(r28)
+/* 80353788 0034F3E8 38 7F 05 FC */ addi r3, r31, 0x5fc
+/* 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 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
+/* 803537A8 0034F408 90 01 00 1C */ stw r0, 0x1c(r1)
+/* 803537AC 0034F40C 48 00 00 20 */ b lbl_803537CC
+lbl_803537B0:
+/* 803537B0 0034F410 80 9B 00 68 */ lwz r4, 0x68(r27)
+/* 803537B4 0034F414 38 7B 00 54 */ addi r3, r27, 0x54
+/* 803537B8 0034F418 4B FF D0 3D */ bl ghiResizeBuffer
+/* 803537BC 0034F41C 2C 03 00 00 */ cmpwi r3, 0
+/* 803537C0 0034F420 40 82 00 0C */ bne lbl_803537CC
+/* 803537C4 0034F424 38 60 00 03 */ li r3, 3
+/* 803537C8 0034F428 48 00 04 8C */ b lbl_80353C54
+lbl_803537CC:
+/* 803537CC 0034F42C 80 9B 00 60 */ lwz r4, 0x60(r27)
+/* 803537D0 0034F430 80 7B 00 5C */ lwz r3, 0x5c(r27)
+/* 803537D4 0034F434 80 01 00 1C */ lwz r0, 0x1c(r1)
+/* 803537D8 0034F438 7C 64 18 50 */ subf r3, r4, r3
+/* 803537DC 0034F43C 7C 03 00 00 */ cmpw r3, r0
+/* 803537E0 0034F440 41 80 FF D0 */ blt lbl_803537B0
+/* 803537E4 0034F444 9A DF 06 A4 */ stb r22, 0x6a4(r31)
+/* 803537E8 0034F448 39 E0 00 02 */ li r15, 2
+/* 803537EC 0034F44C 9A 5F 06 A5 */ stb r18, 0x6a5(r31)
+lbl_803537F0:
+/* 803537F0 0034F450 4B FE 57 E9 */ bl current_time
+/* 803537F4 0034F454 4B FE 58 6D */ bl Util_RandSeed
+/* 803537F8 0034F458 38 60 00 00 */ li r3, 0
+/* 803537FC 0034F45C 38 80 01 00 */ li r4, 0x100
+/* 80353800 0034F460 4B FE 58 79 */ bl Util_RandInt
+/* 80353804 0034F464 7C 9F 7A 14 */ add r4, r31, r15
+/* 80353808 0034F468 39 EF 00 01 */ addi r15, r15, 1
+/* 8035380C 0034F46C 2C 0F 00 30 */ cmpwi r15, 0x30
+/* 80353810 0034F470 98 64 06 A4 */ stb r3, 0x6a4(r4)
+/* 80353814 0034F474 41 80 FF DC */ blt lbl_803537F0
+/* 80353818 0034F478 80 7B 00 60 */ lwz r3, 0x60(r27)
+/* 8035381C 0034F47C 80 9B 00 58 */ lwz r4, 0x58(r27)
+/* 80353820 0034F480 38 03 00 09 */ addi r0, r3, 9
+/* 80353824 0034F484 90 1B 00 60 */ stw r0, 0x60(r27)
+/* 80353828 0034F488 7D E4 1A 14 */ add r15, r4, r3
+/* 8035382C 0034F48C 7E E4 19 AE */ stbx r23, r4, r3
+/* 80353830 0034F490 9A CF 00 01 */ stb r22, 1(r15)
+/* 80353834 0034F494 9A 4F 00 02 */ stb r18, 2(r15)
+/* 80353838 0034F498 80 1F 01 08 */ lwz r0, 0x108(r31)
+/* 8035383C 0034F49C 54 03 10 3A */ slwi r3, r0, 2
+/* 80353840 0034F4A0 38 63 00 04 */ addi r3, r3, 4
+/* 80353844 0034F4A4 4B FA 35 35 */ bl func_802F6D78
+/* 80353848 0034F4A8 90 61 00 18 */ stw r3, 0x18(r1)
+/* 8035384C 0034F4AC 38 81 00 1A */ addi r4, r1, 0x1a
+/* 80353850 0034F4B0 38 6F 00 03 */ addi r3, r15, 3
+/* 80353854 0034F4B4 38 A0 00 02 */ li r5, 2
+/* 80353858 0034F4B8 4B CB 07 A9 */ bl memcpy
+/* 8035385C 0034F4BC 38 00 00 10 */ li r0, 0x10
+/* 80353860 0034F4C0 98 0F 00 05 */ stb r0, 5(r15)
+/* 80353864 0034F4C4 80 1F 01 08 */ lwz r0, 0x108(r31)
+/* 80353868 0034F4C8 54 03 10 3A */ slwi r3, r0, 2
+/* 8035386C 0034F4CC 4B FA 35 0D */ bl func_802F6D78
+/* 80353870 0034F4D0 90 61 00 14 */ stw r3, 0x14(r1)
+/* 80353874 0034F4D4 38 81 00 15 */ addi r4, r1, 0x15
+/* 80353878 0034F4D8 38 6F 00 06 */ addi r3, r15, 6
+/* 8035387C 0034F4DC 38 A0 00 03 */ li r5, 3
+/* 80353880 0034F4E0 4B CB 07 81 */ bl memcpy
+/* 80353884 0034F4E4 80 DB 00 58 */ lwz r6, 0x58(r27)
+/* 80353888 0034F4E8 38 7F 01 08 */ addi r3, r31, 0x108
+/* 8035388C 0034F4EC 80 1B 00 60 */ lwz r0, 0x60(r27)
+/* 80353890 0034F4F0 38 9F 06 A4 */ addi r4, r31, 0x6a4
+/* 80353894 0034F4F4 38 A0 00 30 */ li r5, 0x30
+/* 80353898 0034F4F8 7C C6 02 14 */ add r6, r6, r0
+/* 8035389C 0034F4FC 4B FE 5D F9 */ bl gsCryptRSAEncryptBuffer
+/* 803538A0 0034F500 80 1F 01 08 */ lwz r0, 0x108(r31)
+/* 803538A4 0034F504 38 7F 05 A4 */ addi r3, r31, 0x5a4
+/* 803538A8 0034F508 80 BB 00 60 */ lwz r5, 0x60(r27)
+/* 803538AC 0034F50C 38 8F 00 05 */ addi r4, r15, 5
+/* 803538B0 0034F510 54 00 10 3A */ slwi r0, r0, 2
+/* 803538B4 0034F514 7C 05 02 14 */ add r0, r5, r0
+/* 803538B8 0034F518 90 1B 00 60 */ stw r0, 0x60(r27)
+/* 803538BC 0034F51C 80 1F 01 08 */ lwz r0, 0x108(r31)
+/* 803538C0 0034F520 54 05 10 3A */ slwi r5, r0, 2
+/* 803538C4 0034F524 38 A5 00 04 */ addi r5, r5, 4
+/* 803538C8 0034F528 4B FE 34 1D */ bl MD5Update
+/* 803538CC 0034F52C 80 1F 01 08 */ lwz r0, 0x108(r31)
+/* 803538D0 0034F530 38 7F 05 FC */ addi r3, r31, 0x5fc
+/* 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 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)
+/* 803538F0 0034F550 7F 04 01 EE */ stbux r24, r4, r0
+/* 803538F4 0034F554 9A C4 00 01 */ stb r22, 1(r4)
+/* 803538F8 0034F558 9A 44 00 02 */ stb r18, 2(r4)
+/* 803538FC 0034F55C 9A 44 00 03 */ stb r18, 3(r4)
+/* 80353900 0034F560 99 C4 00 04 */ stb r14, 4(r4)
+/* 80353904 0034F564 80 BB 00 60 */ lwz r5, 0x60(r27)
+/* 80353908 0034F568 80 9B 00 58 */ lwz r4, 0x58(r27)
+/* 8035390C 0034F56C 38 A5 00 05 */ addi r5, r5, 5
+/* 80353910 0034F570 90 BB 00 60 */ stw r5, 0x60(r27)
+/* 80353914 0034F574 38 05 00 01 */ addi r0, r5, 1
+/* 80353918 0034F578 7D C4 29 AE */ stbx r14, r4, r5
+/* 8035391C 0034F57C 90 1B 00 60 */ stw r0, 0x60(r27)
+/* 80353920 0034F580 4B FF E7 DD */ bl ghttpEncryptorGenerateEncryptionKeys
+/* 80353924 0034F584 80 9B 00 58 */ lwz r4, 0x58(r27)
+/* 80353928 0034F588 38 60 00 24 */ li r3, 0x24
+/* 8035392C 0034F58C 80 1B 00 60 */ lwz r0, 0x60(r27)
+/* 80353930 0034F590 7E E4 01 AE */ stbx r23, r4, r0
+/* 80353934 0034F594 7D E4 02 14 */ add r15, r4, r0
+/* 80353938 0034F598 38 00 00 38 */ li r0, 0x38
+/* 8035393C 0034F59C 9A CF 00 01 */ stb r22, 1(r15)
+/* 80353940 0034F5A0 9A 4F 00 02 */ stb r18, 2(r15)
+/* 80353944 0034F5A4 9A 4F 00 03 */ stb r18, 3(r15)
+/* 80353948 0034F5A8 98 0F 00 04 */ stb r0, 4(r15)
+/* 8035394C 0034F5AC 80 9B 00 60 */ lwz r4, 0x60(r27)
+/* 80353950 0034F5B0 80 BB 00 58 */ lwz r5, 0x58(r27)
+/* 80353954 0034F5B4 38 C4 00 05 */ addi r6, r4, 5
+/* 80353958 0034F5B8 90 DB 00 60 */ stw r6, 0x60(r27)
+/* 8035395C 0034F5BC 38 86 00 01 */ addi r4, r6, 1
+/* 80353960 0034F5C0 7F 05 31 AE */ stbx r24, r5, r6
+/* 80353964 0034F5C4 80 1B 00 58 */ lwz r0, 0x58(r27)
+/* 80353968 0034F5C8 90 9B 00 60 */ stw r4, 0x60(r27)
+/* 8035396C 0034F5CC 7E 00 22 14 */ add r16, r0, r4
+/* 80353970 0034F5D0 4B FA 34 09 */ bl func_802F6D78
+/* 80353974 0034F5D4 90 61 00 10 */ stw r3, 0x10(r1)
+/* 80353978 0034F5D8 7E 03 83 78 */ mr r3, r16
+/* 8035397C 0034F5DC 38 81 00 11 */ addi r4, r1, 0x11
+/* 80353980 0034F5E0 38 A0 00 03 */ li r5, 3
+/* 80353984 0034F5E4 4B CB 06 7D */ bl memcpy
+/* 80353988 0034F5E8 80 DB 00 60 */ lwz r6, 0x60(r27)
+/* 8035398C 0034F5EC 38 7F 05 A4 */ addi r3, r31, 0x5a4
+/* 80353990 0034F5F0 38 8D 93 B0 */ addi r4, r13, lbl_8063E670-_SDA_BASE_
+/* 80353994 0034F5F4 38 A0 00 04 */ li r5, 4
+/* 80353998 0034F5F8 38 06 00 03 */ addi r0, r6, 3
+/* 8035399C 0034F5FC 90 1B 00 60 */ stw r0, 0x60(r27)
+/* 803539A0 0034F600 4B FE 33 45 */ bl MD5Update
+/* 803539A4 0034F604 38 7F 05 A4 */ addi r3, r31, 0x5a4
+/* 803539A8 0034F608 38 9F 06 D4 */ addi r4, r31, 0x6d4
+/* 803539AC 0034F60C 38 A0 00 30 */ li r5, 0x30
+/* 803539B0 0034F610 4B FE 33 35 */ bl MD5Update
+/* 803539B4 0034F614 38 7F 05 A4 */ addi r3, r31, 0x5a4
+/* 803539B8 0034F618 38 99 BF 8C */ addi r4, r25, -16500
+/* 803539BC 0034F61C 38 A0 00 30 */ li r5, 0x30
+/* 803539C0 0034F620 4B FE 33 25 */ bl MD5Update
+/* 803539C4 0034F624 38 61 00 40 */ addi r3, r1, 0x40
+/* 803539C8 0034F628 38 9F 05 A4 */ addi r4, r31, 0x5a4
+/* 803539CC 0034F62C 4B FE 34 05 */ bl MD5Final
+/* 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 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 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 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 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
+/* 80353A18 0034F678 38 9F 06 D4 */ addi r4, r31, 0x6d4
+/* 80353A1C 0034F67C 38 A0 00 30 */ li r5, 0x30
+/* 80353A20 0034F680 4B FE 32 C5 */ bl MD5Update
+/* 80353A24 0034F684 38 7F 05 A4 */ addi r3, r31, 0x5a4
+/* 80353A28 0034F688 38 9A BF C0 */ addi r4, r26, -16448
+/* 80353A2C 0034F68C 38 A0 00 30 */ li r5, 0x30
+/* 80353A30 0034F690 4B FE 32 B5 */ bl MD5Update
+/* 80353A34 0034F694 38 7F 05 A4 */ addi r3, r31, 0x5a4
+/* 80353A38 0034F698 38 81 00 40 */ addi r4, r1, 0x40
+/* 80353A3C 0034F69C 38 A0 00 10 */ li r5, 0x10
+/* 80353A40 0034F6A0 4B FE 32 A5 */ bl MD5Update
+/* 80353A44 0034F6A4 38 61 00 40 */ addi r3, r1, 0x40
+/* 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 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 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 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 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 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)
+/* 80353AA0 0034F700 38 A0 00 10 */ li r5, 0x10
+/* 80353AA4 0034F704 7C 63 02 14 */ add r3, r3, r0
+/* 80353AA8 0034F708 4B CB 05 59 */ bl memcpy
+/* 80353AAC 0034F70C 80 7B 00 60 */ lwz r3, 0x60(r27)
+/* 80353AB0 0034F710 38 81 00 50 */ addi r4, r1, 0x50
+/* 80353AB4 0034F714 80 1B 00 58 */ lwz r0, 0x58(r27)
+/* 80353AB8 0034F718 38 A0 00 14 */ li r5, 0x14
+/* 80353ABC 0034F71C 38 63 00 10 */ addi r3, r3, 0x10
+/* 80353AC0 0034F720 90 7B 00 60 */ stw r3, 0x60(r27)
+/* 80353AC4 0034F724 7C 60 1A 14 */ add r3, r0, r3
+/* 80353AC8 0034F728 4B CB 05 39 */ bl memcpy
+/* 80353ACC 0034F72C 80 9B 00 60 */ lwz r4, 0x60(r27)
+/* 80353AD0 0034F730 38 7F 05 A4 */ addi r3, r31, 0x5a4
+/* 80353AD4 0034F734 38 04 00 14 */ addi r0, r4, 0x14
+/* 80353AD8 0034F738 90 1B 00 60 */ stw r0, 0x60(r27)
+/* 80353ADC 0034F73C 4B FE 31 C9 */ bl MD5Init
+/* 80353AE0 0034F740 38 7F 05 A4 */ addi r3, r31, 0x5a4
+/* 80353AE4 0034F744 38 9F 03 20 */ addi r4, r31, 0x320
+/* 80353AE8 0034F748 38 A0 00 10 */ li r5, 0x10
+/* 80353AEC 0034F74C 4B FE 31 F9 */ bl MD5Update
+/* 80353AF0 0034F750 38 7F 05 A4 */ addi r3, r31, 0x5a4
+/* 80353AF4 0034F754 38 99 BF 8C */ addi r4, r25, -16500
+/* 80353AF8 0034F758 38 A0 00 30 */ li r5, 0x30
+/* 80353AFC 0034F75C 4B FE 31 E9 */ bl MD5Update
+/* 80353B00 0034F760 38 7F 05 A4 */ addi r3, r31, 0x5a4
+/* 80353B04 0034F764 38 9F 03 10 */ addi r4, r31, 0x310
+/* 80353B08 0034F768 38 A0 00 08 */ li r5, 8
+/* 80353B0C 0034F76C 4B FE 31 D9 */ bl MD5Update
+/* 80353B10 0034F770 38 00 00 28 */ li r0, 0x28
+/* 80353B14 0034F774 9A E1 00 38 */ stb r23, 0x38(r1)
+/* 80353B18 0034F778 38 7F 05 A4 */ addi r3, r31, 0x5a4
+/* 80353B1C 0034F77C 38 81 00 38 */ addi r4, r1, 0x38
+/* 80353B20 0034F780 98 01 00 3A */ stb r0, 0x3a(r1)
+/* 80353B24 0034F784 38 00 00 24 */ li r0, 0x24
+/* 80353B28 0034F788 38 A0 00 07 */ li r5, 7
+/* 80353B2C 0034F78C 9A 41 00 39 */ stb r18, 0x39(r1)
+/* 80353B30 0034F790 9B 01 00 3B */ stb r24, 0x3b(r1)
+/* 80353B34 0034F794 9A 41 00 3C */ stb r18, 0x3c(r1)
+/* 80353B38 0034F798 9A 41 00 3D */ stb r18, 0x3d(r1)
+/* 80353B3C 0034F79C 98 01 00 3E */ stb r0, 0x3e(r1)
+/* 80353B40 0034F7A0 4B FE 31 A5 */ bl MD5Update
+/* 80353B44 0034F7A4 38 7F 05 A4 */ addi r3, r31, 0x5a4
+/* 80353B48 0034F7A8 38 81 00 40 */ addi r4, r1, 0x40
+/* 80353B4C 0034F7AC 38 A0 00 10 */ li r5, 0x10
+/* 80353B50 0034F7B0 4B FE 31 95 */ bl MD5Update
+/* 80353B54 0034F7B4 38 7F 05 A4 */ addi r3, r31, 0x5a4
+/* 80353B58 0034F7B8 38 81 00 50 */ addi r4, r1, 0x50
+/* 80353B5C 0034F7BC 38 A0 00 14 */ li r5, 0x14
+/* 80353B60 0034F7C0 4B FE 31 85 */ bl MD5Update
+/* 80353B64 0034F7C4 38 61 00 40 */ addi r3, r1, 0x40
+/* 80353B68 0034F7C8 38 9F 05 A4 */ addi r4, r31, 0x5a4
+/* 80353B6C 0034F7CC 4B FE 32 65 */ bl MD5Final
+/* 80353B70 0034F7D0 38 7F 05 A4 */ addi r3, r31, 0x5a4
+/* 80353B74 0034F7D4 4B FE 31 31 */ bl MD5Init
+/* 80353B78 0034F7D8 38 7F 05 A4 */ addi r3, r31, 0x5a4
+/* 80353B7C 0034F7DC 38 9F 03 20 */ addi r4, r31, 0x320
+/* 80353B80 0034F7E0 38 A0 00 10 */ li r5, 0x10
+/* 80353B84 0034F7E4 4B FE 31 61 */ bl MD5Update
+/* 80353B88 0034F7E8 38 7F 05 A4 */ addi r3, r31, 0x5a4
+/* 80353B8C 0034F7EC 38 9A BF C0 */ addi r4, r26, -16448
+/* 80353B90 0034F7F0 38 A0 00 30 */ li r5, 0x30
+/* 80353B94 0034F7F4 4B FE 31 51 */ bl MD5Update
+/* 80353B98 0034F7F8 38 7F 05 A4 */ addi r3, r31, 0x5a4
+/* 80353B9C 0034F7FC 38 81 00 40 */ addi r4, r1, 0x40
+/* 80353BA0 0034F800 38 A0 00 10 */ li r5, 0x10
+/* 80353BA4 0034F804 4B FE 31 41 */ bl MD5Update
+/* 80353BA8 0034F808 38 61 00 40 */ addi r3, r1, 0x40
+/* 80353BAC 0034F80C 38 9F 05 A4 */ addi r4, r31, 0x5a4
+/* 80353BB0 0034F810 4B FE 32 21 */ bl MD5Final
+/* 80353BB4 0034F814 80 7B 00 58 */ lwz r3, 0x58(r27)
+/* 80353BB8 0034F818 38 81 00 40 */ addi r4, r1, 0x40
+/* 80353BBC 0034F81C 80 1B 00 60 */ lwz r0, 0x60(r27)
+/* 80353BC0 0034F820 38 A0 00 10 */ li r5, 0x10
+/* 80353BC4 0034F824 7C 63 02 14 */ add r3, r3, r0
+/* 80353BC8 0034F828 4B CB 04 39 */ bl memcpy
+/* 80353BCC 0034F82C 80 DB 00 60 */ lwz r6, 0x60(r27)
+/* 80353BD0 0034F830 38 7F 03 10 */ addi r3, r31, 0x310
+/* 80353BD4 0034F834 38 80 00 00 */ li r4, 0
+/* 80353BD8 0034F838 38 A0 00 08 */ li r5, 8
+/* 80353BDC 0034F83C 38 06 00 10 */ addi r0, r6, 0x10
+/* 80353BE0 0034F840 90 1B 00 60 */ stw r0, 0x60(r27)
+/* 80353BE4 0034F844 4B CB 05 21 */ bl memset
+/* 80353BE8 0034F848 38 60 00 01 */ li r3, 1
+/* 80353BEC 0034F84C 4B FA 31 8D */ bl func_802F6D78
+/* 80353BF0 0034F850 90 61 00 0C */ stw r3, 0xc(r1)
+/* 80353BF4 0034F854 38 7F 03 14 */ addi r3, r31, 0x314
+/* 80353BF8 0034F858 38 81 00 0C */ addi r4, r1, 0xc
+/* 80353BFC 0034F85C 38 A0 00 04 */ li r5, 4
+/* 80353C00 0034F860 4B CB 04 01 */ bl memcpy
+/* 80353C04 0034F864 38 8F 00 05 */ addi r4, r15, 5
+/* 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 RC4Encrypt
+/* 80353C18 0034F878 48 00 00 20 */ b lbl_80353C38
+lbl_80353C1C:
+/* 80353C1C 0034F87C 2C 00 00 14 */ cmpwi r0, 0x14
+/* 80353C20 0034F880 40 82 00 10 */ bne lbl_80353C30
+/* 80353C24 0034F884 80 1C 00 0C */ lwz r0, 0xc(r28)
+/* 80353C28 0034F888 90 1C 00 10 */ stw r0, 0x10(r28)
+/* 80353C2C 0034F88C 48 00 00 0C */ b lbl_80353C38
+lbl_80353C30:
+/* 80353C30 0034F890 38 60 00 03 */ li r3, 3
+/* 80353C34 0034F894 48 00 00 20 */ b lbl_80353C54
+lbl_80353C38:
+/* 80353C38 0034F898 80 1C 00 0C */ lwz r0, 0xc(r28)
+/* 80353C3C 0034F89C 82 1C 00 10 */ lwz r16, 0x10(r28)
+/* 80353C40 0034F8A0 7C 10 00 00 */ cmpw r16, r0
+/* 80353C44 0034F8A4 41 80 EF B4 */ blt lbl_80352BF8
+/* 80353C48 0034F8A8 38 60 00 03 */ li r3, 3
+/* 80353C4C 0034F8AC 40 82 00 08 */ bne lbl_80353C54
+/* 80353C50 0034F8B0 38 60 00 01 */ li r3, 1
+lbl_80353C54:
+/* 80353C54 0034F8B4 39 61 00 B0 */ addi r11, r1, 0xb0
+/* 80353C58 0034F8B8 4B E7 34 E9 */ bl __restore_gpr
+/* 80353C5C 0034F8BC 80 01 00 B4 */ lwz r0, 0xb4(r1)
+/* 80353C60 0034F8C0 7C 08 03 A6 */ mtlr r0
+/* 80353C64 0034F8C4 38 21 00 B0 */ addi r1, r1, 0xb0
+/* 80353C68 0034F8C8 4E 80 00 20 */ blr
diff --git a/asm/ghttpMain.s b/asm/ghttpMain.s new file mode 100644 index 0000000..0f389aa --- /dev/null +++ b/asm/ghttpMain.s @@ -0,0 +1,452 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global ghiHandleStatus
+ghiHandleStatus:
+/* 80353C6C 0034F8CC 3C 80 51 EC */ lis r4, 0x51EB851F@ha
+/* 80353C70 0034F8D0 80 A3 01 14 */ lwz r5, 0x114(r3)
+/* 80353C74 0034F8D4 38 04 85 1F */ addi r0, r4, 0x51EB851F@l
+/* 80353C78 0034F8D8 7C 00 28 96 */ mulhw r0, r0, r5
+/* 80353C7C 0034F8DC 7C 00 2E 70 */ srawi r0, r0, 5
+/* 80353C80 0034F8E0 54 04 0F FE */ srwi r4, r0, 0x1f
+/* 80353C84 0034F8E4 7C 00 22 14 */ add r0, r0, r4
+/* 80353C88 0034F8E8 2C 00 00 03 */ cmpwi r0, 3
+/* 80353C8C 0034F8EC 4D 82 00 20 */ beqlr
+/* 80353C90 0034F8F0 40 80 00 14 */ bge lbl_80353CA4
+/* 80353C94 0034F8F4 2C 00 00 01 */ cmpwi r0, 1
+/* 80353C98 0034F8F8 4D 82 00 20 */ beqlr
+/* 80353C9C 0034F8FC 4C 80 00 20 */ bgelr
+/* 80353CA0 0034F900 4E 80 00 20 */ blr
+lbl_80353CA4:
+/* 80353CA4 0034F904 2C 00 00 05 */ cmpwi r0, 5
+/* 80353CA8 0034F908 41 82 00 78 */ beq lbl_80353D20
+/* 80353CAC 0034F90C 4C 80 00 20 */ bgelr
+/* 80353CB0 0034F910 48 00 00 10 */ b lbl_80353CC0
+/* 80353CB4 0034F914 4E 80 00 20 */ blr
+/* 80353CB8 0034F918 4E 80 00 20 */ blr
+/* 80353CBC 0034F91C 4E 80 00 20 */ blr
+lbl_80353CC0:
+/* 80353CC0 0034F920 2C 05 01 94 */ cmpwi r5, 0x194
+/* 80353CC4 0034F924 41 82 00 44 */ beq lbl_80353D08
+/* 80353CC8 0034F928 40 80 00 1C */ bge lbl_80353CE4
+/* 80353CCC 0034F92C 2C 05 01 92 */ cmpwi r5, 0x192
+/* 80353CD0 0034F930 41 82 00 44 */ beq lbl_80353D14
+/* 80353CD4 0034F934 40 80 00 28 */ bge lbl_80353CFC
+/* 80353CD8 0034F938 2C 05 01 91 */ cmpwi r5, 0x191
+/* 80353CDC 0034F93C 40 80 00 14 */ bge lbl_80353CF0
+/* 80353CE0 0034F940 48 00 00 34 */ b lbl_80353D14
+lbl_80353CE4:
+/* 80353CE4 0034F944 2C 05 01 9A */ cmpwi r5, 0x19a
+/* 80353CE8 0034F948 41 82 00 20 */ beq lbl_80353D08
+/* 80353CEC 0034F94C 48 00 00 28 */ b lbl_80353D14
+lbl_80353CF0:
+/* 80353CF0 0034F950 38 00 00 09 */ li r0, 9
+/* 80353CF4 0034F954 90 03 00 3C */ stw r0, 0x3c(r3)
+/* 80353CF8 0034F958 4E 80 00 20 */ blr
+lbl_80353CFC:
+/* 80353CFC 0034F95C 38 00 00 0A */ li r0, 0xa
+/* 80353D00 0034F960 90 03 00 3C */ stw r0, 0x3c(r3)
+/* 80353D04 0034F964 4E 80 00 20 */ blr
+lbl_80353D08:
+/* 80353D08 0034F968 38 00 00 0B */ li r0, 0xb
+/* 80353D0C 0034F96C 90 03 00 3C */ stw r0, 0x3c(r3)
+/* 80353D10 0034F970 4E 80 00 20 */ blr
+lbl_80353D14:
+/* 80353D14 0034F974 38 00 00 08 */ li r0, 8
+/* 80353D18 0034F978 90 03 00 3C */ stw r0, 0x3c(r3)
+/* 80353D1C 0034F97C 4E 80 00 20 */ blr
+lbl_80353D20:
+/* 80353D20 0034F980 38 00 00 0C */ li r0, 0xc
+/* 80353D24 0034F984 90 03 00 3C */ stw r0, 0x3c(r3)
+/* 80353D28 0034F988 4E 80 00 20 */ blr
+
+.global ghiProcessConnection
+ghiProcessConnection:
+/* 80353D2C 0034F98C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80353D30 0034F990 7C 08 02 A6 */ mflr r0
+/* 80353D34 0034F994 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80353D38 0034F998 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80353D3C 0034F99C 7C 7F 1B 78 */ mr r31, r3
+/* 80353D40 0034F9A0 93 C1 00 08 */ stw r30, 8(r1)
+/* 80353D44 0034F9A4 80 03 01 50 */ lwz r0, 0x150(r3)
+/* 80353D48 0034F9A8 2C 00 00 00 */ cmpwi r0, 0
+/* 80353D4C 0034F9AC 41 82 00 0C */ beq lbl_80353D58
+/* 80353D50 0034F9B0 38 60 00 00 */ li r3, 0
+/* 80353D54 0034F9B4 48 00 01 5C */ b lbl_80353EB0
+lbl_80353D58:
+/* 80353D58 0034F9B8 80 03 00 10 */ lwz r0, 0x10(r3)
+/* 80353D5C 0034F9BC 38 80 00 01 */ li r4, 1
+/* 80353D60 0034F9C0 90 83 01 50 */ stw r4, 0x150(r3)
+/* 80353D64 0034F9C4 2C 00 00 00 */ cmpwi r0, 0
+/* 80353D68 0034F9C8 40 82 00 08 */ bne lbl_80353D70
+/* 80353D6C 0034F9CC 48 00 1D 7D */ bl func_80355AE8
+lbl_80353D70:
+/* 80353D70 0034F9D0 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 80353D74 0034F9D4 2C 00 00 01 */ cmpwi r0, 1
+/* 80353D78 0034F9D8 40 82 00 0C */ bne lbl_80353D84
+/* 80353D7C 0034F9DC 7F E3 FB 78 */ mr r3, r31
+/* 80353D80 0034F9E0 48 00 1E 25 */ bl func_80355BA4
+lbl_80353D84:
+/* 80353D84 0034F9E4 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 80353D88 0034F9E8 2C 00 00 02 */ cmpwi r0, 2
+/* 80353D8C 0034F9EC 40 82 00 0C */ bne lbl_80353D98
+/* 80353D90 0034F9F0 7F E3 FB 78 */ mr r3, r31
+/* 80353D94 0034F9F4 48 00 1F 15 */ bl func_80355CA8
+lbl_80353D98:
+/* 80353D98 0034F9F8 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 80353D9C 0034F9FC 2C 00 00 03 */ cmpwi r0, 3
+/* 80353DA0 0034FA00 40 82 00 0C */ bne lbl_80353DAC
+/* 80353DA4 0034FA04 7F E3 FB 78 */ mr r3, r31
+/* 80353DA8 0034FA08 48 00 1F A1 */ bl func_80355D48
+lbl_80353DAC:
+/* 80353DAC 0034FA0C 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 80353DB0 0034FA10 2C 00 00 04 */ cmpwi r0, 4
+/* 80353DB4 0034FA14 40 82 00 0C */ bne lbl_80353DC0
+/* 80353DB8 0034FA18 7F E3 FB 78 */ mr r3, r31
+/* 80353DBC 0034FA1C 48 00 21 9D */ bl func_80355F58
+lbl_80353DC0:
+/* 80353DC0 0034FA20 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 80353DC4 0034FA24 2C 00 00 05 */ cmpwi r0, 5
+/* 80353DC8 0034FA28 40 82 00 0C */ bne lbl_80353DD4
+/* 80353DCC 0034FA2C 7F E3 FB 78 */ mr r3, r31
+/* 80353DD0 0034FA30 48 00 22 C1 */ bl func_80356090
+lbl_80353DD4:
+/* 80353DD4 0034FA34 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 80353DD8 0034FA38 2C 00 00 06 */ cmpwi r0, 6
+/* 80353DDC 0034FA3C 40 82 00 0C */ bne lbl_80353DE8
+/* 80353DE0 0034FA40 7F E3 FB 78 */ mr r3, r31
+/* 80353DE4 0034FA44 48 00 25 81 */ bl func_80356364
+lbl_80353DE8:
+/* 80353DE8 0034FA48 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 80353DEC 0034FA4C 2C 00 00 07 */ cmpwi r0, 7
+/* 80353DF0 0034FA50 40 82 00 0C */ bne lbl_80353DFC
+/* 80353DF4 0034FA54 7F E3 FB 78 */ mr r3, r31
+/* 80353DF8 0034FA58 48 00 26 65 */ bl func_8035645C
+lbl_80353DFC:
+/* 80353DFC 0034FA5C 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 80353E00 0034FA60 2C 00 00 08 */ cmpwi r0, 8
+/* 80353E04 0034FA64 40 82 00 0C */ bne lbl_80353E10
+/* 80353E08 0034FA68 7F E3 FB 78 */ mr r3, r31
+/* 80353E0C 0034FA6C 48 00 28 21 */ bl func_8035662C
+lbl_80353E10:
+/* 80353E10 0034FA70 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 80353E14 0034FA74 2C 00 00 09 */ cmpwi r0, 9
+/* 80353E18 0034FA78 40 82 00 0C */ bne lbl_80353E24
+/* 80353E1C 0034FA7C 7F E3 FB 78 */ mr r3, r31
+/* 80353E20 0034FA80 48 00 2C E1 */ bl func_80356B00
+lbl_80353E24:
+/* 80353E24 0034FA84 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 80353E28 0034FA88 2C 00 00 0A */ cmpwi r0, 0xa
+/* 80353E2C 0034FA8C 40 82 00 0C */ bne lbl_80353E38
+/* 80353E30 0034FA90 7F E3 FB 78 */ mr r3, r31
+/* 80353E34 0034FA94 48 00 32 41 */ bl func_80357074
+lbl_80353E38:
+/* 80353E38 0034FA98 80 1F 01 2C */ lwz r0, 0x12c(r31)
+/* 80353E3C 0034FA9C 2C 00 00 00 */ cmpwi r0, 0
+/* 80353E40 0034FAA0 41 82 00 0C */ beq lbl_80353E4C
+/* 80353E44 0034FAA4 7F E3 FB 78 */ mr r3, r31
+/* 80353E48 0034FAA8 4B FF DE 4D */ bl ghiRedirectConnection
+lbl_80353E4C:
+/* 80353E4C 0034FAAC 80 1F 00 3C */ lwz r0, 0x3c(r31)
+/* 80353E50 0034FAB0 83 DF 01 20 */ lwz r30, 0x120(r31)
+/* 80353E54 0034FAB4 2C 00 00 12 */ cmpwi r0, 0x12
+/* 80353E58 0034FAB8 40 82 00 24 */ bne lbl_80353E7C
+/* 80353E5C 0034FABC 2C 1E 00 00 */ cmpwi r30, 0
+/* 80353E60 0034FAC0 40 82 00 1C */ bne lbl_80353E7C
+/* 80353E64 0034FAC4 80 7F 00 4C */ lwz r3, 0x4c(r31)
+/* 80353E68 0034FAC8 4B FE 49 E5 */ bl CanReceiveOnSocket
+/* 80353E6C 0034FACC 2C 03 00 00 */ cmpwi r3, 0
+/* 80353E70 0034FAD0 40 82 00 0C */ bne lbl_80353E7C
+/* 80353E74 0034FAD4 38 00 00 01 */ li r0, 1
+/* 80353E78 0034FAD8 90 1F 01 20 */ stw r0, 0x120(r31)
+lbl_80353E7C:
+/* 80353E7C 0034FADC 80 1F 01 20 */ lwz r0, 0x120(r31)
+/* 80353E80 0034FAE0 2C 00 00 00 */ cmpwi r0, 0
+/* 80353E84 0034FAE4 41 82 00 20 */ beq lbl_80353EA4
+/* 80353E88 0034FAE8 7F E3 FB 78 */ mr r3, r31
+/* 80353E8C 0034FAEC 4B FF FD E1 */ bl ghiHandleStatus
+/* 80353E90 0034FAF0 7F E3 FB 78 */ mr r3, r31
+/* 80353E94 0034FAF4 4B FF D3 31 */ bl ghiCallCompletedCallback
+/* 80353E98 0034FAF8 7F E3 FB 78 */ mr r3, r31
+/* 80353E9C 0034FAFC 4B FF DB 89 */ bl ghiFreeConnection
+/* 80353EA0 0034FB00 48 00 00 0C */ b lbl_80353EAC
+lbl_80353EA4:
+/* 80353EA4 0034FB04 38 00 00 00 */ li r0, 0
+/* 80353EA8 0034FB08 90 1F 01 50 */ stw r0, 0x150(r31)
+lbl_80353EAC:
+/* 80353EAC 0034FB0C 7F C3 F3 78 */ mr r3, r30
+lbl_80353EB0:
+/* 80353EB0 0034FB10 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80353EB4 0034FB14 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80353EB8 0034FB18 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80353EBC 0034FB1C 7C 08 03 A6 */ mtlr r0
+/* 80353EC0 0034FB20 38 21 00 10 */ addi r1, r1, 0x10
+/* 80353EC4 0034FB24 4E 80 00 20 */ blr
+
+.global ghttpStartup
+ghttpStartup:
+/* 80353EC8 0034FB28 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80353ECC 0034FB2C 7C 08 02 A6 */ mflr r0
+/* 80353ED0 0034FB30 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80353ED4 0034FB34 4B FF D4 19 */ bl ghiLock
+/* 80353ED8 0034FB38 80 6D B0 D8 */ lwz r3, lbl_80640398-_SDA_BASE_(r13)
+/* 80353EDC 0034FB3C 38 03 00 01 */ addi r0, r3, 1
+/* 80353EE0 0034FB40 2C 00 00 01 */ cmpwi r0, 1
+/* 80353EE4 0034FB44 90 0D B0 D8 */ stw r0, lbl_80640398-_SDA_BASE_(r13)
+/* 80353EE8 0034FB48 40 82 00 1C */ bne lbl_80353F04
+/* 80353EEC 0034FB4C 4B FF D3 F9 */ bl ghiCreateLock
+/* 80353EF0 0034FB50 38 60 00 7D */ li r3, 0x7d
+/* 80353EF4 0034FB54 38 00 00 FA */ li r0, 0xfa
+/* 80353EF8 0034FB58 90 6D 93 90 */ stw r3, lbl_8063E650-_SDA_BASE_(r13)
+/* 80353EFC 0034FB5C 90 0D 93 94 */ stw r0, lbl_8063E654-_SDA_BASE_(r13)
+/* 80353F00 0034FB60 48 00 00 08 */ b lbl_80353F08
+lbl_80353F04:
+/* 80353F04 0034FB64 4B FF D3 ED */ bl ghiUnlock
+lbl_80353F08:
+/* 80353F08 0034FB68 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80353F0C 0034FB6C 7C 08 03 A6 */ mtlr r0
+/* 80353F10 0034FB70 38 21 00 10 */ addi r1, r1, 0x10
+/* 80353F14 0034FB74 4E 80 00 20 */ blr
+
+.global ghttpCleanup
+ghttpCleanup:
+/* 80353F18 0034FB78 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80353F1C 0034FB7C 7C 08 02 A6 */ mflr r0
+/* 80353F20 0034FB80 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80353F24 0034FB84 4B FF D3 C9 */ bl ghiLock
+/* 80353F28 0034FB88 80 0D B0 D8 */ lwz r0, lbl_80640398-_SDA_BASE_(r13)
+/* 80353F2C 0034FB8C 34 00 FF FF */ addic. r0, r0, -1
+/* 80353F30 0034FB90 90 0D B0 D8 */ stw r0, lbl_80640398-_SDA_BASE_(r13)
+/* 80353F34 0034FB94 40 82 00 2C */ bne lbl_80353F60
+/* 80353F38 0034FB98 4B FF DE A1 */ bl ghiCleanupConnections
+/* 80353F3C 0034FB9C 80 6D B0 C4 */ lwz r3, lbl_80640384-_SDA_BASE_(r13)
+/* 80353F40 0034FBA0 2C 03 00 00 */ cmpwi r3, 0
+/* 80353F44 0034FBA4 41 82 00 10 */ beq lbl_80353F54
+/* 80353F48 0034FBA8 4B FE 53 F1 */ bl gsifree
+/* 80353F4C 0034FBAC 38 00 00 00 */ li r0, 0
+/* 80353F50 0034FBB0 90 0D B0 C4 */ stw r0, lbl_80640384-_SDA_BASE_(r13)
+lbl_80353F54:
+/* 80353F54 0034FBB4 4B FF D3 9D */ bl ghiUnlock
+/* 80353F58 0034FBB8 4B FF D3 91 */ bl ghiFreeLock
+/* 80353F5C 0034FBBC 48 00 00 08 */ b lbl_80353F64
+lbl_80353F60:
+/* 80353F60 0034FBC0 4B FF D3 91 */ bl ghiUnlock
+lbl_80353F64:
+/* 80353F64 0034FBC4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80353F68 0034FBC8 7C 08 03 A6 */ mtlr r0
+/* 80353F6C 0034FBCC 38 21 00 10 */ addi r1, r1, 0x10
+/* 80353F70 0034FBD0 4E 80 00 20 */ blr
+
+.global func_80353F74
+func_80353F74:
+/* 80353F74 0034FBD4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80353F78 0034FBD8 7C 08 02 A6 */ mflr r0
+/* 80353F7C 0034FBDC 7C 89 23 78 */ mr r9, r4
+/* 80353F80 0034FBE0 38 80 00 00 */ li r4, 0
+/* 80353F84 0034FBE4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80353F88 0034FBE8 38 E0 00 00 */ li r7, 0
+/* 80353F8C 0034FBEC 39 00 00 00 */ li r8, 0
+/* 80353F90 0034FBF0 39 40 00 00 */ li r10, 0
+/* 80353F94 0034FBF4 90 A1 00 08 */ stw r5, 8(r1)
+/* 80353F98 0034FBF8 38 A0 00 00 */ li r5, 0
+/* 80353F9C 0034FBFC 90 C1 00 0C */ stw r6, 0xc(r1)
+/* 80353FA0 0034FC00 38 C0 00 00 */ li r6, 0
+/* 80353FA4 0034FC04 48 00 00 15 */ bl ghttpGetExA
+/* 80353FA8 0034FC08 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80353FAC 0034FC0C 7C 08 03 A6 */ mtlr r0
+/* 80353FB0 0034FC10 38 21 00 10 */ addi r1, r1, 0x10
+/* 80353FB4 0034FC14 4E 80 00 20 */ blr
+
+.global ghttpGetExA
+ghttpGetExA:
+/* 80353FB8 0034FC18 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 80353FBC 0034FC1C 7C 08 02 A6 */ mflr r0
+/* 80353FC0 0034FC20 90 01 00 44 */ stw r0, 0x44(r1)
+/* 80353FC4 0034FC24 39 61 00 40 */ addi r11, r1, 0x40
+/* 80353FC8 0034FC28 4B E7 31 49 */ bl func_801C7110
+/* 80353FCC 0034FC2C 2C 03 00 00 */ cmpwi r3, 0
+/* 80353FD0 0034FC30 83 C1 00 48 */ lwz r30, 0x48(r1)
+/* 80353FD4 0034FC34 83 E1 00 4C */ lwz r31, 0x4c(r1)
+/* 80353FD8 0034FC38 7C 76 1B 78 */ mr r22, r3
+/* 80353FDC 0034FC3C 7C 97 23 78 */ mr r23, r4
+/* 80353FE0 0034FC40 7C B8 2B 78 */ mr r24, r5
+/* 80353FE4 0034FC44 7C D9 33 78 */ mr r25, r6
+/* 80353FE8 0034FC48 7C FA 3B 78 */ mr r26, r7
+/* 80353FEC 0034FC4C 7D 1B 43 78 */ mr r27, r8
+/* 80353FF0 0034FC50 7D 3C 4B 78 */ mr r28, r9
+/* 80353FF4 0034FC54 7D 5D 53 78 */ mr r29, r10
+/* 80353FF8 0034FC58 41 82 00 10 */ beq lbl_80354008
+/* 80353FFC 0034FC5C 88 03 00 00 */ lbz r0, 0(r3)
+/* 80354000 0034FC60 7C 00 07 75 */ extsb. r0, r0
+/* 80354004 0034FC64 40 82 00 0C */ bne lbl_80354010
+lbl_80354008:
+/* 80354008 0034FC68 38 60 FF FF */ li r3, -1
+/* 8035400C 0034FC6C 48 00 01 AC */ b lbl_803541B8
+lbl_80354010:
+/* 80354010 0034FC70 2C 86 00 00 */ cmpwi cr1, r6, 0
+/* 80354014 0034FC74 40 84 00 0C */ bge cr1, lbl_80354020
+/* 80354018 0034FC78 38 60 FF FF */ li r3, -1
+/* 8035401C 0034FC7C 48 00 01 9C */ b lbl_803541B8
+lbl_80354020:
+/* 80354020 0034FC80 2C 05 00 00 */ cmpwi r5, 0
+/* 80354024 0034FC84 41 82 00 10 */ beq lbl_80354034
+/* 80354028 0034FC88 40 86 00 0C */ bne cr1, lbl_80354034
+/* 8035402C 0034FC8C 38 60 FF FF */ li r3, -1
+/* 80354030 0034FC90 48 00 01 88 */ b lbl_803541B8
+lbl_80354034:
+/* 80354034 0034FC94 80 0D B0 D8 */ lwz r0, lbl_80640398-_SDA_BASE_(r13)
+/* 80354038 0034FC98 2C 00 00 00 */ cmpwi r0, 0
+/* 8035403C 0034FC9C 40 82 00 38 */ bne lbl_80354074
+/* 80354040 0034FCA0 4B FF D2 AD */ bl ghiLock
+/* 80354044 0034FCA4 80 6D B0 D8 */ lwz r3, lbl_80640398-_SDA_BASE_(r13)
+/* 80354048 0034FCA8 38 03 00 01 */ addi r0, r3, 1
+/* 8035404C 0034FCAC 2C 00 00 01 */ cmpwi r0, 1
+/* 80354050 0034FCB0 90 0D B0 D8 */ stw r0, lbl_80640398-_SDA_BASE_(r13)
+/* 80354054 0034FCB4 40 82 00 1C */ bne lbl_80354070
+/* 80354058 0034FCB8 4B FF D2 8D */ bl ghiCreateLock
+/* 8035405C 0034FCBC 38 60 00 7D */ li r3, 0x7d
+/* 80354060 0034FCC0 38 00 00 FA */ li r0, 0xfa
+/* 80354064 0034FCC4 90 6D 93 90 */ stw r3, lbl_8063E650-_SDA_BASE_(r13)
+/* 80354068 0034FCC8 90 0D 93 94 */ stw r0, lbl_8063E654-_SDA_BASE_(r13)
+/* 8035406C 0034FCCC 48 00 00 08 */ b lbl_80354074
+lbl_80354070:
+/* 80354070 0034FCD0 4B FF D2 81 */ bl ghiUnlock
+lbl_80354074:
+/* 80354074 0034FCD4 4B FF D7 ED */ bl ghiNewConnection
+/* 80354078 0034FCD8 2C 03 00 00 */ cmpwi r3, 0
+/* 8035407C 0034FCDC 7C 75 1B 78 */ mr r21, r3
+/* 80354080 0034FCE0 40 82 00 0C */ bne lbl_8035408C
+/* 80354084 0034FCE4 38 60 FF FF */ li r3, -1
+/* 80354088 0034FCE8 48 00 01 30 */ b lbl_803541B8
+lbl_8035408C:
+/* 8035408C 0034FCEC 38 00 00 00 */ li r0, 0
+/* 80354090 0034FCF0 90 03 00 0C */ stw r0, 0xc(r3)
+/* 80354094 0034FCF4 7E C3 B3 78 */ mr r3, r22
+/* 80354098 0034FCF8 4B FE 4E 6D */ bl goastrdup
+/* 8035409C 0034FCFC 2C 03 00 00 */ cmpwi r3, 0
+/* 803540A0 0034FD00 90 75 00 14 */ stw r3, 0x14(r21)
+/* 803540A4 0034FD04 40 82 00 14 */ bne lbl_803540B8
+/* 803540A8 0034FD08 7E A3 AB 78 */ mr r3, r21
+/* 803540AC 0034FD0C 4B FF D9 79 */ bl ghiFreeConnection
+/* 803540B0 0034FD10 38 60 FF FF */ li r3, -1
+/* 803540B4 0034FD14 48 00 01 04 */ b lbl_803541B8
+lbl_803540B8:
+/* 803540B8 0034FD18 2C 17 00 00 */ cmpwi r23, 0
+/* 803540BC 0034FD1C 41 82 00 34 */ beq lbl_803540F0
+/* 803540C0 0034FD20 88 17 00 00 */ lbz r0, 0(r23)
+/* 803540C4 0034FD24 7C 00 07 75 */ extsb. r0, r0
+/* 803540C8 0034FD28 41 82 00 28 */ beq lbl_803540F0
+/* 803540CC 0034FD2C 7E E3 BB 78 */ mr r3, r23
+/* 803540D0 0034FD30 4B FE 4E 35 */ bl goastrdup
+/* 803540D4 0034FD34 2C 03 00 00 */ cmpwi r3, 0
+/* 803540D8 0034FD38 90 75 00 2C */ stw r3, 0x2c(r21)
+/* 803540DC 0034FD3C 40 82 00 14 */ bne lbl_803540F0
+/* 803540E0 0034FD40 7E A3 AB 78 */ mr r3, r21
+/* 803540E4 0034FD44 4B FF D9 41 */ bl ghiFreeConnection
+/* 803540E8 0034FD48 38 60 FF FF */ li r3, -1
+/* 803540EC 0034FD4C 48 00 00 CC */ b lbl_803541B8
+lbl_803540F0:
+/* 803540F0 0034FD50 93 55 01 60 */ stw r26, 0x160(r21)
+/* 803540F4 0034FD54 7C 18 00 D0 */ neg r0, r24
+/* 803540F8 0034FD58 7C 00 C3 78 */ or r0, r0, r24
+/* 803540FC 0034FD5C 93 95 00 34 */ stw r28, 0x34(r21)
+/* 80354100 0034FD60 54 00 0F FF */ rlwinm. r0, r0, 1, 0x1f, 0x1f
+/* 80354104 0034FD64 93 B5 00 40 */ stw r29, 0x40(r21)
+/* 80354108 0034FD68 93 D5 00 44 */ stw r30, 0x44(r21)
+/* 8035410C 0034FD6C 93 F5 00 48 */ stw r31, 0x48(r21)
+/* 80354110 0034FD70 93 75 01 58 */ stw r27, 0x158(r21)
+/* 80354114 0034FD74 90 15 01 08 */ stw r0, 0x108(r21)
+/* 80354118 0034FD78 41 82 00 1C */ beq lbl_80354134
+/* 8035411C 0034FD7C 7E A3 AB 78 */ mr r3, r21
+/* 80354120 0034FD80 7F 05 C3 78 */ mr r5, r24
+/* 80354124 0034FD84 7F 26 CB 78 */ mr r6, r25
+/* 80354128 0034FD88 38 95 00 E4 */ addi r4, r21, 0xe4
+/* 8035412C 0034FD8C 4B FF C8 45 */ bl ghiInitFixedBuffer
+/* 80354130 0034FD90 48 00 00 18 */ b lbl_80354148
+lbl_80354134:
+/* 80354134 0034FD94 7E A3 AB 78 */ mr r3, r21
+/* 80354138 0034FD98 38 95 00 E4 */ addi r4, r21, 0xe4
+/* 8035413C 0034FD9C 38 A0 08 00 */ li r5, 0x800
+/* 80354140 0034FDA0 38 C0 08 00 */ li r6, 0x800
+/* 80354144 0034FDA4 4B FF C7 31 */ bl ghiInitBuffer
+lbl_80354148:
+/* 80354148 0034FDA8 2C 03 00 00 */ cmpwi r3, 0
+/* 8035414C 0034FDAC 40 82 00 14 */ bne lbl_80354160
+/* 80354150 0034FDB0 7E A3 AB 78 */ mr r3, r21
+/* 80354154 0034FDB4 4B FF D8 D1 */ bl ghiFreeConnection
+/* 80354158 0034FDB8 38 60 FF FF */ li r3, -1
+/* 8035415C 0034FDBC 48 00 00 5C */ b lbl_803541B8
+lbl_80354160:
+/* 80354160 0034FDC0 2C 1A 00 00 */ cmpwi r26, 0
+/* 80354164 0034FDC4 41 82 00 24 */ beq lbl_80354188
+/* 80354168 0034FDC8 7E A3 AB 78 */ mr r3, r21
+/* 8035416C 0034FDCC 48 00 06 71 */ bl ghiPostInitState
+/* 80354170 0034FDD0 2C 03 00 00 */ cmpwi r3, 0
+/* 80354174 0034FDD4 40 82 00 14 */ bne lbl_80354188
+/* 80354178 0034FDD8 7E A3 AB 78 */ mr r3, r21
+/* 8035417C 0034FDDC 4B FF D8 A9 */ bl ghiFreeConnection
+/* 80354180 0034FDE0 38 60 FF FF */ li r3, -1
+/* 80354184 0034FDE4 48 00 00 34 */ b lbl_803541B8
+lbl_80354188:
+/* 80354188 0034FDE8 2C 1C 00 00 */ cmpwi r28, 0
+/* 8035418C 0034FDEC 41 82 00 28 */ beq lbl_803541B4
+/* 80354190 0034FDF0 48 00 00 0C */ b lbl_8035419C
+lbl_80354194:
+/* 80354194 0034FDF4 38 60 00 0A */ li r3, 0xa
+/* 80354198 0034FDF8 4B FE 4E 8D */ bl msleep
+lbl_8035419C:
+/* 8035419C 0034FDFC 7E A3 AB 78 */ mr r3, r21
+/* 803541A0 0034FE00 4B FF FB 8D */ bl ghiProcessConnection
+/* 803541A4 0034FE04 2C 03 00 00 */ cmpwi r3, 0
+/* 803541A8 0034FE08 41 82 FF EC */ beq lbl_80354194
+/* 803541AC 0034FE0C 38 60 00 00 */ li r3, 0
+/* 803541B0 0034FE10 48 00 00 08 */ b lbl_803541B8
+lbl_803541B4:
+/* 803541B4 0034FE14 80 75 00 04 */ lwz r3, 4(r21)
+lbl_803541B8:
+/* 803541B8 0034FE18 39 61 00 40 */ addi r11, r1, 0x40
+/* 803541BC 0034FE1C 4B E7 2F A1 */ bl func_801C715C
+/* 803541C0 0034FE20 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 803541C4 0034FE24 7C 08 03 A6 */ mtlr r0
+/* 803541C8 0034FE28 38 21 00 40 */ addi r1, r1, 0x40
+/* 803541CC 0034FE2C 4E 80 00 20 */ blr
+
+.global ghttpThink
+ghttpThink:
+/* 803541D0 0034FE30 3C 60 80 35 */ lis r3, ghiProcessConnection@ha
+/* 803541D4 0034FE34 38 63 3D 2C */ addi r3, r3, ghiProcessConnection@l
+/* 803541D8 0034FE38 4B FF DA 30 */ b ghiEnumConnections
+
+.global ghttpCancelRequest
+ghttpCancelRequest:
+/* 803541DC 0034FE3C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 803541E0 0034FE40 7C 08 02 A6 */ mflr r0
+/* 803541E4 0034FE44 90 01 00 14 */ stw r0, 0x14(r1)
+/* 803541E8 0034FE48 4B FF D9 B1 */ bl ghiRequestToConnection
+/* 803541EC 0034FE4C 2C 03 00 00 */ cmpwi r3, 0
+/* 803541F0 0034FE50 41 82 00 08 */ beq lbl_803541F8
+/* 803541F4 0034FE54 4B FF D8 31 */ bl ghiFreeConnection
+lbl_803541F8:
+/* 803541F8 0034FE58 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803541FC 0034FE5C 7C 08 03 A6 */ mtlr r0
+/* 80354200 0034FE60 38 21 00 10 */ addi r1, r1, 0x10
+/* 80354204 0034FE64 4E 80 00 20 */ blr
+
+.global ghttpSetMaxRecvTime
+ghttpSetMaxRecvTime:
+/* 80354208 0034FE68 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8035420C 0034FE6C 7C 08 02 A6 */ mflr r0
+/* 80354210 0034FE70 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80354214 0034FE74 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80354218 0034FE78 7C 9F 23 78 */ mr r31, r4
+/* 8035421C 0034FE7C 4B FF D9 7D */ bl ghiRequestToConnection
+/* 80354220 0034FE80 2C 03 00 00 */ cmpwi r3, 0
+/* 80354224 0034FE84 41 82 00 08 */ beq lbl_8035422C
+/* 80354228 0034FE88 93 E3 01 84 */ stw r31, 0x184(r3)
+lbl_8035422C:
+/* 8035422C 0034FE8C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80354230 0034FE90 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80354234 0034FE94 7C 08 03 A6 */ mtlr r0
+/* 80354238 0034FE98 38 21 00 10 */ addi r1, r1, 0x10
+/* 8035423C 0034FE9C 4E 80 00 20 */ blr
diff --git a/asm/ghttpPost.s b/asm/ghttpPost.s new file mode 100644 index 0000000..3e0a2ae --- /dev/null +++ b/asm/ghttpPost.s @@ -0,0 +1,1666 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global ghiIsPostAutoFree
+ghiIsPostAutoFree:
+/* 80354240 0034FEA0 80 63 00 18 */ lwz r3, 0x18(r3)
+/* 80354244 0034FEA4 4E 80 00 20 */ blr
+
+.global ghiFreePost
+ghiFreePost:
+/* 80354248 0034FEA8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8035424C 0034FEAC 7C 08 02 A6 */ mflr r0
+/* 80354250 0034FEB0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80354254 0034FEB4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80354258 0034FEB8 7C 7F 1B 78 */ mr r31, r3
+/* 8035425C 0034FEBC 80 63 00 00 */ lwz r3, 0(r3)
+/* 80354260 0034FEC0 4B FE 1B F5 */ bl ArrayFree
+/* 80354264 0034FEC4 7F E3 FB 78 */ mr r3, r31
+/* 80354268 0034FEC8 4B FE 50 D1 */ bl gsifree
+/* 8035426C 0034FECC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80354270 0034FED0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80354274 0034FED4 7C 08 03 A6 */ mtlr r0
+/* 80354278 0034FED8 38 21 00 10 */ addi r1, r1, 0x10
+/* 8035427C 0034FEDC 4E 80 00 20 */ blr
+
+.global ghiPostGetContentType
+ghiPostGetContentType:
+/* 80354280 0034FEE0 80 63 01 60 */ lwz r3, 0x160(r3)
+/* 80354284 0034FEE4 3C 80 80 45 */ lis r4, lbl_8044BFF8@ha
+/* 80354288 0034FEE8 38 84 BF F8 */ addi r4, r4, lbl_8044BFF8@l
+/* 8035428C 0034FEEC 2C 03 00 00 */ cmpwi r3, 0
+/* 80354290 0034FEF0 40 82 00 0C */ bne lbl_8035429C
+/* 80354294 0034FEF4 38 6D 93 B8 */ addi r3, r13, lbl_8063E678-_SDA_BASE_
+/* 80354298 0034FEF8 4E 80 00 20 */ blr
+lbl_8035429C:
+/* 8035429C 0034FEFC 80 03 00 14 */ lwz r0, 0x14(r3)
+/* 803542A0 0034FF00 2C 00 00 00 */ cmpwi r0, 0
+/* 803542A4 0034FF04 41 82 00 0C */ beq lbl_803542B0
+/* 803542A8 0034FF08 38 64 00 44 */ addi r3, r4, 0x44
+/* 803542AC 0034FF0C 4E 80 00 20 */ blr
+lbl_803542B0:
+/* 803542B0 0034FF10 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 803542B4 0034FF14 2C 00 00 00 */ cmpwi r0, 0
+/* 803542B8 0034FF18 41 82 00 0C */ beq lbl_803542C4
+/* 803542BC 0034FF1C 38 64 00 58 */ addi r3, r4, 0x58
+/* 803542C0 0034FF20 4E 80 00 20 */ blr
+lbl_803542C4:
+/* 803542C4 0034FF24 80 03 00 10 */ lwz r0, 0x10(r3)
+/* 803542C8 0034FF28 38 64 00 A8 */ addi r3, r4, 0xa8
+/* 803542CC 0034FF2C 2C 00 00 00 */ cmpwi r0, 0
+/* 803542D0 0034FF30 4D 82 00 20 */ beqlr
+/* 803542D4 0034FF34 38 64 00 9C */ addi r3, r4, 0x9c
+/* 803542D8 0034FF38 4E 80 00 20 */ blr
+
+.global ghiPostGetNoFilesContentLength
+ghiPostGetNoFilesContentLength:
+/* 803542DC 0034FF3C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 803542E0 0034FF40 7C 08 02 A6 */ mflr r0
+/* 803542E4 0034FF44 90 01 00 24 */ stw r0, 0x24(r1)
+/* 803542E8 0034FF48 39 61 00 20 */ addi r11, r1, 0x20
+/* 803542EC 0034FF4C 4B E7 2E 3D */ bl _savegpr_27
+/* 803542F0 0034FF50 83 A3 01 60 */ lwz r29, 0x160(r3)
+/* 803542F4 0034FF54 3B 60 00 00 */ li r27, 0
+/* 803542F8 0034FF58 80 7D 00 00 */ lwz r3, 0(r29)
+/* 803542FC 0034FF5C 4B FE 1B ED */ bl ArrayLength
+/* 80354300 0034FF60 2C 03 00 00 */ cmpwi r3, 0
+/* 80354304 0034FF64 7C 7E 1B 78 */ mr r30, r3
+/* 80354308 0034FF68 40 82 00 0C */ bne lbl_80354314
+/* 8035430C 0034FF6C 38 60 00 00 */ li r3, 0
+/* 80354310 0034FF70 48 00 00 78 */ b lbl_80354388
+lbl_80354314:
+/* 80354314 0034FF74 3B 80 00 00 */ li r28, 0
+/* 80354318 0034FF78 48 00 00 60 */ b lbl_80354378
+lbl_8035431C:
+/* 8035431C 0034FF7C 80 7D 00 00 */ lwz r3, 0(r29)
+/* 80354320 0034FF80 7F 84 E3 78 */ mr r4, r28
+/* 80354324 0034FF84 4B FE 1B CD */ bl ArrayNth
+/* 80354328 0034FF88 80 03 00 00 */ lwz r0, 0(r3)
+/* 8035432C 0034FF8C 7C 7F 1B 78 */ mr r31, r3
+/* 80354330 0034FF90 2C 00 00 00 */ cmpwi r0, 0
+/* 80354334 0034FF94 40 82 00 2C */ bne lbl_80354360
+/* 80354338 0034FF98 80 63 00 04 */ lwz r3, 4(r3)
+/* 8035433C 0034FF9C 4B E7 28 29 */ bl strlen
+/* 80354340 0034FFA0 80 1F 00 14 */ lwz r0, 0x14(r31)
+/* 80354344 0034FFA4 7F 7B 1A 14 */ add r27, r27, r3
+/* 80354348 0034FFA8 80 7F 00 0C */ lwz r3, 0xc(r31)
+/* 8035434C 0034FFAC 54 00 08 3C */ slwi r0, r0, 1
+/* 80354350 0034FFB0 7F 7B 1A 14 */ add r27, r27, r3
+/* 80354354 0034FFB4 7F 7B 02 14 */ add r27, r27, r0
+/* 80354358 0034FFB8 3B 7B 00 01 */ addi r27, r27, 1
+/* 8035435C 0034FFBC 48 00 00 18 */ b lbl_80354374
+lbl_80354360:
+/* 80354360 0034FFC0 2C 00 00 03 */ cmpwi r0, 3
+/* 80354364 0034FFC4 40 82 00 10 */ bne lbl_80354374
+/* 80354368 0034FFC8 80 63 00 08 */ lwz r3, 8(r3)
+/* 8035436C 0034FFCC 4B FE 8A 79 */ bl gsXmlWriterGetDataLength
+/* 80354370 0034FFD0 7F 7B 1A 14 */ add r27, r27, r3
+lbl_80354374:
+/* 80354374 0034FFD4 3B 9C 00 01 */ addi r28, r28, 1
+lbl_80354378:
+/* 80354378 0034FFD8 7C 1C F0 00 */ cmpw r28, r30
+/* 8035437C 0034FFDC 41 80 FF A0 */ blt lbl_8035431C
+/* 80354380 0034FFE0 7C 7B F2 14 */ add r3, r27, r30
+/* 80354384 0034FFE4 38 63 FF FF */ addi r3, r3, -1
+lbl_80354388:
+/* 80354388 0034FFE8 39 61 00 20 */ addi r11, r1, 0x20
+/* 8035438C 0034FFEC 4B E7 2D E9 */ bl _restgpr_27
+/* 80354390 0034FFF0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80354394 0034FFF4 7C 08 03 A6 */ mtlr r0
+/* 80354398 0034FFF8 38 21 00 20 */ addi r1, r1, 0x20
+/* 8035439C 0034FFFC 4E 80 00 20 */ blr
+
+.global ghiPostGetHasFilesContentLength
+ghiPostGetHasFilesContentLength:
+/* 803543A0 00350000 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 803543A4 00350004 7C 08 02 A6 */ mflr r0
+/* 803543A8 00350008 90 01 00 44 */ stw r0, 0x44(r1)
+/* 803543AC 0035000C 39 61 00 40 */ addi r11, r1, 0x40
+/* 803543B0 00350010 4B E7 2D 61 */ bl func_801C7110
+/* 803543B4 00350014 80 0D B0 E0 */ lwz r0, lbl_806403A0-_SDA_BASE_(r13)
+/* 803543B8 00350018 7C 79 1B 78 */ mr r25, r3
+/* 803543BC 0035001C 83 83 01 60 */ lwz r28, 0x160(r3)
+/* 803543C0 00350020 3B 40 00 00 */ li r26, 0
+/* 803543C4 00350024 2C 00 00 00 */ cmpwi r0, 0
+/* 803543C8 00350028 40 82 00 60 */ bne lbl_80354428
+/* 803543CC 0035002C 80 1C 00 14 */ lwz r0, 0x14(r28)
+/* 803543D0 00350030 2C 00 00 00 */ cmpwi r0, 0
+/* 803543D4 00350034 41 82 00 24 */ beq lbl_803543F8
+/* 803543D8 00350038 38 60 00 0C */ li r3, 0xc
+/* 803543DC 0035003C 38 00 00 00 */ li r0, 0
+/* 803543E0 00350040 90 6D B0 E0 */ stw r3, lbl_806403A0-_SDA_BASE_(r13)
+/* 803543E4 00350044 90 6D B0 E4 */ stw r3, lbl_806403A4-_SDA_BASE_(r13)
+/* 803543E8 00350048 90 6D B0 E8 */ stw r3, lbl_806403A8-_SDA_BASE_(r13)
+/* 803543EC 0035004C 90 6D B0 F0 */ stw r3, lbl_806403B0-_SDA_BASE_(r13)
+/* 803543F0 00350050 90 0D B0 EC */ stw r0, lbl_806403AC-_SDA_BASE_(r13)
+/* 803543F4 00350054 48 00 00 34 */ b lbl_80354428
+lbl_803543F8:
+/* 803543F8 00350058 3C 60 80 45 */ lis r3, lbl_8044C0C4@ha
+/* 803543FC 0035005C 38 63 C0 C4 */ addi r3, r3, lbl_8044C0C4@l
+/* 80354400 00350060 4B E7 27 65 */ bl strlen
+/* 80354404 00350064 38 C3 00 2F */ addi r6, r3, 0x2f
+/* 80354408 00350068 38 A3 00 4C */ addi r5, r3, 0x4c
+/* 8035440C 0035006C 38 03 00 04 */ addi r0, r3, 4
+/* 80354410 00350070 38 80 00 00 */ li r4, 0
+/* 80354414 00350074 90 6D B0 E0 */ stw r3, lbl_806403A0-_SDA_BASE_(r13)
+/* 80354418 00350078 90 CD B0 E4 */ stw r6, lbl_806403A4-_SDA_BASE_(r13)
+/* 8035441C 0035007C 90 AD B0 E8 */ stw r5, lbl_806403A8-_SDA_BASE_(r13)
+/* 80354420 00350080 90 8D B0 F0 */ stw r4, lbl_806403B0-_SDA_BASE_(r13)
+/* 80354424 00350084 90 0D B0 EC */ stw r0, lbl_806403AC-_SDA_BASE_(r13)
+lbl_80354428:
+/* 80354428 00350088 80 7C 00 00 */ lwz r3, 0(r28)
+/* 8035442C 0035008C 4B FE 1A BD */ bl ArrayLength
+/* 80354430 00350090 7C 7E 1B 78 */ mr r30, r3
+/* 80354434 00350094 3B 60 00 00 */ li r27, 0
+/* 80354438 00350098 3F 00 80 45 */ lis r24, 0x8045
+/* 8035443C 0035009C 48 00 02 BC */ b lbl_803546F8
+lbl_80354440:
+/* 80354440 003500A0 80 7C 00 00 */ lwz r3, 0(r28)
+/* 80354444 003500A4 7F 64 DB 78 */ mr r4, r27
+/* 80354448 003500A8 4B FE 1A A9 */ bl ArrayNth
+/* 8035444C 003500AC 80 03 00 00 */ lwz r0, 0(r3)
+/* 80354450 003500B0 7C 7F 1B 78 */ mr r31, r3
+/* 80354454 003500B4 2C 00 00 00 */ cmpwi r0, 0
+/* 80354458 003500B8 40 82 00 24 */ bne lbl_8035447C
+/* 8035445C 003500BC 80 0D B0 E4 */ lwz r0, lbl_806403A4-_SDA_BASE_(r13)
+/* 80354460 003500C0 80 63 00 04 */ lwz r3, 4(r3)
+/* 80354464 003500C4 7F 5A 02 14 */ add r26, r26, r0
+/* 80354468 003500C8 4B E7 26 FD */ bl strlen
+/* 8035446C 003500CC 80 1F 00 0C */ lwz r0, 0xc(r31)
+/* 80354470 003500D0 7F 5A 1A 14 */ add r26, r26, r3
+/* 80354474 003500D4 7F 5A 02 14 */ add r26, r26, r0
+/* 80354478 003500D8 48 00 02 7C */ b lbl_803546F4
+lbl_8035447C:
+/* 8035447C 003500DC 2C 00 00 01 */ cmpwi r0, 1
+/* 80354480 003500E0 40 82 00 D8 */ bne lbl_80354558
+/* 80354484 003500E4 80 0D B0 E8 */ lwz r0, lbl_806403A8-_SDA_BASE_(r13)
+/* 80354488 003500E8 80 63 00 04 */ lwz r3, 4(r3)
+/* 8035448C 003500EC 7F 5A 02 14 */ add r26, r26, r0
+/* 80354490 003500F0 4B E7 26 D5 */ bl strlen
+/* 80354494 003500F4 7F 5A 1A 14 */ add r26, r26, r3
+/* 80354498 003500F8 80 7F 00 10 */ lwz r3, 0x10(r31)
+/* 8035449C 003500FC 4B E7 26 C9 */ bl strlen
+/* 803544A0 00350100 7F 5A 1A 14 */ add r26, r26, r3
+/* 803544A4 00350104 80 79 01 64 */ lwz r3, 0x164(r25)
+/* 803544A8 00350108 7F 64 DB 78 */ mr r4, r27
+/* 803544AC 0035010C 4B FE 1A 45 */ bl ArrayNth
+/* 803544B0 00350110 82 FC 00 14 */ lwz r23, 0x14(r28)
+/* 803544B4 00350114 83 A3 00 0C */ lwz r29, 0xc(r3)
+/* 803544B8 00350118 2C 17 00 00 */ cmpwi r23, 0
+/* 803544BC 0035011C 7F 5A EA 14 */ add r26, r26, r29
+/* 803544C0 00350120 40 82 00 10 */ bne lbl_803544D0
+/* 803544C4 00350124 80 7F 00 0C */ lwz r3, 0xc(r31)
+/* 803544C8 00350128 4B E7 26 9D */ bl strlen
+/* 803544CC 0035012C 7F 5A 1A 14 */ add r26, r26, r3
+lbl_803544D0:
+/* 803544D0 00350130 2C 17 00 00 */ cmpwi r23, 0
+/* 803544D4 00350134 41 82 02 20 */ beq lbl_803546F4
+/* 803544D8 00350138 80 7F 00 04 */ lwz r3, 4(r31)
+/* 803544DC 0035013C 4B E7 26 89 */ bl strlen
+/* 803544E0 00350140 54 60 F0 02 */ slwi r0, r3, 0x1e
+/* 803544E4 00350144 54 63 0F FE */ srwi r3, r3, 0x1f
+/* 803544E8 00350148 7C 03 00 50 */ subf r0, r3, r0
+/* 803544EC 0035014C 54 00 10 3E */ rotlwi r0, r0, 2
+/* 803544F0 00350150 7C 00 1A 14 */ add r0, r0, r3
+/* 803544F4 00350154 20 00 00 04 */ subfic r0, r0, 4
+/* 803544F8 00350158 2C 00 00 04 */ cmpwi r0, 4
+/* 803544FC 0035015C 41 82 00 08 */ beq lbl_80354504
+/* 80354500 00350160 7F 5A 02 14 */ add r26, r26, r0
+lbl_80354504:
+/* 80354504 00350164 80 7F 00 10 */ lwz r3, 0x10(r31)
+/* 80354508 00350168 4B E7 26 5D */ bl strlen
+/* 8035450C 0035016C 54 60 F0 02 */ slwi r0, r3, 0x1e
+/* 80354510 00350170 54 63 0F FE */ srwi r3, r3, 0x1f
+/* 80354514 00350174 7C 03 00 50 */ subf r0, r3, r0
+/* 80354518 00350178 54 00 10 3E */ rotlwi r0, r0, 2
+/* 8035451C 0035017C 7C 00 1A 14 */ add r0, r0, r3
+/* 80354520 00350180 20 00 00 04 */ subfic r0, r0, 4
+/* 80354524 00350184 2C 00 00 04 */ cmpwi r0, 4
+/* 80354528 00350188 41 82 00 08 */ beq lbl_80354530
+/* 8035452C 0035018C 7F 5A 02 14 */ add r26, r26, r0
+lbl_80354530:
+/* 80354530 00350190 57 A0 F0 02 */ slwi r0, r29, 0x1e
+/* 80354534 00350194 57 A3 0F FE */ srwi r3, r29, 0x1f
+/* 80354538 00350198 7C 03 00 50 */ subf r0, r3, r0
+/* 8035453C 0035019C 54 00 10 3E */ rotlwi r0, r0, 2
+/* 80354540 003501A0 7C 00 1A 14 */ add r0, r0, r3
+/* 80354544 003501A4 20 00 00 04 */ subfic r0, r0, 4
+/* 80354548 003501A8 2C 00 00 04 */ cmpwi r0, 4
+/* 8035454C 003501AC 41 82 01 A8 */ beq lbl_803546F4
+/* 80354550 003501B0 7F 5A 02 14 */ add r26, r26, r0
+/* 80354554 003501B4 48 00 01 A0 */ b lbl_803546F4
+lbl_80354558:
+/* 80354558 003501B8 2C 00 00 02 */ cmpwi r0, 2
+/* 8035455C 003501BC 40 82 00 D4 */ bne lbl_80354630
+/* 80354560 003501C0 80 0D B0 E8 */ lwz r0, lbl_806403A8-_SDA_BASE_(r13)
+/* 80354564 003501C4 82 C3 00 04 */ lwz r22, 4(r3)
+/* 80354568 003501C8 7F 5A 02 14 */ add r26, r26, r0
+/* 8035456C 003501CC 7E C3 B3 78 */ mr r3, r22
+/* 80354570 003501D0 4B E7 25 F5 */ bl strlen
+/* 80354574 003501D4 82 BF 00 14 */ lwz r21, 0x14(r31)
+/* 80354578 003501D8 7F 5A 1A 14 */ add r26, r26, r3
+/* 8035457C 003501DC 7E A3 AB 78 */ mr r3, r21
+/* 80354580 003501E0 4B E7 25 E5 */ bl strlen
+/* 80354584 003501E4 82 FC 00 14 */ lwz r23, 0x14(r28)
+/* 80354588 003501E8 7F 5A 1A 14 */ add r26, r26, r3
+/* 8035458C 003501EC 83 BF 00 0C */ lwz r29, 0xc(r31)
+/* 80354590 003501F0 2C 17 00 00 */ cmpwi r23, 0
+/* 80354594 003501F4 7F 5A EA 14 */ add r26, r26, r29
+/* 80354598 003501F8 40 82 00 10 */ bne lbl_803545A8
+/* 8035459C 003501FC 80 7F 00 10 */ lwz r3, 0x10(r31)
+/* 803545A0 00350200 4B E7 25 C5 */ bl strlen
+/* 803545A4 00350204 7F 5A 1A 14 */ add r26, r26, r3
+lbl_803545A8:
+/* 803545A8 00350208 2C 17 00 00 */ cmpwi r23, 0
+/* 803545AC 0035020C 41 82 01 48 */ beq lbl_803546F4
+/* 803545B0 00350210 7E C3 B3 78 */ mr r3, r22
+/* 803545B4 00350214 4B E7 25 B1 */ bl strlen
+/* 803545B8 00350218 54 60 F0 02 */ slwi r0, r3, 0x1e
+/* 803545BC 0035021C 54 63 0F FE */ srwi r3, r3, 0x1f
+/* 803545C0 00350220 7C 03 00 50 */ subf r0, r3, r0
+/* 803545C4 00350224 54 00 10 3E */ rotlwi r0, r0, 2
+/* 803545C8 00350228 7C 00 1A 14 */ add r0, r0, r3
+/* 803545CC 0035022C 20 00 00 04 */ subfic r0, r0, 4
+/* 803545D0 00350230 2C 00 00 04 */ cmpwi r0, 4
+/* 803545D4 00350234 41 82 00 08 */ beq lbl_803545DC
+/* 803545D8 00350238 7F 5A 02 14 */ add r26, r26, r0
+lbl_803545DC:
+/* 803545DC 0035023C 7E A3 AB 78 */ mr r3, r21
+/* 803545E0 00350240 4B E7 25 85 */ bl strlen
+/* 803545E4 00350244 54 60 F0 02 */ slwi r0, r3, 0x1e
+/* 803545E8 00350248 54 63 0F FE */ srwi r3, r3, 0x1f
+/* 803545EC 0035024C 7C 03 00 50 */ subf r0, r3, r0
+/* 803545F0 00350250 54 00 10 3E */ rotlwi r0, r0, 2
+/* 803545F4 00350254 7C 00 1A 14 */ add r0, r0, r3
+/* 803545F8 00350258 20 00 00 04 */ subfic r0, r0, 4
+/* 803545FC 0035025C 2C 00 00 04 */ cmpwi r0, 4
+/* 80354600 00350260 41 82 00 08 */ beq lbl_80354608
+/* 80354604 00350264 7F 5A 02 14 */ add r26, r26, r0
+lbl_80354608:
+/* 80354608 00350268 57 A0 F0 02 */ slwi r0, r29, 0x1e
+/* 8035460C 0035026C 57 A3 0F FE */ srwi r3, r29, 0x1f
+/* 80354610 00350270 7C 03 00 50 */ subf r0, r3, r0
+/* 80354614 00350274 54 00 10 3E */ rotlwi r0, r0, 2
+/* 80354618 00350278 7C 00 1A 14 */ add r0, r0, r3
+/* 8035461C 0035027C 20 00 00 04 */ subfic r0, r0, 4
+/* 80354620 00350280 2C 00 00 04 */ cmpwi r0, 4
+/* 80354624 00350284 41 82 00 D0 */ beq lbl_803546F4
+/* 80354628 00350288 7F 5A 02 14 */ add r26, r26, r0
+/* 8035462C 0035028C 48 00 00 C8 */ b lbl_803546F4
+lbl_80354630:
+/* 80354630 00350290 2C 00 00 03 */ cmpwi r0, 3
+/* 80354634 00350294 40 82 00 B8 */ bne lbl_803546EC
+/* 80354638 00350298 80 0D B0 F0 */ lwz r0, lbl_806403B0-_SDA_BASE_(r13)
+/* 8035463C 0035029C 80 63 00 08 */ lwz r3, 8(r3)
+/* 80354640 003502A0 7F 5A 02 14 */ add r26, r26, r0
+/* 80354644 003502A4 4B FE 87 A1 */ bl gsXmlWriterGetDataLength
+/* 80354648 003502A8 7F 5A 1A 14 */ add r26, r26, r3
+/* 8035464C 003502AC 80 7F 00 08 */ lwz r3, 8(r31)
+/* 80354650 003502B0 4B FE 87 95 */ bl gsXmlWriterGetDataLength
+/* 80354654 003502B4 54 60 F0 02 */ slwi r0, r3, 0x1e
+/* 80354658 003502B8 54 63 0F FE */ srwi r3, r3, 0x1f
+/* 8035465C 003502BC 7C 03 00 50 */ subf r0, r3, r0
+/* 80354660 003502C0 54 00 10 3E */ rotlwi r0, r0, 2
+/* 80354664 003502C4 7C 00 1A 14 */ add r0, r0, r3
+/* 80354668 003502C8 20 00 00 04 */ subfic r0, r0, 4
+/* 8035466C 003502CC 2C 00 00 04 */ cmpwi r0, 4
+/* 80354670 003502D0 41 82 00 08 */ beq lbl_80354678
+/* 80354674 003502D4 7F 5A 02 14 */ add r26, r26, r0
+lbl_80354678:
+/* 80354678 003502D8 38 6D 93 C0 */ addi r3, r13, lbl_8063E680-_SDA_BASE_
+/* 8035467C 003502DC 4B E7 24 E9 */ bl strlen
+/* 80354680 003502E0 7F 5A 1A 14 */ add r26, r26, r3
+/* 80354684 003502E4 38 6D 93 C0 */ addi r3, r13, lbl_8063E680-_SDA_BASE_
+/* 80354688 003502E8 4B E7 24 DD */ bl strlen
+/* 8035468C 003502EC 54 60 F0 02 */ slwi r0, r3, 0x1e
+/* 80354690 003502F0 54 63 0F FE */ srwi r3, r3, 0x1f
+/* 80354694 003502F4 7C 03 00 50 */ subf r0, r3, r0
+/* 80354698 003502F8 54 00 10 3E */ rotlwi r0, r0, 2
+/* 8035469C 003502FC 7C 00 1A 14 */ add r0, r0, r3
+/* 803546A0 00350300 20 00 00 04 */ subfic r0, r0, 4
+/* 803546A4 00350304 2C 00 00 04 */ cmpwi r0, 4
+/* 803546A8 00350308 41 82 00 08 */ beq lbl_803546B0
+/* 803546AC 0035030C 7F 5A 02 14 */ add r26, r26, r0
+lbl_803546B0:
+/* 803546B0 00350310 38 78 C0 EC */ addi r3, r24, -16148
+/* 803546B4 00350314 4B E7 24 B1 */ bl strlen
+/* 803546B8 00350318 7F 5A 1A 14 */ add r26, r26, r3
+/* 803546BC 0035031C 38 78 C0 EC */ addi r3, r24, -16148
+/* 803546C0 00350320 4B E7 24 A5 */ bl strlen
+/* 803546C4 00350324 54 60 F0 02 */ slwi r0, r3, 0x1e
+/* 803546C8 00350328 54 63 0F FE */ srwi r3, r3, 0x1f
+/* 803546CC 0035032C 7C 03 00 50 */ subf r0, r3, r0
+/* 803546D0 00350330 54 00 10 3E */ rotlwi r0, r0, 2
+/* 803546D4 00350334 7C 00 1A 14 */ add r0, r0, r3
+/* 803546D8 00350338 20 00 00 04 */ subfic r0, r0, 4
+/* 803546DC 0035033C 2C 00 00 04 */ cmpwi r0, 4
+/* 803546E0 00350340 41 82 00 14 */ beq lbl_803546F4
+/* 803546E4 00350344 7F 5A 02 14 */ add r26, r26, r0
+/* 803546E8 00350348 48 00 00 0C */ b lbl_803546F4
+lbl_803546EC:
+/* 803546EC 0035034C 38 60 00 00 */ li r3, 0
+/* 803546F0 00350350 48 00 00 18 */ b lbl_80354708
+lbl_803546F4:
+/* 803546F4 00350354 3B 7B 00 01 */ addi r27, r27, 1
+lbl_803546F8:
+/* 803546F8 00350358 7C 1B F0 00 */ cmpw r27, r30
+/* 803546FC 0035035C 41 80 FD 44 */ blt lbl_80354440
+/* 80354700 00350360 80 0D B0 EC */ lwz r0, lbl_806403AC-_SDA_BASE_(r13)
+/* 80354704 00350364 7C 7A 02 14 */ add r3, r26, r0
+lbl_80354708:
+/* 80354708 00350368 39 61 00 40 */ addi r11, r1, 0x40
+/* 8035470C 0035036C 4B E7 2A 51 */ bl func_801C715C
+/* 80354710 00350370 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 80354714 00350374 7C 08 03 A6 */ mtlr r0
+/* 80354718 00350378 38 21 00 40 */ addi r1, r1, 0x40
+/* 8035471C 0035037C 4E 80 00 20 */ blr
+
+.global ghiPostStateInit
+ghiPostStateInit:
+/* 80354720 00350380 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80354724 00350384 7C 08 02 A6 */ mflr r0
+/* 80354728 00350388 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8035472C 0035038C 38 00 FF FF */ li r0, -1
+/* 80354730 00350390 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80354734 00350394 7C 7F 1B 78 */ mr r31, r3
+/* 80354738 00350398 80 83 00 00 */ lwz r4, 0(r3)
+/* 8035473C 0035039C 80 84 00 00 */ lwz r4, 0(r4)
+/* 80354740 003503A0 2C 04 00 00 */ cmpwi r4, 0
+/* 80354744 003503A4 90 03 00 04 */ stw r0, 4(r3)
+/* 80354748 003503A8 41 82 00 7C */ beq lbl_803547C4
+/* 8035474C 003503AC 2C 04 00 01 */ cmpwi r4, 1
+/* 80354750 003503B0 40 82 00 5C */ bne lbl_803547AC
+/* 80354754 003503B4 80 63 00 08 */ lwz r3, 8(r3)
+/* 80354758 003503B8 2C 03 00 00 */ cmpwi r3, 0
+/* 8035475C 003503BC 40 82 00 0C */ bne lbl_80354768
+/* 80354760 003503C0 38 60 00 00 */ li r3, 0
+/* 80354764 003503C4 48 00 00 64 */ b lbl_803547C8
+lbl_80354768:
+/* 80354768 003503C8 38 80 00 00 */ li r4, 0
+/* 8035476C 003503CC 38 A0 00 02 */ li r5, 2
+/* 80354770 003503D0 4B E7 59 81 */ bl func_801CA0F0
+/* 80354774 003503D4 2C 03 00 00 */ cmpwi r3, 0
+/* 80354778 003503D8 41 82 00 0C */ beq lbl_80354784
+/* 8035477C 003503DC 38 60 00 00 */ li r3, 0
+/* 80354780 003503E0 48 00 00 48 */ b lbl_803547C8
+lbl_80354784:
+/* 80354784 003503E4 80 7F 00 08 */ lwz r3, 8(r31)
+/* 80354788 003503E8 4B E7 57 A1 */ bl func_801C9F28
+/* 8035478C 003503EC 2C 03 FF FF */ cmpwi r3, -1
+/* 80354790 003503F0 90 7F 00 0C */ stw r3, 0xc(r31)
+/* 80354794 003503F4 40 82 00 0C */ bne lbl_803547A0
+/* 80354798 003503F8 38 60 00 00 */ li r3, 0
+/* 8035479C 003503FC 48 00 00 2C */ b lbl_803547C8
+lbl_803547A0:
+/* 803547A0 00350400 80 7F 00 08 */ lwz r3, 8(r31)
+/* 803547A4 00350404 4B E7 59 51 */ bl func_801CA0F4
+/* 803547A8 00350408 48 00 00 1C */ b lbl_803547C4
+lbl_803547AC:
+/* 803547AC 0035040C 2C 04 00 02 */ cmpwi r4, 2
+/* 803547B0 00350410 41 82 00 14 */ beq lbl_803547C4
+/* 803547B4 00350414 2C 04 00 03 */ cmpwi r4, 3
+/* 803547B8 00350418 41 82 00 0C */ beq lbl_803547C4
+/* 803547BC 0035041C 38 60 00 00 */ li r3, 0
+/* 803547C0 00350420 48 00 00 08 */ b lbl_803547C8
+lbl_803547C4:
+/* 803547C4 00350424 38 60 00 01 */ li r3, 1
+lbl_803547C8:
+/* 803547C8 00350428 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803547CC 0035042C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 803547D0 00350430 7C 08 03 A6 */ mtlr r0
+/* 803547D4 00350434 38 21 00 10 */ addi r1, r1, 0x10
+/* 803547D8 00350438 4E 80 00 20 */ blr
+
+.global ghiPostInitState
+ghiPostInitState:
+/* 803547DC 0035043C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 803547E0 00350440 7C 08 02 A6 */ mflr r0
+/* 803547E4 00350444 90 01 00 34 */ stw r0, 0x34(r1)
+/* 803547E8 00350448 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 803547EC 0035044C 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 803547F0 00350450 93 A1 00 24 */ stw r29, 0x24(r1)
+/* 803547F4 00350454 93 81 00 20 */ stw r28, 0x20(r1)
+/* 803547F8 00350458 7C 7C 1B 78 */ mr r28, r3
+/* 803547FC 0035045C 80 83 01 60 */ lwz r4, 0x160(r3)
+/* 80354800 00350460 2C 04 00 00 */ cmpwi r4, 0
+/* 80354804 00350464 40 82 00 0C */ bne lbl_80354810
+/* 80354808 00350468 38 60 00 00 */ li r3, 0
+/* 8035480C 0035046C 48 00 01 60 */ b lbl_8035496C
+lbl_80354810:
+/* 80354810 00350470 38 00 00 00 */ li r0, 0
+/* 80354814 00350474 90 03 01 68 */ stw r0, 0x168(r3)
+/* 80354818 00350478 90 03 01 6C */ stw r0, 0x16c(r3)
+/* 8035481C 0035047C 90 03 01 70 */ stw r0, 0x170(r3)
+/* 80354820 00350480 90 03 01 80 */ stw r0, 0x180(r3)
+/* 80354824 00350484 80 04 00 04 */ lwz r0, 4(r4)
+/* 80354828 00350488 90 03 01 74 */ stw r0, 0x174(r3)
+/* 8035482C 0035048C 80 04 00 08 */ lwz r0, 8(r4)
+/* 80354830 00350490 90 03 01 78 */ stw r0, 0x178(r3)
+/* 80354834 00350494 80 64 00 00 */ lwz r3, 0(r4)
+/* 80354838 00350498 4B FE 16 B1 */ bl ArrayLength
+/* 8035483C 0035049C 7C 7F 1B 78 */ mr r31, r3
+/* 80354840 003504A0 38 60 00 10 */ li r3, 0x10
+/* 80354844 003504A4 7F E4 FB 78 */ mr r4, r31
+/* 80354848 003504A8 38 A0 00 00 */ li r5, 0
+/* 8035484C 003504AC 4B FE 15 6D */ bl ArrayNew
+/* 80354850 003504B0 2C 03 00 00 */ cmpwi r3, 0
+/* 80354854 003504B4 90 7C 01 64 */ stw r3, 0x164(r28)
+/* 80354858 003504B8 40 82 00 0C */ bne lbl_80354864
+/* 8035485C 003504BC 38 60 00 00 */ li r3, 0
+/* 80354860 003504C0 48 00 01 0C */ b lbl_8035496C
+lbl_80354864:
+/* 80354864 003504C4 3B A0 00 00 */ li r29, 0
+/* 80354868 003504C8 48 00 00 B8 */ b lbl_80354920
+lbl_8035486C:
+/* 8035486C 003504CC 80 7C 01 60 */ lwz r3, 0x160(r28)
+/* 80354870 003504D0 7F A4 EB 78 */ mr r4, r29
+/* 80354874 003504D4 80 63 00 00 */ lwz r3, 0(r3)
+/* 80354878 003504D8 4B FE 16 79 */ bl ArrayNth
+/* 8035487C 003504DC 7C 7E 1B 78 */ mr r30, r3
+/* 80354880 003504E0 38 61 00 08 */ addi r3, r1, 8
+/* 80354884 003504E4 38 80 00 00 */ li r4, 0
+/* 80354888 003504E8 38 A0 00 10 */ li r5, 0x10
+/* 8035488C 003504EC 4B CA F8 79 */ bl memset
+/* 80354890 003504F0 93 C1 00 08 */ stw r30, 8(r1)
+/* 80354894 003504F4 38 61 00 08 */ addi r3, r1, 8
+/* 80354898 003504F8 4B FF FE 89 */ bl ghiPostStateInit
+/* 8035489C 003504FC 2C 03 00 00 */ cmpwi r3, 0
+/* 803548A0 00350500 40 82 00 70 */ bne lbl_80354910
+/* 803548A4 00350504 3B E0 00 00 */ li r31, 0
+/* 803548A8 00350508 3B BD FF FF */ addi r29, r29, -1
+/* 803548AC 0035050C 48 00 00 44 */ b lbl_803548F0
+lbl_803548B0:
+/* 803548B0 00350510 80 7C 01 64 */ lwz r3, 0x164(r28)
+/* 803548B4 00350514 7F A4 EB 78 */ mr r4, r29
+/* 803548B8 00350518 4B FE 16 39 */ bl ArrayNth
+/* 803548BC 0035051C 80 83 00 00 */ lwz r4, 0(r3)
+/* 803548C0 00350520 7C 7E 1B 78 */ mr r30, r3
+/* 803548C4 00350524 80 04 00 00 */ lwz r0, 0(r4)
+/* 803548C8 00350528 2C 00 00 00 */ cmpwi r0, 0
+/* 803548CC 0035052C 41 82 00 20 */ beq lbl_803548EC
+/* 803548D0 00350530 2C 00 00 01 */ cmpwi r0, 1
+/* 803548D4 00350534 40 82 00 18 */ bne lbl_803548EC
+/* 803548D8 00350538 80 63 00 08 */ lwz r3, 8(r3)
+/* 803548DC 0035053C 2C 03 00 00 */ cmpwi r3, 0
+/* 803548E0 00350540 41 82 00 08 */ beq lbl_803548E8
+/* 803548E4 00350544 4B E7 52 ED */ bl func_801C9BD0
+lbl_803548E8:
+/* 803548E8 00350548 93 FE 00 08 */ stw r31, 8(r30)
+lbl_803548EC:
+/* 803548EC 0035054C 3B BD FF FF */ addi r29, r29, -1
+lbl_803548F0:
+/* 803548F0 00350550 2C 1D 00 00 */ cmpwi r29, 0
+/* 803548F4 00350554 40 80 FF BC */ bge lbl_803548B0
+/* 803548F8 00350558 80 7C 01 64 */ lwz r3, 0x164(r28)
+/* 803548FC 0035055C 4B FE 15 59 */ bl ArrayFree
+/* 80354900 00350560 38 00 00 00 */ li r0, 0
+/* 80354904 00350564 38 60 00 00 */ li r3, 0
+/* 80354908 00350568 90 1C 01 64 */ stw r0, 0x164(r28)
+/* 8035490C 0035056C 48 00 00 60 */ b lbl_8035496C
+lbl_80354910:
+/* 80354910 00350570 80 7C 01 64 */ lwz r3, 0x164(r28)
+/* 80354914 00350574 38 81 00 08 */ addi r4, r1, 8
+/* 80354918 00350578 4B FE 16 09 */ bl ArrayAppend
+/* 8035491C 0035057C 3B BD 00 01 */ addi r29, r29, 1
+lbl_80354920:
+/* 80354920 00350580 7C 1D F8 00 */ cmpw r29, r31
+/* 80354924 00350584 41 80 FF 48 */ blt lbl_8035486C
+/* 80354928 00350588 80 7C 01 60 */ lwz r3, 0x160(r28)
+/* 8035492C 0035058C 2C 03 00 00 */ cmpwi r3, 0
+/* 80354930 00350590 40 82 00 0C */ bne lbl_8035493C
+/* 80354934 00350594 38 60 00 00 */ li r3, 0
+/* 80354938 00350598 48 00 00 24 */ b lbl_8035495C
+lbl_8035493C:
+/* 8035493C 0035059C 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 80354940 003505A0 2C 00 00 00 */ cmpwi r0, 0
+/* 80354944 003505A4 41 82 00 10 */ beq lbl_80354954
+/* 80354948 003505A8 7F 83 E3 78 */ mr r3, r28
+/* 8035494C 003505AC 4B FF FA 55 */ bl ghiPostGetHasFilesContentLength
+/* 80354950 003505B0 48 00 00 0C */ b lbl_8035495C
+lbl_80354954:
+/* 80354954 003505B4 7F 83 E3 78 */ mr r3, r28
+/* 80354958 003505B8 4B FF F9 85 */ bl ghiPostGetNoFilesContentLength
+lbl_8035495C:
+/* 8035495C 003505BC 38 00 00 01 */ li r0, 1
+/* 80354960 003505C0 90 7C 01 70 */ stw r3, 0x170(r28)
+/* 80354964 003505C4 38 60 00 01 */ li r3, 1
+/* 80354968 003505C8 90 1C 01 7C */ stw r0, 0x17c(r28)
+lbl_8035496C:
+/* 8035496C 003505CC 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 80354970 003505D0 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 80354974 003505D4 83 C1 00 28 */ lwz r30, 0x28(r1)
+/* 80354978 003505D8 83 A1 00 24 */ lwz r29, 0x24(r1)
+/* 8035497C 003505DC 83 81 00 20 */ lwz r28, 0x20(r1)
+/* 80354980 003505E0 7C 08 03 A6 */ mtlr r0
+/* 80354984 003505E4 38 21 00 30 */ addi r1, r1, 0x30
+/* 80354988 003505E8 4E 80 00 20 */ blr
+
+.global ghiPostCleanupState
+ghiPostCleanupState:
+/* 8035498C 003505EC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80354990 003505F0 7C 08 02 A6 */ mflr r0
+/* 80354994 003505F4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80354998 003505F8 39 61 00 20 */ addi r11, r1, 0x20
+/* 8035499C 003505FC 4B E7 27 8D */ bl _savegpr_27
+/* 803549A0 00350600 80 03 01 64 */ lwz r0, 0x164(r3)
+/* 803549A4 00350604 7C 7B 1B 78 */ mr r27, r3
+/* 803549A8 00350608 2C 00 00 00 */ cmpwi r0, 0
+/* 803549AC 0035060C 41 82 00 74 */ beq lbl_80354A20
+/* 803549B0 00350610 7C 03 03 78 */ mr r3, r0
+/* 803549B4 00350614 4B FE 15 35 */ bl ArrayLength
+/* 803549B8 00350618 7C 7D 1B 78 */ mr r29, r3
+/* 803549BC 0035061C 3B 80 00 00 */ li r28, 0
+/* 803549C0 00350620 3B E0 00 00 */ li r31, 0
+/* 803549C4 00350624 48 00 00 44 */ b lbl_80354A08
+lbl_803549C8:
+/* 803549C8 00350628 80 7B 01 64 */ lwz r3, 0x164(r27)
+/* 803549CC 0035062C 7F 84 E3 78 */ mr r4, r28
+/* 803549D0 00350630 4B FE 15 21 */ bl ArrayNth
+/* 803549D4 00350634 80 83 00 00 */ lwz r4, 0(r3)
+/* 803549D8 00350638 7C 7E 1B 78 */ mr r30, r3
+/* 803549DC 0035063C 80 04 00 00 */ lwz r0, 0(r4)
+/* 803549E0 00350640 2C 00 00 00 */ cmpwi r0, 0
+/* 803549E4 00350644 41 82 00 20 */ beq lbl_80354A04
+/* 803549E8 00350648 2C 00 00 01 */ cmpwi r0, 1
+/* 803549EC 0035064C 40 82 00 18 */ bne lbl_80354A04
+/* 803549F0 00350650 80 63 00 08 */ lwz r3, 8(r3)
+/* 803549F4 00350654 2C 03 00 00 */ cmpwi r3, 0
+/* 803549F8 00350658 41 82 00 08 */ beq lbl_80354A00
+/* 803549FC 0035065C 4B E7 51 D5 */ bl func_801C9BD0
+lbl_80354A00:
+/* 80354A00 00350660 93 FE 00 08 */ stw r31, 8(r30)
+lbl_80354A04:
+/* 80354A04 00350664 3B 9C 00 01 */ addi r28, r28, 1
+lbl_80354A08:
+/* 80354A08 00350668 7C 1C E8 00 */ cmpw r28, r29
+/* 80354A0C 0035066C 41 80 FF BC */ blt lbl_803549C8
+/* 80354A10 00350670 80 7B 01 64 */ lwz r3, 0x164(r27)
+/* 80354A14 00350674 4B FE 14 41 */ bl ArrayFree
+/* 80354A18 00350678 38 00 00 00 */ li r0, 0
+/* 80354A1C 0035067C 90 1B 01 64 */ stw r0, 0x164(r27)
+lbl_80354A20:
+/* 80354A20 00350680 83 BB 01 60 */ lwz r29, 0x160(r27)
+/* 80354A24 00350684 2C 1D 00 00 */ cmpwi r29, 0
+/* 80354A28 00350688 41 82 00 28 */ beq lbl_80354A50
+/* 80354A2C 0035068C 80 1D 00 18 */ lwz r0, 0x18(r29)
+/* 80354A30 00350690 2C 00 00 00 */ cmpwi r0, 0
+/* 80354A34 00350694 41 82 00 1C */ beq lbl_80354A50
+/* 80354A38 00350698 80 7D 00 00 */ lwz r3, 0(r29)
+/* 80354A3C 0035069C 4B FE 14 19 */ bl ArrayFree
+/* 80354A40 003506A0 7F A3 EB 78 */ mr r3, r29
+/* 80354A44 003506A4 4B FE 48 F5 */ bl gsifree
+/* 80354A48 003506A8 38 00 00 00 */ li r0, 0
+/* 80354A4C 003506AC 90 1B 01 60 */ stw r0, 0x160(r27)
+lbl_80354A50:
+/* 80354A50 003506B0 39 61 00 20 */ addi r11, r1, 0x20
+/* 80354A54 003506B4 4B E7 27 21 */ bl _restgpr_27
+/* 80354A58 003506B8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80354A5C 003506BC 7C 08 03 A6 */ mtlr r0
+/* 80354A60 003506C0 38 21 00 20 */ addi r1, r1, 0x20
+/* 80354A64 003506C4 4E 80 00 20 */ blr
+
+.global ghiPostStringStateDoPosting
+ghiPostStringStateDoPosting:
+/* 80354A68 003506C8 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80354A6C 003506CC 7C 08 02 A6 */ mflr r0
+/* 80354A70 003506D0 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80354A74 003506D4 39 61 00 30 */ addi r11, r1, 0x30
+/* 80354A78 003506D8 4B E7 26 AD */ bl func_801C7124
+/* 80354A7C 003506DC 80 C3 00 00 */ lwz r6, 0(r3)
+/* 80354A80 003506E0 7C 9E 23 78 */ mr r30, r4
+/* 80354A84 003506E4 80 A6 00 0C */ lwz r5, 0xc(r6)
+/* 80354A88 003506E8 2C 05 00 00 */ cmpwi r5, 0
+/* 80354A8C 003506EC 40 82 00 0C */ bne lbl_80354A98
+/* 80354A90 003506F0 38 60 00 01 */ li r3, 1
+/* 80354A94 003506F4 48 00 01 68 */ b lbl_80354BFC
+lbl_80354A98:
+/* 80354A98 003506F8 80 64 01 60 */ lwz r3, 0x160(r4)
+/* 80354A9C 003506FC 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 80354AA0 00350700 2C 00 00 00 */ cmpwi r0, 0
+/* 80354AA4 00350704 40 82 00 F4 */ bne lbl_80354B98
+/* 80354AA8 00350708 80 03 00 10 */ lwz r0, 0x10(r3)
+/* 80354AAC 0035070C 2C 00 00 00 */ cmpwi r0, 0
+/* 80354AB0 00350710 40 82 00 E8 */ bne lbl_80354B98
+/* 80354AB4 00350714 80 06 00 10 */ lwz r0, 0x10(r6)
+/* 80354AB8 00350718 2C 00 00 00 */ cmpwi r0, 0
+/* 80354ABC 0035071C 41 82 00 DC */ beq lbl_80354B98
+/* 80354AC0 00350720 83 E6 00 08 */ lwz r31, 8(r6)
+/* 80354AC4 00350724 88 C2 A4 D8 */ lbz r6, lbl_80642AD8-_SDA2_BASE_(r2)
+/* 80354AC8 00350728 88 A2 A4 D9 */ lbz r5, lbl_80642AD9-_SDA2_BASE_(r2)
+/* 80354ACC 0035072C 88 62 A4 DA */ lbz r3, lbl_80642ADA-_SDA2_BASE_(r2)
+/* 80354AD0 00350730 88 02 A4 DB */ lbz r0, lbl_80642ADB-_SDA2_BASE_(r2)
+/* 80354AD4 00350734 98 C1 00 08 */ stb r6, 8(r1)
+/* 80354AD8 00350738 98 A1 00 09 */ stb r5, 9(r1)
+/* 80354ADC 0035073C 98 61 00 0A */ stb r3, 0xa(r1)
+/* 80354AE0 00350740 98 01 00 0B */ stb r0, 0xb(r1)
+/* 80354AE4 00350744 80 04 01 94 */ lwz r0, 0x194(r4)
+/* 80354AE8 00350748 2C 00 00 00 */ cmpwi r0, 0
+/* 80354AEC 0035074C 40 82 00 0C */ bne lbl_80354AF8
+/* 80354AF0 00350750 3B 44 00 54 */ addi r26, r4, 0x54
+/* 80354AF4 00350754 48 00 00 08 */ b lbl_80354AFC
+lbl_80354AF8:
+/* 80354AF8 00350758 3B 44 00 78 */ addi r26, r4, 0x78
+lbl_80354AFC:
+/* 80354AFC 0035075C 3F A0 80 45 */ lis r29, lbl_8044C118@ha
+/* 80354B00 00350760 3F 80 80 45 */ lis r28, 0x8045
+/* 80354B04 00350764 3B BD C1 18 */ addi r29, r29, lbl_8044C118@l
+/* 80354B08 00350768 48 00 00 80 */ b lbl_80354B88
+lbl_80354B0C:
+/* 80354B0C 0035076C 7F 64 DB 78 */ mr r4, r27
+/* 80354B10 00350770 38 7C BF F8 */ addi r3, r28, -16392
+/* 80354B14 00350774 4B E7 9A 95 */ bl func_801CE5A8
+/* 80354B18 00350778 2C 03 00 00 */ cmpwi r3, 0
+/* 80354B1C 0035077C 41 82 00 14 */ beq lbl_80354B30
+/* 80354B20 00350780 7F 43 D3 78 */ mr r3, r26
+/* 80354B24 00350784 7F 64 DB 78 */ mr r4, r27
+/* 80354B28 00350788 4B FF C3 85 */ bl ghiAppendCharToBuffer
+/* 80354B2C 0035078C 48 00 00 58 */ b lbl_80354B84
+lbl_80354B30:
+/* 80354B30 00350790 2C 1B 00 20 */ cmpwi r27, 0x20
+/* 80354B34 00350794 40 82 00 14 */ bne lbl_80354B48
+/* 80354B38 00350798 7F 43 D3 78 */ mr r3, r26
+/* 80354B3C 0035079C 38 80 00 2B */ li r4, 0x2b
+/* 80354B40 003507A0 4B FF C3 6D */ bl ghiAppendCharToBuffer
+/* 80354B44 003507A4 48 00 00 40 */ b lbl_80354B84
+lbl_80354B48:
+/* 80354B48 003507A8 57 60 E0 06 */ slwi r0, r27, 0x1c
+/* 80354B4C 003507AC 57 65 0F FE */ srwi r5, r27, 0x1f
+/* 80354B50 003507B0 7C 05 00 50 */ subf r0, r5, r0
+/* 80354B54 003507B4 7F 64 26 70 */ srawi r4, r27, 4
+/* 80354B58 003507B8 54 00 20 3E */ rotlwi r0, r0, 4
+/* 80354B5C 003507BC 7F 43 D3 78 */ mr r3, r26
+/* 80354B60 003507C0 7C C4 01 94 */ addze r6, r4
+/* 80354B64 003507C4 38 81 00 08 */ addi r4, r1, 8
+/* 80354B68 003507C8 7C 00 2A 14 */ add r0, r0, r5
+/* 80354B6C 003507CC 7C DD 30 AE */ lbzx r6, r29, r6
+/* 80354B70 003507D0 7C 1D 00 AE */ lbzx r0, r29, r0
+/* 80354B74 003507D4 38 A0 00 03 */ li r5, 3
+/* 80354B78 003507D8 98 C1 00 09 */ stb r6, 9(r1)
+/* 80354B7C 003507DC 98 01 00 0A */ stb r0, 0xa(r1)
+/* 80354B80 003507E0 4B FF BF 3D */ bl ghiAppendDataToBuffer
+lbl_80354B84:
+/* 80354B84 003507E4 3B FF 00 01 */ addi r31, r31, 1
+lbl_80354B88:
+/* 80354B88 003507E8 8B 7F 00 00 */ lbz r27, 0(r31)
+/* 80354B8C 003507EC 7F 7B 07 75 */ extsb. r27, r27
+/* 80354B90 003507F0 40 82 FF 7C */ bne lbl_80354B0C
+/* 80354B94 003507F4 48 00 00 20 */ b lbl_80354BB4
+lbl_80354B98:
+/* 80354B98 003507F8 80 86 00 08 */ lwz r4, 8(r6)
+/* 80354B9C 003507FC 7F C3 F3 78 */ mr r3, r30
+/* 80354BA0 00350800 4B FF CA 99 */ bl ghiTrySendThenBuffer
+/* 80354BA4 00350804 7C 03 00 D0 */ neg r0, r3
+/* 80354BA8 00350808 7C 00 1B 78 */ or r0, r0, r3
+/* 80354BAC 0035080C 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 80354BB0 00350810 48 00 00 4C */ b lbl_80354BFC
+lbl_80354BB4:
+/* 80354BB4 00350814 80 1E 01 94 */ lwz r0, 0x194(r30)
+/* 80354BB8 00350818 2C 00 00 00 */ cmpwi r0, 0
+/* 80354BBC 0035081C 40 82 00 3C */ bne lbl_80354BF8
+/* 80354BC0 00350820 7F C3 F3 78 */ mr r3, r30
+/* 80354BC4 00350824 4B FF C4 91 */ bl ghiSendBufferedData
+/* 80354BC8 00350828 2C 03 00 00 */ cmpwi r3, 0
+/* 80354BCC 0035082C 40 82 00 0C */ bne lbl_80354BD8
+/* 80354BD0 00350830 38 60 00 00 */ li r3, 0
+/* 80354BD4 00350834 48 00 00 28 */ b lbl_80354BFC
+lbl_80354BD8:
+/* 80354BD8 00350838 80 7E 00 64 */ lwz r3, 0x64(r30)
+/* 80354BDC 0035083C 80 1E 00 60 */ lwz r0, 0x60(r30)
+/* 80354BE0 00350840 7C 03 00 00 */ cmpw r3, r0
+/* 80354BE4 00350844 40 82 00 0C */ bne lbl_80354BF0
+/* 80354BE8 00350848 38 7E 00 54 */ addi r3, r30, 0x54
+/* 80354BEC 0035084C 4B FF C4 45 */ bl ghiResetBuffer
+lbl_80354BF0:
+/* 80354BF0 00350850 38 60 00 01 */ li r3, 1
+/* 80354BF4 00350854 48 00 00 08 */ b lbl_80354BFC
+lbl_80354BF8:
+/* 80354BF8 00350858 38 60 00 01 */ li r3, 1
+lbl_80354BFC:
+/* 80354BFC 0035085C 39 61 00 30 */ addi r11, r1, 0x30
+/* 80354C00 00350860 4B E7 25 71 */ bl func_801C7170
+/* 80354C04 00350864 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 80354C08 00350868 7C 08 03 A6 */ mtlr r0
+/* 80354C0C 0035086C 38 21 00 30 */ addi r1, r1, 0x30
+/* 80354C10 00350870 4E 80 00 20 */ blr
+
+.global ghiPostXmlStateDoPosting
+ghiPostXmlStateDoPosting:
+/* 80354C14 00350874 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80354C18 00350878 7C 08 02 A6 */ mflr r0
+/* 80354C1C 0035087C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80354C20 00350880 38 00 00 00 */ li r0, 0
+/* 80354C24 00350884 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80354C28 00350888 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80354C2C 0035088C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80354C30 00350890 3B A0 00 00 */ li r29, 0
+/* 80354C34 00350894 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80354C38 00350898 7C 9C 23 78 */ mr r28, r4
+/* 80354C3C 0035089C 80 63 00 00 */ lwz r3, 0(r3)
+/* 80354C40 003508A0 83 C3 00 08 */ lwz r30, 8(r3)
+/* 80354C44 003508A4 B0 01 00 08 */ sth r0, 8(r1)
+/* 80354C48 003508A8 98 01 00 0A */ stb r0, 0xa(r1)
+/* 80354C4C 003508AC 80 64 01 60 */ lwz r3, 0x160(r4)
+/* 80354C50 003508B0 80 03 00 14 */ lwz r0, 0x14(r3)
+/* 80354C54 003508B4 2C 00 00 00 */ cmpwi r0, 0
+/* 80354C58 003508B8 41 82 00 30 */ beq lbl_80354C88
+/* 80354C5C 003508BC 7F C3 F3 78 */ mr r3, r30
+/* 80354C60 003508C0 4B FE 81 85 */ bl gsXmlWriterGetDataLength
+/* 80354C64 003508C4 54 60 F0 02 */ slwi r0, r3, 0x1e
+/* 80354C68 003508C8 54 63 0F FE */ srwi r3, r3, 0x1f
+/* 80354C6C 003508CC 7C 03 00 50 */ subf r0, r3, r0
+/* 80354C70 003508D0 54 00 10 3E */ rotlwi r0, r0, 2
+/* 80354C74 003508D4 7C 00 1A 14 */ add r0, r0, r3
+/* 80354C78 003508D8 23 A0 00 04 */ subfic r29, r0, 4
+/* 80354C7C 003508DC 2C 1D 00 04 */ cmpwi r29, 4
+/* 80354C80 003508E0 40 82 00 08 */ bne lbl_80354C88
+/* 80354C84 003508E4 3B A0 00 00 */ li r29, 0
+lbl_80354C88:
+/* 80354C88 003508E8 80 1C 01 94 */ lwz r0, 0x194(r28)
+/* 80354C8C 003508EC 2C 00 00 00 */ cmpwi r0, 0
+/* 80354C90 003508F0 40 82 00 58 */ bne lbl_80354CE8
+/* 80354C94 003508F4 7F C3 F3 78 */ mr r3, r30
+/* 80354C98 003508F8 4B FE 81 4D */ bl gsXmlWriterGetDataLength
+/* 80354C9C 003508FC 7C 7F 1B 78 */ mr r31, r3
+/* 80354CA0 00350900 7F C3 F3 78 */ mr r3, r30
+/* 80354CA4 00350904 4B FE 81 39 */ bl gsXmlWriterGetData
+/* 80354CA8 00350908 7C 64 1B 78 */ mr r4, r3
+/* 80354CAC 0035090C 7F 83 E3 78 */ mr r3, r28
+/* 80354CB0 00350910 7F E5 FB 78 */ mr r5, r31
+/* 80354CB4 00350914 4B FF C9 85 */ bl ghiTrySendThenBuffer
+/* 80354CB8 00350918 2C 03 00 00 */ cmpwi r3, 0
+/* 80354CBC 0035091C 40 82 00 0C */ bne lbl_80354CC8
+/* 80354CC0 00350920 38 60 00 00 */ li r3, 0
+/* 80354CC4 00350924 48 00 00 C4 */ b lbl_80354D88
+lbl_80354CC8:
+/* 80354CC8 00350928 7F 83 E3 78 */ mr r3, r28
+/* 80354CCC 0035092C 7F A5 EB 78 */ mr r5, r29
+/* 80354CD0 00350930 38 81 00 08 */ addi r4, r1, 8
+/* 80354CD4 00350934 4B FF C9 65 */ bl ghiTrySendThenBuffer
+/* 80354CD8 00350938 7C 03 00 D0 */ neg r0, r3
+/* 80354CDC 0035093C 7C 00 1B 78 */ or r0, r0, r3
+/* 80354CE0 00350940 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 80354CE4 00350944 48 00 00 A4 */ b lbl_80354D88
+lbl_80354CE8:
+/* 80354CE8 00350948 7F C3 F3 78 */ mr r3, r30
+/* 80354CEC 0035094C 4B FE 80 F9 */ bl gsXmlWriterGetDataLength
+/* 80354CF0 00350950 7C 7F 1B 78 */ mr r31, r3
+/* 80354CF4 00350954 7F C3 F3 78 */ mr r3, r30
+/* 80354CF8 00350958 4B FE 80 E5 */ bl gsXmlWriterGetData
+/* 80354CFC 0035095C 7C 64 1B 78 */ mr r4, r3
+/* 80354D00 00350960 7F E5 FB 78 */ mr r5, r31
+/* 80354D04 00350964 38 7C 00 78 */ addi r3, r28, 0x78
+/* 80354D08 00350968 4B FF BD B5 */ bl ghiAppendDataToBuffer
+/* 80354D0C 0035096C 2C 03 00 00 */ cmpwi r3, 0
+/* 80354D10 00350970 41 82 00 34 */ beq lbl_80354D44
+/* 80354D14 00350974 7F A5 EB 78 */ mr r5, r29
+/* 80354D18 00350978 38 7C 00 78 */ addi r3, r28, 0x78
+/* 80354D1C 0035097C 38 81 00 08 */ addi r4, r1, 8
+/* 80354D20 00350980 4B FF BD 9D */ bl ghiAppendDataToBuffer
+/* 80354D24 00350984 2C 03 00 00 */ cmpwi r3, 0
+/* 80354D28 00350988 41 82 00 1C */ beq lbl_80354D44
+/* 80354D2C 0035098C 80 9C 00 7C */ lwz r4, 0x7c(r28)
+/* 80354D30 00350990 38 7C 00 54 */ addi r3, r28, 0x54
+/* 80354D34 00350994 80 BC 00 84 */ lwz r5, 0x84(r28)
+/* 80354D38 00350998 4B FF BE F5 */ bl ghiEncryptDataToBuffer
+/* 80354D3C 0035099C 2C 03 00 00 */ cmpwi r3, 0
+/* 80354D40 003509A0 40 82 00 0C */ bne lbl_80354D4C
+lbl_80354D44:
+/* 80354D44 003509A4 38 60 00 00 */ li r3, 0
+/* 80354D48 003509A8 48 00 00 40 */ b lbl_80354D88
+lbl_80354D4C:
+/* 80354D4C 003509AC 38 7C 00 78 */ addi r3, r28, 0x78
+/* 80354D50 003509B0 4B FF C2 E1 */ bl ghiResetBuffer
+/* 80354D54 003509B4 7F 83 E3 78 */ mr r3, r28
+/* 80354D58 003509B8 4B FF C2 FD */ bl ghiSendBufferedData
+/* 80354D5C 003509BC 2C 03 00 00 */ cmpwi r3, 0
+/* 80354D60 003509C0 40 82 00 0C */ bne lbl_80354D6C
+/* 80354D64 003509C4 38 60 00 00 */ li r3, 0
+/* 80354D68 003509C8 48 00 00 20 */ b lbl_80354D88
+lbl_80354D6C:
+/* 80354D6C 003509CC 80 7C 00 64 */ lwz r3, 0x64(r28)
+/* 80354D70 003509D0 80 1C 00 60 */ lwz r0, 0x60(r28)
+/* 80354D74 003509D4 7C 03 00 00 */ cmpw r3, r0
+/* 80354D78 003509D8 40 82 00 0C */ bne lbl_80354D84
+/* 80354D7C 003509DC 38 7C 00 54 */ addi r3, r28, 0x54
+/* 80354D80 003509E0 4B FF C2 B1 */ bl ghiResetBuffer
+lbl_80354D84:
+/* 80354D84 003509E4 38 60 00 01 */ li r3, 1
+lbl_80354D88:
+/* 80354D88 003509E8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80354D8C 003509EC 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80354D90 003509F0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80354D94 003509F4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80354D98 003509F8 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 80354D9C 003509FC 7C 08 03 A6 */ mtlr r0
+/* 80354DA0 00350A00 38 21 00 20 */ addi r1, r1, 0x20
+/* 80354DA4 00350A04 4E 80 00 20 */ blr
+
+.global ghiPostFileDiskStateDoPosting
+ghiPostFileDiskStateDoPosting:
+/* 80354DA8 00350A08 94 21 EF E0 */ stwu r1, -0x1020(r1)
+/* 80354DAC 00350A0C 7C 08 02 A6 */ mflr r0
+/* 80354DB0 00350A10 90 01 10 24 */ stw r0, 0x1024(r1)
+/* 80354DB4 00350A14 93 E1 10 1C */ stw r31, 0x101c(r1)
+/* 80354DB8 00350A18 7C 9F 23 78 */ mr r31, r4
+/* 80354DBC 00350A1C 93 C1 10 18 */ stw r30, 0x1018(r1)
+/* 80354DC0 00350A20 7C 7E 1B 78 */ mr r30, r3
+lbl_80354DC4:
+/* 80354DC4 00350A24 80 DE 00 08 */ lwz r6, 8(r30)
+/* 80354DC8 00350A28 38 61 00 10 */ addi r3, r1, 0x10
+/* 80354DCC 00350A2C 38 80 00 01 */ li r4, 1
+/* 80354DD0 00350A30 38 A0 10 00 */ li r5, 0x1000
+/* 80354DD4 00350A34 4B E7 47 B1 */ bl func_801C9584
+/* 80354DD8 00350A38 2C 03 00 00 */ cmpwi r3, 0
+/* 80354DDC 00350A3C 7C 65 1B 78 */ mr r5, r3
+/* 80354DE0 00350A40 41 81 00 1C */ bgt lbl_80354DFC
+/* 80354DE4 00350A44 38 60 00 01 */ li r3, 1
+/* 80354DE8 00350A48 38 00 00 0E */ li r0, 0xe
+/* 80354DEC 00350A4C 90 7F 01 20 */ stw r3, 0x120(r31)
+/* 80354DF0 00350A50 38 60 00 00 */ li r3, 0
+/* 80354DF4 00350A54 90 1F 00 3C */ stw r0, 0x3c(r31)
+/* 80354DF8 00350A58 48 00 00 D8 */ b lbl_80354ED0
+lbl_80354DFC:
+/* 80354DFC 00350A5C 80 9E 00 04 */ lwz r4, 4(r30)
+/* 80354E00 00350A60 80 1E 00 0C */ lwz r0, 0xc(r30)
+/* 80354E04 00350A64 7C 64 1A 14 */ add r3, r4, r3
+/* 80354E08 00350A68 7C 03 00 00 */ cmpw r3, r0
+/* 80354E0C 00350A6C 90 7E 00 04 */ stw r3, 4(r30)
+/* 80354E10 00350A70 40 81 00 1C */ ble lbl_80354E2C
+/* 80354E14 00350A74 38 60 00 01 */ li r3, 1
+/* 80354E18 00350A78 38 00 00 0E */ li r0, 0xe
+/* 80354E1C 00350A7C 90 7F 01 20 */ stw r3, 0x120(r31)
+/* 80354E20 00350A80 38 60 00 00 */ li r3, 0
+/* 80354E24 00350A84 90 1F 00 3C */ stw r0, 0x3c(r31)
+/* 80354E28 00350A88 48 00 00 A8 */ b lbl_80354ED0
+lbl_80354E2C:
+/* 80354E2C 00350A8C 7F E3 FB 78 */ mr r3, r31
+/* 80354E30 00350A90 38 81 00 10 */ addi r4, r1, 0x10
+/* 80354E34 00350A94 4B FF C8 05 */ bl ghiTrySendThenBuffer
+/* 80354E38 00350A98 2C 03 00 00 */ cmpwi r3, 0
+/* 80354E3C 00350A9C 40 82 00 0C */ bne lbl_80354E48
+/* 80354E40 00350AA0 38 60 00 00 */ li r3, 0
+/* 80354E44 00350AA4 48 00 00 8C */ b lbl_80354ED0
+lbl_80354E48:
+/* 80354E48 00350AA8 80 9E 00 04 */ lwz r4, 4(r30)
+/* 80354E4C 00350AAC 80 1E 00 0C */ lwz r0, 0xc(r30)
+/* 80354E50 00350AB0 7C 04 00 00 */ cmpw r4, r0
+/* 80354E54 00350AB4 40 82 00 70 */ bne lbl_80354EC4
+/* 80354E58 00350AB8 80 7F 01 60 */ lwz r3, 0x160(r31)
+/* 80354E5C 00350ABC 80 03 00 14 */ lwz r0, 0x14(r3)
+/* 80354E60 00350AC0 2C 00 00 00 */ cmpwi r0, 0
+/* 80354E64 00350AC4 41 82 00 58 */ beq lbl_80354EBC
+/* 80354E68 00350AC8 38 00 00 00 */ li r0, 0
+/* 80354E6C 00350ACC B0 01 00 08 */ sth r0, 8(r1)
+/* 80354E70 00350AD0 98 01 00 0A */ stb r0, 0xa(r1)
+/* 80354E74 00350AD4 80 7E 00 0C */ lwz r3, 0xc(r30)
+/* 80354E78 00350AD8 54 60 F0 02 */ slwi r0, r3, 0x1e
+/* 80354E7C 00350ADC 54 63 0F FE */ srwi r3, r3, 0x1f
+/* 80354E80 00350AE0 7C 03 00 50 */ subf r0, r3, r0
+/* 80354E84 00350AE4 54 00 10 3E */ rotlwi r0, r0, 2
+/* 80354E88 00350AE8 7C 00 1A 14 */ add r0, r0, r3
+/* 80354E8C 00350AEC 20 A0 00 04 */ subfic r5, r0, 4
+/* 80354E90 00350AF0 2C 05 00 04 */ cmpwi r5, 4
+/* 80354E94 00350AF4 41 82 00 28 */ beq lbl_80354EBC
+/* 80354E98 00350AF8 2C 05 00 00 */ cmpwi r5, 0
+/* 80354E9C 00350AFC 40 81 00 20 */ ble lbl_80354EBC
+/* 80354EA0 00350B00 7F E3 FB 78 */ mr r3, r31
+/* 80354EA4 00350B04 38 81 00 08 */ addi r4, r1, 8
+/* 80354EA8 00350B08 4B FF C7 91 */ bl ghiTrySendThenBuffer
+/* 80354EAC 00350B0C 2C 03 00 00 */ cmpwi r3, 0
+/* 80354EB0 00350B10 40 82 00 0C */ bne lbl_80354EBC
+/* 80354EB4 00350B14 38 60 00 00 */ li r3, 0
+/* 80354EB8 00350B18 48 00 00 18 */ b lbl_80354ED0
+lbl_80354EBC:
+/* 80354EBC 00350B1C 38 60 00 01 */ li r3, 1
+/* 80354EC0 00350B20 48 00 00 10 */ b lbl_80354ED0
+lbl_80354EC4:
+/* 80354EC4 00350B24 2C 03 00 01 */ cmpwi r3, 1
+/* 80354EC8 00350B28 41 82 FE FC */ beq lbl_80354DC4
+/* 80354ECC 00350B2C 38 60 00 02 */ li r3, 2
+lbl_80354ED0:
+/* 80354ED0 00350B30 80 01 10 24 */ lwz r0, 0x1024(r1)
+/* 80354ED4 00350B34 83 E1 10 1C */ lwz r31, 0x101c(r1)
+/* 80354ED8 00350B38 83 C1 10 18 */ lwz r30, 0x1018(r1)
+/* 80354EDC 00350B3C 7C 08 03 A6 */ mtlr r0
+/* 80354EE0 00350B40 38 21 10 20 */ addi r1, r1, 0x1020
+/* 80354EE4 00350B44 4E 80 00 20 */ blr
+
+.global ghiPostFileMemoryStateDoPosting
+ghiPostFileMemoryStateDoPosting:
+/* 80354EE8 00350B48 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80354EEC 00350B4C 7C 08 02 A6 */ mflr r0
+/* 80354EF0 00350B50 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80354EF4 00350B54 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80354EF8 00350B58 7C 9F 23 78 */ mr r31, r4
+/* 80354EFC 00350B5C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80354F00 00350B60 7C 7E 1B 78 */ mr r30, r3
+/* 80354F04 00350B64 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80354F08 00350B68 80 C3 00 00 */ lwz r6, 0(r3)
+/* 80354F0C 00350B6C 80 A6 00 0C */ lwz r5, 0xc(r6)
+/* 80354F10 00350B70 2C 05 00 00 */ cmpwi r5, 0
+/* 80354F14 00350B74 40 82 00 0C */ bne lbl_80354F20
+/* 80354F18 00350B78 38 60 00 01 */ li r3, 1
+/* 80354F1C 00350B7C 48 00 01 A8 */ b lbl_803550C4
+lbl_80354F20:
+/* 80354F20 00350B80 80 04 01 94 */ lwz r0, 0x194(r4)
+/* 80354F24 00350B84 2C 00 00 00 */ cmpwi r0, 0
+/* 80354F28 00350B88 40 82 00 C8 */ bne lbl_80354FF0
+lbl_80354F2C:
+/* 80354F2C 00350B8C 80 9E 00 04 */ lwz r4, 4(r30)
+/* 80354F30 00350B90 7F E3 FB 78 */ mr r3, r31
+/* 80354F34 00350B94 80 06 00 08 */ lwz r0, 8(r6)
+/* 80354F38 00350B98 7C A4 28 50 */ subf r5, r4, r5
+/* 80354F3C 00350B9C 7C 80 22 14 */ add r4, r0, r4
+/* 80354F40 00350BA0 4B FF C6 3D */ bl ghiDoSend
+/* 80354F44 00350BA4 2C 03 FF FF */ cmpwi r3, -1
+/* 80354F48 00350BA8 40 82 00 0C */ bne lbl_80354F54
+/* 80354F4C 00350BAC 38 60 00 00 */ li r3, 0
+/* 80354F50 00350BB0 48 00 01 74 */ b lbl_803550C4
+lbl_80354F54:
+/* 80354F54 00350BB4 80 1E 00 04 */ lwz r0, 4(r30)
+/* 80354F58 00350BB8 80 DE 00 00 */ lwz r6, 0(r30)
+/* 80354F5C 00350BBC 7C 00 1A 14 */ add r0, r0, r3
+/* 80354F60 00350BC0 90 1E 00 04 */ stw r0, 4(r30)
+/* 80354F64 00350BC4 80 A6 00 0C */ lwz r5, 0xc(r6)
+/* 80354F68 00350BC8 7C 05 00 00 */ cmpw r5, r0
+/* 80354F6C 00350BCC 40 82 00 74 */ bne lbl_80354FE0
+/* 80354F70 00350BD0 80 7F 01 60 */ lwz r3, 0x160(r31)
+/* 80354F74 00350BD4 80 03 00 14 */ lwz r0, 0x14(r3)
+/* 80354F78 00350BD8 2C 00 00 00 */ cmpwi r0, 0
+/* 80354F7C 00350BDC 41 82 00 5C */ beq lbl_80354FD8
+/* 80354F80 00350BE0 38 00 00 00 */ li r0, 0
+/* 80354F84 00350BE4 B0 01 00 0C */ sth r0, 0xc(r1)
+/* 80354F88 00350BE8 98 01 00 0E */ stb r0, 0xe(r1)
+/* 80354F8C 00350BEC 80 7E 00 00 */ lwz r3, 0(r30)
+/* 80354F90 00350BF0 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 80354F94 00350BF4 54 60 F0 02 */ slwi r0, r3, 0x1e
+/* 80354F98 00350BF8 54 63 0F FE */ srwi r3, r3, 0x1f
+/* 80354F9C 00350BFC 7C 03 00 50 */ subf r0, r3, r0
+/* 80354FA0 00350C00 54 00 10 3E */ rotlwi r0, r0, 2
+/* 80354FA4 00350C04 7C 00 1A 14 */ add r0, r0, r3
+/* 80354FA8 00350C08 20 A0 00 04 */ subfic r5, r0, 4
+/* 80354FAC 00350C0C 2C 05 00 04 */ cmpwi r5, 4
+/* 80354FB0 00350C10 41 82 00 28 */ beq lbl_80354FD8
+/* 80354FB4 00350C14 2C 05 00 00 */ cmpwi r5, 0
+/* 80354FB8 00350C18 40 81 00 20 */ ble lbl_80354FD8
+/* 80354FBC 00350C1C 7F E3 FB 78 */ mr r3, r31
+/* 80354FC0 00350C20 38 81 00 0C */ addi r4, r1, 0xc
+/* 80354FC4 00350C24 4B FF C6 75 */ bl ghiTrySendThenBuffer
+/* 80354FC8 00350C28 2C 03 00 00 */ cmpwi r3, 0
+/* 80354FCC 00350C2C 40 82 00 0C */ bne lbl_80354FD8
+/* 80354FD0 00350C30 38 60 00 00 */ li r3, 0
+/* 80354FD4 00350C34 48 00 00 F0 */ b lbl_803550C4
+lbl_80354FD8:
+/* 80354FD8 00350C38 38 60 00 01 */ li r3, 1
+/* 80354FDC 00350C3C 48 00 00 E8 */ b lbl_803550C4
+lbl_80354FE0:
+/* 80354FE0 00350C40 2C 03 00 00 */ cmpwi r3, 0
+/* 80354FE4 00350C44 40 82 FF 48 */ bne lbl_80354F2C
+/* 80354FE8 00350C48 38 60 00 02 */ li r3, 2
+/* 80354FEC 00350C4C 48 00 00 D8 */ b lbl_803550C4
+lbl_80354FF0:
+/* 80354FF0 00350C50 80 9E 00 04 */ lwz r4, 4(r30)
+/* 80354FF4 00350C54 3B A0 3F 01 */ li r29, 0x3f01
+/* 80354FF8 00350C58 7C 04 28 50 */ subf r0, r4, r5
+/* 80354FFC 00350C5C 2C 00 3F 01 */ cmpwi r0, 0x3f01
+/* 80355000 00350C60 40 80 00 08 */ bge lbl_80355008
+/* 80355004 00350C64 7C 1D 03 78 */ mr r29, r0
+lbl_80355008:
+/* 80355008 00350C68 80 06 00 08 */ lwz r0, 8(r6)
+/* 8035500C 00350C6C 7F E3 FB 78 */ mr r3, r31
+/* 80355010 00350C70 7F A5 EB 78 */ mr r5, r29
+/* 80355014 00350C74 7C 80 22 14 */ add r4, r0, r4
+/* 80355018 00350C78 4B FF C6 21 */ bl ghiTrySendThenBuffer
+/* 8035501C 00350C7C 2C 03 00 00 */ cmpwi r3, 0
+/* 80355020 00350C80 40 82 00 0C */ bne lbl_8035502C
+/* 80355024 00350C84 38 60 00 00 */ li r3, 0
+/* 80355028 00350C88 48 00 00 9C */ b lbl_803550C4
+lbl_8035502C:
+/* 8035502C 00350C8C 80 1E 00 04 */ lwz r0, 4(r30)
+/* 80355030 00350C90 80 DE 00 00 */ lwz r6, 0(r30)
+/* 80355034 00350C94 7C 00 EA 14 */ add r0, r0, r29
+/* 80355038 00350C98 90 1E 00 04 */ stw r0, 4(r30)
+/* 8035503C 00350C9C 80 A6 00 0C */ lwz r5, 0xc(r6)
+/* 80355040 00350CA0 7C 05 00 00 */ cmpw r5, r0
+/* 80355044 00350CA4 40 82 00 74 */ bne lbl_803550B8
+/* 80355048 00350CA8 80 7F 01 60 */ lwz r3, 0x160(r31)
+/* 8035504C 00350CAC 80 03 00 14 */ lwz r0, 0x14(r3)
+/* 80355050 00350CB0 2C 00 00 00 */ cmpwi r0, 0
+/* 80355054 00350CB4 41 82 00 5C */ beq lbl_803550B0
+/* 80355058 00350CB8 38 00 00 00 */ li r0, 0
+/* 8035505C 00350CBC B0 01 00 08 */ sth r0, 8(r1)
+/* 80355060 00350CC0 98 01 00 0A */ stb r0, 0xa(r1)
+/* 80355064 00350CC4 80 7E 00 00 */ lwz r3, 0(r30)
+/* 80355068 00350CC8 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 8035506C 00350CCC 54 60 F0 02 */ slwi r0, r3, 0x1e
+/* 80355070 00350CD0 54 63 0F FE */ srwi r3, r3, 0x1f
+/* 80355074 00350CD4 7C 03 00 50 */ subf r0, r3, r0
+/* 80355078 00350CD8 54 00 10 3E */ rotlwi r0, r0, 2
+/* 8035507C 00350CDC 7C 00 1A 14 */ add r0, r0, r3
+/* 80355080 00350CE0 20 A0 00 04 */ subfic r5, r0, 4
+/* 80355084 00350CE4 2C 05 00 04 */ cmpwi r5, 4
+/* 80355088 00350CE8 41 82 00 28 */ beq lbl_803550B0
+/* 8035508C 00350CEC 2C 05 00 00 */ cmpwi r5, 0
+/* 80355090 00350CF0 40 81 00 20 */ ble lbl_803550B0
+/* 80355094 00350CF4 7F E3 FB 78 */ mr r3, r31
+/* 80355098 00350CF8 38 81 00 08 */ addi r4, r1, 8
+/* 8035509C 00350CFC 4B FF C5 9D */ bl ghiTrySendThenBuffer
+/* 803550A0 00350D00 2C 03 00 00 */ cmpwi r3, 0
+/* 803550A4 00350D04 40 82 00 0C */ bne lbl_803550B0
+/* 803550A8 00350D08 38 60 00 00 */ li r3, 0
+/* 803550AC 00350D0C 48 00 00 18 */ b lbl_803550C4
+lbl_803550B0:
+/* 803550B0 00350D10 38 60 00 01 */ li r3, 1
+/* 803550B4 00350D14 48 00 00 10 */ b lbl_803550C4
+lbl_803550B8:
+/* 803550B8 00350D18 2C 03 00 01 */ cmpwi r3, 1
+/* 803550BC 00350D1C 41 82 FF 34 */ beq lbl_80354FF0
+/* 803550C0 00350D20 38 60 00 02 */ li r3, 2
+lbl_803550C4:
+/* 803550C4 00350D24 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 803550C8 00350D28 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 803550CC 00350D2C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 803550D0 00350D30 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 803550D4 00350D34 7C 08 03 A6 */ mtlr r0
+/* 803550D8 00350D38 38 21 00 20 */ addi r1, r1, 0x20
+/* 803550DC 00350D3C 4E 80 00 20 */ blr
+
+.global ghiPostStateDoPosting
+ghiPostStateDoPosting:
+/* 803550E0 00350D40 94 21 F7 C0 */ stwu r1, -0x840(r1)
+/* 803550E4 00350D44 7C 08 02 A6 */ mflr r0
+/* 803550E8 00350D48 90 01 08 44 */ stw r0, 0x844(r1)
+/* 803550EC 00350D4C 39 61 08 40 */ addi r11, r1, 0x840
+/* 803550F0 00350D50 4B E7 20 35 */ bl func_801C7124
+/* 803550F4 00350D54 80 03 00 04 */ lwz r0, 4(r3)
+/* 803550F8 00350D58 3F E0 80 45 */ lis r31, lbl_8044BFF8@ha
+/* 803550FC 00350D5C 7C 7B 1B 78 */ mr r27, r3
+/* 80355100 00350D60 7C 9C 23 78 */ mr r28, r4
+/* 80355104 00350D64 2C 00 FF FF */ cmpwi r0, -1
+/* 80355108 00350D68 3B FF BF F8 */ addi r31, r31, lbl_8044BFF8@l
+/* 8035510C 00350D6C 3B A0 00 00 */ li r29, 0
+/* 80355110 00350D70 40 82 05 6C */ bne lbl_8035567C
+/* 80355114 00350D74 38 00 00 00 */ li r0, 0
+/* 80355118 00350D78 90 03 00 04 */ stw r0, 4(r3)
+/* 8035511C 00350D7C 80 84 01 60 */ lwz r4, 0x160(r4)
+/* 80355120 00350D80 80 04 00 0C */ lwz r0, 0xc(r4)
+/* 80355124 00350D84 2C 00 00 00 */ cmpwi r0, 0
+/* 80355128 00350D88 40 82 00 50 */ bne lbl_80355178
+/* 8035512C 00350D8C 80 04 00 10 */ lwz r0, 0x10(r4)
+/* 80355130 00350D90 2C 00 00 00 */ cmpwi r0, 0
+/* 80355134 00350D94 40 82 00 44 */ bne lbl_80355178
+/* 80355138 00350D98 2C 05 00 00 */ cmpwi r5, 0
+/* 8035513C 00350D9C 41 82 00 20 */ beq lbl_8035515C
+/* 80355140 00350DA0 80 BB 00 00 */ lwz r5, 0(r27)
+/* 80355144 00350DA4 38 61 00 20 */ addi r3, r1, 0x20
+/* 80355148 00350DA8 38 8D 93 C8 */ addi r4, r13, lbl_8063E688-_SDA_BASE_
+/* 8035514C 00350DAC 80 A5 00 04 */ lwz r5, 4(r5)
+/* 80355150 00350DB0 4C C6 31 82 */ crclr 6
+/* 80355154 00350DB4 4B E7 79 A9 */ bl func_801CCAFC
+/* 80355158 00350DB8 48 00 04 5C */ b lbl_803555B4
+lbl_8035515C:
+/* 8035515C 00350DBC 80 BB 00 00 */ lwz r5, 0(r27)
+/* 80355160 00350DC0 38 61 00 20 */ addi r3, r1, 0x20
+/* 80355164 00350DC4 38 8D 93 CC */ addi r4, r13, lbl_8063E68C-_SDA_BASE_
+/* 80355168 00350DC8 80 A5 00 04 */ lwz r5, 4(r5)
+/* 8035516C 00350DCC 4C C6 31 82 */ crclr 6
+/* 80355170 00350DD0 4B E7 79 8D */ bl func_801CCAFC
+/* 80355174 00350DD4 48 00 04 40 */ b lbl_803555B4
+lbl_80355178:
+/* 80355178 00350DD8 81 03 00 00 */ lwz r8, 0(r3)
+/* 8035517C 00350DDC 80 E8 00 00 */ lwz r7, 0(r8)
+/* 80355180 00350DE0 2C 07 00 00 */ cmpwi r7, 0
+/* 80355184 00350DE4 40 82 00 2C */ bne lbl_803551B0
+/* 80355188 00350DE8 2C 05 00 00 */ cmpwi r5, 0
+/* 8035518C 00350DEC 38 61 00 20 */ addi r3, r1, 0x20
+/* 80355190 00350DF0 38 9F 01 38 */ addi r4, r31, 0x138
+/* 80355194 00350DF4 38 BF 01 90 */ addi r5, r31, 0x190
+/* 80355198 00350DF8 41 82 00 08 */ beq lbl_803551A0
+/* 8035519C 00350DFC 38 BF 01 68 */ addi r5, r31, 0x168
+lbl_803551A0:
+/* 803551A0 00350E00 80 C8 00 04 */ lwz r6, 4(r8)
+/* 803551A4 00350E04 4C C6 31 82 */ crclr 6
+/* 803551A8 00350E08 4B E7 79 55 */ bl func_801CCAFC
+/* 803551AC 00350E0C 48 00 04 08 */ b lbl_803555B4
+lbl_803551B0:
+/* 803551B0 00350E10 2C 07 00 03 */ cmpwi r7, 3
+/* 803551B4 00350E14 40 82 01 D8 */ bne lbl_8035538C
+/* 803551B8 00350E18 80 04 00 14 */ lwz r0, 0x14(r4)
+/* 803551BC 00350E1C 2C 00 00 00 */ cmpwi r0, 0
+/* 803551C0 00350E20 41 82 01 C0 */ beq lbl_80355380
+/* 803551C4 00350E24 38 00 00 08 */ li r0, 8
+/* 803551C8 00350E28 2C 05 00 00 */ cmpwi r5, 0
+/* 803551CC 00350E2C 98 01 00 14 */ stb r0, 0x14(r1)
+/* 803551D0 00350E30 41 82 00 0C */ beq lbl_803551DC
+/* 803551D4 00350E34 60 00 00 04 */ ori r0, r0, 4
+/* 803551D8 00350E38 98 01 00 14 */ stb r0, 0x14(r1)
+lbl_803551DC:
+/* 803551DC 00350E3C 2C 06 00 00 */ cmpwi r6, 0
+/* 803551E0 00350E40 41 82 00 10 */ beq lbl_803551F0
+/* 803551E4 00350E44 88 01 00 14 */ lbz r0, 0x14(r1)
+/* 803551E8 00350E48 60 00 00 02 */ ori r0, r0, 2
+/* 803551EC 00350E4C 98 01 00 14 */ stb r0, 0x14(r1)
+lbl_803551F0:
+/* 803551F0 00350E50 38 00 00 20 */ li r0, 0x20
+/* 803551F4 00350E54 3B C0 00 00 */ li r30, 0
+/* 803551F8 00350E58 98 01 00 15 */ stb r0, 0x15(r1)
+/* 803551FC 00350E5C 38 6D 93 C0 */ addi r3, r13, lbl_8063E680-_SDA_BASE_
+/* 80355200 00350E60 B3 C1 00 16 */ sth r30, 0x16(r1)
+/* 80355204 00350E64 4B E7 19 61 */ bl strlen
+/* 80355208 00350E68 54 63 04 3E */ clrlwi r3, r3, 0x10
+/* 8035520C 00350E6C 4B FA 1B 71 */ bl func_802F6D7C
+/* 80355210 00350E70 B0 61 00 18 */ sth r3, 0x18(r1)
+/* 80355214 00350E74 38 7F 00 F4 */ addi r3, r31, 0xf4
+/* 80355218 00350E78 4B E7 19 4D */ bl strlen
+/* 8035521C 00350E7C 54 63 04 3E */ clrlwi r3, r3, 0x10
+/* 80355220 00350E80 4B FA 1B 5D */ bl func_802F6D7C
+/* 80355224 00350E84 B0 61 00 1A */ sth r3, 0x1a(r1)
+/* 80355228 00350E88 80 7B 00 00 */ lwz r3, 0(r27)
+/* 8035522C 00350E8C 80 63 00 08 */ lwz r3, 8(r3)
+/* 80355230 00350E90 4B FE 7B B5 */ bl gsXmlWriterGetDataLength
+/* 80355234 00350E94 4B FA 1B 45 */ bl func_802F6D78
+/* 80355238 00350E98 90 61 00 1C */ stw r3, 0x1c(r1)
+/* 8035523C 00350E9C 38 61 00 20 */ addi r3, r1, 0x20
+/* 80355240 00350EA0 38 81 00 14 */ addi r4, r1, 0x14
+/* 80355244 00350EA4 38 A0 00 0C */ li r5, 0xc
+/* 80355248 00350EA8 4B CA ED B9 */ bl memcpy
+/* 8035524C 00350EAC 38 61 00 2C */ addi r3, r1, 0x2c
+/* 80355250 00350EB0 38 8D 93 C0 */ addi r4, r13, lbl_8063E680-_SDA_BASE_
+/* 80355254 00350EB4 4B E7 90 7D */ bl func_801CE2D0
+/* 80355258 00350EB8 38 6D 93 C0 */ addi r3, r13, lbl_8063E680-_SDA_BASE_
+/* 8035525C 00350EBC 4B E7 19 09 */ bl strlen
+/* 80355260 00350EC0 3B A3 00 0C */ addi r29, r3, 0xc
+/* 80355264 00350EC4 38 6D 93 C0 */ addi r3, r13, lbl_8063E680-_SDA_BASE_
+/* 80355268 00350EC8 4B E7 18 FD */ bl strlen
+/* 8035526C 00350ECC 54 60 07 BE */ clrlwi r0, r3, 0x1e
+/* 80355270 00350ED0 20 80 00 04 */ subfic r4, r0, 4
+/* 80355274 00350ED4 2C 04 00 04 */ cmpwi r4, 4
+/* 80355278 00350ED8 41 82 00 68 */ beq lbl_803552E0
+/* 8035527C 00350EDC 2C 04 00 00 */ cmpwi r4, 0
+/* 80355280 00350EE0 38 01 00 20 */ addi r0, r1, 0x20
+/* 80355284 00350EE4 7C 60 EA 14 */ add r3, r0, r29
+/* 80355288 00350EE8 40 81 00 58 */ ble lbl_803552E0
+/* 8035528C 00350EEC 54 80 E8 FF */ rlwinm. r0, r4, 0x1d, 3, 0x1f
+/* 80355290 00350EF0 7C 09 03 A6 */ mtctr r0
+/* 80355294 00350EF4 41 82 00 38 */ beq lbl_803552CC
+lbl_80355298:
+/* 80355298 00350EF8 9B C3 00 00 */ stb r30, 0(r3)
+/* 8035529C 00350EFC 3B BD 00 08 */ addi r29, r29, 8
+/* 803552A0 00350F00 9B C3 00 01 */ stb r30, 1(r3)
+/* 803552A4 00350F04 9B C3 00 02 */ stb r30, 2(r3)
+/* 803552A8 00350F08 9B C3 00 03 */ stb r30, 3(r3)
+/* 803552AC 00350F0C 9B C3 00 04 */ stb r30, 4(r3)
+/* 803552B0 00350F10 9B C3 00 05 */ stb r30, 5(r3)
+/* 803552B4 00350F14 9B C3 00 06 */ stb r30, 6(r3)
+/* 803552B8 00350F18 9B C3 00 07 */ stb r30, 7(r3)
+/* 803552BC 00350F1C 38 63 00 08 */ addi r3, r3, 8
+/* 803552C0 00350F20 42 00 FF D8 */ bdnz lbl_80355298
+/* 803552C4 00350F24 70 84 00 07 */ andi. r4, r4, 7
+/* 803552C8 00350F28 41 82 00 18 */ beq lbl_803552E0
+lbl_803552CC:
+/* 803552CC 00350F2C 7C 89 03 A6 */ mtctr r4
+lbl_803552D0:
+/* 803552D0 00350F30 9B C3 00 00 */ stb r30, 0(r3)
+/* 803552D4 00350F34 3B BD 00 01 */ addi r29, r29, 1
+/* 803552D8 00350F38 38 63 00 01 */ addi r3, r3, 1
+/* 803552DC 00350F3C 42 00 FF F4 */ bdnz lbl_803552D0
+lbl_803552E0:
+/* 803552E0 00350F40 38 61 00 20 */ addi r3, r1, 0x20
+/* 803552E4 00350F44 38 9F 00 F4 */ addi r4, r31, 0xf4
+/* 803552E8 00350F48 7C 63 EA 14 */ add r3, r3, r29
+/* 803552EC 00350F4C 4B E7 8F E5 */ bl func_801CE2D0
+/* 803552F0 00350F50 38 7F 00 F4 */ addi r3, r31, 0xf4
+/* 803552F4 00350F54 4B E7 18 71 */ bl strlen
+/* 803552F8 00350F58 7F BD 1A 14 */ add r29, r29, r3
+/* 803552FC 00350F5C 38 7F 00 F4 */ addi r3, r31, 0xf4
+/* 80355300 00350F60 4B E7 18 65 */ bl strlen
+/* 80355304 00350F64 54 60 07 BE */ clrlwi r0, r3, 0x1e
+/* 80355308 00350F68 20 A0 00 04 */ subfic r5, r0, 4
+/* 8035530C 00350F6C 2C 05 00 04 */ cmpwi r5, 4
+/* 80355310 00350F70 41 82 02 A4 */ beq lbl_803555B4
+/* 80355314 00350F74 2C 05 00 00 */ cmpwi r5, 0
+/* 80355318 00350F78 38 01 00 20 */ addi r0, r1, 0x20
+/* 8035531C 00350F7C 38 80 00 00 */ li r4, 0
+/* 80355320 00350F80 7C 60 EA 14 */ add r3, r0, r29
+/* 80355324 00350F84 40 81 02 90 */ ble lbl_803555B4
+/* 80355328 00350F88 54 A0 E8 FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f
+/* 8035532C 00350F8C 7C 09 03 A6 */ mtctr r0
+/* 80355330 00350F90 41 82 00 38 */ beq lbl_80355368
+lbl_80355334:
+/* 80355334 00350F94 98 83 00 00 */ stb r4, 0(r3)
+/* 80355338 00350F98 3B BD 00 08 */ addi r29, r29, 8
+/* 8035533C 00350F9C 98 83 00 01 */ stb r4, 1(r3)
+/* 80355340 00350FA0 98 83 00 02 */ stb r4, 2(r3)
+/* 80355344 00350FA4 98 83 00 03 */ stb r4, 3(r3)
+/* 80355348 00350FA8 98 83 00 04 */ stb r4, 4(r3)
+/* 8035534C 00350FAC 98 83 00 05 */ stb r4, 5(r3)
+/* 80355350 00350FB0 98 83 00 06 */ stb r4, 6(r3)
+/* 80355354 00350FB4 98 83 00 07 */ stb r4, 7(r3)
+/* 80355358 00350FB8 38 63 00 08 */ addi r3, r3, 8
+/* 8035535C 00350FBC 42 00 FF D8 */ bdnz lbl_80355334
+/* 80355360 00350FC0 70 A5 00 07 */ andi. r5, r5, 7
+/* 80355364 00350FC4 41 82 02 50 */ beq lbl_803555B4
+lbl_80355368:
+/* 80355368 00350FC8 7C A9 03 A6 */ mtctr r5
+lbl_8035536C:
+/* 8035536C 00350FCC 98 83 00 00 */ stb r4, 0(r3)
+/* 80355370 00350FD0 3B BD 00 01 */ addi r29, r29, 1
+/* 80355374 00350FD4 38 63 00 01 */ addi r3, r3, 1
+/* 80355378 00350FD8 42 00 FF F4 */ bdnz lbl_8035536C
+/* 8035537C 00350FDC 48 00 02 38 */ b lbl_803555B4
+lbl_80355380:
+/* 80355380 00350FE0 38 00 00 00 */ li r0, 0
+/* 80355384 00350FE4 98 01 00 20 */ stb r0, 0x20(r1)
+/* 80355388 00350FE8 48 00 02 2C */ b lbl_803555B4
+lbl_8035538C:
+/* 8035538C 00350FEC 38 07 FF FF */ addi r0, r7, -1
+/* 80355390 00350FF0 28 00 00 01 */ cmplwi r0, 1
+/* 80355394 00350FF4 41 81 02 20 */ bgt lbl_803555B4
+/* 80355398 00350FF8 2C 07 00 01 */ cmpwi r7, 1
+/* 8035539C 00350FFC 40 82 00 14 */ bne lbl_803553B0
+/* 803553A0 00351000 83 43 00 0C */ lwz r26, 0xc(r3)
+/* 803553A4 00351004 80 E8 00 0C */ lwz r7, 0xc(r8)
+/* 803553A8 00351008 83 C8 00 10 */ lwz r30, 0x10(r8)
+/* 803553AC 0035100C 48 00 00 10 */ b lbl_803553BC
+lbl_803553B0:
+/* 803553B0 00351010 83 48 00 0C */ lwz r26, 0xc(r8)
+/* 803553B4 00351014 80 E8 00 10 */ lwz r7, 0x10(r8)
+/* 803553B8 00351018 83 C8 00 14 */ lwz r30, 0x14(r8)
+lbl_803553BC:
+/* 803553BC 0035101C 80 04 00 14 */ lwz r0, 0x14(r4)
+/* 803553C0 00351020 2C 00 00 00 */ cmpwi r0, 0
+/* 803553C4 00351024 41 82 01 C8 */ beq lbl_8035558C
+/* 803553C8 00351028 38 00 00 08 */ li r0, 8
+/* 803553CC 0035102C 2C 05 00 00 */ cmpwi r5, 0
+/* 803553D0 00351030 98 01 00 08 */ stb r0, 8(r1)
+/* 803553D4 00351034 41 82 00 0C */ beq lbl_803553E0
+/* 803553D8 00351038 60 00 00 04 */ ori r0, r0, 4
+/* 803553DC 0035103C 98 01 00 08 */ stb r0, 8(r1)
+lbl_803553E0:
+/* 803553E0 00351040 2C 06 00 00 */ cmpwi r6, 0
+/* 803553E4 00351044 41 82 00 10 */ beq lbl_803553F4
+/* 803553E8 00351048 88 01 00 08 */ lbz r0, 8(r1)
+/* 803553EC 0035104C 60 00 00 02 */ ori r0, r0, 2
+/* 803553F0 00351050 98 01 00 08 */ stb r0, 8(r1)
+lbl_803553F4:
+/* 803553F4 00351054 38 00 00 10 */ li r0, 0x10
+/* 803553F8 00351058 3B E0 00 00 */ li r31, 0
+/* 803553FC 0035105C 98 01 00 09 */ stb r0, 9(r1)
+/* 80355400 00351060 B3 E1 00 0A */ sth r31, 0xa(r1)
+/* 80355404 00351064 80 63 00 00 */ lwz r3, 0(r3)
+/* 80355408 00351068 80 63 00 04 */ lwz r3, 4(r3)
+/* 8035540C 0035106C 4B E7 17 59 */ bl strlen
+/* 80355410 00351070 54 63 04 3E */ clrlwi r3, r3, 0x10
+/* 80355414 00351074 4B FA 19 69 */ bl func_802F6D7C
+/* 80355418 00351078 B0 61 00 0C */ sth r3, 0xc(r1)
+/* 8035541C 0035107C 7F C3 F3 78 */ mr r3, r30
+/* 80355420 00351080 4B E7 17 45 */ bl strlen
+/* 80355424 00351084 54 63 04 3E */ clrlwi r3, r3, 0x10
+/* 80355428 00351088 4B FA 19 55 */ bl func_802F6D7C
+/* 8035542C 0035108C B0 61 00 0E */ sth r3, 0xe(r1)
+/* 80355430 00351090 7F 43 D3 78 */ mr r3, r26
+/* 80355434 00351094 4B FA 19 45 */ bl func_802F6D78
+/* 80355438 00351098 90 61 00 10 */ stw r3, 0x10(r1)
+/* 8035543C 0035109C 38 61 00 20 */ addi r3, r1, 0x20
+/* 80355440 003510A0 38 81 00 08 */ addi r4, r1, 8
+/* 80355444 003510A4 38 A0 00 0C */ li r5, 0xc
+/* 80355448 003510A8 4B CA EB B9 */ bl memcpy
+/* 8035544C 003510AC 80 9B 00 00 */ lwz r4, 0(r27)
+/* 80355450 003510B0 38 61 00 2C */ addi r3, r1, 0x2c
+/* 80355454 003510B4 80 84 00 04 */ lwz r4, 4(r4)
+/* 80355458 003510B8 4B E7 8E 79 */ bl func_801CE2D0
+/* 8035545C 003510BC 80 7B 00 00 */ lwz r3, 0(r27)
+/* 80355460 003510C0 83 43 00 04 */ lwz r26, 4(r3)
+/* 80355464 003510C4 7F 43 D3 78 */ mr r3, r26
+/* 80355468 003510C8 4B E7 16 FD */ bl strlen
+/* 8035546C 003510CC 3B A3 00 0C */ addi r29, r3, 0xc
+/* 80355470 003510D0 7F 43 D3 78 */ mr r3, r26
+/* 80355474 003510D4 4B E7 16 F1 */ bl strlen
+/* 80355478 003510D8 54 60 07 BE */ clrlwi r0, r3, 0x1e
+/* 8035547C 003510DC 20 80 00 04 */ subfic r4, r0, 4
+/* 80355480 003510E0 2C 04 00 04 */ cmpwi r4, 4
+/* 80355484 003510E4 41 82 00 68 */ beq lbl_803554EC
+/* 80355488 003510E8 2C 04 00 00 */ cmpwi r4, 0
+/* 8035548C 003510EC 38 01 00 20 */ addi r0, r1, 0x20
+/* 80355490 003510F0 7C 60 EA 14 */ add r3, r0, r29
+/* 80355494 003510F4 40 81 00 58 */ ble lbl_803554EC
+/* 80355498 003510F8 54 80 E8 FF */ rlwinm. r0, r4, 0x1d, 3, 0x1f
+/* 8035549C 003510FC 7C 09 03 A6 */ mtctr r0
+/* 803554A0 00351100 41 82 00 38 */ beq lbl_803554D8
+lbl_803554A4:
+/* 803554A4 00351104 9B E3 00 00 */ stb r31, 0(r3)
+/* 803554A8 00351108 3B BD 00 08 */ addi r29, r29, 8
+/* 803554AC 0035110C 9B E3 00 01 */ stb r31, 1(r3)
+/* 803554B0 00351110 9B E3 00 02 */ stb r31, 2(r3)
+/* 803554B4 00351114 9B E3 00 03 */ stb r31, 3(r3)
+/* 803554B8 00351118 9B E3 00 04 */ stb r31, 4(r3)
+/* 803554BC 0035111C 9B E3 00 05 */ stb r31, 5(r3)
+/* 803554C0 00351120 9B E3 00 06 */ stb r31, 6(r3)
+/* 803554C4 00351124 9B E3 00 07 */ stb r31, 7(r3)
+/* 803554C8 00351128 38 63 00 08 */ addi r3, r3, 8
+/* 803554CC 0035112C 42 00 FF D8 */ bdnz lbl_803554A4
+/* 803554D0 00351130 70 84 00 07 */ andi. r4, r4, 7
+/* 803554D4 00351134 41 82 00 18 */ beq lbl_803554EC
+lbl_803554D8:
+/* 803554D8 00351138 7C 89 03 A6 */ mtctr r4
+lbl_803554DC:
+/* 803554DC 0035113C 9B E3 00 00 */ stb r31, 0(r3)
+/* 803554E0 00351140 3B BD 00 01 */ addi r29, r29, 1
+/* 803554E4 00351144 38 63 00 01 */ addi r3, r3, 1
+/* 803554E8 00351148 42 00 FF F4 */ bdnz lbl_803554DC
+lbl_803554EC:
+/* 803554EC 0035114C 38 61 00 20 */ addi r3, r1, 0x20
+/* 803554F0 00351150 7F C4 F3 78 */ mr r4, r30
+/* 803554F4 00351154 7C 63 EA 14 */ add r3, r3, r29
+/* 803554F8 00351158 4B E7 8D D9 */ bl func_801CE2D0
+/* 803554FC 0035115C 7F C3 F3 78 */ mr r3, r30
+/* 80355500 00351160 4B E7 16 65 */ bl strlen
+/* 80355504 00351164 7F BD 1A 14 */ add r29, r29, r3
+/* 80355508 00351168 7F C3 F3 78 */ mr r3, r30
+/* 8035550C 0035116C 4B E7 16 59 */ bl strlen
+/* 80355510 00351170 54 60 07 BE */ clrlwi r0, r3, 0x1e
+/* 80355514 00351174 20 A0 00 04 */ subfic r5, r0, 4
+/* 80355518 00351178 2C 05 00 04 */ cmpwi r5, 4
+/* 8035551C 0035117C 41 82 00 98 */ beq lbl_803555B4
+/* 80355520 00351180 2C 05 00 00 */ cmpwi r5, 0
+/* 80355524 00351184 38 01 00 20 */ addi r0, r1, 0x20
+/* 80355528 00351188 38 80 00 00 */ li r4, 0
+/* 8035552C 0035118C 7C 60 EA 14 */ add r3, r0, r29
+/* 80355530 00351190 40 81 00 84 */ ble lbl_803555B4
+/* 80355534 00351194 54 A0 E8 FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f
+/* 80355538 00351198 7C 09 03 A6 */ mtctr r0
+/* 8035553C 0035119C 41 82 00 38 */ beq lbl_80355574
+lbl_80355540:
+/* 80355540 003511A0 98 83 00 00 */ stb r4, 0(r3)
+/* 80355544 003511A4 3B BD 00 08 */ addi r29, r29, 8
+/* 80355548 003511A8 98 83 00 01 */ stb r4, 1(r3)
+/* 8035554C 003511AC 98 83 00 02 */ stb r4, 2(r3)
+/* 80355550 003511B0 98 83 00 03 */ stb r4, 3(r3)
+/* 80355554 003511B4 98 83 00 04 */ stb r4, 4(r3)
+/* 80355558 003511B8 98 83 00 05 */ stb r4, 5(r3)
+/* 8035555C 003511BC 98 83 00 06 */ stb r4, 6(r3)
+/* 80355560 003511C0 98 83 00 07 */ stb r4, 7(r3)
+/* 80355564 003511C4 38 63 00 08 */ addi r3, r3, 8
+/* 80355568 003511C8 42 00 FF D8 */ bdnz lbl_80355540
+/* 8035556C 003511CC 70 A5 00 07 */ andi. r5, r5, 7
+/* 80355570 003511D0 41 82 00 44 */ beq lbl_803555B4
+lbl_80355574:
+/* 80355574 003511D4 7C A9 03 A6 */ mtctr r5
+lbl_80355578:
+/* 80355578 003511D8 98 83 00 00 */ stb r4, 0(r3)
+/* 8035557C 003511DC 3B BD 00 01 */ addi r29, r29, 1
+/* 80355580 003511E0 38 63 00 01 */ addi r3, r3, 1
+/* 80355584 003511E4 42 00 FF F4 */ bdnz lbl_80355578
+/* 80355588 003511E8 48 00 00 2C */ b lbl_803555B4
+lbl_8035558C:
+/* 8035558C 003511EC 2C 05 00 00 */ cmpwi r5, 0
+/* 80355590 003511F0 38 61 00 20 */ addi r3, r1, 0x20
+/* 80355594 003511F4 38 9F 01 BC */ addi r4, r31, 0x1bc
+/* 80355598 003511F8 38 BF 01 90 */ addi r5, r31, 0x190
+/* 8035559C 003511FC 41 82 00 08 */ beq lbl_803555A4
+/* 803555A0 00351200 38 BF 01 68 */ addi r5, r31, 0x168
+lbl_803555A4:
+/* 803555A4 00351204 80 C8 00 04 */ lwz r6, 4(r8)
+/* 803555A8 00351208 7F C8 F3 78 */ mr r8, r30
+/* 803555AC 0035120C 4C C6 31 82 */ crclr 6
+/* 803555B0 00351210 4B E7 75 4D */ bl func_801CCAFC
+lbl_803555B4:
+/* 803555B4 00351214 80 1C 01 94 */ lwz r0, 0x194(r28)
+/* 803555B8 00351218 2C 00 00 00 */ cmpwi r0, 0
+/* 803555BC 0035121C 40 82 00 54 */ bne lbl_80355610
+/* 803555C0 00351220 2C 1D 00 00 */ cmpwi r29, 0
+/* 803555C4 00351224 40 82 00 10 */ bne lbl_803555D4
+/* 803555C8 00351228 38 61 00 20 */ addi r3, r1, 0x20
+/* 803555CC 0035122C 4B E7 15 99 */ bl strlen
+/* 803555D0 00351230 7C 7D 1B 78 */ mr r29, r3
+lbl_803555D4:
+/* 803555D4 00351234 7F 83 E3 78 */ mr r3, r28
+/* 803555D8 00351238 7F A5 EB 78 */ mr r5, r29
+/* 803555DC 0035123C 38 81 00 20 */ addi r4, r1, 0x20
+/* 803555E0 00351240 4B FF C0 59 */ bl ghiTrySendThenBuffer
+/* 803555E4 00351244 2C 03 00 00 */ cmpwi r3, 0
+/* 803555E8 00351248 40 82 00 0C */ bne lbl_803555F4
+/* 803555EC 0035124C 38 60 00 00 */ li r3, 0
+/* 803555F0 00351250 48 00 00 E8 */ b lbl_803556D8
+lbl_803555F4:
+/* 803555F4 00351254 2C 03 00 02 */ cmpwi r3, 2
+/* 803555F8 00351258 40 82 00 0C */ bne lbl_80355604
+/* 803555FC 0035125C 38 60 00 02 */ li r3, 2
+/* 80355600 00351260 48 00 00 D8 */ b lbl_803556D8
+lbl_80355604:
+/* 80355604 00351264 38 7C 00 54 */ addi r3, r28, 0x54
+/* 80355608 00351268 4B FF BA 29 */ bl ghiResetBuffer
+/* 8035560C 0035126C 48 00 00 70 */ b lbl_8035567C
+lbl_80355610:
+/* 80355610 00351270 2C 1D 00 00 */ cmpwi r29, 0
+/* 80355614 00351274 40 82 00 10 */ bne lbl_80355624
+/* 80355618 00351278 38 61 00 20 */ addi r3, r1, 0x20
+/* 8035561C 0035127C 4B E7 15 49 */ bl strlen
+/* 80355620 00351280 7C 7D 1B 78 */ mr r29, r3
+lbl_80355624:
+/* 80355624 00351284 7F A5 EB 78 */ mr r5, r29
+/* 80355628 00351288 38 7C 00 54 */ addi r3, r28, 0x54
+/* 8035562C 0035128C 38 81 00 20 */ addi r4, r1, 0x20
+/* 80355630 00351290 4B FF B5 FD */ bl ghiEncryptDataToBuffer
+/* 80355634 00351294 2C 03 00 00 */ cmpwi r3, 0
+/* 80355638 00351298 40 82 00 0C */ bne lbl_80355644
+/* 8035563C 0035129C 38 60 00 00 */ li r3, 0
+/* 80355640 003512A0 48 00 00 98 */ b lbl_803556D8
+lbl_80355644:
+/* 80355644 003512A4 7F 83 E3 78 */ mr r3, r28
+/* 80355648 003512A8 4B FF BA 0D */ bl ghiSendBufferedData
+/* 8035564C 003512AC 2C 03 00 00 */ cmpwi r3, 0
+/* 80355650 003512B0 40 82 00 0C */ bne lbl_8035565C
+/* 80355654 003512B4 38 60 00 00 */ li r3, 0
+/* 80355658 003512B8 48 00 00 80 */ b lbl_803556D8
+lbl_8035565C:
+/* 8035565C 003512BC 80 7C 00 64 */ lwz r3, 0x64(r28)
+/* 80355660 003512C0 80 1C 00 60 */ lwz r0, 0x60(r28)
+/* 80355664 003512C4 7C 03 00 00 */ cmpw r3, r0
+/* 80355668 003512C8 40 80 00 0C */ bge lbl_80355674
+/* 8035566C 003512CC 38 60 00 02 */ li r3, 2
+/* 80355670 003512D0 48 00 00 68 */ b lbl_803556D8
+lbl_80355674:
+/* 80355674 003512D4 38 7C 00 54 */ addi r3, r28, 0x54
+/* 80355678 003512D8 4B FF B9 B9 */ bl ghiResetBuffer
+lbl_8035567C:
+/* 8035567C 003512DC 80 7B 00 00 */ lwz r3, 0(r27)
+/* 80355680 003512E0 80 03 00 00 */ lwz r0, 0(r3)
+/* 80355684 003512E4 2C 00 00 00 */ cmpwi r0, 0
+/* 80355688 003512E8 40 82 00 14 */ bne lbl_8035569C
+/* 8035568C 003512EC 7F 63 DB 78 */ mr r3, r27
+/* 80355690 003512F0 7F 84 E3 78 */ mr r4, r28
+/* 80355694 003512F4 4B FF F3 D5 */ bl ghiPostStringStateDoPosting
+/* 80355698 003512F8 48 00 00 40 */ b lbl_803556D8
+lbl_8035569C:
+/* 8035569C 003512FC 2C 00 00 03 */ cmpwi r0, 3
+/* 803556A0 00351300 40 82 00 14 */ bne lbl_803556B4
+/* 803556A4 00351304 7F 63 DB 78 */ mr r3, r27
+/* 803556A8 00351308 7F 84 E3 78 */ mr r4, r28
+/* 803556AC 0035130C 4B FF F5 69 */ bl ghiPostXmlStateDoPosting
+/* 803556B0 00351310 48 00 00 28 */ b lbl_803556D8
+lbl_803556B4:
+/* 803556B4 00351314 2C 00 00 01 */ cmpwi r0, 1
+/* 803556B8 00351318 40 82 00 14 */ bne lbl_803556CC
+/* 803556BC 0035131C 7F 63 DB 78 */ mr r3, r27
+/* 803556C0 00351320 7F 84 E3 78 */ mr r4, r28
+/* 803556C4 00351324 4B FF F6 E5 */ bl ghiPostFileDiskStateDoPosting
+/* 803556C8 00351328 48 00 00 10 */ b lbl_803556D8
+lbl_803556CC:
+/* 803556CC 0035132C 7F 63 DB 78 */ mr r3, r27
+/* 803556D0 00351330 7F 84 E3 78 */ mr r4, r28
+/* 803556D4 00351334 4B FF F8 15 */ bl ghiPostFileMemoryStateDoPosting
+lbl_803556D8:
+/* 803556D8 00351338 39 61 08 40 */ addi r11, r1, 0x840
+/* 803556DC 0035133C 4B E7 1A 95 */ bl func_801C7170
+/* 803556E0 00351340 80 01 08 44 */ lwz r0, 0x844(r1)
+/* 803556E4 00351344 7C 08 03 A6 */ mtlr r0
+/* 803556E8 00351348 38 21 08 40 */ addi r1, r1, 0x840
+/* 803556EC 0035134C 4E 80 00 20 */ blr
+
+.global ghiPostDoPosting
+ghiPostDoPosting:
+/* 803556F0 00351350 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 803556F4 00351354 7C 08 02 A6 */ mflr r0
+/* 803556F8 00351358 90 01 00 24 */ stw r0, 0x24(r1)
+/* 803556FC 0035135C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80355700 00351360 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80355704 00351364 7C 7E 1B 78 */ mr r30, r3
+/* 80355708 00351368 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8035570C 0035136C 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80355710 00351370 80 63 01 64 */ lwz r3, 0x164(r3)
+/* 80355714 00351374 4B FE 07 D5 */ bl ArrayLength
+/* 80355718 00351378 80 9E 00 64 */ lwz r4, 0x64(r30)
+/* 8035571C 0035137C 7C 7F 1B 78 */ mr r31, r3
+/* 80355720 00351380 80 1E 00 60 */ lwz r0, 0x60(r30)
+/* 80355724 00351384 7C 04 00 00 */ cmpw r4, r0
+/* 80355728 00351388 40 80 00 64 */ bge lbl_8035578C
+/* 8035572C 0035138C 7F C3 F3 78 */ mr r3, r30
+/* 80355730 00351390 4B FF B9 25 */ bl ghiSendBufferedData
+/* 80355734 00351394 2C 03 00 00 */ cmpwi r3, 0
+/* 80355738 00351398 40 82 00 0C */ bne lbl_80355744
+/* 8035573C 0035139C 38 60 00 00 */ li r3, 0
+/* 80355740 003513A0 48 00 01 DC */ b lbl_8035591C
+lbl_80355744:
+/* 80355744 003513A4 80 7E 00 64 */ lwz r3, 0x64(r30)
+/* 80355748 003513A8 80 1E 00 60 */ lwz r0, 0x60(r30)
+/* 8035574C 003513AC 7C 03 00 00 */ cmpw r3, r0
+/* 80355750 003513B0 40 80 00 0C */ bge lbl_8035575C
+/* 80355754 003513B4 38 60 00 02 */ li r3, 2
+/* 80355758 003513B8 48 00 01 C4 */ b lbl_8035591C
+lbl_8035575C:
+/* 8035575C 003513BC 38 7E 00 54 */ addi r3, r30, 0x54
+/* 80355760 003513C0 4B FF B8 D1 */ bl ghiResetBuffer
+/* 80355764 003513C4 80 1E 01 7C */ lwz r0, 0x17c(r30)
+/* 80355768 003513C8 2C 00 00 00 */ cmpwi r0, 0
+/* 8035576C 003513CC 41 82 00 0C */ beq lbl_80355778
+/* 80355770 003513D0 38 60 00 03 */ li r3, 3
+/* 80355774 003513D4 48 00 01 A8 */ b lbl_8035591C
+lbl_80355778:
+/* 80355778 003513D8 80 1E 01 68 */ lwz r0, 0x168(r30)
+/* 8035577C 003513DC 7C 00 F8 00 */ cmpw r0, r31
+/* 80355780 003513E0 40 82 00 0C */ bne lbl_8035578C
+/* 80355784 003513E4 38 60 00 01 */ li r3, 1
+/* 80355788 003513E8 48 00 01 94 */ b lbl_8035591C
+lbl_8035578C:
+/* 8035578C 003513EC 80 1E 01 7C */ lwz r0, 0x17c(r30)
+/* 80355790 003513F0 2C 00 00 00 */ cmpwi r0, 0
+/* 80355794 003513F4 41 82 00 E0 */ beq lbl_80355874
+/* 80355798 003513F8 80 7E 01 60 */ lwz r3, 0x160(r30)
+/* 8035579C 003513FC 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 803557A0 00351400 2C 00 00 00 */ cmpwi r0, 0
+/* 803557A4 00351404 40 82 00 10 */ bne lbl_803557B4
+/* 803557A8 00351408 80 03 00 10 */ lwz r0, 0x10(r3)
+/* 803557AC 0035140C 2C 00 00 00 */ cmpwi r0, 0
+/* 803557B0 00351410 41 82 00 50 */ beq lbl_80355800
+lbl_803557B4:
+/* 803557B4 00351414 38 6D 93 D4 */ addi r3, r13, lbl_8063E694-_SDA_BASE_
+/* 803557B8 00351418 4B E7 13 AD */ bl strlen
+/* 803557BC 0035141C 7C 65 1B 78 */ mr r5, r3
+/* 803557C0 00351420 7F C3 F3 78 */ mr r3, r30
+/* 803557C4 00351424 38 8D 93 D4 */ addi r4, r13, lbl_8063E694-_SDA_BASE_
+/* 803557C8 00351428 4B FF BE 71 */ bl ghiTrySendThenBuffer
+/* 803557CC 0035142C 2C 03 00 00 */ cmpwi r3, 0
+/* 803557D0 00351430 40 82 00 0C */ bne lbl_803557DC
+/* 803557D4 00351434 38 60 00 00 */ li r3, 0
+/* 803557D8 00351438 48 00 01 44 */ b lbl_8035591C
+lbl_803557DC:
+/* 803557DC 0035143C 2C 03 00 02 */ cmpwi r3, 2
+/* 803557E0 00351440 40 82 00 0C */ bne lbl_803557EC
+/* 803557E4 00351444 38 60 00 02 */ li r3, 2
+/* 803557E8 00351448 48 00 01 34 */ b lbl_8035591C
+lbl_803557EC:
+/* 803557EC 0035144C 80 1E 01 7C */ lwz r0, 0x17c(r30)
+/* 803557F0 00351450 2C 00 00 01 */ cmpwi r0, 1
+/* 803557F4 00351454 40 82 00 80 */ bne lbl_80355874
+/* 803557F8 00351458 38 60 00 03 */ li r3, 3
+/* 803557FC 0035145C 48 00 01 20 */ b lbl_8035591C
+lbl_80355800:
+/* 80355800 00351460 38 00 00 00 */ li r0, 0
+/* 80355804 00351464 90 1E 01 7C */ stw r0, 0x17c(r30)
+/* 80355808 00351468 48 00 00 6C */ b lbl_80355874
+lbl_8035580C:
+/* 8035580C 0035146C 80 7E 01 64 */ lwz r3, 0x164(r30)
+/* 80355810 00351470 4B FE 06 E1 */ bl ArrayNth
+/* 80355814 00351474 7C 7C 1B 78 */ mr r28, r3
+/* 80355818 00351478 83 BE 01 68 */ lwz r29, 0x168(r30)
+/* 8035581C 0035147C 80 7E 01 64 */ lwz r3, 0x164(r30)
+/* 80355820 00351480 4B FE 06 C9 */ bl ArrayLength
+/* 80355824 00351484 38 63 FF FF */ addi r3, r3, -1
+/* 80355828 00351488 7F A0 00 34 */ cntlzw r0, r29
+/* 8035582C 0035148C 7C 9D 18 50 */ subf r4, r29, r3
+/* 80355830 00351490 7C 85 00 34 */ cntlzw r5, r4
+/* 80355834 00351494 7F 83 E3 78 */ mr r3, r28
+/* 80355838 00351498 54 A6 D9 7E */ srwi r6, r5, 5
+/* 8035583C 0035149C 7F C4 F3 78 */ mr r4, r30
+/* 80355840 003514A0 54 05 D9 7E */ srwi r5, r0, 5
+/* 80355844 003514A4 4B FF F8 9D */ bl ghiPostStateDoPosting
+/* 80355848 003514A8 2C 03 00 00 */ cmpwi r3, 0
+/* 8035584C 003514AC 40 82 00 0C */ bne lbl_80355858
+/* 80355850 003514B0 38 60 00 00 */ li r3, 0
+/* 80355854 003514B4 48 00 00 C8 */ b lbl_8035591C
+lbl_80355858:
+/* 80355858 003514B8 2C 03 00 02 */ cmpwi r3, 2
+/* 8035585C 003514BC 40 82 00 0C */ bne lbl_80355868
+/* 80355860 003514C0 38 60 00 02 */ li r3, 2
+/* 80355864 003514C4 48 00 00 B8 */ b lbl_8035591C
+lbl_80355868:
+/* 80355868 003514C8 80 7E 01 68 */ lwz r3, 0x168(r30)
+/* 8035586C 003514CC 38 03 00 01 */ addi r0, r3, 1
+/* 80355870 003514D0 90 1E 01 68 */ stw r0, 0x168(r30)
+lbl_80355874:
+/* 80355874 003514D4 80 9E 01 68 */ lwz r4, 0x168(r30)
+/* 80355878 003514D8 7C 04 F8 00 */ cmpw r4, r31
+/* 8035587C 003514DC 41 80 FF 90 */ blt lbl_8035580C
+/* 80355880 003514E0 80 1E 01 94 */ lwz r0, 0x194(r30)
+/* 80355884 003514E4 2C 00 00 00 */ cmpwi r0, 0
+/* 80355888 003514E8 41 82 00 34 */ beq lbl_803558BC
+/* 8035588C 003514EC 80 BE 00 84 */ lwz r5, 0x84(r30)
+/* 80355890 003514F0 2C 05 00 00 */ cmpwi r5, 0
+/* 80355894 003514F4 40 81 00 28 */ ble lbl_803558BC
+/* 80355898 003514F8 80 9E 00 7C */ lwz r4, 0x7c(r30)
+/* 8035589C 003514FC 38 7E 00 54 */ addi r3, r30, 0x54
+/* 803558A0 00351500 4B FF B3 8D */ bl ghiEncryptDataToBuffer
+/* 803558A4 00351504 2C 03 00 00 */ cmpwi r3, 0
+/* 803558A8 00351508 40 82 00 0C */ bne lbl_803558B4
+/* 803558AC 0035150C 38 60 00 00 */ li r3, 0
+/* 803558B0 00351510 48 00 00 6C */ b lbl_8035591C
+lbl_803558B4:
+/* 803558B4 00351514 38 7E 00 78 */ addi r3, r30, 0x78
+/* 803558B8 00351518 4B FF B7 79 */ bl ghiResetBuffer
+lbl_803558BC:
+/* 803558BC 0035151C 80 7E 01 60 */ lwz r3, 0x160(r30)
+/* 803558C0 00351520 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 803558C4 00351524 2C 00 00 00 */ cmpwi r0, 0
+/* 803558C8 00351528 41 82 00 3C */ beq lbl_80355904
+/* 803558CC 0035152C 80 03 00 14 */ lwz r0, 0x14(r3)
+/* 803558D0 00351530 2C 00 00 00 */ cmpwi r0, 0
+/* 803558D4 00351534 40 82 00 30 */ bne lbl_80355904
+/* 803558D8 00351538 3F E0 80 45 */ lis r31, lbl_8044C208@ha
+/* 803558DC 0035153C 38 7F C2 08 */ addi r3, r31, lbl_8044C208@l
+/* 803558E0 00351540 4B E7 12 85 */ bl strlen
+/* 803558E4 00351544 7C 65 1B 78 */ mr r5, r3
+/* 803558E8 00351548 7F C3 F3 78 */ mr r3, r30
+/* 803558EC 0035154C 38 9F C2 08 */ addi r4, r31, -15864
+/* 803558F0 00351550 4B FF BD 49 */ bl ghiTrySendThenBuffer
+/* 803558F4 00351554 2C 03 00 00 */ cmpwi r3, 0
+/* 803558F8 00351558 40 82 00 0C */ bne lbl_80355904
+/* 803558FC 0035155C 38 60 00 00 */ li r3, 0
+/* 80355900 00351560 48 00 00 1C */ b lbl_8035591C
+lbl_80355904:
+/* 80355904 00351564 80 9E 00 64 */ lwz r4, 0x64(r30)
+/* 80355908 00351568 38 60 00 01 */ li r3, 1
+/* 8035590C 0035156C 80 1E 00 60 */ lwz r0, 0x60(r30)
+/* 80355910 00351570 7C 04 00 00 */ cmpw r4, r0
+/* 80355914 00351574 40 80 00 08 */ bge lbl_8035591C
+/* 80355918 00351578 38 60 00 02 */ li r3, 2
+lbl_8035591C:
+/* 8035591C 0035157C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80355920 00351580 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80355924 00351584 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80355928 00351588 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8035592C 0035158C 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 80355930 00351590 7C 08 03 A6 */ mtlr r0
+/* 80355934 00351594 38 21 00 20 */ addi r1, r1, 0x20
+/* 80355938 00351598 4E 80 00 20 */ blr
diff --git a/asm/text_10_2.s b/asm/text_10_2.s index 25eea03..9fdc032 100644 --- a/asm/text_10_2.s +++ b/asm/text_10_2.s @@ -2,4183 +2,6 @@ .section .text, "ax" # 0x80006980 - 0x803E1E60
-.global func_80351EA0
-func_80351EA0:
-/* 80351EA0 0034DB00 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80351EA4 0034DB04 7C 08 02 A6 */ mflr r0
-/* 80351EA8 0034DB08 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80351EAC 0034DB0C 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80351EB0 0034DB10 93 C1 00 08 */ stw r30, 8(r1)
-/* 80351EB4 0034DB14 7C 9E 23 78 */ mr r30, r4
-/* 80351EB8 0034DB18 4B FF FC E1 */ bl ghiRequestToConnection
-/* 80351EBC 0034DB1C 2C 03 00 00 */ cmpwi r3, 0
-/* 80351EC0 0034DB20 7C 7F 1B 78 */ mr r31, r3
-/* 80351EC4 0034DB24 40 82 00 0C */ bne lbl_80351ED0
-/* 80351EC8 0034DB28 38 60 00 00 */ li r3, 0
-/* 80351ECC 0034DB2C 48 00 00 BC */ b lbl_80351F88
-lbl_80351ED0:
-/* 80351ED0 0034DB30 80 03 01 94 */ lwz r0, 0x194(r3)
-/* 80351ED4 0034DB34 7C 80 F0 00 */ cmpw cr1, r0, r30
-/* 80351ED8 0034DB38 40 86 00 0C */ bne cr1, lbl_80351EE4
-/* 80351EDC 0034DB3C 38 60 00 01 */ li r3, 1
-/* 80351EE0 0034DB40 48 00 00 A8 */ b lbl_80351F88
-lbl_80351EE4:
-/* 80351EE4 0034DB44 80 03 01 90 */ lwz r0, 0x190(r3)
-/* 80351EE8 0034DB48 2C 00 00 00 */ cmpwi r0, 0
-/* 80351EEC 0034DB4C 41 82 00 10 */ beq lbl_80351EFC
-/* 80351EF0 0034DB50 41 86 00 0C */ beq cr1, lbl_80351EFC
-/* 80351EF4 0034DB54 38 60 00 00 */ li r3, 0
-/* 80351EF8 0034DB58 48 00 00 90 */ b lbl_80351F88
-lbl_80351EFC:
-/* 80351EFC 0034DB5C 2C 1E 00 00 */ cmpwi r30, 0
-/* 80351F00 0034DB60 40 82 00 28 */ bne lbl_80351F28
-/* 80351F04 0034DB64 3C 80 80 45 */ lis r4, lbl_8044BF80@ha
-/* 80351F08 0034DB68 80 63 00 14 */ lwz r3, 0x14(r3)
-/* 80351F0C 0034DB6C 38 84 BF 80 */ addi r4, r4, lbl_8044BF80@l
-/* 80351F10 0034DB70 38 A0 00 08 */ li r5, 8
-/* 80351F14 0034DB74 4B E7 C6 55 */ bl func_801CE568
-/* 80351F18 0034DB78 2C 03 00 00 */ cmpwi r3, 0
-/* 80351F1C 0034DB7C 40 82 00 0C */ bne lbl_80351F28
-/* 80351F20 0034DB80 38 60 00 00 */ li r3, 0
-/* 80351F24 0034DB84 48 00 00 64 */ b lbl_80351F88
-lbl_80351F28:
-/* 80351F28 0034DB88 2C 1E 00 00 */ cmpwi r30, 0
-/* 80351F2C 0034DB8C 93 DF 01 94 */ stw r30, 0x194(r31)
-/* 80351F30 0034DB90 40 82 00 14 */ bne lbl_80351F44
-/* 80351F34 0034DB94 38 00 00 00 */ li r0, 0
-/* 80351F38 0034DB98 38 60 00 01 */ li r3, 1
-/* 80351F3C 0034DB9C 90 1F 01 90 */ stw r0, 0x190(r31)
-/* 80351F40 0034DBA0 48 00 00 48 */ b lbl_80351F88
-lbl_80351F44:
-/* 80351F44 0034DBA4 38 00 00 00 */ li r0, 0
-/* 80351F48 0034DBA8 3C 80 80 35 */ lis r4, lbl_80352550@ha
-/* 80351F4C 0034DBAC 90 1F 01 90 */ stw r0, 0x190(r31)
-/* 80351F50 0034DBB0 38 84 25 50 */ addi r4, r4, lbl_80352550@l
-/* 80351F54 0034DBB4 3C 60 80 35 */ lis r3, lbl_80352724@ha
-/* 80351F58 0034DBB8 3C A0 80 35 */ lis r5, lbl_8035277C@ha
-/* 80351F5C 0034DBBC 90 9F 01 A0 */ stw r4, 0x1a0(r31)
-/* 80351F60 0034DBC0 38 63 27 24 */ addi r3, r3, lbl_80352724@l
-/* 80351F64 0034DBC4 3C 80 80 35 */ lis r4, lbl_80352998@ha
-/* 80351F68 0034DBC8 38 A5 27 7C */ addi r5, r5, lbl_8035277C@l
-/* 80351F6C 0034DBCC 90 7F 01 A4 */ stw r3, 0x1a4(r31)
-/* 80351F70 0034DBD0 38 84 29 98 */ addi r4, r4, lbl_80352998@l
-/* 80351F74 0034DBD4 38 60 00 01 */ li r3, 1
-/* 80351F78 0034DBD8 90 BF 01 A8 */ stw r5, 0x1a8(r31)
-/* 80351F7C 0034DBDC 90 9F 01 AC */ stw r4, 0x1ac(r31)
-/* 80351F80 0034DBE0 90 1F 01 98 */ stw r0, 0x198(r31)
-/* 80351F84 0034DBE4 90 1F 01 9C */ stw r0, 0x19c(r31)
-lbl_80351F88:
-/* 80351F88 0034DBE8 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80351F8C 0034DBEC 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80351F90 0034DBF0 83 C1 00 08 */ lwz r30, 8(r1)
-/* 80351F94 0034DBF4 7C 08 03 A6 */ mtlr r0
-/* 80351F98 0034DBF8 38 21 00 10 */ addi r1, r1, 0x10
-/* 80351F9C 0034DBFC 4E 80 00 20 */ blr
-
-.global func_80351FA0
-func_80351FA0:
-/* 80351FA0 0034DC00 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 80351FA4 0034DC04 7C 08 02 A6 */ mflr r0
-/* 80351FA8 0034DC08 38 A0 00 01 */ li r5, 1
-/* 80351FAC 0034DC0C 90 01 00 24 */ stw r0, 0x24(r1)
-/* 80351FB0 0034DC10 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 80351FB4 0034DC14 3B E0 00 00 */ li r31, 0
-/* 80351FB8 0034DC18 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 80351FBC 0034DC1C 7C 9E 23 78 */ mr r30, r4
-/* 80351FC0 0034DC20 38 81 00 08 */ addi r4, r1, 8
-/* 80351FC4 0034DC24 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 80351FC8 0034DC28 7C 7D 1B 78 */ mr r29, r3
-/* 80351FCC 0034DC2C 9B E1 00 08 */ stb r31, 8(r1)
-/* 80351FD0 0034DC30 4B FF F1 79 */ bl ghiReadDataFromBufferFixed
-/* 80351FD4 0034DC34 2C 03 00 00 */ cmpwi r3, 0
-/* 80351FD8 0034DC38 40 82 00 0C */ bne lbl_80351FE4
-/* 80351FDC 0034DC3C 38 60 00 00 */ li r3, 0
-/* 80351FE0 0034DC40 48 00 01 00 */ b lbl_803520E0
-lbl_80351FE4:
-/* 80351FE4 0034DC44 88 01 00 08 */ lbz r0, 8(r1)
-/* 80351FE8 0034DC48 2C 00 00 30 */ cmpwi r0, 0x30
-/* 80351FEC 0034DC4C 41 82 00 0C */ beq lbl_80351FF8
-/* 80351FF0 0034DC50 38 60 00 00 */ li r3, 0
-/* 80351FF4 0034DC54 48 00 00 EC */ b lbl_803520E0
-lbl_80351FF8:
-/* 80351FF8 0034DC58 7F A3 EB 78 */ mr r3, r29
-/* 80351FFC 0034DC5C 38 81 00 08 */ addi r4, r1, 8
-/* 80352000 0034DC60 38 A0 00 01 */ li r5, 1
-/* 80352004 0034DC64 4B FF F1 45 */ bl ghiReadDataFromBufferFixed
-/* 80352008 0034DC68 2C 03 00 00 */ cmpwi r3, 0
-/* 8035200C 0034DC6C 40 82 00 0C */ bne lbl_80352018
-/* 80352010 0034DC70 38 60 00 00 */ li r3, 0
-/* 80352014 0034DC74 48 00 00 CC */ b lbl_803520E0
-lbl_80352018:
-/* 80352018 0034DC78 88 81 00 08 */ lbz r4, 8(r1)
-/* 8035201C 0034DC7C 54 80 06 30 */ rlwinm r0, r4, 0, 0x18, 0x18
-/* 80352020 0034DC80 2C 00 00 80 */ cmpwi r0, 0x80
-/* 80352024 0034DC84 40 82 00 94 */ bne lbl_803520B8
-/* 80352028 0034DC88 68 80 00 80 */ xori r0, r4, 0x80
-/* 8035202C 0034DC8C 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80352030 0034DC90 7C 05 07 74 */ extsb r5, r0
-/* 80352034 0034DC94 28 05 00 04 */ cmplwi r5, 4
-/* 80352038 0034DC98 98 01 00 08 */ stb r0, 8(r1)
-/* 8035203C 0034DC9C 40 81 00 0C */ ble lbl_80352048
-/* 80352040 0034DCA0 38 00 00 00 */ li r0, 0
-/* 80352044 0034DCA4 48 00 00 38 */ b lbl_8035207C
-lbl_80352048:
-/* 80352048 0034DCA8 20 05 00 04 */ subfic r0, r5, 4
-/* 8035204C 0034DCAC 38 81 00 0C */ addi r4, r1, 0xc
-/* 80352050 0034DCB0 7F A3 EB 78 */ mr r3, r29
-/* 80352054 0034DCB4 7C 84 02 14 */ add r4, r4, r0
-/* 80352058 0034DCB8 4B FF F0 F1 */ bl ghiReadDataFromBufferFixed
-/* 8035205C 0034DCBC 2C 03 00 00 */ cmpwi r3, 0
-/* 80352060 0034DCC0 40 82 00 0C */ bne lbl_8035206C
-/* 80352064 0034DCC4 38 00 00 00 */ li r0, 0
-/* 80352068 0034DCC8 48 00 00 14 */ b lbl_8035207C
-lbl_8035206C:
-/* 8035206C 0034DCCC 80 61 00 0C */ lwz r3, 0xc(r1)
-/* 80352070 0034DCD0 4B FA 4D 09 */ bl func_802F6D78
-/* 80352074 0034DCD4 90 61 00 0C */ stw r3, 0xc(r1)
-/* 80352078 0034DCD8 38 00 00 01 */ li r0, 1
-lbl_8035207C:
-/* 8035207C 0034DCDC 2C 00 00 00 */ cmpwi r0, 0
-/* 80352080 0034DCE0 40 82 00 0C */ bne lbl_8035208C
-/* 80352084 0034DCE4 38 60 00 00 */ li r3, 0
-/* 80352088 0034DCE8 48 00 00 58 */ b lbl_803520E0
-lbl_8035208C:
-/* 8035208C 0034DCEC 80 7D 00 10 */ lwz r3, 0x10(r29)
-/* 80352090 0034DCF0 80 1D 00 0C */ lwz r0, 0xc(r29)
-/* 80352094 0034DCF4 80 81 00 0C */ lwz r4, 0xc(r1)
-/* 80352098 0034DCF8 7C 03 00 50 */ subf r0, r3, r0
-/* 8035209C 0034DCFC 7C 04 00 00 */ cmpw r4, r0
-/* 803520A0 0034DD00 40 81 00 0C */ ble lbl_803520AC
-/* 803520A4 0034DD04 38 60 00 00 */ li r3, 0
-/* 803520A8 0034DD08 48 00 00 38 */ b lbl_803520E0
-lbl_803520AC:
-/* 803520AC 0034DD0C 90 9E 00 00 */ stw r4, 0(r30)
-/* 803520B0 0034DD10 38 60 00 01 */ li r3, 1
-/* 803520B4 0034DD14 48 00 00 2C */ b lbl_803520E0
-lbl_803520B8:
-/* 803520B8 0034DD18 80 7D 00 10 */ lwz r3, 0x10(r29)
-/* 803520BC 0034DD1C 7C 84 07 74 */ extsb r4, r4
-/* 803520C0 0034DD20 80 1D 00 0C */ lwz r0, 0xc(r29)
-/* 803520C4 0034DD24 7C 03 00 50 */ subf r0, r3, r0
-/* 803520C8 0034DD28 7C 04 00 00 */ cmpw r4, r0
-/* 803520CC 0034DD2C 40 81 00 0C */ ble lbl_803520D8
-/* 803520D0 0034DD30 38 60 00 00 */ li r3, 0
-/* 803520D4 0034DD34 48 00 00 0C */ b lbl_803520E0
-lbl_803520D8:
-/* 803520D8 0034DD38 90 9E 00 00 */ stw r4, 0(r30)
-/* 803520DC 0034DD3C 38 60 00 01 */ li r3, 1
-lbl_803520E0:
-/* 803520E0 0034DD40 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 803520E4 0034DD44 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 803520E8 0034DD48 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 803520EC 0034DD4C 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 803520F0 0034DD50 7C 08 03 A6 */ mtlr r0
-/* 803520F4 0034DD54 38 21 00 20 */ addi r1, r1, 0x20
-/* 803520F8 0034DD58 4E 80 00 20 */ blr
-
-.global func_803520FC
-func_803520FC:
-/* 803520FC 0034DD5C 94 21 FE D0 */ stwu r1, -0x130(r1)
-/* 80352100 0034DD60 7C 08 02 A6 */ mflr r0
-/* 80352104 0034DD64 90 01 01 34 */ stw r0, 0x134(r1)
-/* 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 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 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 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 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 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 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
-/* 80352170 0034DDD0 38 9F 06 A4 */ addi r4, r31, 0x6a4
-/* 80352174 0034DDD4 38 A0 00 30 */ li r5, 0x30
-/* 80352178 0034DDD8 4B FE 4B 6D */ bl MD5Update
-/* 8035217C 0034DDDC 38 61 00 60 */ addi r3, r1, 0x60
-/* 80352180 0034DDE0 38 81 00 08 */ addi r4, r1, 8
-/* 80352184 0034DDE4 38 A0 00 14 */ li r5, 0x14
-/* 80352188 0034DDE8 4B FE 4B 5D */ bl MD5Update
-/* 8035218C 0034DDEC 38 7F 06 D4 */ addi r3, r31, 0x6d4
-/* 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 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 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 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 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 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 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
-/* 803521F8 0034DE58 38 9F 06 A4 */ addi r4, r31, 0x6a4
-/* 803521FC 0034DE5C 38 A0 00 30 */ li r5, 0x30
-/* 80352200 0034DE60 4B FE 4A E5 */ bl MD5Update
-/* 80352204 0034DE64 38 61 00 60 */ addi r3, r1, 0x60
-/* 80352208 0034DE68 38 81 00 08 */ addi r4, r1, 8
-/* 8035220C 0034DE6C 38 A0 00 14 */ li r5, 0x14
-/* 80352210 0034DE70 4B FE 4A D5 */ bl MD5Update
-/* 80352214 0034DE74 38 7F 06 E4 */ addi r3, r31, 0x6e4
-/* 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 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 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 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 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 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 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
-/* 80352280 0034DEE0 38 9F 06 A4 */ addi r4, r31, 0x6a4
-/* 80352284 0034DEE4 38 A0 00 30 */ li r5, 0x30
-/* 80352288 0034DEE8 4B FE 4A 5D */ bl MD5Update
-/* 8035228C 0034DEEC 38 61 00 60 */ addi r3, r1, 0x60
-/* 80352290 0034DEF0 38 81 00 08 */ addi r4, r1, 8
-/* 80352294 0034DEF4 38 A0 00 14 */ li r5, 0x14
-/* 80352298 0034DEF8 4B FE 4A 4D */ bl MD5Update
-/* 8035229C 0034DEFC 38 7F 06 F4 */ addi r3, r31, 0x6f4
-/* 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 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 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 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 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 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 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
-/* 80352308 0034DF68 38 9F 06 D4 */ addi r4, r31, 0x6d4
-/* 8035230C 0034DF6C 38 A0 00 30 */ li r5, 0x30
-/* 80352310 0034DF70 4B FE 49 D5 */ bl MD5Update
-/* 80352314 0034DF74 38 61 00 60 */ addi r3, r1, 0x60
-/* 80352318 0034DF78 38 81 00 08 */ addi r4, r1, 8
-/* 8035231C 0034DF7C 38 A0 00 14 */ li r5, 0x14
-/* 80352320 0034DF80 4B FE 49 C5 */ bl MD5Update
-/* 80352324 0034DF84 38 61 00 20 */ addi r3, r1, 0x20
-/* 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 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 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 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 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 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 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
-/* 80352390 0034DFF0 38 9F 06 D4 */ addi r4, r31, 0x6d4
-/* 80352394 0034DFF4 38 A0 00 30 */ li r5, 0x30
-/* 80352398 0034DFF8 4B FE 49 4D */ bl MD5Update
-/* 8035239C 0034DFFC 38 61 00 60 */ addi r3, r1, 0x60
-/* 803523A0 0034E000 38 81 00 08 */ addi r4, r1, 8
-/* 803523A4 0034E004 38 A0 00 14 */ li r5, 0x14
-/* 803523A8 0034E008 4B FE 49 3D */ bl MD5Update
-/* 803523AC 0034E00C 38 61 00 30 */ addi r3, r1, 0x30
-/* 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 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 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 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 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 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 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
-/* 80352418 0034E078 38 9F 06 D4 */ addi r4, r31, 0x6d4
-/* 8035241C 0034E07C 38 A0 00 30 */ li r5, 0x30
-/* 80352420 0034E080 4B FE 48 C5 */ bl MD5Update
-/* 80352424 0034E084 38 61 00 60 */ addi r3, r1, 0x60
-/* 80352428 0034E088 38 81 00 08 */ addi r4, r1, 8
-/* 8035242C 0034E08C 38 A0 00 14 */ li r5, 0x14
-/* 80352430 0034E090 4B FE 48 B5 */ bl MD5Update
-/* 80352434 0034E094 38 61 00 40 */ addi r3, r1, 0x40
-/* 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 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 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 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 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 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 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
-/* 803524A0 0034E100 38 9F 06 D4 */ addi r4, r31, 0x6d4
-/* 803524A4 0034E104 38 A0 00 30 */ li r5, 0x30
-/* 803524A8 0034E108 4B FE 48 3D */ bl MD5Update
-/* 803524AC 0034E10C 38 61 00 60 */ addi r3, r1, 0x60
-/* 803524B0 0034E110 38 81 00 08 */ addi r4, r1, 8
-/* 803524B4 0034E114 38 A0 00 14 */ li r5, 0x14
-/* 803524B8 0034E118 4B FE 48 2D */ bl MD5Update
-/* 803524BC 0034E11C 38 61 00 50 */ addi r3, r1, 0x50
-/* 803524C0 0034E120 38 81 00 60 */ addi r4, r1, 0x60
-/* 803524C4 0034E124 4B FE 49 0D */ bl MD5Final
-/* 803524C8 0034E128 38 7F 03 20 */ addi r3, r31, 0x320
-/* 803524CC 0034E12C 38 81 00 20 */ addi r4, r1, 0x20
-/* 803524D0 0034E130 38 A0 00 10 */ li r5, 0x10
-/* 803524D4 0034E134 4B CB 1B 2D */ bl memcpy
-/* 803524D8 0034E138 38 7F 03 34 */ addi r3, r31, 0x334
-/* 803524DC 0034E13C 38 81 00 30 */ addi r4, r1, 0x30
-/* 803524E0 0034E140 38 A0 00 10 */ li r5, 0x10
-/* 803524E4 0034E144 4B CB 1B 1D */ bl memcpy
-/* 803524E8 0034E148 38 7F 03 48 */ addi r3, r31, 0x348
-/* 803524EC 0034E14C 38 81 00 40 */ addi r4, r1, 0x40
-/* 803524F0 0034E150 38 A0 00 10 */ li r5, 0x10
-/* 803524F4 0034E154 4B CB 1B 0D */ bl memcpy
-/* 803524F8 0034E158 38 7F 03 58 */ addi r3, r31, 0x358
-/* 803524FC 0034E15C 38 81 00 50 */ addi r4, r1, 0x50
-/* 80352500 0034E160 38 A0 00 10 */ li r5, 0x10
-/* 80352504 0034E164 4B CB 1A FD */ bl memcpy
-/* 80352508 0034E168 38 00 00 10 */ li r0, 0x10
-/* 8035250C 0034E16C 38 7F 03 A0 */ addi r3, r31, 0x3a0
-/* 80352510 0034E170 90 1F 03 88 */ stw r0, 0x388(r31)
-/* 80352514 0034E174 38 9F 03 48 */ addi r4, r31, 0x348
-/* 80352518 0034E178 38 A0 00 10 */ li r5, 0x10
-/* 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 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 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
-/* 80352548 0034E1A8 38 21 01 30 */ addi r1, r1, 0x130
-/* 8035254C 0034E1AC 4E 80 00 20 */ blr
-lbl_80352550:
-/* 80352550 0034E1B0 94 21 FF A0 */ stwu r1, -0x60(r1)
-/* 80352554 0034E1B4 7C 08 02 A6 */ mflr r0
-/* 80352558 0034E1B8 90 01 00 64 */ stw r0, 0x64(r1)
-/* 8035255C 0034E1BC 39 61 00 60 */ addi r11, r1, 0x60
-/* 80352560 0034E1C0 4B E7 4B C9 */ bl _savegpr_27
-/* 80352564 0034E1C4 80 A3 00 60 */ lwz r5, 0x60(r3)
-/* 80352568 0034E1C8 7C 7B 1B 78 */ mr r27, r3
-/* 8035256C 0034E1CC 80 03 00 5C */ lwz r0, 0x5c(r3)
-/* 80352570 0034E1D0 7C 9E 23 78 */ mr r30, r4
-/* 80352574 0034E1D4 7C 05 00 50 */ subf r0, r5, r0
-/* 80352578 0034E1D8 28 00 00 32 */ cmplwi r0, 0x32
-/* 8035257C 0034E1DC 40 80 00 0C */ bge lbl_80352588
-/* 80352580 0034E1E0 38 60 00 02 */ li r3, 2
-/* 80352584 0034E1E4 48 00 01 88 */ b lbl_8035270C
-lbl_80352588:
-/* 80352588 0034E1E8 38 60 07 04 */ li r3, 0x704
-/* 8035258C 0034E1EC 4B FE 6D 89 */ bl gsimalloc
-/* 80352590 0034E1F0 2C 03 00 00 */ cmpwi r3, 0
-/* 80352594 0034E1F4 90 7E 00 00 */ stw r3, 0(r30)
-/* 80352598 0034E1F8 40 82 00 0C */ bne lbl_803525A4
-/* 8035259C 0034E1FC 38 60 00 03 */ li r3, 3
-/* 803525A0 0034E200 48 00 01 6C */ b lbl_8035270C
-lbl_803525A4:
-/* 803525A4 0034E204 38 80 00 00 */ li r4, 0
-/* 803525A8 0034E208 38 A0 07 04 */ li r5, 0x704
-/* 803525AC 0034E20C 4B CB 1B 59 */ bl memset
-/* 803525B0 0034E210 83 9E 00 00 */ lwz r28, 0(r30)
-/* 803525B4 0034E214 3B A0 00 01 */ li r29, 1
-/* 803525B8 0034E218 3B E0 00 00 */ li r31, 0
-/* 803525BC 0034E21C 93 BE 00 08 */ stw r29, 8(r30)
-/* 803525C0 0034E220 38 7C 05 A4 */ addi r3, r28, 0x5a4
-/* 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 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)
-/* 803525E0 0034E240 38 60 00 2D */ li r3, 0x2d
-/* 803525E4 0034E244 9B C1 00 15 */ stb r30, 0x15(r1)
-/* 803525E8 0034E248 9B E1 00 16 */ stb r31, 0x16(r1)
-/* 803525EC 0034E24C 4B FA 47 8D */ bl func_802F6D78
-/* 803525F0 0034E250 90 61 00 10 */ stw r3, 0x10(r1)
-/* 803525F4 0034E254 38 61 00 17 */ addi r3, r1, 0x17
-/* 803525F8 0034E258 38 81 00 12 */ addi r4, r1, 0x12
-/* 803525FC 0034E25C 38 A0 00 02 */ li r5, 2
-/* 80352600 0034E260 4B CB 1A 01 */ bl memcpy
-/* 80352604 0034E264 9B A1 00 19 */ stb r29, 0x19(r1)
-/* 80352608 0034E268 38 60 00 29 */ li r3, 0x29
-/* 8035260C 0034E26C 9B C1 00 1D */ stb r30, 0x1d(r1)
-/* 80352610 0034E270 9B E1 00 1E */ stb r31, 0x1e(r1)
-/* 80352614 0034E274 4B FA 47 65 */ bl func_802F6D78
-/* 80352618 0034E278 90 61 00 0C */ stw r3, 0xc(r1)
-/* 8035261C 0034E27C 38 61 00 1A */ addi r3, r1, 0x1a
-/* 80352620 0034E280 38 81 00 0D */ addi r4, r1, 0xd
-/* 80352624 0034E284 38 A0 00 03 */ li r5, 3
-/* 80352628 0034E288 4B CB 19 D9 */ bl memcpy
-/* 8035262C 0034E28C 38 60 00 00 */ li r3, 0
-/* 80352630 0034E290 4B FA 47 49 */ bl func_802F6D78
-/* 80352634 0034E294 90 61 00 08 */ stw r3, 8(r1)
-/* 80352638 0034E298 38 61 00 1F */ addi r3, r1, 0x1f
-/* 8035263C 0034E29C 38 81 00 08 */ addi r4, r1, 8
-/* 80352640 0034E2A0 38 A0 00 04 */ li r5, 4
-/* 80352644 0034E2A4 4B CB 19 BD */ bl memcpy
-/* 80352648 0034E2A8 4B FE 69 91 */ bl current_time
-/* 8035264C 0034E2AC 4B FE 6A 15 */ bl Util_RandSeed
-/* 80352650 0034E2B0 3B A1 00 14 */ addi r29, r1, 0x14
-/* 80352654 0034E2B4 3B C0 00 00 */ li r30, 0
-lbl_80352658:
-/* 80352658 0034E2B8 38 60 00 00 */ li r3, 0
-/* 8035265C 0034E2BC 38 80 00 FF */ li r4, 0xff
-/* 80352660 0034E2C0 4B FE 6A 19 */ bl Util_RandInt
-/* 80352664 0034E2C4 3B DE 00 01 */ addi r30, r30, 1
-/* 80352668 0034E2C8 98 7D 00 0F */ stb r3, 0xf(r29)
-/* 8035266C 0034E2CC 2C 1E 00 1C */ cmpwi r30, 0x1c
-/* 80352670 0034E2D0 3B BD 00 01 */ addi r29, r29, 1
-/* 80352674 0034E2D4 41 80 FF E4 */ blt lbl_80352658
-/* 80352678 0034E2D8 38 7C 06 84 */ addi r3, r28, 0x684
-/* 8035267C 0034E2DC 38 81 00 1F */ addi r4, r1, 0x1f
-/* 80352680 0034E2E0 38 A0 00 04 */ li r5, 4
-/* 80352684 0034E2E4 4B CB 19 7D */ bl memcpy
-/* 80352688 0034E2E8 38 7C 06 88 */ addi r3, r28, 0x688
-/* 8035268C 0034E2EC 38 81 00 23 */ addi r4, r1, 0x23
-/* 80352690 0034E2F0 38 A0 00 1C */ li r5, 0x1c
-/* 80352694 0034E2F4 4B CB 19 6D */ bl memcpy
-/* 80352698 0034E2F8 3B C0 00 00 */ li r30, 0
-/* 8035269C 0034E2FC 38 60 00 02 */ li r3, 2
-/* 803526A0 0034E300 9B C1 00 3F */ stb r30, 0x3f(r1)
-/* 803526A4 0034E304 4B FA 46 D9 */ bl func_802F6D7C
-/* 803526A8 0034E308 B0 61 00 40 */ sth r3, 0x40(r1)
-/* 803526AC 0034E30C 3C 80 80 40 */ lis r4, lbl_80402560@ha
-/* 803526B0 0034E310 80 04 25 60 */ lwz r0, lbl_80402560@l(r4)
-/* 803526B4 0034E314 54 03 04 3E */ clrlwi r3, r0, 0x10
-/* 803526B8 0034E318 4B FA 46 C5 */ bl func_802F6D7C
-/* 803526BC 0034E31C 3B E0 00 01 */ li r31, 1
-/* 803526C0 0034E320 B0 61 00 42 */ sth r3, 0x42(r1)
-/* 803526C4 0034E324 38 7C 05 A4 */ addi r3, r28, 0x5a4
-/* 803526C8 0034E328 38 81 00 19 */ addi r4, r1, 0x19
-/* 803526CC 0034E32C 9B E1 00 44 */ stb r31, 0x44(r1)
-/* 803526D0 0034E330 38 A0 00 2D */ li r5, 0x2d
-/* 803526D4 0034E334 9B C1 00 45 */ stb r30, 0x45(r1)
-/* 803526D8 0034E338 4B FE 46 0D */ bl MD5Update
-/* 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 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
-/* 803526F8 0034E358 4B FF E3 C5 */ bl ghiAppendDataToBuffer
-/* 803526FC 0034E35C 2C 03 00 00 */ cmpwi r3, 0
-/* 80352700 0034E360 40 82 00 08 */ bne lbl_80352708
-/* 80352704 0034E364 3B E0 00 02 */ li r31, 2
-lbl_80352708:
-/* 80352708 0034E368 7F E3 FB 78 */ mr r3, r31
-lbl_8035270C:
-/* 8035270C 0034E36C 39 61 00 60 */ addi r11, r1, 0x60
-/* 80352710 0034E370 4B E7 4A 65 */ bl _restgpr_27
-/* 80352714 0034E374 80 01 00 64 */ lwz r0, 0x64(r1)
-/* 80352718 0034E378 7C 08 03 A6 */ mtlr r0
-/* 8035271C 0034E37C 38 21 00 60 */ addi r1, r1, 0x60
-/* 80352720 0034E380 4E 80 00 20 */ blr
-lbl_80352724:
-/* 80352724 0034E384 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80352728 0034E388 7C 08 02 A6 */ mflr r0
-/* 8035272C 0034E38C 2C 04 00 00 */ cmpwi r4, 0
-/* 80352730 0034E390 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80352734 0034E394 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80352738 0034E398 7C 9F 23 78 */ mr r31, r4
-/* 8035273C 0034E39C 41 82 00 28 */ beq lbl_80352764
-/* 80352740 0034E3A0 80 64 00 00 */ lwz r3, 0(r4)
-/* 80352744 0034E3A4 2C 03 00 00 */ cmpwi r3, 0
-/* 80352748 0034E3A8 41 82 00 10 */ beq lbl_80352758
-/* 8035274C 0034E3AC 4B FE 6B ED */ bl gsifree
-/* 80352750 0034E3B0 38 00 00 00 */ li r0, 0
-/* 80352754 0034E3B4 90 1F 00 00 */ stw r0, 0(r31)
-lbl_80352758:
-/* 80352758 0034E3B8 38 00 00 00 */ li r0, 0
-/* 8035275C 0034E3BC 90 1F 00 08 */ stw r0, 8(r31)
-/* 80352760 0034E3C0 90 1F 00 0C */ stw r0, 0xc(r31)
-lbl_80352764:
-/* 80352764 0034E3C4 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80352768 0034E3C8 38 60 00 01 */ li r3, 1
-/* 8035276C 0034E3CC 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80352770 0034E3D0 7C 08 03 A6 */ mtlr r0
-/* 80352774 0034E3D4 38 21 00 10 */ addi r1, r1, 0x10
-/* 80352778 0034E3D8 4E 80 00 20 */ blr
-lbl_8035277C:
-/* 8035277C 0034E3DC 94 21 FF 70 */ stwu r1, -0x90(r1)
-/* 80352780 0034E3E0 7C 08 02 A6 */ mflr r0
-/* 80352784 0034E3E4 90 01 00 94 */ stw r0, 0x94(r1)
-/* 80352788 0034E3E8 39 61 00 90 */ addi r11, r1, 0x90
-/* 8035278C 0034E3EC 4B E7 49 99 */ bl func_801C7124
-/* 80352790 0034E3F0 2C 04 00 00 */ cmpwi r4, 0
-/* 80352794 0034E3F4 7C BA 2B 78 */ mr r26, r5
-/* 80352798 0034E3F8 7C DD 33 78 */ mr r29, r6
-/* 8035279C 0034E3FC 7C FB 3B 78 */ mr r27, r7
-/* 803527A0 0034E400 7D 1C 43 78 */ mr r28, r8
-/* 803527A4 0034E404 41 82 01 D8 */ beq lbl_8035297C
-/* 803527A8 0034E408 83 C4 00 00 */ lwz r30, 0(r4)
-/* 803527AC 0034E40C 2C 1E 00 00 */ cmpwi r30, 0
-/* 803527B0 0034E410 41 82 00 10 */ beq lbl_803527C0
-/* 803527B4 0034E414 80 04 00 0C */ lwz r0, 0xc(r4)
-/* 803527B8 0034E418 2C 00 00 00 */ cmpwi r0, 0
-/* 803527BC 0034E41C 40 82 00 38 */ bne lbl_803527F4
-lbl_803527C0:
-/* 803527C0 0034E420 80 08 00 00 */ lwz r0, 0(r8)
-/* 803527C4 0034E424 7C 06 00 00 */ cmpw r6, r0
-/* 803527C8 0034E428 40 81 00 0C */ ble lbl_803527D4
-/* 803527CC 0034E42C 38 60 00 02 */ li r3, 2
-/* 803527D0 0034E430 48 00 01 B0 */ b lbl_80352980
-lbl_803527D4:
-/* 803527D4 0034E434 7F 63 DB 78 */ mr r3, r27
-/* 803527D8 0034E438 7F 44 D3 78 */ mr r4, r26
-/* 803527DC 0034E43C 7F A5 EB 78 */ mr r5, r29
-/* 803527E0 0034E440 4B CB 18 21 */ bl memcpy
-/* 803527E4 0034E444 80 1C 00 00 */ lwz r0, 0(r28)
-/* 803527E8 0034E448 7C 00 EA 14 */ add r0, r0, r29
-/* 803527EC 0034E44C 90 1C 00 00 */ stw r0, 0(r28)
-/* 803527F0 0034E450 48 00 01 8C */ b lbl_8035297C
-lbl_803527F4:
-/* 803527F4 0034E454 54 C3 04 3E */ clrlwi r3, r6, 0x10
-/* 803527F8 0034E458 4B FA 45 85 */ bl func_802F6D7C
-/* 803527FC 0034E45C B0 61 00 08 */ sth r3, 8(r1)
-/* 80352800 0034E460 38 1D 00 05 */ addi r0, r29, 5
-/* 80352804 0034E464 80 7C 00 00 */ lwz r3, 0(r28)
-/* 80352808 0034E468 7C 03 00 00 */ cmpw r3, r0
-/* 8035280C 0034E46C 40 80 00 0C */ bge lbl_80352818
-/* 80352810 0034E470 38 60 00 02 */ li r3, 2
-/* 80352814 0034E474 48 00 01 6C */ b lbl_80352980
-lbl_80352818:
-/* 80352818 0034E478 38 60 00 17 */ li r3, 0x17
-/* 8035281C 0034E47C 38 00 00 03 */ li r0, 3
-/* 80352820 0034E480 3B E0 00 00 */ li r31, 0
-/* 80352824 0034E484 98 7B 00 00 */ stb r3, 0(r27)
-/* 80352828 0034E488 38 61 00 20 */ addi r3, r1, 0x20
-/* 8035282C 0034E48C 98 1B 00 01 */ stb r0, 1(r27)
-/* 80352830 0034E490 9B FB 00 02 */ stb r31, 2(r27)
-/* 80352834 0034E494 4B FE 44 71 */ bl MD5Init
-/* 80352838 0034E498 80 BE 03 88 */ lwz r5, 0x388(r30)
-/* 8035283C 0034E49C 38 61 00 20 */ addi r3, r1, 0x20
-/* 80352840 0034E4A0 38 9E 03 20 */ addi r4, r30, 0x320
-/* 80352844 0034E4A4 4B FE 44 A1 */ bl MD5Update
-/* 80352848 0034E4A8 3C 80 80 45 */ lis r4, lbl_8044BF8C@ha
-/* 8035284C 0034E4AC 38 61 00 20 */ addi r3, r1, 0x20
-/* 80352850 0034E4B0 38 84 BF 8C */ addi r4, r4, lbl_8044BF8C@l
-/* 80352854 0034E4B4 38 A0 00 30 */ li r5, 0x30
-/* 80352858 0034E4B8 4B FE 44 8D */ bl MD5Update
-/* 8035285C 0034E4BC 38 61 00 20 */ addi r3, r1, 0x20
-/* 80352860 0034E4C0 38 9E 03 10 */ addi r4, r30, 0x310
-/* 80352864 0034E4C4 38 A0 00 08 */ li r5, 8
-/* 80352868 0034E4C8 4B FE 44 7D */ bl MD5Update
-/* 8035286C 0034E4CC 38 61 00 20 */ addi r3, r1, 0x20
-/* 80352870 0034E4D0 38 8D 93 AC */ addi r4, r13, lbl_8063E66C-_SDA_BASE_
-/* 80352874 0034E4D4 38 A0 00 01 */ li r5, 1
-/* 80352878 0034E4D8 4B FE 44 6D */ bl MD5Update
-/* 8035287C 0034E4DC 38 61 00 20 */ addi r3, r1, 0x20
-/* 80352880 0034E4E0 38 81 00 08 */ addi r4, r1, 8
-/* 80352884 0034E4E4 38 A0 00 02 */ li r5, 2
-/* 80352888 0034E4E8 4B FE 44 5D */ bl MD5Update
-/* 8035288C 0034E4EC 7F 44 D3 78 */ mr r4, r26
-/* 80352890 0034E4F0 7F A5 EB 78 */ mr r5, r29
-/* 80352894 0034E4F4 38 61 00 20 */ addi r3, r1, 0x20
-/* 80352898 0034E4F8 4B FE 44 4D */ bl MD5Update
-/* 8035289C 0034E4FC 38 61 00 10 */ addi r3, r1, 0x10
-/* 803528A0 0034E500 38 81 00 20 */ addi r4, r1, 0x20
-/* 803528A4 0034E504 4B FE 45 2D */ bl MD5Final
-/* 803528A8 0034E508 38 61 00 20 */ addi r3, r1, 0x20
-/* 803528AC 0034E50C 4B FE 43 F9 */ bl MD5Init
-/* 803528B0 0034E510 80 BE 03 88 */ lwz r5, 0x388(r30)
-/* 803528B4 0034E514 38 61 00 20 */ addi r3, r1, 0x20
-/* 803528B8 0034E518 38 9E 03 20 */ addi r4, r30, 0x320
-/* 803528BC 0034E51C 4B FE 44 29 */ bl MD5Update
-/* 803528C0 0034E520 3C 80 80 45 */ lis r4, lbl_8044BFC0@ha
-/* 803528C4 0034E524 38 61 00 20 */ addi r3, r1, 0x20
-/* 803528C8 0034E528 38 84 BF C0 */ addi r4, r4, lbl_8044BFC0@l
-/* 803528CC 0034E52C 38 A0 00 30 */ li r5, 0x30
-/* 803528D0 0034E530 4B FE 44 15 */ bl MD5Update
-/* 803528D4 0034E534 38 61 00 20 */ addi r3, r1, 0x20
-/* 803528D8 0034E538 38 81 00 10 */ addi r4, r1, 0x10
-/* 803528DC 0034E53C 38 A0 00 10 */ li r5, 0x10
-/* 803528E0 0034E540 4B FE 44 05 */ bl MD5Update
-/* 803528E4 0034E544 38 61 00 10 */ addi r3, r1, 0x10
-/* 803528E8 0034E548 38 81 00 20 */ addi r4, r1, 0x20
-/* 803528EC 0034E54C 4B FE 44 E5 */ bl MD5Final
-/* 803528F0 0034E550 7F 44 D3 78 */ mr r4, r26
-/* 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 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 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)
-/* 80352928 0034E588 38 7B 00 03 */ addi r3, r27, 3
-/* 8035292C 0034E58C 38 81 00 0E */ addi r4, r1, 0xe
-/* 80352930 0034E590 38 A0 00 02 */ li r5, 2
-/* 80352934 0034E594 4B CB 16 CD */ bl memcpy
-/* 80352938 0034E598 80 1C 00 00 */ lwz r0, 0(r28)
-/* 8035293C 0034E59C 38 7D 00 10 */ addi r3, r29, 0x10
-/* 80352940 0034E5A0 38 A0 00 07 */ li r5, 7
-/* 80352944 0034E5A4 7C 03 00 50 */ subf r0, r3, r0
-/* 80352948 0034E5A8 90 1C 00 00 */ stw r0, 0(r28)
-lbl_8035294C:
-/* 8035294C 0034E5AC 7C 9E 2A 14 */ add r4, r30, r5
-/* 80352950 0034E5B0 88 64 03 10 */ lbz r3, 0x310(r4)
-/* 80352954 0034E5B4 28 03 00 FF */ cmplwi r3, 0xff
-/* 80352958 0034E5B8 40 82 00 10 */ bne lbl_80352968
-/* 8035295C 0034E5BC 9B E4 03 10 */ stb r31, 0x310(r4)
-/* 80352960 0034E5C0 38 A5 FF FF */ addi r5, r5, -1
-/* 80352964 0034E5C4 48 00 00 10 */ b lbl_80352974
-lbl_80352968:
-/* 80352968 0034E5C8 38 03 00 01 */ addi r0, r3, 1
-/* 8035296C 0034E5CC 38 A0 00 00 */ li r5, 0
-/* 80352970 0034E5D0 98 04 03 10 */ stb r0, 0x310(r4)
-lbl_80352974:
-/* 80352974 0034E5D4 2C 05 00 00 */ cmpwi r5, 0
-/* 80352978 0034E5D8 40 80 FF D4 */ bge lbl_8035294C
-lbl_8035297C:
-/* 8035297C 0034E5DC 38 60 00 01 */ li r3, 1
-lbl_80352980:
-/* 80352980 0034E5E0 39 61 00 90 */ addi r11, r1, 0x90
-/* 80352984 0034E5E4 4B E7 47 ED */ bl func_801C7170
-/* 80352988 0034E5E8 80 01 00 94 */ lwz r0, 0x94(r1)
-/* 8035298C 0034E5EC 7C 08 03 A6 */ mtlr r0
-/* 80352990 0034E5F0 38 21 00 90 */ addi r1, r1, 0x90
-/* 80352994 0034E5F4 4E 80 00 20 */ blr
-lbl_80352998:
-/* 80352998 0034E5F8 94 21 FF A0 */ stwu r1, -0x60(r1)
-/* 8035299C 0034E5FC 7C 08 02 A6 */ mflr r0
-/* 803529A0 0034E600 90 01 00 64 */ stw r0, 0x64(r1)
-/* 803529A4 0034E604 39 61 00 60 */ addi r11, r1, 0x60
-/* 803529A8 0034E608 4B E7 47 65 */ bl func_801C710C
-/* 803529AC 0034E60C 2C 04 00 00 */ cmpwi r4, 0
-/* 803529B0 0034E610 7C 75 1B 78 */ mr r21, r3
-/* 803529B4 0034E614 7C 96 23 78 */ mr r22, r4
-/* 803529B8 0034E618 7C B7 2B 78 */ mr r23, r5
-/* 803529BC 0034E61C 7C D8 33 78 */ mr r24, r6
-/* 803529C0 0034E620 7C F9 3B 78 */ mr r25, r7
-/* 803529C4 0034E624 7D 1A 43 78 */ mr r26, r8
-/* 803529C8 0034E628 3B A0 00 00 */ li r29, 0
-/* 803529CC 0034E62C 3B 80 00 00 */ li r28, 0
-/* 803529D0 0034E630 41 82 00 10 */ beq lbl_803529E0
-/* 803529D4 0034E634 83 C4 00 00 */ lwz r30, 0(r4)
-/* 803529D8 0034E638 2C 1E 00 00 */ cmpwi r30, 0
-/* 803529DC 0034E63C 40 82 00 2C */ bne lbl_80352A08
-lbl_803529E0:
-/* 803529E0 0034E640 80 A6 00 00 */ lwz r5, 0(r6)
-/* 803529E4 0034E644 7F 23 CB 78 */ mr r3, r25
-/* 803529E8 0034E648 7E E4 BB 78 */ mr r4, r23
-/* 803529EC 0034E64C 4B CB 16 15 */ bl memcpy
-/* 803529F0 0034E650 80 98 00 00 */ lwz r4, 0(r24)
-/* 803529F4 0034E654 38 00 00 00 */ li r0, 0
-/* 803529F8 0034E658 38 60 00 01 */ li r3, 1
-/* 803529FC 0034E65C 90 9A 00 00 */ stw r4, 0(r26)
-/* 80352A00 0034E660 90 18 00 00 */ stw r0, 0(r24)
-/* 80352A04 0034E664 48 00 01 94 */ b lbl_80352B98
-lbl_80352A08:
-/* 80352A08 0034E668 40 82 00 0C */ bne lbl_80352A14
-/* 80352A0C 0034E66C 38 60 00 03 */ li r3, 3
-/* 80352A10 0034E670 48 00 01 88 */ b lbl_80352B98
-lbl_80352A14:
-/* 80352A14 0034E674 3A 80 00 01 */ li r20, 1
-/* 80352A18 0034E678 48 00 01 58 */ b lbl_80352B70
-lbl_80352A1C:
-/* 80352A1C 0034E67C 7C 1D 00 50 */ subf r0, r29, r0
-/* 80352A20 0034E680 28 00 00 05 */ cmplwi r0, 5
-/* 80352A24 0034E684 41 80 01 58 */ blt lbl_80352B7C
-/* 80352A28 0034E688 7F 77 EA 14 */ add r27, r23, r29
-/* 80352A2C 0034E68C 88 1B 00 04 */ lbz r0, 4(r27)
-/* 80352A30 0034E690 88 7B 00 03 */ lbz r3, 3(r27)
-/* 80352A34 0034E694 50 03 44 2E */ rlwimi r3, r0, 8, 0x10, 0x17
-/* 80352A38 0034E698 4B FA 43 39 */ bl func_802F6D70
-/* 80352A3C 0034E69C 54 65 04 3E */ clrlwi r5, r3, 0x10
-/* 80352A40 0034E6A0 80 D8 00 00 */ lwz r6, 0(r24)
-/* 80352A44 0034E6A4 7C 9D 2A 14 */ add r4, r29, r5
-/* 80352A48 0034E6A8 7C 7F 1B 78 */ mr r31, r3
-/* 80352A4C 0034E6AC 38 04 00 05 */ addi r0, r4, 5
-/* 80352A50 0034E6B0 7C 06 00 00 */ cmpw r6, r0
-/* 80352A54 0034E6B4 41 80 01 28 */ blt lbl_80352B7C
-/* 80352A58 0034E6B8 80 75 01 9C */ lwz r3, 0x19c(r21)
-/* 80352A5C 0034E6BC 2C 03 00 00 */ cmpwi r3, 0
-/* 80352A60 0034E6C0 41 82 00 30 */ beq lbl_80352A90
-/* 80352A64 0034E6C4 80 1A 00 00 */ lwz r0, 0(r26)
-/* 80352A68 0034E6C8 7C 1C 00 50 */ subf r0, r28, r0
-/* 80352A6C 0034E6CC 7C 00 28 00 */ cmpw r0, r5
-/* 80352A70 0034E6D0 40 80 00 20 */ bge lbl_80352A90
-/* 80352A74 0034E6D4 93 B8 00 00 */ stw r29, 0(r24)
-/* 80352A78 0034E6D8 2C 1C 00 00 */ cmpwi r28, 0
-/* 80352A7C 0034E6DC 38 60 00 02 */ li r3, 2
-/* 80352A80 0034E6E0 93 9A 00 00 */ stw r28, 0(r26)
-/* 80352A84 0034E6E4 40 81 01 14 */ ble lbl_80352B98
-/* 80352A88 0034E6E8 38 60 00 01 */ li r3, 1
-/* 80352A8C 0034E6EC 48 00 01 0C */ b lbl_80352B98
-lbl_80352A90:
-/* 80352A90 0034E6F0 88 1B 00 00 */ lbz r0, 0(r27)
-/* 80352A94 0034E6F4 2C 00 00 16 */ cmpwi r0, 0x16
-/* 80352A98 0034E6F8 41 82 00 24 */ beq lbl_80352ABC
-/* 80352A9C 0034E6FC 40 80 00 14 */ bge lbl_80352AB0
-/* 80352AA0 0034E700 2C 00 00 14 */ cmpwi r0, 0x14
-/* 80352AA4 0034E704 41 82 00 A8 */ beq lbl_80352B4C
-/* 80352AA8 0034E708 40 80 00 B0 */ bge lbl_80352B58
-/* 80352AAC 0034E70C 48 00 00 B4 */ b lbl_80352B60
-lbl_80352AB0:
-/* 80352AB0 0034E710 2C 00 00 18 */ cmpwi r0, 0x18
-/* 80352AB4 0034E714 40 80 00 AC */ bge lbl_80352B60
-/* 80352AB8 0034E718 48 00 00 54 */ b lbl_80352B0C
-lbl_80352ABC:
-/* 80352ABC 0034E71C 2C 03 00 00 */ cmpwi r3, 0
-/* 80352AC0 0034E720 3B BD 00 05 */ addi r29, r29, 5
-/* 80352AC4 0034E724 41 82 00 18 */ beq lbl_80352ADC
-/* 80352AC8 0034E728 7C 97 EA 14 */ add r4, r23, r29
-/* 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 RC4Encrypt
-lbl_80352ADC:
-/* 80352ADC 0034E73C 7E A3 AB 78 */ mr r3, r21
-/* 80352AE0 0034E740 38 81 00 08 */ addi r4, r1, 8
-/* 80352AE4 0034E744 7C B7 EA 14 */ add r5, r23, r29
-/* 80352AE8 0034E748 57 E6 04 3E */ clrlwi r6, r31, 0x10
-/* 80352AEC 0034E74C 4B FF DE FD */ bl ghiInitReadOnlyBuffer
-/* 80352AF0 0034E750 7E A3 AB 78 */ mr r3, r21
-/* 80352AF4 0034E754 7E C4 B3 78 */ mr r4, r22
-/* 80352AF8 0034E758 38 A1 00 08 */ addi r5, r1, 8
-/* 80352AFC 0034E75C 48 00 00 B5 */ bl func_80352BB0
-/* 80352B00 0034E760 2C 03 00 01 */ cmpwi r3, 1
-/* 80352B04 0034E764 41 82 00 64 */ beq lbl_80352B68
-/* 80352B08 0034E768 48 00 00 90 */ b lbl_80352B98
-lbl_80352B0C:
-/* 80352B0C 0034E76C 2C 03 00 00 */ cmpwi r3, 0
-/* 80352B10 0034E770 3B BD 00 05 */ addi r29, r29, 5
-/* 80352B14 0034E774 41 82 00 18 */ beq lbl_80352B2C
-/* 80352B18 0034E778 7C 97 EA 14 */ add r4, r23, r29
-/* 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 RC4Encrypt
-lbl_80352B2C:
-/* 80352B2C 0034E78C 57 E4 04 3E */ clrlwi r4, r31, 0x10
-/* 80352B30 0034E790 7C 79 E2 14 */ add r3, r25, r28
-/* 80352B34 0034E794 3B 64 FF F0 */ addi r27, r4, -16
-/* 80352B38 0034E798 7C 97 EA 14 */ add r4, r23, r29
-/* 80352B3C 0034E79C 7F 65 DB 78 */ mr r5, r27
-/* 80352B40 0034E7A0 4B CB 14 C1 */ bl memcpy
-/* 80352B44 0034E7A4 7F 9C DA 14 */ add r28, r28, r27
-/* 80352B48 0034E7A8 48 00 00 20 */ b lbl_80352B68
-lbl_80352B4C:
-/* 80352B4C 0034E7AC 92 95 01 9C */ stw r20, 0x19c(r21)
-/* 80352B50 0034E7B0 3B BD 00 05 */ addi r29, r29, 5
-/* 80352B54 0034E7B4 48 00 00 14 */ b lbl_80352B68
-lbl_80352B58:
-/* 80352B58 0034E7B8 3B BD 00 05 */ addi r29, r29, 5
-/* 80352B5C 0034E7BC 48 00 00 0C */ b lbl_80352B68
-lbl_80352B60:
-/* 80352B60 0034E7C0 38 60 00 03 */ li r3, 3
-/* 80352B64 0034E7C4 48 00 00 34 */ b lbl_80352B98
-lbl_80352B68:
-/* 80352B68 0034E7C8 57 E0 04 3E */ clrlwi r0, r31, 0x10
-/* 80352B6C 0034E7CC 7F BD 02 14 */ add r29, r29, r0
-lbl_80352B70:
-/* 80352B70 0034E7D0 80 18 00 00 */ lwz r0, 0(r24)
-/* 80352B74 0034E7D4 7C 1D 00 00 */ cmpw r29, r0
-/* 80352B78 0034E7D8 41 80 FE A4 */ blt lbl_80352A1C
-lbl_80352B7C:
-/* 80352B7C 0034E7DC 93 B8 00 00 */ stw r29, 0(r24)
-/* 80352B80 0034E7E0 38 60 00 01 */ li r3, 1
-/* 80352B84 0034E7E4 93 9A 00 00 */ stw r28, 0(r26)
-/* 80352B88 0034E7E8 80 18 00 00 */ lwz r0, 0(r24)
-/* 80352B8C 0034E7EC 2C 00 00 00 */ cmpwi r0, 0
-/* 80352B90 0034E7F0 40 80 00 08 */ bge lbl_80352B98
-/* 80352B94 0034E7F4 38 60 00 03 */ li r3, 3
-lbl_80352B98:
-/* 80352B98 0034E7F8 39 61 00 60 */ addi r11, r1, 0x60
-/* 80352B9C 0034E7FC 4B E7 45 BD */ bl func_801C7158
-/* 80352BA0 0034E800 80 01 00 64 */ lwz r0, 0x64(r1)
-/* 80352BA4 0034E804 7C 08 03 A6 */ mtlr r0
-/* 80352BA8 0034E808 38 21 00 60 */ addi r1, r1, 0x60
-/* 80352BAC 0034E80C 4E 80 00 20 */ blr
-
-.global func_80352BB0
-func_80352BB0:
-/* 80352BB0 0034E810 94 21 FF 50 */ stwu r1, -0xb0(r1)
-/* 80352BB4 0034E814 7C 08 02 A6 */ mflr r0
-/* 80352BB8 0034E818 90 01 00 B4 */ stw r0, 0xb4(r1)
-/* 80352BBC 0034E81C 39 61 00 B0 */ addi r11, r1, 0xb0
-/* 80352BC0 0034E820 4B E7 45 35 */ bl __save_gpr
-/* 80352BC4 0034E824 83 E4 00 00 */ lwz r31, 0(r4)
-/* 80352BC8 0034E828 7C 7B 1B 78 */ mr r27, r3
-/* 80352BCC 0034E82C 7C BC 2B 78 */ mr r28, r5
-/* 80352BD0 0034E830 3A 21 00 25 */ addi r17, r1, 0x25
-/* 80352BD4 0034E834 3A 40 00 00 */ li r18, 0
-/* 80352BD8 0034E838 3E A0 80 40 */ lis r21, 0x8040
-/* 80352BDC 0034E83C 3A C0 00 03 */ li r22, 3
-/* 80352BE0 0034E840 3A E0 00 16 */ li r23, 0x16
-/* 80352BE4 0034E844 3B 00 00 14 */ li r24, 0x14
-/* 80352BE8 0034E848 39 C0 00 01 */ li r14, 1
-/* 80352BEC 0034E84C 3F 20 80 45 */ lis r25, 0x8045
-/* 80352BF0 0034E850 3F 40 80 45 */ lis r26, 0x8045
-/* 80352BF4 0034E854 48 00 10 44 */ b lbl_80353C38
-lbl_80352BF8:
-/* 80352BF8 0034E858 9A 41 00 09 */ stb r18, 9(r1)
-/* 80352BFC 0034E85C 7F 83 E3 78 */ mr r3, r28
-/* 80352C00 0034E860 38 81 00 09 */ addi r4, r1, 9
-/* 80352C04 0034E864 38 A0 00 01 */ li r5, 1
-/* 80352C08 0034E868 4B FF E5 41 */ bl ghiReadDataFromBufferFixed
-/* 80352C0C 0034E86C 2C 03 00 00 */ cmpwi r3, 0
-/* 80352C10 0034E870 40 82 00 0C */ bne lbl_80352C1C
-/* 80352C14 0034E874 38 60 00 03 */ li r3, 3
-/* 80352C18 0034E878 48 00 10 3C */ b lbl_80353C54
-lbl_80352C1C:
-/* 80352C1C 0034E87C 88 01 00 09 */ lbz r0, 9(r1)
-/* 80352C20 0034E880 7C 00 07 74 */ extsb r0, r0
-/* 80352C24 0034E884 2C 00 00 02 */ cmpwi r0, 2
-/* 80352C28 0034E888 40 82 01 AC */ bne lbl_80352DD4
-/* 80352C2C 0034E88C 92 41 00 34 */ stw r18, 0x34(r1)
-/* 80352C30 0034E890 92 41 00 30 */ stw r18, 0x30(r1)
-/* 80352C34 0034E894 9A 41 00 08 */ stb r18, 8(r1)
-/* 80352C38 0034E898 80 1F 00 00 */ lwz r0, 0(r31)
-/* 80352C3C 0034E89C 2C 00 00 00 */ cmpwi r0, 0
-/* 80352C40 0034E8A0 41 82 00 0C */ beq lbl_80352C4C
-/* 80352C44 0034E8A4 38 60 00 03 */ li r3, 3
-/* 80352C48 0034E8A8 48 00 10 0C */ b lbl_80353C54
-lbl_80352C4C:
-/* 80352C4C 0034E8AC 7F 83 E3 78 */ mr r3, r28
-/* 80352C50 0034E8B0 38 81 00 35 */ addi r4, r1, 0x35
-/* 80352C54 0034E8B4 38 A0 00 03 */ li r5, 3
-/* 80352C58 0034E8B8 4B FF E4 F1 */ bl ghiReadDataFromBufferFixed
-/* 80352C5C 0034E8BC 2C 03 00 00 */ cmpwi r3, 0
-/* 80352C60 0034E8C0 40 82 00 0C */ bne lbl_80352C6C
-/* 80352C64 0034E8C4 38 00 00 00 */ li r0, 0
-/* 80352C68 0034E8C8 48 00 00 14 */ b lbl_80352C7C
-lbl_80352C6C:
-/* 80352C6C 0034E8CC 80 61 00 34 */ lwz r3, 0x34(r1)
-/* 80352C70 0034E8D0 4B FA 41 09 */ bl func_802F6D78
-/* 80352C74 0034E8D4 90 61 00 34 */ stw r3, 0x34(r1)
-/* 80352C78 0034E8D8 38 00 00 01 */ li r0, 1
-lbl_80352C7C:
-/* 80352C7C 0034E8DC 2C 00 00 00 */ cmpwi r0, 0
-/* 80352C80 0034E8E0 40 82 00 0C */ bne lbl_80352C8C
-/* 80352C84 0034E8E4 38 60 00 03 */ li r3, 3
-/* 80352C88 0034E8E8 48 00 0F CC */ b lbl_80353C54
-lbl_80352C8C:
-/* 80352C8C 0034E8EC 80 7C 00 10 */ lwz r3, 0x10(r28)
-/* 80352C90 0034E8F0 80 1C 00 0C */ lwz r0, 0xc(r28)
-/* 80352C94 0034E8F4 80 81 00 34 */ lwz r4, 0x34(r1)
-/* 80352C98 0034E8F8 7C 03 00 50 */ subf r0, r3, r0
-/* 80352C9C 0034E8FC 7C 04 00 00 */ cmpw r4, r0
-/* 80352CA0 0034E900 40 81 00 0C */ ble lbl_80352CAC
-/* 80352CA4 0034E904 38 60 00 03 */ li r3, 3
-/* 80352CA8 0034E908 48 00 0F AC */ b lbl_80353C54
-lbl_80352CAC:
-/* 80352CAC 0034E90C 38 03 00 02 */ addi r0, r3, 2
-/* 80352CB0 0034E910 7F 83 E3 78 */ mr r3, r28
-/* 80352CB4 0034E914 90 1C 00 10 */ stw r0, 0x10(r28)
-/* 80352CB8 0034E918 38 9F 06 64 */ addi r4, r31, 0x664
-/* 80352CBC 0034E91C 38 A0 00 20 */ li r5, 0x20
-/* 80352CC0 0034E920 4B FF E4 89 */ bl ghiReadDataFromBufferFixed
-/* 80352CC4 0034E924 2C 03 00 00 */ cmpwi r3, 0
-/* 80352CC8 0034E928 40 82 00 0C */ bne lbl_80352CD4
-/* 80352CCC 0034E92C 38 60 00 03 */ li r3, 3
-/* 80352CD0 0034E930 48 00 0F 84 */ b lbl_80353C54
-lbl_80352CD4:
-/* 80352CD4 0034E934 7F 83 E3 78 */ mr r3, r28
-/* 80352CD8 0034E938 38 81 00 08 */ addi r4, r1, 8
-/* 80352CDC 0034E93C 38 A0 00 01 */ li r5, 1
-/* 80352CE0 0034E940 4B FF E4 69 */ bl ghiReadDataFromBufferFixed
-/* 80352CE4 0034E944 2C 03 00 00 */ cmpwi r3, 0
-/* 80352CE8 0034E948 40 82 00 0C */ bne lbl_80352CF4
-/* 80352CEC 0034E94C 38 60 00 03 */ li r3, 3
-/* 80352CF0 0034E950 48 00 0F 64 */ b lbl_80353C54
-lbl_80352CF4:
-/* 80352CF4 0034E954 88 A1 00 08 */ lbz r5, 8(r1)
-/* 80352CF8 0034E958 7F 83 E3 78 */ mr r3, r28
-/* 80352CFC 0034E95C 38 9F 00 04 */ addi r4, r31, 4
-/* 80352D00 0034E960 7C A5 07 74 */ extsb r5, r5
-/* 80352D04 0034E964 4B FF E4 45 */ bl ghiReadDataFromBufferFixed
-/* 80352D08 0034E968 2C 03 00 00 */ cmpwi r3, 0
-/* 80352D0C 0034E96C 40 82 00 0C */ bne lbl_80352D18
-/* 80352D10 0034E970 38 60 00 03 */ li r3, 3
-/* 80352D14 0034E974 48 00 0F 40 */ b lbl_80353C54
-lbl_80352D18:
-/* 80352D18 0034E978 88 01 00 08 */ lbz r0, 8(r1)
-/* 80352D1C 0034E97C 7F 83 E3 78 */ mr r3, r28
-/* 80352D20 0034E980 38 81 00 32 */ addi r4, r1, 0x32
-/* 80352D24 0034E984 38 A0 00 02 */ li r5, 2
-/* 80352D28 0034E988 7C 00 07 74 */ extsb r0, r0
-/* 80352D2C 0034E98C 90 1F 00 00 */ stw r0, 0(r31)
-/* 80352D30 0034E990 4B FF E4 19 */ bl ghiReadDataFromBufferFixed
-/* 80352D34 0034E994 2C 03 00 00 */ cmpwi r3, 0
-/* 80352D38 0034E998 40 82 00 0C */ bne lbl_80352D44
-/* 80352D3C 0034E99C 38 00 00 00 */ li r0, 0
-/* 80352D40 0034E9A0 48 00 00 14 */ b lbl_80352D54
-lbl_80352D44:
-/* 80352D44 0034E9A4 80 61 00 30 */ lwz r3, 0x30(r1)
-/* 80352D48 0034E9A8 4B FA 40 31 */ bl func_802F6D78
-/* 80352D4C 0034E9AC 90 61 00 30 */ stw r3, 0x30(r1)
-/* 80352D50 0034E9B0 38 00 00 01 */ li r0, 1
-lbl_80352D54:
-/* 80352D54 0034E9B4 2C 00 00 00 */ cmpwi r0, 0
-/* 80352D58 0034E9B8 40 82 00 0C */ bne lbl_80352D64
-/* 80352D5C 0034E9BC 38 60 00 03 */ li r3, 3
-/* 80352D60 0034E9C0 48 00 0E F4 */ b lbl_80353C54
-lbl_80352D64:
-/* 80352D64 0034E9C4 80 01 00 30 */ lwz r0, 0x30(r1)
-/* 80352D68 0034E9C8 7F 83 E3 78 */ mr r3, r28
-/* 80352D6C 0034E9CC 38 81 00 08 */ addi r4, r1, 8
-/* 80352D70 0034E9D0 38 A0 00 01 */ li r5, 1
-/* 80352D74 0034E9D4 B0 1F 01 04 */ sth r0, 0x104(r31)
-/* 80352D78 0034E9D8 4B FF E3 D1 */ bl ghiReadDataFromBufferFixed
-/* 80352D7C 0034E9DC 2C 03 00 00 */ cmpwi r3, 0
-/* 80352D80 0034E9E0 40 82 00 0C */ bne lbl_80352D8C
-/* 80352D84 0034E9E4 38 60 00 03 */ li r3, 3
-/* 80352D88 0034E9E8 48 00 0E CC */ b lbl_80353C54
-lbl_80352D8C:
-/* 80352D8C 0034E9EC 88 01 00 08 */ lbz r0, 8(r1)
-/* 80352D90 0034E9F0 7C 00 07 75 */ extsb. r0, r0
-/* 80352D94 0034E9F4 41 82 00 0C */ beq lbl_80352DA0
-/* 80352D98 0034E9F8 38 60 00 03 */ li r3, 3
-/* 80352D9C 0034E9FC 48 00 0E B8 */ b lbl_80353C54
-lbl_80352DA0:
-/* 80352DA0 0034EA00 80 9C 00 10 */ lwz r4, 0x10(r28)
-/* 80352DA4 0034EA04 38 7F 05 A4 */ addi r3, r31, 0x5a4
-/* 80352DA8 0034EA08 80 1C 00 04 */ lwz r0, 4(r28)
-/* 80352DAC 0034EA0C 7D F0 20 50 */ subf r15, r16, r4
-/* 80352DB0 0034EA10 7D E5 7B 78 */ mr r5, r15
-/* 80352DB4 0034EA14 7C 80 82 14 */ add r4, r0, r16
-/* 80352DB8 0034EA18 4B FE 3F 2D */ bl MD5Update
-/* 80352DBC 0034EA1C 80 1C 00 04 */ lwz r0, 4(r28)
-/* 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 SHA1Input
-/* 80352DD0 0034EA30 48 00 0E 68 */ b lbl_80353C38
-lbl_80352DD4:
-/* 80352DD4 0034EA34 2C 00 00 0B */ cmpwi r0, 0xb
-/* 80352DD8 0034EA38 40 82 09 34 */ bne lbl_8035370C
-/* 80352DDC 0034EA3C 92 41 00 2C */ stw r18, 0x2c(r1)
-/* 80352DE0 0034EA40 7F 83 E3 78 */ mr r3, r28
-/* 80352DE4 0034EA44 38 81 00 2D */ addi r4, r1, 0x2d
-/* 80352DE8 0034EA48 3B C0 00 00 */ li r30, 0
-/* 80352DEC 0034EA4C 92 41 00 28 */ stw r18, 0x28(r1)
-/* 80352DF0 0034EA50 38 A0 00 03 */ li r5, 3
-/* 80352DF4 0034EA54 4B FF E3 55 */ bl ghiReadDataFromBufferFixed
-/* 80352DF8 0034EA58 2C 03 00 00 */ cmpwi r3, 0
-/* 80352DFC 0034EA5C 40 82 00 0C */ bne lbl_80352E08
-/* 80352E00 0034EA60 38 00 00 00 */ li r0, 0
-/* 80352E04 0034EA64 48 00 00 14 */ b lbl_80352E18
-lbl_80352E08:
-/* 80352E08 0034EA68 80 61 00 2C */ lwz r3, 0x2c(r1)
-/* 80352E0C 0034EA6C 4B FA 3F 6D */ bl func_802F6D78
-/* 80352E10 0034EA70 90 61 00 2C */ stw r3, 0x2c(r1)
-/* 80352E14 0034EA74 38 00 00 01 */ li r0, 1
-lbl_80352E18:
-/* 80352E18 0034EA78 2C 00 00 00 */ cmpwi r0, 0
-/* 80352E1C 0034EA7C 40 82 00 0C */ bne lbl_80352E28
-/* 80352E20 0034EA80 38 60 00 03 */ li r3, 3
-/* 80352E24 0034EA84 48 00 0E 30 */ b lbl_80353C54
-lbl_80352E28:
-/* 80352E28 0034EA88 7F 83 E3 78 */ mr r3, r28
-/* 80352E2C 0034EA8C 38 81 00 29 */ addi r4, r1, 0x29
-/* 80352E30 0034EA90 38 A0 00 03 */ li r5, 3
-/* 80352E34 0034EA94 4B FF E3 15 */ bl ghiReadDataFromBufferFixed
-/* 80352E38 0034EA98 2C 03 00 00 */ cmpwi r3, 0
-/* 80352E3C 0034EA9C 40 82 00 0C */ bne lbl_80352E48
-/* 80352E40 0034EAA0 38 00 00 00 */ li r0, 0
-/* 80352E44 0034EAA4 48 00 00 14 */ b lbl_80352E58
-lbl_80352E48:
-/* 80352E48 0034EAA8 80 61 00 28 */ lwz r3, 0x28(r1)
-/* 80352E4C 0034EAAC 4B FA 3F 2D */ bl func_802F6D78
-/* 80352E50 0034EAB0 90 61 00 28 */ stw r3, 0x28(r1)
-/* 80352E54 0034EAB4 38 00 00 01 */ li r0, 1
-lbl_80352E58:
-/* 80352E58 0034EAB8 2C 00 00 00 */ cmpwi r0, 0
-/* 80352E5C 0034EABC 40 82 00 0C */ bne lbl_80352E68
-/* 80352E60 0034EAC0 38 60 00 03 */ li r3, 3
-/* 80352E64 0034EAC4 48 00 0D F0 */ b lbl_80353C54
-lbl_80352E68:
-/* 80352E68 0034EAC8 80 81 00 28 */ lwz r4, 0x28(r1)
-/* 80352E6C 0034EACC 80 61 00 2C */ lwz r3, 0x2c(r1)
-/* 80352E70 0034EAD0 38 04 00 03 */ addi r0, r4, 3
-/* 80352E74 0034EAD4 7C 03 00 00 */ cmpw r3, r0
-/* 80352E78 0034EAD8 41 82 00 0C */ beq lbl_80352E84
-/* 80352E7C 0034EADC 38 60 00 03 */ li r3, 3
-/* 80352E80 0034EAE0 48 00 0D D4 */ b lbl_80353C54
-lbl_80352E84:
-/* 80352E84 0034EAE4 80 7C 00 10 */ lwz r3, 0x10(r28)
-/* 80352E88 0034EAE8 80 1C 00 0C */ lwz r0, 0xc(r28)
-/* 80352E8C 0034EAEC 7F A3 22 14 */ add r29, r3, r4
-/* 80352E90 0034EAF0 7C 03 00 50 */ subf r0, r3, r0
-/* 80352E94 0034EAF4 7C 04 00 00 */ cmpw r4, r0
-/* 80352E98 0034EAF8 40 81 00 0C */ ble lbl_80352EA4
-/* 80352E9C 0034EAFC 38 60 00 03 */ li r3, 3
-/* 80352EA0 0034EB00 48 00 0D B4 */ b lbl_80353C54
-lbl_80352EA4:
-/* 80352EA4 0034EB04 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
-/* 80352EA8 0034EB08 3A 63 FF FF */ addi r19, r3, 0x0000FFFF@l
-/* 80352EAC 0034EB0C 48 00 08 18 */ b lbl_803536C4
-lbl_80352EB0:
-/* 80352EB0 0034EB10 92 41 00 24 */ stw r18, 0x24(r1)
-/* 80352EB4 0034EB14 7F 83 E3 78 */ mr r3, r28
-/* 80352EB8 0034EB18 7E 24 8B 78 */ mr r4, r17
-/* 80352EBC 0034EB1C 38 A0 00 03 */ li r5, 3
-/* 80352EC0 0034EB20 4B FF E2 89 */ bl ghiReadDataFromBufferFixed
-/* 80352EC4 0034EB24 2C 03 00 00 */ cmpwi r3, 0
-/* 80352EC8 0034EB28 40 82 00 0C */ bne lbl_80352ED4
-/* 80352ECC 0034EB2C 38 00 00 00 */ li r0, 0
-/* 80352ED0 0034EB30 48 00 00 14 */ b lbl_80352EE4
-lbl_80352ED4:
-/* 80352ED4 0034EB34 80 61 00 24 */ lwz r3, 0x24(r1)
-/* 80352ED8 0034EB38 4B FA 3E A1 */ bl func_802F6D78
-/* 80352EDC 0034EB3C 90 61 00 24 */ stw r3, 0x24(r1)
-/* 80352EE0 0034EB40 38 00 00 01 */ li r0, 1
-lbl_80352EE4:
-/* 80352EE4 0034EB44 2C 00 00 00 */ cmpwi r0, 0
-/* 80352EE8 0034EB48 40 82 00 0C */ bne lbl_80352EF4
-/* 80352EEC 0034EB4C 38 60 00 03 */ li r3, 3
-/* 80352EF0 0034EB50 48 00 0D 64 */ b lbl_80353C54
-lbl_80352EF4:
-/* 80352EF4 0034EB54 81 FC 00 10 */ lwz r15, 0x10(r28)
-/* 80352EF8 0034EB58 80 1C 00 0C */ lwz r0, 0xc(r28)
-/* 80352EFC 0034EB5C 80 61 00 24 */ lwz r3, 0x24(r1)
-/* 80352F00 0034EB60 7C 0F 00 50 */ subf r0, r15, r0
-/* 80352F04 0034EB64 7C 03 00 00 */ cmpw r3, r0
-/* 80352F08 0034EB68 40 81 00 0C */ ble lbl_80352F14
-/* 80352F0C 0034EB6C 38 60 00 03 */ li r3, 3
-/* 80352F10 0034EB70 48 00 0D 44 */ b lbl_80353C54
-lbl_80352F14:
-/* 80352F14 0034EB74 7C 03 98 00 */ cmpw r3, r19
-/* 80352F18 0034EB78 40 81 00 0C */ ble lbl_80352F24
-/* 80352F1C 0034EB7C 38 60 00 03 */ li r3, 3
-/* 80352F20 0034EB80 48 00 0D 34 */ b lbl_80353C54
-lbl_80352F24:
-/* 80352F24 0034EB84 3B DE 00 01 */ addi r30, r30, 1
-/* 80352F28 0034EB88 2C 1E 00 01 */ cmpwi r30, 1
-/* 80352F2C 0034EB8C 40 82 07 8C */ bne lbl_803536B8
-/* 80352F30 0034EB90 92 41 00 20 */ stw r18, 0x20(r1)
-/* 80352F34 0034EB94 7F 83 E3 78 */ mr r3, r28
-/* 80352F38 0034EB98 38 81 00 20 */ addi r4, r1, 0x20
-/* 80352F3C 0034EB9C 4B FF F0 65 */ bl func_80351FA0
-/* 80352F40 0034EBA0 2C 03 00 00 */ cmpwi r3, 0
-/* 80352F44 0034EBA4 40 82 00 0C */ bne lbl_80352F50
-/* 80352F48 0034EBA8 38 60 00 03 */ li r3, 3
-/* 80352F4C 0034EBAC 48 00 0D 08 */ b lbl_80353C54
-lbl_80352F50:
-/* 80352F50 0034EBB0 7F 83 E3 78 */ mr r3, r28
-/* 80352F54 0034EBB4 38 81 00 20 */ addi r4, r1, 0x20
-/* 80352F58 0034EBB8 4B FF F0 49 */ bl func_80351FA0
-/* 80352F5C 0034EBBC 2C 03 00 00 */ cmpwi r3, 0
-/* 80352F60 0034EBC0 40 82 00 0C */ bne lbl_80352F6C
-/* 80352F64 0034EBC4 38 60 00 03 */ li r3, 3
-/* 80352F68 0034EBC8 48 00 0C EC */ b lbl_80353C54
-lbl_80352F6C:
-/* 80352F6C 0034EBCC 80 9C 00 10 */ lwz r4, 0x10(r28)
-/* 80352F70 0034EBD0 80 1C 00 0C */ lwz r0, 0xc(r28)
-/* 80352F74 0034EBD4 7C 04 00 50 */ subf r0, r4, r0
-/* 80352F78 0034EBD8 2C 00 00 05 */ cmpwi r0, 5
-/* 80352F7C 0034EBDC 40 80 00 0C */ bge lbl_80352F88
-/* 80352F80 0034EBE0 38 60 00 03 */ li r3, 3
-/* 80352F84 0034EBE4 48 00 0C D0 */ b lbl_80353C54
-lbl_80352F88:
-/* 80352F88 0034EBE8 38 A4 00 01 */ addi r5, r4, 1
-/* 80352F8C 0034EBEC 80 7C 00 04 */ lwz r3, 4(r28)
-/* 80352F90 0034EBF0 90 BC 00 10 */ stw r5, 0x10(r28)
-/* 80352F94 0034EBF4 7C 03 20 AE */ lbzx r0, r3, r4
-/* 80352F98 0034EBF8 28 00 00 A0 */ cmplwi r0, 0xa0
-/* 80352F9C 0034EBFC 41 82 00 0C */ beq lbl_80352FA8
-/* 80352FA0 0034EC00 38 60 00 03 */ li r3, 3
-/* 80352FA4 0034EC04 48 00 0C B0 */ b lbl_80353C54
-lbl_80352FA8:
-/* 80352FA8 0034EC08 38 85 00 01 */ addi r4, r5, 1
-/* 80352FAC 0034EC0C 90 9C 00 10 */ stw r4, 0x10(r28)
-/* 80352FB0 0034EC10 7C 03 28 AE */ lbzx r0, r3, r5
-/* 80352FB4 0034EC14 28 00 00 03 */ cmplwi r0, 3
-/* 80352FB8 0034EC18 41 82 00 0C */ beq lbl_80352FC4
-/* 80352FBC 0034EC1C 38 60 00 03 */ li r3, 3
-/* 80352FC0 0034EC20 48 00 0C 94 */ b lbl_80353C54
-lbl_80352FC4:
-/* 80352FC4 0034EC24 38 A4 00 01 */ addi r5, r4, 1
-/* 80352FC8 0034EC28 90 BC 00 10 */ stw r5, 0x10(r28)
-/* 80352FCC 0034EC2C 7C 03 20 AE */ lbzx r0, r3, r4
-/* 80352FD0 0034EC30 28 00 00 02 */ cmplwi r0, 2
-/* 80352FD4 0034EC34 41 82 00 0C */ beq lbl_80352FE0
-/* 80352FD8 0034EC38 38 60 00 03 */ li r3, 3
-/* 80352FDC 0034EC3C 48 00 0C 78 */ b lbl_80353C54
-lbl_80352FE0:
-/* 80352FE0 0034EC40 38 85 00 01 */ addi r4, r5, 1
-/* 80352FE4 0034EC44 90 9C 00 10 */ stw r4, 0x10(r28)
-/* 80352FE8 0034EC48 7C 03 28 AE */ lbzx r0, r3, r5
-/* 80352FEC 0034EC4C 28 00 00 01 */ cmplwi r0, 1
-/* 80352FF0 0034EC50 41 82 00 0C */ beq lbl_80352FFC
-/* 80352FF4 0034EC54 38 60 00 03 */ li r3, 3
-/* 80352FF8 0034EC58 48 00 0C 5C */ b lbl_80353C54
-lbl_80352FFC:
-/* 80352FFC 0034EC5C 38 A4 00 01 */ addi r5, r4, 1
-/* 80353000 0034EC60 38 85 00 01 */ addi r4, r5, 1
-/* 80353004 0034EC64 90 9C 00 10 */ stw r4, 0x10(r28)
-/* 80353008 0034EC68 7C 03 28 AE */ lbzx r0, r3, r5
-/* 8035300C 0034EC6C 28 00 00 02 */ cmplwi r0, 2
-/* 80353010 0034EC70 41 82 00 0C */ beq lbl_8035301C
-/* 80353014 0034EC74 38 60 00 03 */ li r3, 3
-/* 80353018 0034EC78 48 00 0C 3C */ b lbl_80353C54
-lbl_8035301C:
-/* 8035301C 0034EC7C 38 04 00 01 */ addi r0, r4, 1
-/* 80353020 0034EC80 90 1C 00 10 */ stw r0, 0x10(r28)
-/* 80353024 0034EC84 7E 83 20 AE */ lbzx r20, r3, r4
-/* 80353028 0034EC88 7C 00 A2 14 */ add r0, r0, r20
-/* 8035302C 0034EC8C 7C 00 E8 00 */ cmpw r0, r29
-/* 80353030 0034EC90 40 81 00 0C */ ble lbl_8035303C
-/* 80353034 0034EC94 38 60 00 03 */ li r3, 3
-/* 80353038 0034EC98 48 00 0C 1C */ b lbl_80353C54
-lbl_8035303C:
-/* 8035303C 0034EC9C 90 1C 00 10 */ stw r0, 0x10(r28)
-/* 80353040 0034ECA0 7F 83 E3 78 */ mr r3, r28
-/* 80353044 0034ECA4 38 81 00 20 */ addi r4, r1, 0x20
-/* 80353048 0034ECA8 4B FF EF 59 */ bl func_80351FA0
-/* 8035304C 0034ECAC 2C 03 00 00 */ cmpwi r3, 0
-/* 80353050 0034ECB0 40 82 00 0C */ bne lbl_8035305C
-/* 80353054 0034ECB4 38 60 00 03 */ li r3, 3
-/* 80353058 0034ECB8 48 00 0B FC */ b lbl_80353C54
-lbl_8035305C:
-/* 8035305C 0034ECBC 80 BC 00 10 */ lwz r5, 0x10(r28)
-/* 80353060 0034ECC0 7F 83 E3 78 */ mr r3, r28
-/* 80353064 0034ECC4 80 01 00 20 */ lwz r0, 0x20(r1)
-/* 80353068 0034ECC8 38 81 00 20 */ addi r4, r1, 0x20
-/* 8035306C 0034ECCC 7C 05 02 14 */ add r0, r5, r0
-/* 80353070 0034ECD0 90 1C 00 10 */ stw r0, 0x10(r28)
-/* 80353074 0034ECD4 4B FF EF 2D */ bl func_80351FA0
-/* 80353078 0034ECD8 2C 03 00 00 */ cmpwi r3, 0
-/* 8035307C 0034ECDC 40 82 00 0C */ bne lbl_80353088
-/* 80353080 0034ECE0 38 60 00 03 */ li r3, 3
-/* 80353084 0034ECE4 48 00 0B D0 */ b lbl_80353C54
-lbl_80353088:
-/* 80353088 0034ECE8 80 BC 00 10 */ lwz r5, 0x10(r28)
-/* 8035308C 0034ECEC 7F 83 E3 78 */ mr r3, r28
-/* 80353090 0034ECF0 80 01 00 20 */ lwz r0, 0x20(r1)
-/* 80353094 0034ECF4 38 81 00 20 */ addi r4, r1, 0x20
-/* 80353098 0034ECF8 7C 05 02 14 */ add r0, r5, r0
-/* 8035309C 0034ECFC 90 1C 00 10 */ stw r0, 0x10(r28)
-/* 803530A0 0034ED00 4B FF EF 01 */ bl func_80351FA0
-/* 803530A4 0034ED04 2C 03 00 00 */ cmpwi r3, 0
-/* 803530A8 0034ED08 40 82 00 0C */ bne lbl_803530B4
-/* 803530AC 0034ED0C 38 60 00 03 */ li r3, 3
-/* 803530B0 0034ED10 48 00 0B A4 */ b lbl_80353C54
-lbl_803530B4:
-/* 803530B4 0034ED14 80 BC 00 10 */ lwz r5, 0x10(r28)
-/* 803530B8 0034ED18 7F 83 E3 78 */ mr r3, r28
-/* 803530BC 0034ED1C 80 01 00 20 */ lwz r0, 0x20(r1)
-/* 803530C0 0034ED20 38 81 00 20 */ addi r4, r1, 0x20
-/* 803530C4 0034ED24 7C 05 02 14 */ add r0, r5, r0
-/* 803530C8 0034ED28 90 1C 00 10 */ stw r0, 0x10(r28)
-/* 803530CC 0034ED2C 4B FF EE D5 */ bl func_80351FA0
-/* 803530D0 0034ED30 2C 03 00 00 */ cmpwi r3, 0
-/* 803530D4 0034ED34 40 82 00 0C */ bne lbl_803530E0
-/* 803530D8 0034ED38 38 60 00 03 */ li r3, 3
-/* 803530DC 0034ED3C 48 00 0B 78 */ b lbl_80353C54
-lbl_803530E0:
-/* 803530E0 0034ED40 80 BC 00 10 */ lwz r5, 0x10(r28)
-/* 803530E4 0034ED44 7F 83 E3 78 */ mr r3, r28
-/* 803530E8 0034ED48 80 01 00 20 */ lwz r0, 0x20(r1)
-/* 803530EC 0034ED4C 38 81 00 20 */ addi r4, r1, 0x20
-/* 803530F0 0034ED50 7C 05 02 14 */ add r0, r5, r0
-/* 803530F4 0034ED54 90 1C 00 10 */ stw r0, 0x10(r28)
-/* 803530F8 0034ED58 4B FF EE A9 */ bl func_80351FA0
-/* 803530FC 0034ED5C 2C 03 00 00 */ cmpwi r3, 0
-/* 80353100 0034ED60 40 82 00 0C */ bne lbl_8035310C
-/* 80353104 0034ED64 38 60 00 03 */ li r3, 3
-/* 80353108 0034ED68 48 00 0B 4C */ b lbl_80353C54
-lbl_8035310C:
-/* 8035310C 0034ED6C 7F 83 E3 78 */ mr r3, r28
-/* 80353110 0034ED70 38 81 00 20 */ addi r4, r1, 0x20
-/* 80353114 0034ED74 4B FF EE 8D */ bl func_80351FA0
-/* 80353118 0034ED78 2C 03 00 00 */ cmpwi r3, 0
-/* 8035311C 0034ED7C 40 82 00 0C */ bne lbl_80353128
-/* 80353120 0034ED80 38 60 00 03 */ li r3, 3
-/* 80353124 0034ED84 48 00 0B 30 */ b lbl_80353C54
-lbl_80353128:
-/* 80353128 0034ED88 80 01 00 20 */ lwz r0, 0x20(r1)
-/* 8035312C 0034ED8C 2C 00 00 0D */ cmpwi r0, 0xd
-/* 80353130 0034ED90 41 82 00 0C */ beq lbl_8035313C
-/* 80353134 0034ED94 38 60 00 03 */ li r3, 3
-/* 80353138 0034ED98 48 00 0B 1C */ b lbl_80353C54
-lbl_8035313C:
-/* 8035313C 0034ED9C 80 7C 00 10 */ lwz r3, 0x10(r28)
-/* 80353140 0034EDA0 80 BC 00 04 */ lwz r5, 4(r28)
-/* 80353144 0034EDA4 38 83 00 01 */ addi r4, r3, 1
-/* 80353148 0034EDA8 90 9C 00 10 */ stw r4, 0x10(r28)
-/* 8035314C 0034EDAC 7C 05 18 AE */ lbzx r0, r5, r3
-/* 80353150 0034EDB0 28 00 00 06 */ cmplwi r0, 6
-/* 80353154 0034EDB4 41 82 00 0C */ beq lbl_80353160
-/* 80353158 0034EDB8 38 60 00 03 */ li r3, 3
-/* 8035315C 0034EDBC 48 00 0A F8 */ b lbl_80353C54
-lbl_80353160:
-/* 80353160 0034EDC0 38 64 00 01 */ addi r3, r4, 1
-/* 80353164 0034EDC4 90 7C 00 10 */ stw r3, 0x10(r28)
-/* 80353168 0034EDC8 7C 05 20 AE */ lbzx r0, r5, r4
-/* 8035316C 0034EDCC 28 00 00 09 */ cmplwi r0, 9
-/* 80353170 0034EDD0 41 82 00 0C */ beq lbl_8035317C
-/* 80353174 0034EDD4 38 60 00 03 */ li r3, 3
-/* 80353178 0034EDD8 48 00 0A DC */ b lbl_80353C54
-lbl_8035317C:
-/* 8035317C 0034EDDC 7C 65 1A 14 */ add r3, r5, r3
-/* 80353180 0034EDE0 38 95 25 70 */ addi r4, r21, 0x2570
-/* 80353184 0034EDE4 38 A0 00 09 */ li r5, 9
-/* 80353188 0034EDE8 4B E7 72 11 */ bl func_801CA398
-/* 8035318C 0034EDEC 2C 03 00 00 */ cmpwi r3, 0
-/* 80353190 0034EDF0 41 82 00 0C */ beq lbl_8035319C
-/* 80353194 0034EDF4 38 60 00 03 */ li r3, 3
-/* 80353198 0034EDF8 48 00 0A BC */ b lbl_80353C54
-lbl_8035319C:
-/* 8035319C 0034EDFC 80 9C 00 10 */ lwz r4, 0x10(r28)
-/* 803531A0 0034EE00 80 7C 00 04 */ lwz r3, 4(r28)
-/* 803531A4 0034EE04 38 84 00 09 */ addi r4, r4, 9
-/* 803531A8 0034EE08 38 A4 00 01 */ addi r5, r4, 1
-/* 803531AC 0034EE0C 90 BC 00 10 */ stw r5, 0x10(r28)
-/* 803531B0 0034EE10 7C 03 20 AE */ lbzx r0, r3, r4
-/* 803531B4 0034EE14 28 00 00 05 */ cmplwi r0, 5
-/* 803531B8 0034EE18 41 82 00 0C */ beq lbl_803531C4
-/* 803531BC 0034EE1C 38 60 00 03 */ li r3, 3
-/* 803531C0 0034EE20 48 00 0A 94 */ b lbl_80353C54
-lbl_803531C4:
-/* 803531C4 0034EE24 38 85 00 01 */ addi r4, r5, 1
-/* 803531C8 0034EE28 90 9C 00 10 */ stw r4, 0x10(r28)
-/* 803531CC 0034EE2C 7C 03 28 AE */ lbzx r0, r3, r5
-/* 803531D0 0034EE30 2C 00 00 00 */ cmpwi r0, 0
-/* 803531D4 0034EE34 41 82 00 0C */ beq lbl_803531E0
-/* 803531D8 0034EE38 38 60 00 03 */ li r3, 3
-/* 803531DC 0034EE3C 48 00 0A 78 */ b lbl_80353C54
-lbl_803531E0:
-/* 803531E0 0034EE40 7C 04 E8 50 */ subf r0, r4, r29
-/* 803531E4 0034EE44 2C 00 00 02 */ cmpwi r0, 2
-/* 803531E8 0034EE48 40 80 00 0C */ bge lbl_803531F4
-/* 803531EC 0034EE4C 38 60 00 03 */ li r3, 3
-/* 803531F0 0034EE50 48 00 0A 64 */ b lbl_80353C54
-lbl_803531F4:
-/* 803531F4 0034EE54 38 A4 00 01 */ addi r5, r4, 1
-/* 803531F8 0034EE58 90 BC 00 10 */ stw r5, 0x10(r28)
-/* 803531FC 0034EE5C 7C 03 20 AE */ lbzx r0, r3, r4
-/* 80353200 0034EE60 28 00 00 03 */ cmplwi r0, 3
-/* 80353204 0034EE64 41 82 00 0C */ beq lbl_80353210
-/* 80353208 0034EE68 38 60 00 03 */ li r3, 3
-/* 8035320C 0034EE6C 48 00 0A 48 */ b lbl_80353C54
-lbl_80353210:
-/* 80353210 0034EE70 38 85 00 01 */ addi r4, r5, 1
-/* 80353214 0034EE74 90 9C 00 10 */ stw r4, 0x10(r28)
-/* 80353218 0034EE78 7C 03 28 AE */ lbzx r0, r3, r5
-/* 8035321C 0034EE7C 28 00 00 81 */ cmplwi r0, 0x81
-/* 80353220 0034EE80 41 82 00 0C */ beq lbl_8035322C
-/* 80353224 0034EE84 38 60 00 03 */ li r3, 3
-/* 80353228 0034EE88 48 00 0A 2C */ b lbl_80353C54
-lbl_8035322C:
-/* 8035322C 0034EE8C 7C 04 E8 50 */ subf r0, r4, r29
-/* 80353230 0034EE90 7C 14 00 00 */ cmpw r20, r0
-/* 80353234 0034EE94 40 81 00 0C */ ble lbl_80353240
-/* 80353238 0034EE98 38 60 00 03 */ li r3, 3
-/* 8035323C 0034EE9C 48 00 0A 18 */ b lbl_80353C54
-lbl_80353240:
-/* 80353240 0034EEA0 38 84 00 01 */ addi r4, r4, 1
-/* 80353244 0034EEA4 38 04 00 01 */ addi r0, r4, 1
-/* 80353248 0034EEA8 90 1C 00 10 */ stw r0, 0x10(r28)
-/* 8035324C 0034EEAC 7C 03 20 AE */ lbzx r0, r3, r4
-/* 80353250 0034EEB0 2C 00 00 00 */ cmpwi r0, 0
-/* 80353254 0034EEB4 41 82 00 0C */ beq lbl_80353260
-/* 80353258 0034EEB8 38 60 00 03 */ li r3, 3
-/* 8035325C 0034EEBC 48 00 09 F8 */ b lbl_80353C54
-lbl_80353260:
-/* 80353260 0034EEC0 7F 83 E3 78 */ mr r3, r28
-/* 80353264 0034EEC4 38 81 00 20 */ addi r4, r1, 0x20
-/* 80353268 0034EEC8 4B FF ED 39 */ bl func_80351FA0
-/* 8035326C 0034EECC 2C 03 00 00 */ cmpwi r3, 0
-/* 80353270 0034EED0 40 82 00 0C */ bne lbl_8035327C
-/* 80353274 0034EED4 38 60 00 03 */ li r3, 3
-/* 80353278 0034EED8 48 00 09 DC */ b lbl_80353C54
-lbl_8035327C:
-/* 8035327C 0034EEDC 80 9C 00 10 */ lwz r4, 0x10(r28)
-/* 80353280 0034EEE0 80 BC 00 04 */ lwz r5, 4(r28)
-/* 80353284 0034EEE4 38 64 00 01 */ addi r3, r4, 1
-/* 80353288 0034EEE8 90 7C 00 10 */ stw r3, 0x10(r28)
-/* 8035328C 0034EEEC 7C 05 20 AE */ lbzx r0, r5, r4
-/* 80353290 0034EEF0 7C 00 07 74 */ extsb r0, r0
-/* 80353294 0034EEF4 2C 00 00 02 */ cmpwi r0, 2
-/* 80353298 0034EEF8 41 82 00 0C */ beq lbl_803532A4
-/* 8035329C 0034EEFC 38 60 00 03 */ li r3, 3
-/* 803532A0 0034EF00 48 00 09 B4 */ b lbl_80353C54
-lbl_803532A4:
-/* 803532A4 0034EF04 7C 05 18 AE */ lbzx r0, r5, r3
-/* 803532A8 0034EF08 54 00 06 30 */ rlwinm r0, r0, 0, 0x18, 0x18
-/* 803532AC 0034EF0C 2C 00 00 80 */ cmpwi r0, 0x80
-/* 803532B0 0034EF10 40 82 01 34 */ bne lbl_803533E4
-/* 803532B4 0034EF14 38 03 00 01 */ addi r0, r3, 1
-/* 803532B8 0034EF18 90 1C 00 10 */ stw r0, 0x10(r28)
-/* 803532BC 0034EF1C 7C 05 18 AE */ lbzx r0, r5, r3
-/* 803532C0 0034EF20 54 07 06 7E */ clrlwi r7, r0, 0x19
-/* 803532C4 0034EF24 2C 07 00 04 */ cmpwi r7, 4
-/* 803532C8 0034EF28 40 81 00 0C */ ble lbl_803532D4
-/* 803532CC 0034EF2C 38 60 00 03 */ li r3, 3
-/* 803532D0 0034EF30 48 00 09 84 */ b lbl_80353C54
-lbl_803532D4:
-/* 803532D4 0034EF34 2C 07 00 00 */ cmpwi r7, 0
-/* 803532D8 0034EF38 3A 80 00 00 */ li r20, 0
-/* 803532DC 0034EF3C 40 81 01 14 */ ble lbl_803533F0
-/* 803532E0 0034EF40 54 E0 E8 FF */ rlwinm. r0, r7, 0x1d, 3, 0x1f
-/* 803532E4 0034EF44 7C 09 03 A6 */ mtctr r0
-/* 803532E8 0034EF48 41 82 00 D4 */ beq lbl_803533BC
-lbl_803532EC:
-/* 803532EC 0034EF4C 80 9C 00 10 */ lwz r4, 0x10(r28)
-/* 803532F0 0034EF50 56 86 40 2E */ slwi r6, r20, 8
-/* 803532F4 0034EF54 80 BC 00 04 */ lwz r5, 4(r28)
-/* 803532F8 0034EF58 38 64 00 01 */ addi r3, r4, 1
-/* 803532FC 0034EF5C 90 7C 00 10 */ stw r3, 0x10(r28)
-/* 80353300 0034EF60 7C 05 20 AE */ lbzx r0, r5, r4
-/* 80353304 0034EF64 7C 64 1B 78 */ mr r4, r3
-/* 80353308 0034EF68 38 63 00 01 */ addi r3, r3, 1
-/* 8035330C 0034EF6C 90 7C 00 10 */ stw r3, 0x10(r28)
-/* 80353310 0034EF70 7C D4 03 78 */ or r20, r6, r0
-/* 80353314 0034EF74 56 86 40 2E */ slwi r6, r20, 8
-/* 80353318 0034EF78 7C 05 20 AE */ lbzx r0, r5, r4
-/* 8035331C 0034EF7C 7C 64 1B 78 */ mr r4, r3
-/* 80353320 0034EF80 38 63 00 01 */ addi r3, r3, 1
-/* 80353324 0034EF84 90 7C 00 10 */ stw r3, 0x10(r28)
-/* 80353328 0034EF88 7C D4 03 78 */ or r20, r6, r0
-/* 8035332C 0034EF8C 56 86 40 2E */ slwi r6, r20, 8
-/* 80353330 0034EF90 7C 05 20 AE */ lbzx r0, r5, r4
-/* 80353334 0034EF94 7C 64 1B 78 */ mr r4, r3
-/* 80353338 0034EF98 38 63 00 01 */ addi r3, r3, 1
-/* 8035333C 0034EF9C 90 7C 00 10 */ stw r3, 0x10(r28)
-/* 80353340 0034EFA0 7C D4 03 78 */ or r20, r6, r0
-/* 80353344 0034EFA4 56 86 40 2E */ slwi r6, r20, 8
-/* 80353348 0034EFA8 7C 05 20 AE */ lbzx r0, r5, r4
-/* 8035334C 0034EFAC 7C 64 1B 78 */ mr r4, r3
-/* 80353350 0034EFB0 38 63 00 01 */ addi r3, r3, 1
-/* 80353354 0034EFB4 90 7C 00 10 */ stw r3, 0x10(r28)
-/* 80353358 0034EFB8 7C D4 03 78 */ or r20, r6, r0
-/* 8035335C 0034EFBC 56 86 40 2E */ slwi r6, r20, 8
-/* 80353360 0034EFC0 7C 05 20 AE */ lbzx r0, r5, r4
-/* 80353364 0034EFC4 7C 64 1B 78 */ mr r4, r3
-/* 80353368 0034EFC8 38 63 00 01 */ addi r3, r3, 1
-/* 8035336C 0034EFCC 90 7C 00 10 */ stw r3, 0x10(r28)
-/* 80353370 0034EFD0 7C D4 03 78 */ or r20, r6, r0
-/* 80353374 0034EFD4 56 86 40 2E */ slwi r6, r20, 8
-/* 80353378 0034EFD8 7C 05 20 AE */ lbzx r0, r5, r4
-/* 8035337C 0034EFDC 7C 64 1B 78 */ mr r4, r3
-/* 80353380 0034EFE0 38 63 00 01 */ addi r3, r3, 1
-/* 80353384 0034EFE4 90 7C 00 10 */ stw r3, 0x10(r28)
-/* 80353388 0034EFE8 7C D4 03 78 */ or r20, r6, r0
-/* 8035338C 0034EFEC 56 86 40 2E */ slwi r6, r20, 8
-/* 80353390 0034EFF0 7C 05 20 AE */ lbzx r0, r5, r4
-/* 80353394 0034EFF4 7C 64 1B 78 */ mr r4, r3
-/* 80353398 0034EFF8 38 63 00 01 */ addi r3, r3, 1
-/* 8035339C 0034EFFC 90 7C 00 10 */ stw r3, 0x10(r28)
-/* 803533A0 0034F000 7C D4 03 78 */ or r20, r6, r0
-/* 803533A4 0034F004 56 86 40 2E */ slwi r6, r20, 8
-/* 803533A8 0034F008 7C 05 20 AE */ lbzx r0, r5, r4
-/* 803533AC 0034F00C 7C D4 03 78 */ or r20, r6, r0
-/* 803533B0 0034F010 42 00 FF 3C */ bdnz lbl_803532EC
-/* 803533B4 0034F014 70 E7 00 07 */ andi. r7, r7, 7
-/* 803533B8 0034F018 41 82 00 38 */ beq lbl_803533F0
-lbl_803533BC:
-/* 803533BC 0034F01C 7C E9 03 A6 */ mtctr r7
-lbl_803533C0:
-/* 803533C0 0034F020 80 9C 00 10 */ lwz r4, 0x10(r28)
-/* 803533C4 0034F024 56 86 40 2E */ slwi r6, r20, 8
-/* 803533C8 0034F028 80 BC 00 04 */ lwz r5, 4(r28)
-/* 803533CC 0034F02C 38 64 00 01 */ addi r3, r4, 1
-/* 803533D0 0034F030 90 7C 00 10 */ stw r3, 0x10(r28)
-/* 803533D4 0034F034 7C 05 20 AE */ lbzx r0, r5, r4
-/* 803533D8 0034F038 7C D4 03 78 */ or r20, r6, r0
-/* 803533DC 0034F03C 42 00 FF E4 */ bdnz lbl_803533C0
-/* 803533E0 0034F040 48 00 00 10 */ b lbl_803533F0
-lbl_803533E4:
-/* 803533E4 0034F044 38 03 00 01 */ addi r0, r3, 1
-/* 803533E8 0034F048 90 1C 00 10 */ stw r0, 0x10(r28)
-/* 803533EC 0034F04C 7E 85 18 AE */ lbzx r20, r5, r3
-lbl_803533F0:
-/* 803533F0 0034F050 80 9C 00 10 */ lwz r4, 0x10(r28)
-/* 803533F4 0034F054 7C 04 A2 14 */ add r0, r4, r20
-/* 803533F8 0034F058 7C 00 E8 00 */ cmpw r0, r29
-/* 803533FC 0034F05C 40 81 00 0C */ ble lbl_80353408
-/* 80353400 0034F060 38 60 00 03 */ li r3, 3
-/* 80353404 0034F064 48 00 08 50 */ b lbl_80353C54
-lbl_80353408:
-/* 80353408 0034F068 38 04 00 01 */ addi r0, r4, 1
-/* 8035340C 0034F06C 80 7C 00 04 */ lwz r3, 4(r28)
-/* 80353410 0034F070 90 1C 00 10 */ stw r0, 0x10(r28)
-/* 80353414 0034F074 7C 03 20 AE */ lbzx r0, r3, r4
-/* 80353418 0034F078 7C 00 07 75 */ extsb. r0, r0
-/* 8035341C 0034F07C 41 82 00 0C */ beq lbl_80353428
-/* 80353420 0034F080 38 60 00 03 */ li r3, 3
-/* 80353424 0034F084 48 00 08 30 */ b lbl_80353C54
-lbl_80353428:
-/* 80353428 0034F088 38 B4 FF FF */ addi r5, r20, -1
-/* 8035342C 0034F08C 28 05 08 00 */ cmplwi r5, 0x800
-/* 80353430 0034F090 40 81 00 0C */ ble lbl_8035343C
-/* 80353434 0034F094 38 60 00 03 */ li r3, 3
-/* 80353438 0034F098 48 00 08 1C */ b lbl_80353C54
-lbl_8035343C:
-/* 8035343C 0034F09C 54 A0 F0 02 */ slwi r0, r5, 0x1e
-/* 80353440 0034F0A0 54 A3 0F FE */ srwi r3, r5, 0x1f
-/* 80353444 0034F0A4 7C 03 00 50 */ subf r0, r3, r0
-/* 80353448 0034F0A8 7C A4 16 70 */ srawi r4, r5, 2
-/* 8035344C 0034F0AC 54 00 10 3E */ rotlwi r0, r0, 2
-/* 80353450 0034F0B0 7C 84 01 94 */ addze r4, r4
-/* 80353454 0034F0B4 7C 00 1A 14 */ add r0, r0, r3
-/* 80353458 0034F0B8 90 9F 01 08 */ stw r4, 0x108(r31)
-/* 8035345C 0034F0BC 20 00 00 04 */ subfic r0, r0, 4
-/* 80353460 0034F0C0 54 04 F0 02 */ slwi r4, r0, 0x1e
-/* 80353464 0034F0C4 80 7C 00 04 */ lwz r3, 4(r28)
-/* 80353468 0034F0C8 54 07 0F FE */ srwi r7, r0, 0x1f
-/* 8035346C 0034F0CC 80 1C 00 10 */ lwz r0, 0x10(r28)
-/* 80353470 0034F0D0 7C 87 20 50 */ subf r4, r7, r4
-/* 80353474 0034F0D4 54 86 10 3E */ rotlwi r6, r4, 2
-/* 80353478 0034F0D8 7C 83 02 14 */ add r4, r3, r0
-/* 8035347C 0034F0DC 7C 06 3A 14 */ add r0, r6, r7
-/* 80353480 0034F0E0 7C 7F 02 14 */ add r3, r31, r0
-/* 80353484 0034F0E4 38 63 01 0C */ addi r3, r3, 0x10c
-/* 80353488 0034F0E8 4B CB 0B 79 */ bl memcpy
-/* 8035348C 0034F0EC 38 7F 01 08 */ addi r3, r31, 0x108
-/* 80353490 0034F0F0 4B FE 8A 81 */ bl gsLargeIntReverseBytes
-/* 80353494 0034F0F4 80 1C 00 10 */ lwz r0, 0x10(r28)
-/* 80353498 0034F0F8 80 BC 00 04 */ lwz r5, 4(r28)
-/* 8035349C 0034F0FC 7C 74 02 14 */ add r3, r20, r0
-/* 803534A0 0034F100 38 83 FF FF */ addi r4, r3, -1
-/* 803534A4 0034F104 38 64 00 01 */ addi r3, r4, 1
-/* 803534A8 0034F108 90 7C 00 10 */ stw r3, 0x10(r28)
-/* 803534AC 0034F10C 7C 05 20 AE */ lbzx r0, r5, r4
-/* 803534B0 0034F110 7C 00 07 74 */ extsb r0, r0
-/* 803534B4 0034F114 2C 00 00 02 */ cmpwi r0, 2
-/* 803534B8 0034F118 41 82 00 0C */ beq lbl_803534C4
-/* 803534BC 0034F11C 38 60 00 03 */ li r3, 3
-/* 803534C0 0034F120 48 00 07 94 */ b lbl_80353C54
-lbl_803534C4:
-/* 803534C4 0034F124 7C 05 18 AE */ lbzx r0, r5, r3
-/* 803534C8 0034F128 54 00 06 30 */ rlwinm r0, r0, 0, 0x18, 0x18
-/* 803534CC 0034F12C 2C 00 00 80 */ cmpwi r0, 0x80
-/* 803534D0 0034F130 40 82 01 34 */ bne lbl_80353604
-/* 803534D4 0034F134 38 03 00 01 */ addi r0, r3, 1
-/* 803534D8 0034F138 90 1C 00 10 */ stw r0, 0x10(r28)
-/* 803534DC 0034F13C 7C 05 18 AE */ lbzx r0, r5, r3
-/* 803534E0 0034F140 54 07 06 7E */ clrlwi r7, r0, 0x19
-/* 803534E4 0034F144 2C 07 00 04 */ cmpwi r7, 4
-/* 803534E8 0034F148 40 81 00 0C */ ble lbl_803534F4
-/* 803534EC 0034F14C 38 60 00 03 */ li r3, 3
-/* 803534F0 0034F150 48 00 07 64 */ b lbl_80353C54
-lbl_803534F4:
-/* 803534F4 0034F154 2C 07 00 00 */ cmpwi r7, 0
-/* 803534F8 0034F158 3A 80 00 00 */ li r20, 0
-/* 803534FC 0034F15C 40 81 01 14 */ ble lbl_80353610
-/* 80353500 0034F160 54 E0 E8 FF */ rlwinm. r0, r7, 0x1d, 3, 0x1f
-/* 80353504 0034F164 7C 09 03 A6 */ mtctr r0
-/* 80353508 0034F168 41 82 00 D4 */ beq lbl_803535DC
-lbl_8035350C:
-/* 8035350C 0034F16C 80 9C 00 10 */ lwz r4, 0x10(r28)
-/* 80353510 0034F170 56 86 40 2E */ slwi r6, r20, 8
-/* 80353514 0034F174 80 BC 00 04 */ lwz r5, 4(r28)
-/* 80353518 0034F178 38 64 00 01 */ addi r3, r4, 1
-/* 8035351C 0034F17C 90 7C 00 10 */ stw r3, 0x10(r28)
-/* 80353520 0034F180 7C 05 20 AE */ lbzx r0, r5, r4
-/* 80353524 0034F184 7C 64 1B 78 */ mr r4, r3
-/* 80353528 0034F188 38 63 00 01 */ addi r3, r3, 1
-/* 8035352C 0034F18C 90 7C 00 10 */ stw r3, 0x10(r28)
-/* 80353530 0034F190 7C D4 03 78 */ or r20, r6, r0
-/* 80353534 0034F194 56 86 40 2E */ slwi r6, r20, 8
-/* 80353538 0034F198 7C 05 20 AE */ lbzx r0, r5, r4
-/* 8035353C 0034F19C 7C 64 1B 78 */ mr r4, r3
-/* 80353540 0034F1A0 38 63 00 01 */ addi r3, r3, 1
-/* 80353544 0034F1A4 90 7C 00 10 */ stw r3, 0x10(r28)
-/* 80353548 0034F1A8 7C D4 03 78 */ or r20, r6, r0
-/* 8035354C 0034F1AC 56 86 40 2E */ slwi r6, r20, 8
-/* 80353550 0034F1B0 7C 05 20 AE */ lbzx r0, r5, r4
-/* 80353554 0034F1B4 7C 64 1B 78 */ mr r4, r3
-/* 80353558 0034F1B8 38 63 00 01 */ addi r3, r3, 1
-/* 8035355C 0034F1BC 90 7C 00 10 */ stw r3, 0x10(r28)
-/* 80353560 0034F1C0 7C D4 03 78 */ or r20, r6, r0
-/* 80353564 0034F1C4 56 86 40 2E */ slwi r6, r20, 8
-/* 80353568 0034F1C8 7C 05 20 AE */ lbzx r0, r5, r4
-/* 8035356C 0034F1CC 7C 64 1B 78 */ mr r4, r3
-/* 80353570 0034F1D0 38 63 00 01 */ addi r3, r3, 1
-/* 80353574 0034F1D4 90 7C 00 10 */ stw r3, 0x10(r28)
-/* 80353578 0034F1D8 7C D4 03 78 */ or r20, r6, r0
-/* 8035357C 0034F1DC 56 86 40 2E */ slwi r6, r20, 8
-/* 80353580 0034F1E0 7C 05 20 AE */ lbzx r0, r5, r4
-/* 80353584 0034F1E4 7C 64 1B 78 */ mr r4, r3
-/* 80353588 0034F1E8 38 63 00 01 */ addi r3, r3, 1
-/* 8035358C 0034F1EC 90 7C 00 10 */ stw r3, 0x10(r28)
-/* 80353590 0034F1F0 7C D4 03 78 */ or r20, r6, r0
-/* 80353594 0034F1F4 56 86 40 2E */ slwi r6, r20, 8
-/* 80353598 0034F1F8 7C 05 20 AE */ lbzx r0, r5, r4
-/* 8035359C 0034F1FC 7C 64 1B 78 */ mr r4, r3
-/* 803535A0 0034F200 38 63 00 01 */ addi r3, r3, 1
-/* 803535A4 0034F204 90 7C 00 10 */ stw r3, 0x10(r28)
-/* 803535A8 0034F208 7C D4 03 78 */ or r20, r6, r0
-/* 803535AC 0034F20C 56 86 40 2E */ slwi r6, r20, 8
-/* 803535B0 0034F210 7C 05 20 AE */ lbzx r0, r5, r4
-/* 803535B4 0034F214 7C 64 1B 78 */ mr r4, r3
-/* 803535B8 0034F218 38 63 00 01 */ addi r3, r3, 1
-/* 803535BC 0034F21C 90 7C 00 10 */ stw r3, 0x10(r28)
-/* 803535C0 0034F220 7C D4 03 78 */ or r20, r6, r0
-/* 803535C4 0034F224 56 86 40 2E */ slwi r6, r20, 8
-/* 803535C8 0034F228 7C 05 20 AE */ lbzx r0, r5, r4
-/* 803535CC 0034F22C 7C D4 03 78 */ or r20, r6, r0
-/* 803535D0 0034F230 42 00 FF 3C */ bdnz lbl_8035350C
-/* 803535D4 0034F234 70 E7 00 07 */ andi. r7, r7, 7
-/* 803535D8 0034F238 41 82 00 38 */ beq lbl_80353610
-lbl_803535DC:
-/* 803535DC 0034F23C 7C E9 03 A6 */ mtctr r7
-lbl_803535E0:
-/* 803535E0 0034F240 80 9C 00 10 */ lwz r4, 0x10(r28)
-/* 803535E4 0034F244 56 86 40 2E */ slwi r6, r20, 8
-/* 803535E8 0034F248 80 BC 00 04 */ lwz r5, 4(r28)
-/* 803535EC 0034F24C 38 64 00 01 */ addi r3, r4, 1
-/* 803535F0 0034F250 90 7C 00 10 */ stw r3, 0x10(r28)
-/* 803535F4 0034F254 7C 05 20 AE */ lbzx r0, r5, r4
-/* 803535F8 0034F258 7C D4 03 78 */ or r20, r6, r0
-/* 803535FC 0034F25C 42 00 FF E4 */ bdnz lbl_803535E0
-/* 80353600 0034F260 48 00 00 10 */ b lbl_80353610
-lbl_80353604:
-/* 80353604 0034F264 38 03 00 01 */ addi r0, r3, 1
-/* 80353608 0034F268 90 1C 00 10 */ stw r0, 0x10(r28)
-/* 8035360C 0034F26C 7E 85 18 AE */ lbzx r20, r5, r3
-lbl_80353610:
-/* 80353610 0034F270 80 1C 00 10 */ lwz r0, 0x10(r28)
-/* 80353614 0034F274 7C 00 A2 14 */ add r0, r0, r20
-/* 80353618 0034F278 7C 00 E8 00 */ cmpw r0, r29
-/* 8035361C 0034F27C 40 81 00 0C */ ble lbl_80353628
-/* 80353620 0034F280 38 60 00 03 */ li r3, 3
-/* 80353624 0034F284 48 00 06 30 */ b lbl_80353C54
-lbl_80353628:
-/* 80353628 0034F288 2C 14 00 00 */ cmpwi r20, 0
-/* 8035362C 0034F28C 40 82 00 0C */ bne lbl_80353638
-/* 80353630 0034F290 38 60 00 03 */ li r3, 3
-/* 80353634 0034F294 48 00 06 20 */ b lbl_80353C54
-lbl_80353638:
-/* 80353638 0034F298 28 14 08 00 */ cmplwi r20, 0x800
-/* 8035363C 0034F29C 40 81 00 0C */ ble lbl_80353648
-/* 80353640 0034F2A0 38 60 00 03 */ li r3, 3
-/* 80353644 0034F2A4 48 00 06 10 */ b lbl_80353C54
-lbl_80353648:
-/* 80353648 0034F2A8 56 80 F0 02 */ slwi r0, r20, 0x1e
-/* 8035364C 0034F2AC 56 83 0F FE */ srwi r3, r20, 0x1f
-/* 80353650 0034F2B0 38 94 FF FF */ addi r4, r20, -1
-/* 80353654 0034F2B4 7E 85 A3 78 */ mr r5, r20
-/* 80353658 0034F2B8 7C 03 00 50 */ subf r0, r3, r0
-/* 8035365C 0034F2BC 7C 84 16 70 */ srawi r4, r4, 2
-/* 80353660 0034F2C0 54 00 10 3E */ rotlwi r0, r0, 2
-/* 80353664 0034F2C4 7C 84 01 94 */ addze r4, r4
-/* 80353668 0034F2C8 7C 00 1A 14 */ add r0, r0, r3
-/* 8035366C 0034F2CC 20 60 00 04 */ subfic r3, r0, 4
-/* 80353670 0034F2D0 38 04 00 01 */ addi r0, r4, 1
-/* 80353674 0034F2D4 90 1F 02 0C */ stw r0, 0x20c(r31)
-/* 80353678 0034F2D8 54 60 F0 02 */ slwi r0, r3, 0x1e
-/* 8035367C 0034F2DC 54 66 0F FE */ srwi r6, r3, 0x1f
-/* 80353680 0034F2E0 7C 06 00 50 */ subf r0, r6, r0
-/* 80353684 0034F2E4 80 7C 00 04 */ lwz r3, 4(r28)
-/* 80353688 0034F2E8 54 04 10 3E */ rotlwi r4, r0, 2
-/* 8035368C 0034F2EC 80 1C 00 10 */ lwz r0, 0x10(r28)
-/* 80353690 0034F2F0 7C 84 32 14 */ add r4, r4, r6
-/* 80353694 0034F2F4 7C DF 22 14 */ add r6, r31, r4
-/* 80353698 0034F2F8 7C 83 02 14 */ add r4, r3, r0
-/* 8035369C 0034F2FC 38 66 02 10 */ addi r3, r6, 0x210
-/* 803536A0 0034F300 4B CB 09 61 */ bl memcpy
-/* 803536A4 0034F304 38 7F 02 0C */ addi r3, r31, 0x20c
-/* 803536A8 0034F308 4B FE 88 69 */ bl gsLargeIntReverseBytes
-/* 803536AC 0034F30C 80 1C 00 10 */ lwz r0, 0x10(r28)
-/* 803536B0 0034F310 7C 00 A2 14 */ add r0, r0, r20
-/* 803536B4 0034F314 90 1C 00 10 */ stw r0, 0x10(r28)
-lbl_803536B8:
-/* 803536B8 0034F318 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 803536BC 0034F31C 7C 0F 02 14 */ add r0, r15, r0
-/* 803536C0 0034F320 90 1C 00 10 */ stw r0, 0x10(r28)
-lbl_803536C4:
-/* 803536C4 0034F324 80 7C 00 10 */ lwz r3, 0x10(r28)
-/* 803536C8 0034F328 7C 03 E8 00 */ cmpw r3, r29
-/* 803536CC 0034F32C 41 80 F7 E4 */ blt lbl_80352EB0
-/* 803536D0 0034F330 41 82 00 0C */ beq lbl_803536DC
-/* 803536D4 0034F334 38 60 00 03 */ li r3, 3
-/* 803536D8 0034F338 48 00 05 7C */ b lbl_80353C54
-lbl_803536DC:
-/* 803536DC 0034F33C 80 1C 00 04 */ lwz r0, 4(r28)
-/* 803536E0 0034F340 7D F0 18 50 */ subf r15, r16, r3
-/* 803536E4 0034F344 7D E5 7B 78 */ mr r5, r15
-/* 803536E8 0034F348 38 7F 05 A4 */ addi r3, r31, 0x5a4
-/* 803536EC 0034F34C 7C 80 82 14 */ add r4, r0, r16
-/* 803536F0 0034F350 4B FE 35 F5 */ bl MD5Update
-/* 803536F4 0034F354 80 1C 00 04 */ lwz r0, 4(r28)
-/* 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 SHA1Input
-/* 80353708 0034F368 48 00 05 30 */ b lbl_80353C38
-lbl_8035370C:
-/* 8035370C 0034F36C 2C 00 00 0E */ cmpwi r0, 0xe
-/* 80353710 0034F370 40 82 05 0C */ bne lbl_80353C1C
-/* 80353714 0034F374 92 41 00 1C */ stw r18, 0x1c(r1)
-/* 80353718 0034F378 7F 83 E3 78 */ mr r3, r28
-/* 8035371C 0034F37C 38 81 00 1D */ addi r4, r1, 0x1d
-/* 80353720 0034F380 38 A0 00 03 */ li r5, 3
-/* 80353724 0034F384 4B FF DA 25 */ bl ghiReadDataFromBufferFixed
-/* 80353728 0034F388 2C 03 00 00 */ cmpwi r3, 0
-/* 8035372C 0034F38C 40 82 00 0C */ bne lbl_80353738
-/* 80353730 0034F390 38 00 00 00 */ li r0, 0
-/* 80353734 0034F394 48 00 00 14 */ b lbl_80353748
-lbl_80353738:
-/* 80353738 0034F398 80 61 00 1C */ lwz r3, 0x1c(r1)
-/* 8035373C 0034F39C 4B FA 36 3D */ bl func_802F6D78
-/* 80353740 0034F3A0 90 61 00 1C */ stw r3, 0x1c(r1)
-/* 80353744 0034F3A4 38 00 00 01 */ li r0, 1
-lbl_80353748:
-/* 80353748 0034F3A8 2C 00 00 00 */ cmpwi r0, 0
-/* 8035374C 0034F3AC 40 82 00 0C */ bne lbl_80353758
-/* 80353750 0034F3B0 38 60 00 03 */ li r3, 3
-/* 80353754 0034F3B4 48 00 05 00 */ b lbl_80353C54
-lbl_80353758:
-/* 80353758 0034F3B8 80 01 00 1C */ lwz r0, 0x1c(r1)
-/* 8035375C 0034F3BC 2C 00 00 00 */ cmpwi r0, 0
-/* 80353760 0034F3C0 41 82 00 0C */ beq lbl_8035376C
-/* 80353764 0034F3C4 38 60 00 03 */ li r3, 3
-/* 80353768 0034F3C8 48 00 04 EC */ b lbl_80353C54
-lbl_8035376C:
-/* 8035376C 0034F3CC 80 9C 00 04 */ lwz r4, 4(r28)
-/* 80353770 0034F3D0 38 7F 05 A4 */ addi r3, r31, 0x5a4
-/* 80353774 0034F3D4 80 1C 00 10 */ lwz r0, 0x10(r28)
-/* 80353778 0034F3D8 7C 84 82 14 */ add r4, r4, r16
-/* 8035377C 0034F3DC 7C B0 00 50 */ subf r5, r16, r0
-/* 80353780 0034F3E0 4B FE 35 65 */ bl MD5Update
-/* 80353784 0034F3E4 80 9C 00 04 */ lwz r4, 4(r28)
-/* 80353788 0034F3E8 38 7F 05 FC */ addi r3, r31, 0x5fc
-/* 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 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
-/* 803537A8 0034F408 90 01 00 1C */ stw r0, 0x1c(r1)
-/* 803537AC 0034F40C 48 00 00 20 */ b lbl_803537CC
-lbl_803537B0:
-/* 803537B0 0034F410 80 9B 00 68 */ lwz r4, 0x68(r27)
-/* 803537B4 0034F414 38 7B 00 54 */ addi r3, r27, 0x54
-/* 803537B8 0034F418 4B FF D0 3D */ bl ghiResizeBuffer
-/* 803537BC 0034F41C 2C 03 00 00 */ cmpwi r3, 0
-/* 803537C0 0034F420 40 82 00 0C */ bne lbl_803537CC
-/* 803537C4 0034F424 38 60 00 03 */ li r3, 3
-/* 803537C8 0034F428 48 00 04 8C */ b lbl_80353C54
-lbl_803537CC:
-/* 803537CC 0034F42C 80 9B 00 60 */ lwz r4, 0x60(r27)
-/* 803537D0 0034F430 80 7B 00 5C */ lwz r3, 0x5c(r27)
-/* 803537D4 0034F434 80 01 00 1C */ lwz r0, 0x1c(r1)
-/* 803537D8 0034F438 7C 64 18 50 */ subf r3, r4, r3
-/* 803537DC 0034F43C 7C 03 00 00 */ cmpw r3, r0
-/* 803537E0 0034F440 41 80 FF D0 */ blt lbl_803537B0
-/* 803537E4 0034F444 9A DF 06 A4 */ stb r22, 0x6a4(r31)
-/* 803537E8 0034F448 39 E0 00 02 */ li r15, 2
-/* 803537EC 0034F44C 9A 5F 06 A5 */ stb r18, 0x6a5(r31)
-lbl_803537F0:
-/* 803537F0 0034F450 4B FE 57 E9 */ bl current_time
-/* 803537F4 0034F454 4B FE 58 6D */ bl Util_RandSeed
-/* 803537F8 0034F458 38 60 00 00 */ li r3, 0
-/* 803537FC 0034F45C 38 80 01 00 */ li r4, 0x100
-/* 80353800 0034F460 4B FE 58 79 */ bl Util_RandInt
-/* 80353804 0034F464 7C 9F 7A 14 */ add r4, r31, r15
-/* 80353808 0034F468 39 EF 00 01 */ addi r15, r15, 1
-/* 8035380C 0034F46C 2C 0F 00 30 */ cmpwi r15, 0x30
-/* 80353810 0034F470 98 64 06 A4 */ stb r3, 0x6a4(r4)
-/* 80353814 0034F474 41 80 FF DC */ blt lbl_803537F0
-/* 80353818 0034F478 80 7B 00 60 */ lwz r3, 0x60(r27)
-/* 8035381C 0034F47C 80 9B 00 58 */ lwz r4, 0x58(r27)
-/* 80353820 0034F480 38 03 00 09 */ addi r0, r3, 9
-/* 80353824 0034F484 90 1B 00 60 */ stw r0, 0x60(r27)
-/* 80353828 0034F488 7D E4 1A 14 */ add r15, r4, r3
-/* 8035382C 0034F48C 7E E4 19 AE */ stbx r23, r4, r3
-/* 80353830 0034F490 9A CF 00 01 */ stb r22, 1(r15)
-/* 80353834 0034F494 9A 4F 00 02 */ stb r18, 2(r15)
-/* 80353838 0034F498 80 1F 01 08 */ lwz r0, 0x108(r31)
-/* 8035383C 0034F49C 54 03 10 3A */ slwi r3, r0, 2
-/* 80353840 0034F4A0 38 63 00 04 */ addi r3, r3, 4
-/* 80353844 0034F4A4 4B FA 35 35 */ bl func_802F6D78
-/* 80353848 0034F4A8 90 61 00 18 */ stw r3, 0x18(r1)
-/* 8035384C 0034F4AC 38 81 00 1A */ addi r4, r1, 0x1a
-/* 80353850 0034F4B0 38 6F 00 03 */ addi r3, r15, 3
-/* 80353854 0034F4B4 38 A0 00 02 */ li r5, 2
-/* 80353858 0034F4B8 4B CB 07 A9 */ bl memcpy
-/* 8035385C 0034F4BC 38 00 00 10 */ li r0, 0x10
-/* 80353860 0034F4C0 98 0F 00 05 */ stb r0, 5(r15)
-/* 80353864 0034F4C4 80 1F 01 08 */ lwz r0, 0x108(r31)
-/* 80353868 0034F4C8 54 03 10 3A */ slwi r3, r0, 2
-/* 8035386C 0034F4CC 4B FA 35 0D */ bl func_802F6D78
-/* 80353870 0034F4D0 90 61 00 14 */ stw r3, 0x14(r1)
-/* 80353874 0034F4D4 38 81 00 15 */ addi r4, r1, 0x15
-/* 80353878 0034F4D8 38 6F 00 06 */ addi r3, r15, 6
-/* 8035387C 0034F4DC 38 A0 00 03 */ li r5, 3
-/* 80353880 0034F4E0 4B CB 07 81 */ bl memcpy
-/* 80353884 0034F4E4 80 DB 00 58 */ lwz r6, 0x58(r27)
-/* 80353888 0034F4E8 38 7F 01 08 */ addi r3, r31, 0x108
-/* 8035388C 0034F4EC 80 1B 00 60 */ lwz r0, 0x60(r27)
-/* 80353890 0034F4F0 38 9F 06 A4 */ addi r4, r31, 0x6a4
-/* 80353894 0034F4F4 38 A0 00 30 */ li r5, 0x30
-/* 80353898 0034F4F8 7C C6 02 14 */ add r6, r6, r0
-/* 8035389C 0034F4FC 4B FE 5D F9 */ bl gsCryptRSAEncryptBuffer
-/* 803538A0 0034F500 80 1F 01 08 */ lwz r0, 0x108(r31)
-/* 803538A4 0034F504 38 7F 05 A4 */ addi r3, r31, 0x5a4
-/* 803538A8 0034F508 80 BB 00 60 */ lwz r5, 0x60(r27)
-/* 803538AC 0034F50C 38 8F 00 05 */ addi r4, r15, 5
-/* 803538B0 0034F510 54 00 10 3A */ slwi r0, r0, 2
-/* 803538B4 0034F514 7C 05 02 14 */ add r0, r5, r0
-/* 803538B8 0034F518 90 1B 00 60 */ stw r0, 0x60(r27)
-/* 803538BC 0034F51C 80 1F 01 08 */ lwz r0, 0x108(r31)
-/* 803538C0 0034F520 54 05 10 3A */ slwi r5, r0, 2
-/* 803538C4 0034F524 38 A5 00 04 */ addi r5, r5, 4
-/* 803538C8 0034F528 4B FE 34 1D */ bl MD5Update
-/* 803538CC 0034F52C 80 1F 01 08 */ lwz r0, 0x108(r31)
-/* 803538D0 0034F530 38 7F 05 FC */ addi r3, r31, 0x5fc
-/* 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 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)
-/* 803538F0 0034F550 7F 04 01 EE */ stbux r24, r4, r0
-/* 803538F4 0034F554 9A C4 00 01 */ stb r22, 1(r4)
-/* 803538F8 0034F558 9A 44 00 02 */ stb r18, 2(r4)
-/* 803538FC 0034F55C 9A 44 00 03 */ stb r18, 3(r4)
-/* 80353900 0034F560 99 C4 00 04 */ stb r14, 4(r4)
-/* 80353904 0034F564 80 BB 00 60 */ lwz r5, 0x60(r27)
-/* 80353908 0034F568 80 9B 00 58 */ lwz r4, 0x58(r27)
-/* 8035390C 0034F56C 38 A5 00 05 */ addi r5, r5, 5
-/* 80353910 0034F570 90 BB 00 60 */ stw r5, 0x60(r27)
-/* 80353914 0034F574 38 05 00 01 */ addi r0, r5, 1
-/* 80353918 0034F578 7D C4 29 AE */ stbx r14, r4, r5
-/* 8035391C 0034F57C 90 1B 00 60 */ stw r0, 0x60(r27)
-/* 80353920 0034F580 4B FF E7 DD */ bl func_803520FC
-/* 80353924 0034F584 80 9B 00 58 */ lwz r4, 0x58(r27)
-/* 80353928 0034F588 38 60 00 24 */ li r3, 0x24
-/* 8035392C 0034F58C 80 1B 00 60 */ lwz r0, 0x60(r27)
-/* 80353930 0034F590 7E E4 01 AE */ stbx r23, r4, r0
-/* 80353934 0034F594 7D E4 02 14 */ add r15, r4, r0
-/* 80353938 0034F598 38 00 00 38 */ li r0, 0x38
-/* 8035393C 0034F59C 9A CF 00 01 */ stb r22, 1(r15)
-/* 80353940 0034F5A0 9A 4F 00 02 */ stb r18, 2(r15)
-/* 80353944 0034F5A4 9A 4F 00 03 */ stb r18, 3(r15)
-/* 80353948 0034F5A8 98 0F 00 04 */ stb r0, 4(r15)
-/* 8035394C 0034F5AC 80 9B 00 60 */ lwz r4, 0x60(r27)
-/* 80353950 0034F5B0 80 BB 00 58 */ lwz r5, 0x58(r27)
-/* 80353954 0034F5B4 38 C4 00 05 */ addi r6, r4, 5
-/* 80353958 0034F5B8 90 DB 00 60 */ stw r6, 0x60(r27)
-/* 8035395C 0034F5BC 38 86 00 01 */ addi r4, r6, 1
-/* 80353960 0034F5C0 7F 05 31 AE */ stbx r24, r5, r6
-/* 80353964 0034F5C4 80 1B 00 58 */ lwz r0, 0x58(r27)
-/* 80353968 0034F5C8 90 9B 00 60 */ stw r4, 0x60(r27)
-/* 8035396C 0034F5CC 7E 00 22 14 */ add r16, r0, r4
-/* 80353970 0034F5D0 4B FA 34 09 */ bl func_802F6D78
-/* 80353974 0034F5D4 90 61 00 10 */ stw r3, 0x10(r1)
-/* 80353978 0034F5D8 7E 03 83 78 */ mr r3, r16
-/* 8035397C 0034F5DC 38 81 00 11 */ addi r4, r1, 0x11
-/* 80353980 0034F5E0 38 A0 00 03 */ li r5, 3
-/* 80353984 0034F5E4 4B CB 06 7D */ bl memcpy
-/* 80353988 0034F5E8 80 DB 00 60 */ lwz r6, 0x60(r27)
-/* 8035398C 0034F5EC 38 7F 05 A4 */ addi r3, r31, 0x5a4
-/* 80353990 0034F5F0 38 8D 93 B0 */ addi r4, r13, lbl_8063E670-_SDA_BASE_
-/* 80353994 0034F5F4 38 A0 00 04 */ li r5, 4
-/* 80353998 0034F5F8 38 06 00 03 */ addi r0, r6, 3
-/* 8035399C 0034F5FC 90 1B 00 60 */ stw r0, 0x60(r27)
-/* 803539A0 0034F600 4B FE 33 45 */ bl MD5Update
-/* 803539A4 0034F604 38 7F 05 A4 */ addi r3, r31, 0x5a4
-/* 803539A8 0034F608 38 9F 06 D4 */ addi r4, r31, 0x6d4
-/* 803539AC 0034F60C 38 A0 00 30 */ li r5, 0x30
-/* 803539B0 0034F610 4B FE 33 35 */ bl MD5Update
-/* 803539B4 0034F614 38 7F 05 A4 */ addi r3, r31, 0x5a4
-/* 803539B8 0034F618 38 99 BF 8C */ addi r4, r25, -16500
-/* 803539BC 0034F61C 38 A0 00 30 */ li r5, 0x30
-/* 803539C0 0034F620 4B FE 33 25 */ bl MD5Update
-/* 803539C4 0034F624 38 61 00 40 */ addi r3, r1, 0x40
-/* 803539C8 0034F628 38 9F 05 A4 */ addi r4, r31, 0x5a4
-/* 803539CC 0034F62C 4B FE 34 05 */ bl MD5Final
-/* 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 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 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 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 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
-/* 80353A18 0034F678 38 9F 06 D4 */ addi r4, r31, 0x6d4
-/* 80353A1C 0034F67C 38 A0 00 30 */ li r5, 0x30
-/* 80353A20 0034F680 4B FE 32 C5 */ bl MD5Update
-/* 80353A24 0034F684 38 7F 05 A4 */ addi r3, r31, 0x5a4
-/* 80353A28 0034F688 38 9A BF C0 */ addi r4, r26, -16448
-/* 80353A2C 0034F68C 38 A0 00 30 */ li r5, 0x30
-/* 80353A30 0034F690 4B FE 32 B5 */ bl MD5Update
-/* 80353A34 0034F694 38 7F 05 A4 */ addi r3, r31, 0x5a4
-/* 80353A38 0034F698 38 81 00 40 */ addi r4, r1, 0x40
-/* 80353A3C 0034F69C 38 A0 00 10 */ li r5, 0x10
-/* 80353A40 0034F6A0 4B FE 32 A5 */ bl MD5Update
-/* 80353A44 0034F6A4 38 61 00 40 */ addi r3, r1, 0x40
-/* 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 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 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 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 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 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)
-/* 80353AA0 0034F700 38 A0 00 10 */ li r5, 0x10
-/* 80353AA4 0034F704 7C 63 02 14 */ add r3, r3, r0
-/* 80353AA8 0034F708 4B CB 05 59 */ bl memcpy
-/* 80353AAC 0034F70C 80 7B 00 60 */ lwz r3, 0x60(r27)
-/* 80353AB0 0034F710 38 81 00 50 */ addi r4, r1, 0x50
-/* 80353AB4 0034F714 80 1B 00 58 */ lwz r0, 0x58(r27)
-/* 80353AB8 0034F718 38 A0 00 14 */ li r5, 0x14
-/* 80353ABC 0034F71C 38 63 00 10 */ addi r3, r3, 0x10
-/* 80353AC0 0034F720 90 7B 00 60 */ stw r3, 0x60(r27)
-/* 80353AC4 0034F724 7C 60 1A 14 */ add r3, r0, r3
-/* 80353AC8 0034F728 4B CB 05 39 */ bl memcpy
-/* 80353ACC 0034F72C 80 9B 00 60 */ lwz r4, 0x60(r27)
-/* 80353AD0 0034F730 38 7F 05 A4 */ addi r3, r31, 0x5a4
-/* 80353AD4 0034F734 38 04 00 14 */ addi r0, r4, 0x14
-/* 80353AD8 0034F738 90 1B 00 60 */ stw r0, 0x60(r27)
-/* 80353ADC 0034F73C 4B FE 31 C9 */ bl MD5Init
-/* 80353AE0 0034F740 38 7F 05 A4 */ addi r3, r31, 0x5a4
-/* 80353AE4 0034F744 38 9F 03 20 */ addi r4, r31, 0x320
-/* 80353AE8 0034F748 38 A0 00 10 */ li r5, 0x10
-/* 80353AEC 0034F74C 4B FE 31 F9 */ bl MD5Update
-/* 80353AF0 0034F750 38 7F 05 A4 */ addi r3, r31, 0x5a4
-/* 80353AF4 0034F754 38 99 BF 8C */ addi r4, r25, -16500
-/* 80353AF8 0034F758 38 A0 00 30 */ li r5, 0x30
-/* 80353AFC 0034F75C 4B FE 31 E9 */ bl MD5Update
-/* 80353B00 0034F760 38 7F 05 A4 */ addi r3, r31, 0x5a4
-/* 80353B04 0034F764 38 9F 03 10 */ addi r4, r31, 0x310
-/* 80353B08 0034F768 38 A0 00 08 */ li r5, 8
-/* 80353B0C 0034F76C 4B FE 31 D9 */ bl MD5Update
-/* 80353B10 0034F770 38 00 00 28 */ li r0, 0x28
-/* 80353B14 0034F774 9A E1 00 38 */ stb r23, 0x38(r1)
-/* 80353B18 0034F778 38 7F 05 A4 */ addi r3, r31, 0x5a4
-/* 80353B1C 0034F77C 38 81 00 38 */ addi r4, r1, 0x38
-/* 80353B20 0034F780 98 01 00 3A */ stb r0, 0x3a(r1)
-/* 80353B24 0034F784 38 00 00 24 */ li r0, 0x24
-/* 80353B28 0034F788 38 A0 00 07 */ li r5, 7
-/* 80353B2C 0034F78C 9A 41 00 39 */ stb r18, 0x39(r1)
-/* 80353B30 0034F790 9B 01 00 3B */ stb r24, 0x3b(r1)
-/* 80353B34 0034F794 9A 41 00 3C */ stb r18, 0x3c(r1)
-/* 80353B38 0034F798 9A 41 00 3D */ stb r18, 0x3d(r1)
-/* 80353B3C 0034F79C 98 01 00 3E */ stb r0, 0x3e(r1)
-/* 80353B40 0034F7A0 4B FE 31 A5 */ bl MD5Update
-/* 80353B44 0034F7A4 38 7F 05 A4 */ addi r3, r31, 0x5a4
-/* 80353B48 0034F7A8 38 81 00 40 */ addi r4, r1, 0x40
-/* 80353B4C 0034F7AC 38 A0 00 10 */ li r5, 0x10
-/* 80353B50 0034F7B0 4B FE 31 95 */ bl MD5Update
-/* 80353B54 0034F7B4 38 7F 05 A4 */ addi r3, r31, 0x5a4
-/* 80353B58 0034F7B8 38 81 00 50 */ addi r4, r1, 0x50
-/* 80353B5C 0034F7BC 38 A0 00 14 */ li r5, 0x14
-/* 80353B60 0034F7C0 4B FE 31 85 */ bl MD5Update
-/* 80353B64 0034F7C4 38 61 00 40 */ addi r3, r1, 0x40
-/* 80353B68 0034F7C8 38 9F 05 A4 */ addi r4, r31, 0x5a4
-/* 80353B6C 0034F7CC 4B FE 32 65 */ bl MD5Final
-/* 80353B70 0034F7D0 38 7F 05 A4 */ addi r3, r31, 0x5a4
-/* 80353B74 0034F7D4 4B FE 31 31 */ bl MD5Init
-/* 80353B78 0034F7D8 38 7F 05 A4 */ addi r3, r31, 0x5a4
-/* 80353B7C 0034F7DC 38 9F 03 20 */ addi r4, r31, 0x320
-/* 80353B80 0034F7E0 38 A0 00 10 */ li r5, 0x10
-/* 80353B84 0034F7E4 4B FE 31 61 */ bl MD5Update
-/* 80353B88 0034F7E8 38 7F 05 A4 */ addi r3, r31, 0x5a4
-/* 80353B8C 0034F7EC 38 9A BF C0 */ addi r4, r26, -16448
-/* 80353B90 0034F7F0 38 A0 00 30 */ li r5, 0x30
-/* 80353B94 0034F7F4 4B FE 31 51 */ bl MD5Update
-/* 80353B98 0034F7F8 38 7F 05 A4 */ addi r3, r31, 0x5a4
-/* 80353B9C 0034F7FC 38 81 00 40 */ addi r4, r1, 0x40
-/* 80353BA0 0034F800 38 A0 00 10 */ li r5, 0x10
-/* 80353BA4 0034F804 4B FE 31 41 */ bl MD5Update
-/* 80353BA8 0034F808 38 61 00 40 */ addi r3, r1, 0x40
-/* 80353BAC 0034F80C 38 9F 05 A4 */ addi r4, r31, 0x5a4
-/* 80353BB0 0034F810 4B FE 32 21 */ bl MD5Final
-/* 80353BB4 0034F814 80 7B 00 58 */ lwz r3, 0x58(r27)
-/* 80353BB8 0034F818 38 81 00 40 */ addi r4, r1, 0x40
-/* 80353BBC 0034F81C 80 1B 00 60 */ lwz r0, 0x60(r27)
-/* 80353BC0 0034F820 38 A0 00 10 */ li r5, 0x10
-/* 80353BC4 0034F824 7C 63 02 14 */ add r3, r3, r0
-/* 80353BC8 0034F828 4B CB 04 39 */ bl memcpy
-/* 80353BCC 0034F82C 80 DB 00 60 */ lwz r6, 0x60(r27)
-/* 80353BD0 0034F830 38 7F 03 10 */ addi r3, r31, 0x310
-/* 80353BD4 0034F834 38 80 00 00 */ li r4, 0
-/* 80353BD8 0034F838 38 A0 00 08 */ li r5, 8
-/* 80353BDC 0034F83C 38 06 00 10 */ addi r0, r6, 0x10
-/* 80353BE0 0034F840 90 1B 00 60 */ stw r0, 0x60(r27)
-/* 80353BE4 0034F844 4B CB 05 21 */ bl memset
-/* 80353BE8 0034F848 38 60 00 01 */ li r3, 1
-/* 80353BEC 0034F84C 4B FA 31 8D */ bl func_802F6D78
-/* 80353BF0 0034F850 90 61 00 0C */ stw r3, 0xc(r1)
-/* 80353BF4 0034F854 38 7F 03 14 */ addi r3, r31, 0x314
-/* 80353BF8 0034F858 38 81 00 0C */ addi r4, r1, 0xc
-/* 80353BFC 0034F85C 38 A0 00 04 */ li r5, 4
-/* 80353C00 0034F860 4B CB 04 01 */ bl memcpy
-/* 80353C04 0034F864 38 8F 00 05 */ addi r4, r15, 5
-/* 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 RC4Encrypt
-/* 80353C18 0034F878 48 00 00 20 */ b lbl_80353C38
-lbl_80353C1C:
-/* 80353C1C 0034F87C 2C 00 00 14 */ cmpwi r0, 0x14
-/* 80353C20 0034F880 40 82 00 10 */ bne lbl_80353C30
-/* 80353C24 0034F884 80 1C 00 0C */ lwz r0, 0xc(r28)
-/* 80353C28 0034F888 90 1C 00 10 */ stw r0, 0x10(r28)
-/* 80353C2C 0034F88C 48 00 00 0C */ b lbl_80353C38
-lbl_80353C30:
-/* 80353C30 0034F890 38 60 00 03 */ li r3, 3
-/* 80353C34 0034F894 48 00 00 20 */ b lbl_80353C54
-lbl_80353C38:
-/* 80353C38 0034F898 80 1C 00 0C */ lwz r0, 0xc(r28)
-/* 80353C3C 0034F89C 82 1C 00 10 */ lwz r16, 0x10(r28)
-/* 80353C40 0034F8A0 7C 10 00 00 */ cmpw r16, r0
-/* 80353C44 0034F8A4 41 80 EF B4 */ blt lbl_80352BF8
-/* 80353C48 0034F8A8 38 60 00 03 */ li r3, 3
-/* 80353C4C 0034F8AC 40 82 00 08 */ bne lbl_80353C54
-/* 80353C50 0034F8B0 38 60 00 01 */ li r3, 1
-lbl_80353C54:
-/* 80353C54 0034F8B4 39 61 00 B0 */ addi r11, r1, 0xb0
-/* 80353C58 0034F8B8 4B E7 34 E9 */ bl __restore_gpr
-/* 80353C5C 0034F8BC 80 01 00 B4 */ lwz r0, 0xb4(r1)
-/* 80353C60 0034F8C0 7C 08 03 A6 */ mtlr r0
-/* 80353C64 0034F8C4 38 21 00 B0 */ addi r1, r1, 0xb0
-/* 80353C68 0034F8C8 4E 80 00 20 */ blr
-
-.global func_80353C6C
-func_80353C6C:
-/* 80353C6C 0034F8CC 3C 80 51 EC */ lis r4, 0x51EB851F@ha
-/* 80353C70 0034F8D0 80 A3 01 14 */ lwz r5, 0x114(r3)
-/* 80353C74 0034F8D4 38 04 85 1F */ addi r0, r4, 0x51EB851F@l
-/* 80353C78 0034F8D8 7C 00 28 96 */ mulhw r0, r0, r5
-/* 80353C7C 0034F8DC 7C 00 2E 70 */ srawi r0, r0, 5
-/* 80353C80 0034F8E0 54 04 0F FE */ srwi r4, r0, 0x1f
-/* 80353C84 0034F8E4 7C 00 22 14 */ add r0, r0, r4
-/* 80353C88 0034F8E8 2C 00 00 03 */ cmpwi r0, 3
-/* 80353C8C 0034F8EC 4D 82 00 20 */ beqlr
-/* 80353C90 0034F8F0 40 80 00 14 */ bge lbl_80353CA4
-/* 80353C94 0034F8F4 2C 00 00 01 */ cmpwi r0, 1
-/* 80353C98 0034F8F8 4D 82 00 20 */ beqlr
-/* 80353C9C 0034F8FC 4C 80 00 20 */ bgelr
-/* 80353CA0 0034F900 4E 80 00 20 */ blr
-lbl_80353CA4:
-/* 80353CA4 0034F904 2C 00 00 05 */ cmpwi r0, 5
-/* 80353CA8 0034F908 41 82 00 78 */ beq lbl_80353D20
-/* 80353CAC 0034F90C 4C 80 00 20 */ bgelr
-/* 80353CB0 0034F910 48 00 00 10 */ b lbl_80353CC0
-/* 80353CB4 0034F914 4E 80 00 20 */ blr
-/* 80353CB8 0034F918 4E 80 00 20 */ blr
-/* 80353CBC 0034F91C 4E 80 00 20 */ blr
-lbl_80353CC0:
-/* 80353CC0 0034F920 2C 05 01 94 */ cmpwi r5, 0x194
-/* 80353CC4 0034F924 41 82 00 44 */ beq lbl_80353D08
-/* 80353CC8 0034F928 40 80 00 1C */ bge lbl_80353CE4
-/* 80353CCC 0034F92C 2C 05 01 92 */ cmpwi r5, 0x192
-/* 80353CD0 0034F930 41 82 00 44 */ beq lbl_80353D14
-/* 80353CD4 0034F934 40 80 00 28 */ bge lbl_80353CFC
-/* 80353CD8 0034F938 2C 05 01 91 */ cmpwi r5, 0x191
-/* 80353CDC 0034F93C 40 80 00 14 */ bge lbl_80353CF0
-/* 80353CE0 0034F940 48 00 00 34 */ b lbl_80353D14
-lbl_80353CE4:
-/* 80353CE4 0034F944 2C 05 01 9A */ cmpwi r5, 0x19a
-/* 80353CE8 0034F948 41 82 00 20 */ beq lbl_80353D08
-/* 80353CEC 0034F94C 48 00 00 28 */ b lbl_80353D14
-lbl_80353CF0:
-/* 80353CF0 0034F950 38 00 00 09 */ li r0, 9
-/* 80353CF4 0034F954 90 03 00 3C */ stw r0, 0x3c(r3)
-/* 80353CF8 0034F958 4E 80 00 20 */ blr
-lbl_80353CFC:
-/* 80353CFC 0034F95C 38 00 00 0A */ li r0, 0xa
-/* 80353D00 0034F960 90 03 00 3C */ stw r0, 0x3c(r3)
-/* 80353D04 0034F964 4E 80 00 20 */ blr
-lbl_80353D08:
-/* 80353D08 0034F968 38 00 00 0B */ li r0, 0xb
-/* 80353D0C 0034F96C 90 03 00 3C */ stw r0, 0x3c(r3)
-/* 80353D10 0034F970 4E 80 00 20 */ blr
-lbl_80353D14:
-/* 80353D14 0034F974 38 00 00 08 */ li r0, 8
-/* 80353D18 0034F978 90 03 00 3C */ stw r0, 0x3c(r3)
-/* 80353D1C 0034F97C 4E 80 00 20 */ blr
-lbl_80353D20:
-/* 80353D20 0034F980 38 00 00 0C */ li r0, 0xc
-/* 80353D24 0034F984 90 03 00 3C */ stw r0, 0x3c(r3)
-/* 80353D28 0034F988 4E 80 00 20 */ blr
-
-.global func_80353D2C
-func_80353D2C:
-/* 80353D2C 0034F98C 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80353D30 0034F990 7C 08 02 A6 */ mflr r0
-/* 80353D34 0034F994 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80353D38 0034F998 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80353D3C 0034F99C 7C 7F 1B 78 */ mr r31, r3
-/* 80353D40 0034F9A0 93 C1 00 08 */ stw r30, 8(r1)
-/* 80353D44 0034F9A4 80 03 01 50 */ lwz r0, 0x150(r3)
-/* 80353D48 0034F9A8 2C 00 00 00 */ cmpwi r0, 0
-/* 80353D4C 0034F9AC 41 82 00 0C */ beq lbl_80353D58
-/* 80353D50 0034F9B0 38 60 00 00 */ li r3, 0
-/* 80353D54 0034F9B4 48 00 01 5C */ b lbl_80353EB0
-lbl_80353D58:
-/* 80353D58 0034F9B8 80 03 00 10 */ lwz r0, 0x10(r3)
-/* 80353D5C 0034F9BC 38 80 00 01 */ li r4, 1
-/* 80353D60 0034F9C0 90 83 01 50 */ stw r4, 0x150(r3)
-/* 80353D64 0034F9C4 2C 00 00 00 */ cmpwi r0, 0
-/* 80353D68 0034F9C8 40 82 00 08 */ bne lbl_80353D70
-/* 80353D6C 0034F9CC 48 00 1D 7D */ bl func_80355AE8
-lbl_80353D70:
-/* 80353D70 0034F9D0 80 1F 00 10 */ lwz r0, 0x10(r31)
-/* 80353D74 0034F9D4 2C 00 00 01 */ cmpwi r0, 1
-/* 80353D78 0034F9D8 40 82 00 0C */ bne lbl_80353D84
-/* 80353D7C 0034F9DC 7F E3 FB 78 */ mr r3, r31
-/* 80353D80 0034F9E0 48 00 1E 25 */ bl func_80355BA4
-lbl_80353D84:
-/* 80353D84 0034F9E4 80 1F 00 10 */ lwz r0, 0x10(r31)
-/* 80353D88 0034F9E8 2C 00 00 02 */ cmpwi r0, 2
-/* 80353D8C 0034F9EC 40 82 00 0C */ bne lbl_80353D98
-/* 80353D90 0034F9F0 7F E3 FB 78 */ mr r3, r31
-/* 80353D94 0034F9F4 48 00 1F 15 */ bl func_80355CA8
-lbl_80353D98:
-/* 80353D98 0034F9F8 80 1F 00 10 */ lwz r0, 0x10(r31)
-/* 80353D9C 0034F9FC 2C 00 00 03 */ cmpwi r0, 3
-/* 80353DA0 0034FA00 40 82 00 0C */ bne lbl_80353DAC
-/* 80353DA4 0034FA04 7F E3 FB 78 */ mr r3, r31
-/* 80353DA8 0034FA08 48 00 1F A1 */ bl func_80355D48
-lbl_80353DAC:
-/* 80353DAC 0034FA0C 80 1F 00 10 */ lwz r0, 0x10(r31)
-/* 80353DB0 0034FA10 2C 00 00 04 */ cmpwi r0, 4
-/* 80353DB4 0034FA14 40 82 00 0C */ bne lbl_80353DC0
-/* 80353DB8 0034FA18 7F E3 FB 78 */ mr r3, r31
-/* 80353DBC 0034FA1C 48 00 21 9D */ bl func_80355F58
-lbl_80353DC0:
-/* 80353DC0 0034FA20 80 1F 00 10 */ lwz r0, 0x10(r31)
-/* 80353DC4 0034FA24 2C 00 00 05 */ cmpwi r0, 5
-/* 80353DC8 0034FA28 40 82 00 0C */ bne lbl_80353DD4
-/* 80353DCC 0034FA2C 7F E3 FB 78 */ mr r3, r31
-/* 80353DD0 0034FA30 48 00 22 C1 */ bl func_80356090
-lbl_80353DD4:
-/* 80353DD4 0034FA34 80 1F 00 10 */ lwz r0, 0x10(r31)
-/* 80353DD8 0034FA38 2C 00 00 06 */ cmpwi r0, 6
-/* 80353DDC 0034FA3C 40 82 00 0C */ bne lbl_80353DE8
-/* 80353DE0 0034FA40 7F E3 FB 78 */ mr r3, r31
-/* 80353DE4 0034FA44 48 00 25 81 */ bl func_80356364
-lbl_80353DE8:
-/* 80353DE8 0034FA48 80 1F 00 10 */ lwz r0, 0x10(r31)
-/* 80353DEC 0034FA4C 2C 00 00 07 */ cmpwi r0, 7
-/* 80353DF0 0034FA50 40 82 00 0C */ bne lbl_80353DFC
-/* 80353DF4 0034FA54 7F E3 FB 78 */ mr r3, r31
-/* 80353DF8 0034FA58 48 00 26 65 */ bl func_8035645C
-lbl_80353DFC:
-/* 80353DFC 0034FA5C 80 1F 00 10 */ lwz r0, 0x10(r31)
-/* 80353E00 0034FA60 2C 00 00 08 */ cmpwi r0, 8
-/* 80353E04 0034FA64 40 82 00 0C */ bne lbl_80353E10
-/* 80353E08 0034FA68 7F E3 FB 78 */ mr r3, r31
-/* 80353E0C 0034FA6C 48 00 28 21 */ bl func_8035662C
-lbl_80353E10:
-/* 80353E10 0034FA70 80 1F 00 10 */ lwz r0, 0x10(r31)
-/* 80353E14 0034FA74 2C 00 00 09 */ cmpwi r0, 9
-/* 80353E18 0034FA78 40 82 00 0C */ bne lbl_80353E24
-/* 80353E1C 0034FA7C 7F E3 FB 78 */ mr r3, r31
-/* 80353E20 0034FA80 48 00 2C E1 */ bl func_80356B00
-lbl_80353E24:
-/* 80353E24 0034FA84 80 1F 00 10 */ lwz r0, 0x10(r31)
-/* 80353E28 0034FA88 2C 00 00 0A */ cmpwi r0, 0xa
-/* 80353E2C 0034FA8C 40 82 00 0C */ bne lbl_80353E38
-/* 80353E30 0034FA90 7F E3 FB 78 */ mr r3, r31
-/* 80353E34 0034FA94 48 00 32 41 */ bl func_80357074
-lbl_80353E38:
-/* 80353E38 0034FA98 80 1F 01 2C */ lwz r0, 0x12c(r31)
-/* 80353E3C 0034FA9C 2C 00 00 00 */ cmpwi r0, 0
-/* 80353E40 0034FAA0 41 82 00 0C */ beq lbl_80353E4C
-/* 80353E44 0034FAA4 7F E3 FB 78 */ mr r3, r31
-/* 80353E48 0034FAA8 4B FF DE 4D */ bl ghiRedirectConnection
-lbl_80353E4C:
-/* 80353E4C 0034FAAC 80 1F 00 3C */ lwz r0, 0x3c(r31)
-/* 80353E50 0034FAB0 83 DF 01 20 */ lwz r30, 0x120(r31)
-/* 80353E54 0034FAB4 2C 00 00 12 */ cmpwi r0, 0x12
-/* 80353E58 0034FAB8 40 82 00 24 */ bne lbl_80353E7C
-/* 80353E5C 0034FABC 2C 1E 00 00 */ cmpwi r30, 0
-/* 80353E60 0034FAC0 40 82 00 1C */ bne lbl_80353E7C
-/* 80353E64 0034FAC4 80 7F 00 4C */ lwz r3, 0x4c(r31)
-/* 80353E68 0034FAC8 4B FE 49 E5 */ bl CanReceiveOnSocket
-/* 80353E6C 0034FACC 2C 03 00 00 */ cmpwi r3, 0
-/* 80353E70 0034FAD0 40 82 00 0C */ bne lbl_80353E7C
-/* 80353E74 0034FAD4 38 00 00 01 */ li r0, 1
-/* 80353E78 0034FAD8 90 1F 01 20 */ stw r0, 0x120(r31)
-lbl_80353E7C:
-/* 80353E7C 0034FADC 80 1F 01 20 */ lwz r0, 0x120(r31)
-/* 80353E80 0034FAE0 2C 00 00 00 */ cmpwi r0, 0
-/* 80353E84 0034FAE4 41 82 00 20 */ beq lbl_80353EA4
-/* 80353E88 0034FAE8 7F E3 FB 78 */ mr r3, r31
-/* 80353E8C 0034FAEC 4B FF FD E1 */ bl func_80353C6C
-/* 80353E90 0034FAF0 7F E3 FB 78 */ mr r3, r31
-/* 80353E94 0034FAF4 4B FF D3 31 */ bl ghiCallCompletedCallback
-/* 80353E98 0034FAF8 7F E3 FB 78 */ mr r3, r31
-/* 80353E9C 0034FAFC 4B FF DB 89 */ bl ghiFreeConnection
-/* 80353EA0 0034FB00 48 00 00 0C */ b lbl_80353EAC
-lbl_80353EA4:
-/* 80353EA4 0034FB04 38 00 00 00 */ li r0, 0
-/* 80353EA8 0034FB08 90 1F 01 50 */ stw r0, 0x150(r31)
-lbl_80353EAC:
-/* 80353EAC 0034FB0C 7F C3 F3 78 */ mr r3, r30
-lbl_80353EB0:
-/* 80353EB0 0034FB10 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80353EB4 0034FB14 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80353EB8 0034FB18 83 C1 00 08 */ lwz r30, 8(r1)
-/* 80353EBC 0034FB1C 7C 08 03 A6 */ mtlr r0
-/* 80353EC0 0034FB20 38 21 00 10 */ addi r1, r1, 0x10
-/* 80353EC4 0034FB24 4E 80 00 20 */ blr
-
-.global func_80353EC8
-func_80353EC8:
-/* 80353EC8 0034FB28 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80353ECC 0034FB2C 7C 08 02 A6 */ mflr r0
-/* 80353ED0 0034FB30 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80353ED4 0034FB34 4B FF D4 19 */ bl ghiLock
-/* 80353ED8 0034FB38 80 6D B0 D8 */ lwz r3, lbl_80640398-_SDA_BASE_(r13)
-/* 80353EDC 0034FB3C 38 03 00 01 */ addi r0, r3, 1
-/* 80353EE0 0034FB40 2C 00 00 01 */ cmpwi r0, 1
-/* 80353EE4 0034FB44 90 0D B0 D8 */ stw r0, lbl_80640398-_SDA_BASE_(r13)
-/* 80353EE8 0034FB48 40 82 00 1C */ bne lbl_80353F04
-/* 80353EEC 0034FB4C 4B FF D3 F9 */ bl ghiCreateLock
-/* 80353EF0 0034FB50 38 60 00 7D */ li r3, 0x7d
-/* 80353EF4 0034FB54 38 00 00 FA */ li r0, 0xfa
-/* 80353EF8 0034FB58 90 6D 93 90 */ stw r3, lbl_8063E650-_SDA_BASE_(r13)
-/* 80353EFC 0034FB5C 90 0D 93 94 */ stw r0, lbl_8063E654-_SDA_BASE_(r13)
-/* 80353F00 0034FB60 48 00 00 08 */ b lbl_80353F08
-lbl_80353F04:
-/* 80353F04 0034FB64 4B FF D3 ED */ bl ghiUnlock
-lbl_80353F08:
-/* 80353F08 0034FB68 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80353F0C 0034FB6C 7C 08 03 A6 */ mtlr r0
-/* 80353F10 0034FB70 38 21 00 10 */ addi r1, r1, 0x10
-/* 80353F14 0034FB74 4E 80 00 20 */ blr
-
-.global func_80353F18
-func_80353F18:
-/* 80353F18 0034FB78 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80353F1C 0034FB7C 7C 08 02 A6 */ mflr r0
-/* 80353F20 0034FB80 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80353F24 0034FB84 4B FF D3 C9 */ bl ghiLock
-/* 80353F28 0034FB88 80 0D B0 D8 */ lwz r0, lbl_80640398-_SDA_BASE_(r13)
-/* 80353F2C 0034FB8C 34 00 FF FF */ addic. r0, r0, -1
-/* 80353F30 0034FB90 90 0D B0 D8 */ stw r0, lbl_80640398-_SDA_BASE_(r13)
-/* 80353F34 0034FB94 40 82 00 2C */ bne lbl_80353F60
-/* 80353F38 0034FB98 4B FF DE A1 */ bl ghiCleanupConnections
-/* 80353F3C 0034FB9C 80 6D B0 C4 */ lwz r3, lbl_80640384-_SDA_BASE_(r13)
-/* 80353F40 0034FBA0 2C 03 00 00 */ cmpwi r3, 0
-/* 80353F44 0034FBA4 41 82 00 10 */ beq lbl_80353F54
-/* 80353F48 0034FBA8 4B FE 53 F1 */ bl gsifree
-/* 80353F4C 0034FBAC 38 00 00 00 */ li r0, 0
-/* 80353F50 0034FBB0 90 0D B0 C4 */ stw r0, lbl_80640384-_SDA_BASE_(r13)
-lbl_80353F54:
-/* 80353F54 0034FBB4 4B FF D3 9D */ bl ghiUnlock
-/* 80353F58 0034FBB8 4B FF D3 91 */ bl ghiFreeLock
-/* 80353F5C 0034FBBC 48 00 00 08 */ b lbl_80353F64
-lbl_80353F60:
-/* 80353F60 0034FBC0 4B FF D3 91 */ bl ghiUnlock
-lbl_80353F64:
-/* 80353F64 0034FBC4 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80353F68 0034FBC8 7C 08 03 A6 */ mtlr r0
-/* 80353F6C 0034FBCC 38 21 00 10 */ addi r1, r1, 0x10
-/* 80353F70 0034FBD0 4E 80 00 20 */ blr
-
-.global func_80353F74
-func_80353F74:
-/* 80353F74 0034FBD4 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80353F78 0034FBD8 7C 08 02 A6 */ mflr r0
-/* 80353F7C 0034FBDC 7C 89 23 78 */ mr r9, r4
-/* 80353F80 0034FBE0 38 80 00 00 */ li r4, 0
-/* 80353F84 0034FBE4 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80353F88 0034FBE8 38 E0 00 00 */ li r7, 0
-/* 80353F8C 0034FBEC 39 00 00 00 */ li r8, 0
-/* 80353F90 0034FBF0 39 40 00 00 */ li r10, 0
-/* 80353F94 0034FBF4 90 A1 00 08 */ stw r5, 8(r1)
-/* 80353F98 0034FBF8 38 A0 00 00 */ li r5, 0
-/* 80353F9C 0034FBFC 90 C1 00 0C */ stw r6, 0xc(r1)
-/* 80353FA0 0034FC00 38 C0 00 00 */ li r6, 0
-/* 80353FA4 0034FC04 48 00 00 15 */ bl func_80353FB8
-/* 80353FA8 0034FC08 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80353FAC 0034FC0C 7C 08 03 A6 */ mtlr r0
-/* 80353FB0 0034FC10 38 21 00 10 */ addi r1, r1, 0x10
-/* 80353FB4 0034FC14 4E 80 00 20 */ blr
-
-.global func_80353FB8
-func_80353FB8:
-/* 80353FB8 0034FC18 94 21 FF C0 */ stwu r1, -0x40(r1)
-/* 80353FBC 0034FC1C 7C 08 02 A6 */ mflr r0
-/* 80353FC0 0034FC20 90 01 00 44 */ stw r0, 0x44(r1)
-/* 80353FC4 0034FC24 39 61 00 40 */ addi r11, r1, 0x40
-/* 80353FC8 0034FC28 4B E7 31 49 */ bl func_801C7110
-/* 80353FCC 0034FC2C 2C 03 00 00 */ cmpwi r3, 0
-/* 80353FD0 0034FC30 83 C1 00 48 */ lwz r30, 0x48(r1)
-/* 80353FD4 0034FC34 83 E1 00 4C */ lwz r31, 0x4c(r1)
-/* 80353FD8 0034FC38 7C 76 1B 78 */ mr r22, r3
-/* 80353FDC 0034FC3C 7C 97 23 78 */ mr r23, r4
-/* 80353FE0 0034FC40 7C B8 2B 78 */ mr r24, r5
-/* 80353FE4 0034FC44 7C D9 33 78 */ mr r25, r6
-/* 80353FE8 0034FC48 7C FA 3B 78 */ mr r26, r7
-/* 80353FEC 0034FC4C 7D 1B 43 78 */ mr r27, r8
-/* 80353FF0 0034FC50 7D 3C 4B 78 */ mr r28, r9
-/* 80353FF4 0034FC54 7D 5D 53 78 */ mr r29, r10
-/* 80353FF8 0034FC58 41 82 00 10 */ beq lbl_80354008
-/* 80353FFC 0034FC5C 88 03 00 00 */ lbz r0, 0(r3)
-/* 80354000 0034FC60 7C 00 07 75 */ extsb. r0, r0
-/* 80354004 0034FC64 40 82 00 0C */ bne lbl_80354010
-lbl_80354008:
-/* 80354008 0034FC68 38 60 FF FF */ li r3, -1
-/* 8035400C 0034FC6C 48 00 01 AC */ b lbl_803541B8
-lbl_80354010:
-/* 80354010 0034FC70 2C 86 00 00 */ cmpwi cr1, r6, 0
-/* 80354014 0034FC74 40 84 00 0C */ bge cr1, lbl_80354020
-/* 80354018 0034FC78 38 60 FF FF */ li r3, -1
-/* 8035401C 0034FC7C 48 00 01 9C */ b lbl_803541B8
-lbl_80354020:
-/* 80354020 0034FC80 2C 05 00 00 */ cmpwi r5, 0
-/* 80354024 0034FC84 41 82 00 10 */ beq lbl_80354034
-/* 80354028 0034FC88 40 86 00 0C */ bne cr1, lbl_80354034
-/* 8035402C 0034FC8C 38 60 FF FF */ li r3, -1
-/* 80354030 0034FC90 48 00 01 88 */ b lbl_803541B8
-lbl_80354034:
-/* 80354034 0034FC94 80 0D B0 D8 */ lwz r0, lbl_80640398-_SDA_BASE_(r13)
-/* 80354038 0034FC98 2C 00 00 00 */ cmpwi r0, 0
-/* 8035403C 0034FC9C 40 82 00 38 */ bne lbl_80354074
-/* 80354040 0034FCA0 4B FF D2 AD */ bl ghiLock
-/* 80354044 0034FCA4 80 6D B0 D8 */ lwz r3, lbl_80640398-_SDA_BASE_(r13)
-/* 80354048 0034FCA8 38 03 00 01 */ addi r0, r3, 1
-/* 8035404C 0034FCAC 2C 00 00 01 */ cmpwi r0, 1
-/* 80354050 0034FCB0 90 0D B0 D8 */ stw r0, lbl_80640398-_SDA_BASE_(r13)
-/* 80354054 0034FCB4 40 82 00 1C */ bne lbl_80354070
-/* 80354058 0034FCB8 4B FF D2 8D */ bl ghiCreateLock
-/* 8035405C 0034FCBC 38 60 00 7D */ li r3, 0x7d
-/* 80354060 0034FCC0 38 00 00 FA */ li r0, 0xfa
-/* 80354064 0034FCC4 90 6D 93 90 */ stw r3, lbl_8063E650-_SDA_BASE_(r13)
-/* 80354068 0034FCC8 90 0D 93 94 */ stw r0, lbl_8063E654-_SDA_BASE_(r13)
-/* 8035406C 0034FCCC 48 00 00 08 */ b lbl_80354074
-lbl_80354070:
-/* 80354070 0034FCD0 4B FF D2 81 */ bl ghiUnlock
-lbl_80354074:
-/* 80354074 0034FCD4 4B FF D7 ED */ bl ghiNewConnection
-/* 80354078 0034FCD8 2C 03 00 00 */ cmpwi r3, 0
-/* 8035407C 0034FCDC 7C 75 1B 78 */ mr r21, r3
-/* 80354080 0034FCE0 40 82 00 0C */ bne lbl_8035408C
-/* 80354084 0034FCE4 38 60 FF FF */ li r3, -1
-/* 80354088 0034FCE8 48 00 01 30 */ b lbl_803541B8
-lbl_8035408C:
-/* 8035408C 0034FCEC 38 00 00 00 */ li r0, 0
-/* 80354090 0034FCF0 90 03 00 0C */ stw r0, 0xc(r3)
-/* 80354094 0034FCF4 7E C3 B3 78 */ mr r3, r22
-/* 80354098 0034FCF8 4B FE 4E 6D */ bl goastrdup
-/* 8035409C 0034FCFC 2C 03 00 00 */ cmpwi r3, 0
-/* 803540A0 0034FD00 90 75 00 14 */ stw r3, 0x14(r21)
-/* 803540A4 0034FD04 40 82 00 14 */ bne lbl_803540B8
-/* 803540A8 0034FD08 7E A3 AB 78 */ mr r3, r21
-/* 803540AC 0034FD0C 4B FF D9 79 */ bl ghiFreeConnection
-/* 803540B0 0034FD10 38 60 FF FF */ li r3, -1
-/* 803540B4 0034FD14 48 00 01 04 */ b lbl_803541B8
-lbl_803540B8:
-/* 803540B8 0034FD18 2C 17 00 00 */ cmpwi r23, 0
-/* 803540BC 0034FD1C 41 82 00 34 */ beq lbl_803540F0
-/* 803540C0 0034FD20 88 17 00 00 */ lbz r0, 0(r23)
-/* 803540C4 0034FD24 7C 00 07 75 */ extsb. r0, r0
-/* 803540C8 0034FD28 41 82 00 28 */ beq lbl_803540F0
-/* 803540CC 0034FD2C 7E E3 BB 78 */ mr r3, r23
-/* 803540D0 0034FD30 4B FE 4E 35 */ bl goastrdup
-/* 803540D4 0034FD34 2C 03 00 00 */ cmpwi r3, 0
-/* 803540D8 0034FD38 90 75 00 2C */ stw r3, 0x2c(r21)
-/* 803540DC 0034FD3C 40 82 00 14 */ bne lbl_803540F0
-/* 803540E0 0034FD40 7E A3 AB 78 */ mr r3, r21
-/* 803540E4 0034FD44 4B FF D9 41 */ bl ghiFreeConnection
-/* 803540E8 0034FD48 38 60 FF FF */ li r3, -1
-/* 803540EC 0034FD4C 48 00 00 CC */ b lbl_803541B8
-lbl_803540F0:
-/* 803540F0 0034FD50 93 55 01 60 */ stw r26, 0x160(r21)
-/* 803540F4 0034FD54 7C 18 00 D0 */ neg r0, r24
-/* 803540F8 0034FD58 7C 00 C3 78 */ or r0, r0, r24
-/* 803540FC 0034FD5C 93 95 00 34 */ stw r28, 0x34(r21)
-/* 80354100 0034FD60 54 00 0F FF */ rlwinm. r0, r0, 1, 0x1f, 0x1f
-/* 80354104 0034FD64 93 B5 00 40 */ stw r29, 0x40(r21)
-/* 80354108 0034FD68 93 D5 00 44 */ stw r30, 0x44(r21)
-/* 8035410C 0034FD6C 93 F5 00 48 */ stw r31, 0x48(r21)
-/* 80354110 0034FD70 93 75 01 58 */ stw r27, 0x158(r21)
-/* 80354114 0034FD74 90 15 01 08 */ stw r0, 0x108(r21)
-/* 80354118 0034FD78 41 82 00 1C */ beq lbl_80354134
-/* 8035411C 0034FD7C 7E A3 AB 78 */ mr r3, r21
-/* 80354120 0034FD80 7F 05 C3 78 */ mr r5, r24
-/* 80354124 0034FD84 7F 26 CB 78 */ mr r6, r25
-/* 80354128 0034FD88 38 95 00 E4 */ addi r4, r21, 0xe4
-/* 8035412C 0034FD8C 4B FF C8 45 */ bl ghiInitFixedBuffer
-/* 80354130 0034FD90 48 00 00 18 */ b lbl_80354148
-lbl_80354134:
-/* 80354134 0034FD94 7E A3 AB 78 */ mr r3, r21
-/* 80354138 0034FD98 38 95 00 E4 */ addi r4, r21, 0xe4
-/* 8035413C 0034FD9C 38 A0 08 00 */ li r5, 0x800
-/* 80354140 0034FDA0 38 C0 08 00 */ li r6, 0x800
-/* 80354144 0034FDA4 4B FF C7 31 */ bl ghiInitBuffer
-lbl_80354148:
-/* 80354148 0034FDA8 2C 03 00 00 */ cmpwi r3, 0
-/* 8035414C 0034FDAC 40 82 00 14 */ bne lbl_80354160
-/* 80354150 0034FDB0 7E A3 AB 78 */ mr r3, r21
-/* 80354154 0034FDB4 4B FF D8 D1 */ bl ghiFreeConnection
-/* 80354158 0034FDB8 38 60 FF FF */ li r3, -1
-/* 8035415C 0034FDBC 48 00 00 5C */ b lbl_803541B8
-lbl_80354160:
-/* 80354160 0034FDC0 2C 1A 00 00 */ cmpwi r26, 0
-/* 80354164 0034FDC4 41 82 00 24 */ beq lbl_80354188
-/* 80354168 0034FDC8 7E A3 AB 78 */ mr r3, r21
-/* 8035416C 0034FDCC 48 00 06 71 */ bl func_803547DC
-/* 80354170 0034FDD0 2C 03 00 00 */ cmpwi r3, 0
-/* 80354174 0034FDD4 40 82 00 14 */ bne lbl_80354188
-/* 80354178 0034FDD8 7E A3 AB 78 */ mr r3, r21
-/* 8035417C 0034FDDC 4B FF D8 A9 */ bl ghiFreeConnection
-/* 80354180 0034FDE0 38 60 FF FF */ li r3, -1
-/* 80354184 0034FDE4 48 00 00 34 */ b lbl_803541B8
-lbl_80354188:
-/* 80354188 0034FDE8 2C 1C 00 00 */ cmpwi r28, 0
-/* 8035418C 0034FDEC 41 82 00 28 */ beq lbl_803541B4
-/* 80354190 0034FDF0 48 00 00 0C */ b lbl_8035419C
-lbl_80354194:
-/* 80354194 0034FDF4 38 60 00 0A */ li r3, 0xa
-/* 80354198 0034FDF8 4B FE 4E 8D */ bl msleep
-lbl_8035419C:
-/* 8035419C 0034FDFC 7E A3 AB 78 */ mr r3, r21
-/* 803541A0 0034FE00 4B FF FB 8D */ bl func_80353D2C
-/* 803541A4 0034FE04 2C 03 00 00 */ cmpwi r3, 0
-/* 803541A8 0034FE08 41 82 FF EC */ beq lbl_80354194
-/* 803541AC 0034FE0C 38 60 00 00 */ li r3, 0
-/* 803541B0 0034FE10 48 00 00 08 */ b lbl_803541B8
-lbl_803541B4:
-/* 803541B4 0034FE14 80 75 00 04 */ lwz r3, 4(r21)
-lbl_803541B8:
-/* 803541B8 0034FE18 39 61 00 40 */ addi r11, r1, 0x40
-/* 803541BC 0034FE1C 4B E7 2F A1 */ bl func_801C715C
-/* 803541C0 0034FE20 80 01 00 44 */ lwz r0, 0x44(r1)
-/* 803541C4 0034FE24 7C 08 03 A6 */ mtlr r0
-/* 803541C8 0034FE28 38 21 00 40 */ addi r1, r1, 0x40
-/* 803541CC 0034FE2C 4E 80 00 20 */ blr
-
-.global func_803541D0
-func_803541D0:
-/* 803541D0 0034FE30 3C 60 80 35 */ lis r3, func_80353D2C@ha
-/* 803541D4 0034FE34 38 63 3D 2C */ addi r3, r3, func_80353D2C@l
-/* 803541D8 0034FE38 4B FF DA 30 */ b ghiEnumConnections
-
-.global func_803541DC
-func_803541DC:
-/* 803541DC 0034FE3C 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 803541E0 0034FE40 7C 08 02 A6 */ mflr r0
-/* 803541E4 0034FE44 90 01 00 14 */ stw r0, 0x14(r1)
-/* 803541E8 0034FE48 4B FF D9 B1 */ bl ghiRequestToConnection
-/* 803541EC 0034FE4C 2C 03 00 00 */ cmpwi r3, 0
-/* 803541F0 0034FE50 41 82 00 08 */ beq lbl_803541F8
-/* 803541F4 0034FE54 4B FF D8 31 */ bl ghiFreeConnection
-lbl_803541F8:
-/* 803541F8 0034FE58 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 803541FC 0034FE5C 7C 08 03 A6 */ mtlr r0
-/* 80354200 0034FE60 38 21 00 10 */ addi r1, r1, 0x10
-/* 80354204 0034FE64 4E 80 00 20 */ blr
-
-.global func_80354208
-func_80354208:
-/* 80354208 0034FE68 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8035420C 0034FE6C 7C 08 02 A6 */ mflr r0
-/* 80354210 0034FE70 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80354214 0034FE74 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80354218 0034FE78 7C 9F 23 78 */ mr r31, r4
-/* 8035421C 0034FE7C 4B FF D9 7D */ bl ghiRequestToConnection
-/* 80354220 0034FE80 2C 03 00 00 */ cmpwi r3, 0
-/* 80354224 0034FE84 41 82 00 08 */ beq lbl_8035422C
-/* 80354228 0034FE88 93 E3 01 84 */ stw r31, 0x184(r3)
-lbl_8035422C:
-/* 8035422C 0034FE8C 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80354230 0034FE90 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80354234 0034FE94 7C 08 03 A6 */ mtlr r0
-/* 80354238 0034FE98 38 21 00 10 */ addi r1, r1, 0x10
-/* 8035423C 0034FE9C 4E 80 00 20 */ blr
-
-.global func_80354240
-func_80354240:
-/* 80354240 0034FEA0 80 63 00 18 */ lwz r3, 0x18(r3)
-/* 80354244 0034FEA4 4E 80 00 20 */ blr
-
-.global func_80354248
-func_80354248:
-/* 80354248 0034FEA8 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8035424C 0034FEAC 7C 08 02 A6 */ mflr r0
-/* 80354250 0034FEB0 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80354254 0034FEB4 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80354258 0034FEB8 7C 7F 1B 78 */ mr r31, r3
-/* 8035425C 0034FEBC 80 63 00 00 */ lwz r3, 0(r3)
-/* 80354260 0034FEC0 4B FE 1B F5 */ bl ArrayFree
-/* 80354264 0034FEC4 7F E3 FB 78 */ mr r3, r31
-/* 80354268 0034FEC8 4B FE 50 D1 */ bl gsifree
-/* 8035426C 0034FECC 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80354270 0034FED0 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80354274 0034FED4 7C 08 03 A6 */ mtlr r0
-/* 80354278 0034FED8 38 21 00 10 */ addi r1, r1, 0x10
-/* 8035427C 0034FEDC 4E 80 00 20 */ blr
-
-.global func_80354280
-func_80354280:
-/* 80354280 0034FEE0 80 63 01 60 */ lwz r3, 0x160(r3)
-/* 80354284 0034FEE4 3C 80 80 45 */ lis r4, lbl_8044BFF8@ha
-/* 80354288 0034FEE8 38 84 BF F8 */ addi r4, r4, lbl_8044BFF8@l
-/* 8035428C 0034FEEC 2C 03 00 00 */ cmpwi r3, 0
-/* 80354290 0034FEF0 40 82 00 0C */ bne lbl_8035429C
-/* 80354294 0034FEF4 38 6D 93 B8 */ addi r3, r13, lbl_8063E678-_SDA_BASE_
-/* 80354298 0034FEF8 4E 80 00 20 */ blr
-lbl_8035429C:
-/* 8035429C 0034FEFC 80 03 00 14 */ lwz r0, 0x14(r3)
-/* 803542A0 0034FF00 2C 00 00 00 */ cmpwi r0, 0
-/* 803542A4 0034FF04 41 82 00 0C */ beq lbl_803542B0
-/* 803542A8 0034FF08 38 64 00 44 */ addi r3, r4, 0x44
-/* 803542AC 0034FF0C 4E 80 00 20 */ blr
-lbl_803542B0:
-/* 803542B0 0034FF10 80 03 00 0C */ lwz r0, 0xc(r3)
-/* 803542B4 0034FF14 2C 00 00 00 */ cmpwi r0, 0
-/* 803542B8 0034FF18 41 82 00 0C */ beq lbl_803542C4
-/* 803542BC 0034FF1C 38 64 00 58 */ addi r3, r4, 0x58
-/* 803542C0 0034FF20 4E 80 00 20 */ blr
-lbl_803542C4:
-/* 803542C4 0034FF24 80 03 00 10 */ lwz r0, 0x10(r3)
-/* 803542C8 0034FF28 38 64 00 A8 */ addi r3, r4, 0xa8
-/* 803542CC 0034FF2C 2C 00 00 00 */ cmpwi r0, 0
-/* 803542D0 0034FF30 4D 82 00 20 */ beqlr
-/* 803542D4 0034FF34 38 64 00 9C */ addi r3, r4, 0x9c
-/* 803542D8 0034FF38 4E 80 00 20 */ blr
-
-.global func_803542DC
-func_803542DC:
-/* 803542DC 0034FF3C 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 803542E0 0034FF40 7C 08 02 A6 */ mflr r0
-/* 803542E4 0034FF44 90 01 00 24 */ stw r0, 0x24(r1)
-/* 803542E8 0034FF48 39 61 00 20 */ addi r11, r1, 0x20
-/* 803542EC 0034FF4C 4B E7 2E 3D */ bl _savegpr_27
-/* 803542F0 0034FF50 83 A3 01 60 */ lwz r29, 0x160(r3)
-/* 803542F4 0034FF54 3B 60 00 00 */ li r27, 0
-/* 803542F8 0034FF58 80 7D 00 00 */ lwz r3, 0(r29)
-/* 803542FC 0034FF5C 4B FE 1B ED */ bl ArrayLength
-/* 80354300 0034FF60 2C 03 00 00 */ cmpwi r3, 0
-/* 80354304 0034FF64 7C 7E 1B 78 */ mr r30, r3
-/* 80354308 0034FF68 40 82 00 0C */ bne lbl_80354314
-/* 8035430C 0034FF6C 38 60 00 00 */ li r3, 0
-/* 80354310 0034FF70 48 00 00 78 */ b lbl_80354388
-lbl_80354314:
-/* 80354314 0034FF74 3B 80 00 00 */ li r28, 0
-/* 80354318 0034FF78 48 00 00 60 */ b lbl_80354378
-lbl_8035431C:
-/* 8035431C 0034FF7C 80 7D 00 00 */ lwz r3, 0(r29)
-/* 80354320 0034FF80 7F 84 E3 78 */ mr r4, r28
-/* 80354324 0034FF84 4B FE 1B CD */ bl ArrayNth
-/* 80354328 0034FF88 80 03 00 00 */ lwz r0, 0(r3)
-/* 8035432C 0034FF8C 7C 7F 1B 78 */ mr r31, r3
-/* 80354330 0034FF90 2C 00 00 00 */ cmpwi r0, 0
-/* 80354334 0034FF94 40 82 00 2C */ bne lbl_80354360
-/* 80354338 0034FF98 80 63 00 04 */ lwz r3, 4(r3)
-/* 8035433C 0034FF9C 4B E7 28 29 */ bl strlen
-/* 80354340 0034FFA0 80 1F 00 14 */ lwz r0, 0x14(r31)
-/* 80354344 0034FFA4 7F 7B 1A 14 */ add r27, r27, r3
-/* 80354348 0034FFA8 80 7F 00 0C */ lwz r3, 0xc(r31)
-/* 8035434C 0034FFAC 54 00 08 3C */ slwi r0, r0, 1
-/* 80354350 0034FFB0 7F 7B 1A 14 */ add r27, r27, r3
-/* 80354354 0034FFB4 7F 7B 02 14 */ add r27, r27, r0
-/* 80354358 0034FFB8 3B 7B 00 01 */ addi r27, r27, 1
-/* 8035435C 0034FFBC 48 00 00 18 */ b lbl_80354374
-lbl_80354360:
-/* 80354360 0034FFC0 2C 00 00 03 */ cmpwi r0, 3
-/* 80354364 0034FFC4 40 82 00 10 */ bne lbl_80354374
-/* 80354368 0034FFC8 80 63 00 08 */ lwz r3, 8(r3)
-/* 8035436C 0034FFCC 4B FE 8A 79 */ bl gsXmlWriterGetDataLength
-/* 80354370 0034FFD0 7F 7B 1A 14 */ add r27, r27, r3
-lbl_80354374:
-/* 80354374 0034FFD4 3B 9C 00 01 */ addi r28, r28, 1
-lbl_80354378:
-/* 80354378 0034FFD8 7C 1C F0 00 */ cmpw r28, r30
-/* 8035437C 0034FFDC 41 80 FF A0 */ blt lbl_8035431C
-/* 80354380 0034FFE0 7C 7B F2 14 */ add r3, r27, r30
-/* 80354384 0034FFE4 38 63 FF FF */ addi r3, r3, -1
-lbl_80354388:
-/* 80354388 0034FFE8 39 61 00 20 */ addi r11, r1, 0x20
-/* 8035438C 0034FFEC 4B E7 2D E9 */ bl _restgpr_27
-/* 80354390 0034FFF0 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 80354394 0034FFF4 7C 08 03 A6 */ mtlr r0
-/* 80354398 0034FFF8 38 21 00 20 */ addi r1, r1, 0x20
-/* 8035439C 0034FFFC 4E 80 00 20 */ blr
-
-.global func_803543A0
-func_803543A0:
-/* 803543A0 00350000 94 21 FF C0 */ stwu r1, -0x40(r1)
-/* 803543A4 00350004 7C 08 02 A6 */ mflr r0
-/* 803543A8 00350008 90 01 00 44 */ stw r0, 0x44(r1)
-/* 803543AC 0035000C 39 61 00 40 */ addi r11, r1, 0x40
-/* 803543B0 00350010 4B E7 2D 61 */ bl func_801C7110
-/* 803543B4 00350014 80 0D B0 E0 */ lwz r0, lbl_806403A0-_SDA_BASE_(r13)
-/* 803543B8 00350018 7C 79 1B 78 */ mr r25, r3
-/* 803543BC 0035001C 83 83 01 60 */ lwz r28, 0x160(r3)
-/* 803543C0 00350020 3B 40 00 00 */ li r26, 0
-/* 803543C4 00350024 2C 00 00 00 */ cmpwi r0, 0
-/* 803543C8 00350028 40 82 00 60 */ bne lbl_80354428
-/* 803543CC 0035002C 80 1C 00 14 */ lwz r0, 0x14(r28)
-/* 803543D0 00350030 2C 00 00 00 */ cmpwi r0, 0
-/* 803543D4 00350034 41 82 00 24 */ beq lbl_803543F8
-/* 803543D8 00350038 38 60 00 0C */ li r3, 0xc
-/* 803543DC 0035003C 38 00 00 00 */ li r0, 0
-/* 803543E0 00350040 90 6D B0 E0 */ stw r3, lbl_806403A0-_SDA_BASE_(r13)
-/* 803543E4 00350044 90 6D B0 E4 */ stw r3, lbl_806403A4-_SDA_BASE_(r13)
-/* 803543E8 00350048 90 6D B0 E8 */ stw r3, lbl_806403A8-_SDA_BASE_(r13)
-/* 803543EC 0035004C 90 6D B0 F0 */ stw r3, lbl_806403B0-_SDA_BASE_(r13)
-/* 803543F0 00350050 90 0D B0 EC */ stw r0, lbl_806403AC-_SDA_BASE_(r13)
-/* 803543F4 00350054 48 00 00 34 */ b lbl_80354428
-lbl_803543F8:
-/* 803543F8 00350058 3C 60 80 45 */ lis r3, lbl_8044C0C4@ha
-/* 803543FC 0035005C 38 63 C0 C4 */ addi r3, r3, lbl_8044C0C4@l
-/* 80354400 00350060 4B E7 27 65 */ bl strlen
-/* 80354404 00350064 38 C3 00 2F */ addi r6, r3, 0x2f
-/* 80354408 00350068 38 A3 00 4C */ addi r5, r3, 0x4c
-/* 8035440C 0035006C 38 03 00 04 */ addi r0, r3, 4
-/* 80354410 00350070 38 80 00 00 */ li r4, 0
-/* 80354414 00350074 90 6D B0 E0 */ stw r3, lbl_806403A0-_SDA_BASE_(r13)
-/* 80354418 00350078 90 CD B0 E4 */ stw r6, lbl_806403A4-_SDA_BASE_(r13)
-/* 8035441C 0035007C 90 AD B0 E8 */ stw r5, lbl_806403A8-_SDA_BASE_(r13)
-/* 80354420 00350080 90 8D B0 F0 */ stw r4, lbl_806403B0-_SDA_BASE_(r13)
-/* 80354424 00350084 90 0D B0 EC */ stw r0, lbl_806403AC-_SDA_BASE_(r13)
-lbl_80354428:
-/* 80354428 00350088 80 7C 00 00 */ lwz r3, 0(r28)
-/* 8035442C 0035008C 4B FE 1A BD */ bl ArrayLength
-/* 80354430 00350090 7C 7E 1B 78 */ mr r30, r3
-/* 80354434 00350094 3B 60 00 00 */ li r27, 0
-/* 80354438 00350098 3F 00 80 45 */ lis r24, 0x8045
-/* 8035443C 0035009C 48 00 02 BC */ b lbl_803546F8
-lbl_80354440:
-/* 80354440 003500A0 80 7C 00 00 */ lwz r3, 0(r28)
-/* 80354444 003500A4 7F 64 DB 78 */ mr r4, r27
-/* 80354448 003500A8 4B FE 1A A9 */ bl ArrayNth
-/* 8035444C 003500AC 80 03 00 00 */ lwz r0, 0(r3)
-/* 80354450 003500B0 7C 7F 1B 78 */ mr r31, r3
-/* 80354454 003500B4 2C 00 00 00 */ cmpwi r0, 0
-/* 80354458 003500B8 40 82 00 24 */ bne lbl_8035447C
-/* 8035445C 003500BC 80 0D B0 E4 */ lwz r0, lbl_806403A4-_SDA_BASE_(r13)
-/* 80354460 003500C0 80 63 00 04 */ lwz r3, 4(r3)
-/* 80354464 003500C4 7F 5A 02 14 */ add r26, r26, r0
-/* 80354468 003500C8 4B E7 26 FD */ bl strlen
-/* 8035446C 003500CC 80 1F 00 0C */ lwz r0, 0xc(r31)
-/* 80354470 003500D0 7F 5A 1A 14 */ add r26, r26, r3
-/* 80354474 003500D4 7F 5A 02 14 */ add r26, r26, r0
-/* 80354478 003500D8 48 00 02 7C */ b lbl_803546F4
-lbl_8035447C:
-/* 8035447C 003500DC 2C 00 00 01 */ cmpwi r0, 1
-/* 80354480 003500E0 40 82 00 D8 */ bne lbl_80354558
-/* 80354484 003500E4 80 0D B0 E8 */ lwz r0, lbl_806403A8-_SDA_BASE_(r13)
-/* 80354488 003500E8 80 63 00 04 */ lwz r3, 4(r3)
-/* 8035448C 003500EC 7F 5A 02 14 */ add r26, r26, r0
-/* 80354490 003500F0 4B E7 26 D5 */ bl strlen
-/* 80354494 003500F4 7F 5A 1A 14 */ add r26, r26, r3
-/* 80354498 003500F8 80 7F 00 10 */ lwz r3, 0x10(r31)
-/* 8035449C 003500FC 4B E7 26 C9 */ bl strlen
-/* 803544A0 00350100 7F 5A 1A 14 */ add r26, r26, r3
-/* 803544A4 00350104 80 79 01 64 */ lwz r3, 0x164(r25)
-/* 803544A8 00350108 7F 64 DB 78 */ mr r4, r27
-/* 803544AC 0035010C 4B FE 1A 45 */ bl ArrayNth
-/* 803544B0 00350110 82 FC 00 14 */ lwz r23, 0x14(r28)
-/* 803544B4 00350114 83 A3 00 0C */ lwz r29, 0xc(r3)
-/* 803544B8 00350118 2C 17 00 00 */ cmpwi r23, 0
-/* 803544BC 0035011C 7F 5A EA 14 */ add r26, r26, r29
-/* 803544C0 00350120 40 82 00 10 */ bne lbl_803544D0
-/* 803544C4 00350124 80 7F 00 0C */ lwz r3, 0xc(r31)
-/* 803544C8 00350128 4B E7 26 9D */ bl strlen
-/* 803544CC 0035012C 7F 5A 1A 14 */ add r26, r26, r3
-lbl_803544D0:
-/* 803544D0 00350130 2C 17 00 00 */ cmpwi r23, 0
-/* 803544D4 00350134 41 82 02 20 */ beq lbl_803546F4
-/* 803544D8 00350138 80 7F 00 04 */ lwz r3, 4(r31)
-/* 803544DC 0035013C 4B E7 26 89 */ bl strlen
-/* 803544E0 00350140 54 60 F0 02 */ slwi r0, r3, 0x1e
-/* 803544E4 00350144 54 63 0F FE */ srwi r3, r3, 0x1f
-/* 803544E8 00350148 7C 03 00 50 */ subf r0, r3, r0
-/* 803544EC 0035014C 54 00 10 3E */ rotlwi r0, r0, 2
-/* 803544F0 00350150 7C 00 1A 14 */ add r0, r0, r3
-/* 803544F4 00350154 20 00 00 04 */ subfic r0, r0, 4
-/* 803544F8 00350158 2C 00 00 04 */ cmpwi r0, 4
-/* 803544FC 0035015C 41 82 00 08 */ beq lbl_80354504
-/* 80354500 00350160 7F 5A 02 14 */ add r26, r26, r0
-lbl_80354504:
-/* 80354504 00350164 80 7F 00 10 */ lwz r3, 0x10(r31)
-/* 80354508 00350168 4B E7 26 5D */ bl strlen
-/* 8035450C 0035016C 54 60 F0 02 */ slwi r0, r3, 0x1e
-/* 80354510 00350170 54 63 0F FE */ srwi r3, r3, 0x1f
-/* 80354514 00350174 7C 03 00 50 */ subf r0, r3, r0
-/* 80354518 00350178 54 00 10 3E */ rotlwi r0, r0, 2
-/* 8035451C 0035017C 7C 00 1A 14 */ add r0, r0, r3
-/* 80354520 00350180 20 00 00 04 */ subfic r0, r0, 4
-/* 80354524 00350184 2C 00 00 04 */ cmpwi r0, 4
-/* 80354528 00350188 41 82 00 08 */ beq lbl_80354530
-/* 8035452C 0035018C 7F 5A 02 14 */ add r26, r26, r0
-lbl_80354530:
-/* 80354530 00350190 57 A0 F0 02 */ slwi r0, r29, 0x1e
-/* 80354534 00350194 57 A3 0F FE */ srwi r3, r29, 0x1f
-/* 80354538 00350198 7C 03 00 50 */ subf r0, r3, r0
-/* 8035453C 0035019C 54 00 10 3E */ rotlwi r0, r0, 2
-/* 80354540 003501A0 7C 00 1A 14 */ add r0, r0, r3
-/* 80354544 003501A4 20 00 00 04 */ subfic r0, r0, 4
-/* 80354548 003501A8 2C 00 00 04 */ cmpwi r0, 4
-/* 8035454C 003501AC 41 82 01 A8 */ beq lbl_803546F4
-/* 80354550 003501B0 7F 5A 02 14 */ add r26, r26, r0
-/* 80354554 003501B4 48 00 01 A0 */ b lbl_803546F4
-lbl_80354558:
-/* 80354558 003501B8 2C 00 00 02 */ cmpwi r0, 2
-/* 8035455C 003501BC 40 82 00 D4 */ bne lbl_80354630
-/* 80354560 003501C0 80 0D B0 E8 */ lwz r0, lbl_806403A8-_SDA_BASE_(r13)
-/* 80354564 003501C4 82 C3 00 04 */ lwz r22, 4(r3)
-/* 80354568 003501C8 7F 5A 02 14 */ add r26, r26, r0
-/* 8035456C 003501CC 7E C3 B3 78 */ mr r3, r22
-/* 80354570 003501D0 4B E7 25 F5 */ bl strlen
-/* 80354574 003501D4 82 BF 00 14 */ lwz r21, 0x14(r31)
-/* 80354578 003501D8 7F 5A 1A 14 */ add r26, r26, r3
-/* 8035457C 003501DC 7E A3 AB 78 */ mr r3, r21
-/* 80354580 003501E0 4B E7 25 E5 */ bl strlen
-/* 80354584 003501E4 82 FC 00 14 */ lwz r23, 0x14(r28)
-/* 80354588 003501E8 7F 5A 1A 14 */ add r26, r26, r3
-/* 8035458C 003501EC 83 BF 00 0C */ lwz r29, 0xc(r31)
-/* 80354590 003501F0 2C 17 00 00 */ cmpwi r23, 0
-/* 80354594 003501F4 7F 5A EA 14 */ add r26, r26, r29
-/* 80354598 003501F8 40 82 00 10 */ bne lbl_803545A8
-/* 8035459C 003501FC 80 7F 00 10 */ lwz r3, 0x10(r31)
-/* 803545A0 00350200 4B E7 25 C5 */ bl strlen
-/* 803545A4 00350204 7F 5A 1A 14 */ add r26, r26, r3
-lbl_803545A8:
-/* 803545A8 00350208 2C 17 00 00 */ cmpwi r23, 0
-/* 803545AC 0035020C 41 82 01 48 */ beq lbl_803546F4
-/* 803545B0 00350210 7E C3 B3 78 */ mr r3, r22
-/* 803545B4 00350214 4B E7 25 B1 */ bl strlen
-/* 803545B8 00350218 54 60 F0 02 */ slwi r0, r3, 0x1e
-/* 803545BC 0035021C 54 63 0F FE */ srwi r3, r3, 0x1f
-/* 803545C0 00350220 7C 03 00 50 */ subf r0, r3, r0
-/* 803545C4 00350224 54 00 10 3E */ rotlwi r0, r0, 2
-/* 803545C8 00350228 7C 00 1A 14 */ add r0, r0, r3
-/* 803545CC 0035022C 20 00 00 04 */ subfic r0, r0, 4
-/* 803545D0 00350230 2C 00 00 04 */ cmpwi r0, 4
-/* 803545D4 00350234 41 82 00 08 */ beq lbl_803545DC
-/* 803545D8 00350238 7F 5A 02 14 */ add r26, r26, r0
-lbl_803545DC:
-/* 803545DC 0035023C 7E A3 AB 78 */ mr r3, r21
-/* 803545E0 00350240 4B E7 25 85 */ bl strlen
-/* 803545E4 00350244 54 60 F0 02 */ slwi r0, r3, 0x1e
-/* 803545E8 00350248 54 63 0F FE */ srwi r3, r3, 0x1f
-/* 803545EC 0035024C 7C 03 00 50 */ subf r0, r3, r0
-/* 803545F0 00350250 54 00 10 3E */ rotlwi r0, r0, 2
-/* 803545F4 00350254 7C 00 1A 14 */ add r0, r0, r3
-/* 803545F8 00350258 20 00 00 04 */ subfic r0, r0, 4
-/* 803545FC 0035025C 2C 00 00 04 */ cmpwi r0, 4
-/* 80354600 00350260 41 82 00 08 */ beq lbl_80354608
-/* 80354604 00350264 7F 5A 02 14 */ add r26, r26, r0
-lbl_80354608:
-/* 80354608 00350268 57 A0 F0 02 */ slwi r0, r29, 0x1e
-/* 8035460C 0035026C 57 A3 0F FE */ srwi r3, r29, 0x1f
-/* 80354610 00350270 7C 03 00 50 */ subf r0, r3, r0
-/* 80354614 00350274 54 00 10 3E */ rotlwi r0, r0, 2
-/* 80354618 00350278 7C 00 1A 14 */ add r0, r0, r3
-/* 8035461C 0035027C 20 00 00 04 */ subfic r0, r0, 4
-/* 80354620 00350280 2C 00 00 04 */ cmpwi r0, 4
-/* 80354624 00350284 41 82 00 D0 */ beq lbl_803546F4
-/* 80354628 00350288 7F 5A 02 14 */ add r26, r26, r0
-/* 8035462C 0035028C 48 00 00 C8 */ b lbl_803546F4
-lbl_80354630:
-/* 80354630 00350290 2C 00 00 03 */ cmpwi r0, 3
-/* 80354634 00350294 40 82 00 B8 */ bne lbl_803546EC
-/* 80354638 00350298 80 0D B0 F0 */ lwz r0, lbl_806403B0-_SDA_BASE_(r13)
-/* 8035463C 0035029C 80 63 00 08 */ lwz r3, 8(r3)
-/* 80354640 003502A0 7F 5A 02 14 */ add r26, r26, r0
-/* 80354644 003502A4 4B FE 87 A1 */ bl gsXmlWriterGetDataLength
-/* 80354648 003502A8 7F 5A 1A 14 */ add r26, r26, r3
-/* 8035464C 003502AC 80 7F 00 08 */ lwz r3, 8(r31)
-/* 80354650 003502B0 4B FE 87 95 */ bl gsXmlWriterGetDataLength
-/* 80354654 003502B4 54 60 F0 02 */ slwi r0, r3, 0x1e
-/* 80354658 003502B8 54 63 0F FE */ srwi r3, r3, 0x1f
-/* 8035465C 003502BC 7C 03 00 50 */ subf r0, r3, r0
-/* 80354660 003502C0 54 00 10 3E */ rotlwi r0, r0, 2
-/* 80354664 003502C4 7C 00 1A 14 */ add r0, r0, r3
-/* 80354668 003502C8 20 00 00 04 */ subfic r0, r0, 4
-/* 8035466C 003502CC 2C 00 00 04 */ cmpwi r0, 4
-/* 80354670 003502D0 41 82 00 08 */ beq lbl_80354678
-/* 80354674 003502D4 7F 5A 02 14 */ add r26, r26, r0
-lbl_80354678:
-/* 80354678 003502D8 38 6D 93 C0 */ addi r3, r13, lbl_8063E680-_SDA_BASE_
-/* 8035467C 003502DC 4B E7 24 E9 */ bl strlen
-/* 80354680 003502E0 7F 5A 1A 14 */ add r26, r26, r3
-/* 80354684 003502E4 38 6D 93 C0 */ addi r3, r13, lbl_8063E680-_SDA_BASE_
-/* 80354688 003502E8 4B E7 24 DD */ bl strlen
-/* 8035468C 003502EC 54 60 F0 02 */ slwi r0, r3, 0x1e
-/* 80354690 003502F0 54 63 0F FE */ srwi r3, r3, 0x1f
-/* 80354694 003502F4 7C 03 00 50 */ subf r0, r3, r0
-/* 80354698 003502F8 54 00 10 3E */ rotlwi r0, r0, 2
-/* 8035469C 003502FC 7C 00 1A 14 */ add r0, r0, r3
-/* 803546A0 00350300 20 00 00 04 */ subfic r0, r0, 4
-/* 803546A4 00350304 2C 00 00 04 */ cmpwi r0, 4
-/* 803546A8 00350308 41 82 00 08 */ beq lbl_803546B0
-/* 803546AC 0035030C 7F 5A 02 14 */ add r26, r26, r0
-lbl_803546B0:
-/* 803546B0 00350310 38 78 C0 EC */ addi r3, r24, -16148
-/* 803546B4 00350314 4B E7 24 B1 */ bl strlen
-/* 803546B8 00350318 7F 5A 1A 14 */ add r26, r26, r3
-/* 803546BC 0035031C 38 78 C0 EC */ addi r3, r24, -16148
-/* 803546C0 00350320 4B E7 24 A5 */ bl strlen
-/* 803546C4 00350324 54 60 F0 02 */ slwi r0, r3, 0x1e
-/* 803546C8 00350328 54 63 0F FE */ srwi r3, r3, 0x1f
-/* 803546CC 0035032C 7C 03 00 50 */ subf r0, r3, r0
-/* 803546D0 00350330 54 00 10 3E */ rotlwi r0, r0, 2
-/* 803546D4 00350334 7C 00 1A 14 */ add r0, r0, r3
-/* 803546D8 00350338 20 00 00 04 */ subfic r0, r0, 4
-/* 803546DC 0035033C 2C 00 00 04 */ cmpwi r0, 4
-/* 803546E0 00350340 41 82 00 14 */ beq lbl_803546F4
-/* 803546E4 00350344 7F 5A 02 14 */ add r26, r26, r0
-/* 803546E8 00350348 48 00 00 0C */ b lbl_803546F4
-lbl_803546EC:
-/* 803546EC 0035034C 38 60 00 00 */ li r3, 0
-/* 803546F0 00350350 48 00 00 18 */ b lbl_80354708
-lbl_803546F4:
-/* 803546F4 00350354 3B 7B 00 01 */ addi r27, r27, 1
-lbl_803546F8:
-/* 803546F8 00350358 7C 1B F0 00 */ cmpw r27, r30
-/* 803546FC 0035035C 41 80 FD 44 */ blt lbl_80354440
-/* 80354700 00350360 80 0D B0 EC */ lwz r0, lbl_806403AC-_SDA_BASE_(r13)
-/* 80354704 00350364 7C 7A 02 14 */ add r3, r26, r0
-lbl_80354708:
-/* 80354708 00350368 39 61 00 40 */ addi r11, r1, 0x40
-/* 8035470C 0035036C 4B E7 2A 51 */ bl func_801C715C
-/* 80354710 00350370 80 01 00 44 */ lwz r0, 0x44(r1)
-/* 80354714 00350374 7C 08 03 A6 */ mtlr r0
-/* 80354718 00350378 38 21 00 40 */ addi r1, r1, 0x40
-/* 8035471C 0035037C 4E 80 00 20 */ blr
-
-.global func_80354720
-func_80354720:
-/* 80354720 00350380 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80354724 00350384 7C 08 02 A6 */ mflr r0
-/* 80354728 00350388 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8035472C 0035038C 38 00 FF FF */ li r0, -1
-/* 80354730 00350390 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80354734 00350394 7C 7F 1B 78 */ mr r31, r3
-/* 80354738 00350398 80 83 00 00 */ lwz r4, 0(r3)
-/* 8035473C 0035039C 80 84 00 00 */ lwz r4, 0(r4)
-/* 80354740 003503A0 2C 04 00 00 */ cmpwi r4, 0
-/* 80354744 003503A4 90 03 00 04 */ stw r0, 4(r3)
-/* 80354748 003503A8 41 82 00 7C */ beq lbl_803547C4
-/* 8035474C 003503AC 2C 04 00 01 */ cmpwi r4, 1
-/* 80354750 003503B0 40 82 00 5C */ bne lbl_803547AC
-/* 80354754 003503B4 80 63 00 08 */ lwz r3, 8(r3)
-/* 80354758 003503B8 2C 03 00 00 */ cmpwi r3, 0
-/* 8035475C 003503BC 40 82 00 0C */ bne lbl_80354768
-/* 80354760 003503C0 38 60 00 00 */ li r3, 0
-/* 80354764 003503C4 48 00 00 64 */ b lbl_803547C8
-lbl_80354768:
-/* 80354768 003503C8 38 80 00 00 */ li r4, 0
-/* 8035476C 003503CC 38 A0 00 02 */ li r5, 2
-/* 80354770 003503D0 4B E7 59 81 */ bl func_801CA0F0
-/* 80354774 003503D4 2C 03 00 00 */ cmpwi r3, 0
-/* 80354778 003503D8 41 82 00 0C */ beq lbl_80354784
-/* 8035477C 003503DC 38 60 00 00 */ li r3, 0
-/* 80354780 003503E0 48 00 00 48 */ b lbl_803547C8
-lbl_80354784:
-/* 80354784 003503E4 80 7F 00 08 */ lwz r3, 8(r31)
-/* 80354788 003503E8 4B E7 57 A1 */ bl func_801C9F28
-/* 8035478C 003503EC 2C 03 FF FF */ cmpwi r3, -1
-/* 80354790 003503F0 90 7F 00 0C */ stw r3, 0xc(r31)
-/* 80354794 003503F4 40 82 00 0C */ bne lbl_803547A0
-/* 80354798 003503F8 38 60 00 00 */ li r3, 0
-/* 8035479C 003503FC 48 00 00 2C */ b lbl_803547C8
-lbl_803547A0:
-/* 803547A0 00350400 80 7F 00 08 */ lwz r3, 8(r31)
-/* 803547A4 00350404 4B E7 59 51 */ bl func_801CA0F4
-/* 803547A8 00350408 48 00 00 1C */ b lbl_803547C4
-lbl_803547AC:
-/* 803547AC 0035040C 2C 04 00 02 */ cmpwi r4, 2
-/* 803547B0 00350410 41 82 00 14 */ beq lbl_803547C4
-/* 803547B4 00350414 2C 04 00 03 */ cmpwi r4, 3
-/* 803547B8 00350418 41 82 00 0C */ beq lbl_803547C4
-/* 803547BC 0035041C 38 60 00 00 */ li r3, 0
-/* 803547C0 00350420 48 00 00 08 */ b lbl_803547C8
-lbl_803547C4:
-/* 803547C4 00350424 38 60 00 01 */ li r3, 1
-lbl_803547C8:
-/* 803547C8 00350428 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 803547CC 0035042C 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 803547D0 00350430 7C 08 03 A6 */ mtlr r0
-/* 803547D4 00350434 38 21 00 10 */ addi r1, r1, 0x10
-/* 803547D8 00350438 4E 80 00 20 */ blr
-
-.global func_803547DC
-func_803547DC:
-/* 803547DC 0035043C 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 803547E0 00350440 7C 08 02 A6 */ mflr r0
-/* 803547E4 00350444 90 01 00 34 */ stw r0, 0x34(r1)
-/* 803547E8 00350448 93 E1 00 2C */ stw r31, 0x2c(r1)
-/* 803547EC 0035044C 93 C1 00 28 */ stw r30, 0x28(r1)
-/* 803547F0 00350450 93 A1 00 24 */ stw r29, 0x24(r1)
-/* 803547F4 00350454 93 81 00 20 */ stw r28, 0x20(r1)
-/* 803547F8 00350458 7C 7C 1B 78 */ mr r28, r3
-/* 803547FC 0035045C 80 83 01 60 */ lwz r4, 0x160(r3)
-/* 80354800 00350460 2C 04 00 00 */ cmpwi r4, 0
-/* 80354804 00350464 40 82 00 0C */ bne lbl_80354810
-/* 80354808 00350468 38 60 00 00 */ li r3, 0
-/* 8035480C 0035046C 48 00 01 60 */ b lbl_8035496C
-lbl_80354810:
-/* 80354810 00350470 38 00 00 00 */ li r0, 0
-/* 80354814 00350474 90 03 01 68 */ stw r0, 0x168(r3)
-/* 80354818 00350478 90 03 01 6C */ stw r0, 0x16c(r3)
-/* 8035481C 0035047C 90 03 01 70 */ stw r0, 0x170(r3)
-/* 80354820 00350480 90 03 01 80 */ stw r0, 0x180(r3)
-/* 80354824 00350484 80 04 00 04 */ lwz r0, 4(r4)
-/* 80354828 00350488 90 03 01 74 */ stw r0, 0x174(r3)
-/* 8035482C 0035048C 80 04 00 08 */ lwz r0, 8(r4)
-/* 80354830 00350490 90 03 01 78 */ stw r0, 0x178(r3)
-/* 80354834 00350494 80 64 00 00 */ lwz r3, 0(r4)
-/* 80354838 00350498 4B FE 16 B1 */ bl ArrayLength
-/* 8035483C 0035049C 7C 7F 1B 78 */ mr r31, r3
-/* 80354840 003504A0 38 60 00 10 */ li r3, 0x10
-/* 80354844 003504A4 7F E4 FB 78 */ mr r4, r31
-/* 80354848 003504A8 38 A0 00 00 */ li r5, 0
-/* 8035484C 003504AC 4B FE 15 6D */ bl ArrayNew
-/* 80354850 003504B0 2C 03 00 00 */ cmpwi r3, 0
-/* 80354854 003504B4 90 7C 01 64 */ stw r3, 0x164(r28)
-/* 80354858 003504B8 40 82 00 0C */ bne lbl_80354864
-/* 8035485C 003504BC 38 60 00 00 */ li r3, 0
-/* 80354860 003504C0 48 00 01 0C */ b lbl_8035496C
-lbl_80354864:
-/* 80354864 003504C4 3B A0 00 00 */ li r29, 0
-/* 80354868 003504C8 48 00 00 B8 */ b lbl_80354920
-lbl_8035486C:
-/* 8035486C 003504CC 80 7C 01 60 */ lwz r3, 0x160(r28)
-/* 80354870 003504D0 7F A4 EB 78 */ mr r4, r29
-/* 80354874 003504D4 80 63 00 00 */ lwz r3, 0(r3)
-/* 80354878 003504D8 4B FE 16 79 */ bl ArrayNth
-/* 8035487C 003504DC 7C 7E 1B 78 */ mr r30, r3
-/* 80354880 003504E0 38 61 00 08 */ addi r3, r1, 8
-/* 80354884 003504E4 38 80 00 00 */ li r4, 0
-/* 80354888 003504E8 38 A0 00 10 */ li r5, 0x10
-/* 8035488C 003504EC 4B CA F8 79 */ bl memset
-/* 80354890 003504F0 93 C1 00 08 */ stw r30, 8(r1)
-/* 80354894 003504F4 38 61 00 08 */ addi r3, r1, 8
-/* 80354898 003504F8 4B FF FE 89 */ bl func_80354720
-/* 8035489C 003504FC 2C 03 00 00 */ cmpwi r3, 0
-/* 803548A0 00350500 40 82 00 70 */ bne lbl_80354910
-/* 803548A4 00350504 3B E0 00 00 */ li r31, 0
-/* 803548A8 00350508 3B BD FF FF */ addi r29, r29, -1
-/* 803548AC 0035050C 48 00 00 44 */ b lbl_803548F0
-lbl_803548B0:
-/* 803548B0 00350510 80 7C 01 64 */ lwz r3, 0x164(r28)
-/* 803548B4 00350514 7F A4 EB 78 */ mr r4, r29
-/* 803548B8 00350518 4B FE 16 39 */ bl ArrayNth
-/* 803548BC 0035051C 80 83 00 00 */ lwz r4, 0(r3)
-/* 803548C0 00350520 7C 7E 1B 78 */ mr r30, r3
-/* 803548C4 00350524 80 04 00 00 */ lwz r0, 0(r4)
-/* 803548C8 00350528 2C 00 00 00 */ cmpwi r0, 0
-/* 803548CC 0035052C 41 82 00 20 */ beq lbl_803548EC
-/* 803548D0 00350530 2C 00 00 01 */ cmpwi r0, 1
-/* 803548D4 00350534 40 82 00 18 */ bne lbl_803548EC
-/* 803548D8 00350538 80 63 00 08 */ lwz r3, 8(r3)
-/* 803548DC 0035053C 2C 03 00 00 */ cmpwi r3, 0
-/* 803548E0 00350540 41 82 00 08 */ beq lbl_803548E8
-/* 803548E4 00350544 4B E7 52 ED */ bl func_801C9BD0
-lbl_803548E8:
-/* 803548E8 00350548 93 FE 00 08 */ stw r31, 8(r30)
-lbl_803548EC:
-/* 803548EC 0035054C 3B BD FF FF */ addi r29, r29, -1
-lbl_803548F0:
-/* 803548F0 00350550 2C 1D 00 00 */ cmpwi r29, 0
-/* 803548F4 00350554 40 80 FF BC */ bge lbl_803548B0
-/* 803548F8 00350558 80 7C 01 64 */ lwz r3, 0x164(r28)
-/* 803548FC 0035055C 4B FE 15 59 */ bl ArrayFree
-/* 80354900 00350560 38 00 00 00 */ li r0, 0
-/* 80354904 00350564 38 60 00 00 */ li r3, 0
-/* 80354908 00350568 90 1C 01 64 */ stw r0, 0x164(r28)
-/* 8035490C 0035056C 48 00 00 60 */ b lbl_8035496C
-lbl_80354910:
-/* 80354910 00350570 80 7C 01 64 */ lwz r3, 0x164(r28)
-/* 80354914 00350574 38 81 00 08 */ addi r4, r1, 8
-/* 80354918 00350578 4B FE 16 09 */ bl ArrayAppend
-/* 8035491C 0035057C 3B BD 00 01 */ addi r29, r29, 1
-lbl_80354920:
-/* 80354920 00350580 7C 1D F8 00 */ cmpw r29, r31
-/* 80354924 00350584 41 80 FF 48 */ blt lbl_8035486C
-/* 80354928 00350588 80 7C 01 60 */ lwz r3, 0x160(r28)
-/* 8035492C 0035058C 2C 03 00 00 */ cmpwi r3, 0
-/* 80354930 00350590 40 82 00 0C */ bne lbl_8035493C
-/* 80354934 00350594 38 60 00 00 */ li r3, 0
-/* 80354938 00350598 48 00 00 24 */ b lbl_8035495C
-lbl_8035493C:
-/* 8035493C 0035059C 80 03 00 0C */ lwz r0, 0xc(r3)
-/* 80354940 003505A0 2C 00 00 00 */ cmpwi r0, 0
-/* 80354944 003505A4 41 82 00 10 */ beq lbl_80354954
-/* 80354948 003505A8 7F 83 E3 78 */ mr r3, r28
-/* 8035494C 003505AC 4B FF FA 55 */ bl func_803543A0
-/* 80354950 003505B0 48 00 00 0C */ b lbl_8035495C
-lbl_80354954:
-/* 80354954 003505B4 7F 83 E3 78 */ mr r3, r28
-/* 80354958 003505B8 4B FF F9 85 */ bl func_803542DC
-lbl_8035495C:
-/* 8035495C 003505BC 38 00 00 01 */ li r0, 1
-/* 80354960 003505C0 90 7C 01 70 */ stw r3, 0x170(r28)
-/* 80354964 003505C4 38 60 00 01 */ li r3, 1
-/* 80354968 003505C8 90 1C 01 7C */ stw r0, 0x17c(r28)
-lbl_8035496C:
-/* 8035496C 003505CC 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 80354970 003505D0 83 E1 00 2C */ lwz r31, 0x2c(r1)
-/* 80354974 003505D4 83 C1 00 28 */ lwz r30, 0x28(r1)
-/* 80354978 003505D8 83 A1 00 24 */ lwz r29, 0x24(r1)
-/* 8035497C 003505DC 83 81 00 20 */ lwz r28, 0x20(r1)
-/* 80354980 003505E0 7C 08 03 A6 */ mtlr r0
-/* 80354984 003505E4 38 21 00 30 */ addi r1, r1, 0x30
-/* 80354988 003505E8 4E 80 00 20 */ blr
-
-.global func_8035498C
-func_8035498C:
-/* 8035498C 003505EC 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 80354990 003505F0 7C 08 02 A6 */ mflr r0
-/* 80354994 003505F4 90 01 00 24 */ stw r0, 0x24(r1)
-/* 80354998 003505F8 39 61 00 20 */ addi r11, r1, 0x20
-/* 8035499C 003505FC 4B E7 27 8D */ bl _savegpr_27
-/* 803549A0 00350600 80 03 01 64 */ lwz r0, 0x164(r3)
-/* 803549A4 00350604 7C 7B 1B 78 */ mr r27, r3
-/* 803549A8 00350608 2C 00 00 00 */ cmpwi r0, 0
-/* 803549AC 0035060C 41 82 00 74 */ beq lbl_80354A20
-/* 803549B0 00350610 7C 03 03 78 */ mr r3, r0
-/* 803549B4 00350614 4B FE 15 35 */ bl ArrayLength
-/* 803549B8 00350618 7C 7D 1B 78 */ mr r29, r3
-/* 803549BC 0035061C 3B 80 00 00 */ li r28, 0
-/* 803549C0 00350620 3B E0 00 00 */ li r31, 0
-/* 803549C4 00350624 48 00 00 44 */ b lbl_80354A08
-lbl_803549C8:
-/* 803549C8 00350628 80 7B 01 64 */ lwz r3, 0x164(r27)
-/* 803549CC 0035062C 7F 84 E3 78 */ mr r4, r28
-/* 803549D0 00350630 4B FE 15 21 */ bl ArrayNth
-/* 803549D4 00350634 80 83 00 00 */ lwz r4, 0(r3)
-/* 803549D8 00350638 7C 7E 1B 78 */ mr r30, r3
-/* 803549DC 0035063C 80 04 00 00 */ lwz r0, 0(r4)
-/* 803549E0 00350640 2C 00 00 00 */ cmpwi r0, 0
-/* 803549E4 00350644 41 82 00 20 */ beq lbl_80354A04
-/* 803549E8 00350648 2C 00 00 01 */ cmpwi r0, 1
-/* 803549EC 0035064C 40 82 00 18 */ bne lbl_80354A04
-/* 803549F0 00350650 80 63 00 08 */ lwz r3, 8(r3)
-/* 803549F4 00350654 2C 03 00 00 */ cmpwi r3, 0
-/* 803549F8 00350658 41 82 00 08 */ beq lbl_80354A00
-/* 803549FC 0035065C 4B E7 51 D5 */ bl func_801C9BD0
-lbl_80354A00:
-/* 80354A00 00350660 93 FE 00 08 */ stw r31, 8(r30)
-lbl_80354A04:
-/* 80354A04 00350664 3B 9C 00 01 */ addi r28, r28, 1
-lbl_80354A08:
-/* 80354A08 00350668 7C 1C E8 00 */ cmpw r28, r29
-/* 80354A0C 0035066C 41 80 FF BC */ blt lbl_803549C8
-/* 80354A10 00350670 80 7B 01 64 */ lwz r3, 0x164(r27)
-/* 80354A14 00350674 4B FE 14 41 */ bl ArrayFree
-/* 80354A18 00350678 38 00 00 00 */ li r0, 0
-/* 80354A1C 0035067C 90 1B 01 64 */ stw r0, 0x164(r27)
-lbl_80354A20:
-/* 80354A20 00350680 83 BB 01 60 */ lwz r29, 0x160(r27)
-/* 80354A24 00350684 2C 1D 00 00 */ cmpwi r29, 0
-/* 80354A28 00350688 41 82 00 28 */ beq lbl_80354A50
-/* 80354A2C 0035068C 80 1D 00 18 */ lwz r0, 0x18(r29)
-/* 80354A30 00350690 2C 00 00 00 */ cmpwi r0, 0
-/* 80354A34 00350694 41 82 00 1C */ beq lbl_80354A50
-/* 80354A38 00350698 80 7D 00 00 */ lwz r3, 0(r29)
-/* 80354A3C 0035069C 4B FE 14 19 */ bl ArrayFree
-/* 80354A40 003506A0 7F A3 EB 78 */ mr r3, r29
-/* 80354A44 003506A4 4B FE 48 F5 */ bl gsifree
-/* 80354A48 003506A8 38 00 00 00 */ li r0, 0
-/* 80354A4C 003506AC 90 1B 01 60 */ stw r0, 0x160(r27)
-lbl_80354A50:
-/* 80354A50 003506B0 39 61 00 20 */ addi r11, r1, 0x20
-/* 80354A54 003506B4 4B E7 27 21 */ bl _restgpr_27
-/* 80354A58 003506B8 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 80354A5C 003506BC 7C 08 03 A6 */ mtlr r0
-/* 80354A60 003506C0 38 21 00 20 */ addi r1, r1, 0x20
-/* 80354A64 003506C4 4E 80 00 20 */ blr
-
-.global func_80354A68
-func_80354A68:
-/* 80354A68 003506C8 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 80354A6C 003506CC 7C 08 02 A6 */ mflr r0
-/* 80354A70 003506D0 90 01 00 34 */ stw r0, 0x34(r1)
-/* 80354A74 003506D4 39 61 00 30 */ addi r11, r1, 0x30
-/* 80354A78 003506D8 4B E7 26 AD */ bl func_801C7124
-/* 80354A7C 003506DC 80 C3 00 00 */ lwz r6, 0(r3)
-/* 80354A80 003506E0 7C 9E 23 78 */ mr r30, r4
-/* 80354A84 003506E4 80 A6 00 0C */ lwz r5, 0xc(r6)
-/* 80354A88 003506E8 2C 05 00 00 */ cmpwi r5, 0
-/* 80354A8C 003506EC 40 82 00 0C */ bne lbl_80354A98
-/* 80354A90 003506F0 38 60 00 01 */ li r3, 1
-/* 80354A94 003506F4 48 00 01 68 */ b lbl_80354BFC
-lbl_80354A98:
-/* 80354A98 003506F8 80 64 01 60 */ lwz r3, 0x160(r4)
-/* 80354A9C 003506FC 80 03 00 0C */ lwz r0, 0xc(r3)
-/* 80354AA0 00350700 2C 00 00 00 */ cmpwi r0, 0
-/* 80354AA4 00350704 40 82 00 F4 */ bne lbl_80354B98
-/* 80354AA8 00350708 80 03 00 10 */ lwz r0, 0x10(r3)
-/* 80354AAC 0035070C 2C 00 00 00 */ cmpwi r0, 0
-/* 80354AB0 00350710 40 82 00 E8 */ bne lbl_80354B98
-/* 80354AB4 00350714 80 06 00 10 */ lwz r0, 0x10(r6)
-/* 80354AB8 00350718 2C 00 00 00 */ cmpwi r0, 0
-/* 80354ABC 0035071C 41 82 00 DC */ beq lbl_80354B98
-/* 80354AC0 00350720 83 E6 00 08 */ lwz r31, 8(r6)
-/* 80354AC4 00350724 88 C2 A4 D8 */ lbz r6, lbl_80642AD8-_SDA2_BASE_(r2)
-/* 80354AC8 00350728 88 A2 A4 D9 */ lbz r5, lbl_80642AD9-_SDA2_BASE_(r2)
-/* 80354ACC 0035072C 88 62 A4 DA */ lbz r3, lbl_80642ADA-_SDA2_BASE_(r2)
-/* 80354AD0 00350730 88 02 A4 DB */ lbz r0, lbl_80642ADB-_SDA2_BASE_(r2)
-/* 80354AD4 00350734 98 C1 00 08 */ stb r6, 8(r1)
-/* 80354AD8 00350738 98 A1 00 09 */ stb r5, 9(r1)
-/* 80354ADC 0035073C 98 61 00 0A */ stb r3, 0xa(r1)
-/* 80354AE0 00350740 98 01 00 0B */ stb r0, 0xb(r1)
-/* 80354AE4 00350744 80 04 01 94 */ lwz r0, 0x194(r4)
-/* 80354AE8 00350748 2C 00 00 00 */ cmpwi r0, 0
-/* 80354AEC 0035074C 40 82 00 0C */ bne lbl_80354AF8
-/* 80354AF0 00350750 3B 44 00 54 */ addi r26, r4, 0x54
-/* 80354AF4 00350754 48 00 00 08 */ b lbl_80354AFC
-lbl_80354AF8:
-/* 80354AF8 00350758 3B 44 00 78 */ addi r26, r4, 0x78
-lbl_80354AFC:
-/* 80354AFC 0035075C 3F A0 80 45 */ lis r29, lbl_8044C118@ha
-/* 80354B00 00350760 3F 80 80 45 */ lis r28, 0x8045
-/* 80354B04 00350764 3B BD C1 18 */ addi r29, r29, lbl_8044C118@l
-/* 80354B08 00350768 48 00 00 80 */ b lbl_80354B88
-lbl_80354B0C:
-/* 80354B0C 0035076C 7F 64 DB 78 */ mr r4, r27
-/* 80354B10 00350770 38 7C BF F8 */ addi r3, r28, -16392
-/* 80354B14 00350774 4B E7 9A 95 */ bl func_801CE5A8
-/* 80354B18 00350778 2C 03 00 00 */ cmpwi r3, 0
-/* 80354B1C 0035077C 41 82 00 14 */ beq lbl_80354B30
-/* 80354B20 00350780 7F 43 D3 78 */ mr r3, r26
-/* 80354B24 00350784 7F 64 DB 78 */ mr r4, r27
-/* 80354B28 00350788 4B FF C3 85 */ bl ghiAppendCharToBuffer
-/* 80354B2C 0035078C 48 00 00 58 */ b lbl_80354B84
-lbl_80354B30:
-/* 80354B30 00350790 2C 1B 00 20 */ cmpwi r27, 0x20
-/* 80354B34 00350794 40 82 00 14 */ bne lbl_80354B48
-/* 80354B38 00350798 7F 43 D3 78 */ mr r3, r26
-/* 80354B3C 0035079C 38 80 00 2B */ li r4, 0x2b
-/* 80354B40 003507A0 4B FF C3 6D */ bl ghiAppendCharToBuffer
-/* 80354B44 003507A4 48 00 00 40 */ b lbl_80354B84
-lbl_80354B48:
-/* 80354B48 003507A8 57 60 E0 06 */ slwi r0, r27, 0x1c
-/* 80354B4C 003507AC 57 65 0F FE */ srwi r5, r27, 0x1f
-/* 80354B50 003507B0 7C 05 00 50 */ subf r0, r5, r0
-/* 80354B54 003507B4 7F 64 26 70 */ srawi r4, r27, 4
-/* 80354B58 003507B8 54 00 20 3E */ rotlwi r0, r0, 4
-/* 80354B5C 003507BC 7F 43 D3 78 */ mr r3, r26
-/* 80354B60 003507C0 7C C4 01 94 */ addze r6, r4
-/* 80354B64 003507C4 38 81 00 08 */ addi r4, r1, 8
-/* 80354B68 003507C8 7C 00 2A 14 */ add r0, r0, r5
-/* 80354B6C 003507CC 7C DD 30 AE */ lbzx r6, r29, r6
-/* 80354B70 003507D0 7C 1D 00 AE */ lbzx r0, r29, r0
-/* 80354B74 003507D4 38 A0 00 03 */ li r5, 3
-/* 80354B78 003507D8 98 C1 00 09 */ stb r6, 9(r1)
-/* 80354B7C 003507DC 98 01 00 0A */ stb r0, 0xa(r1)
-/* 80354B80 003507E0 4B FF BF 3D */ bl ghiAppendDataToBuffer
-lbl_80354B84:
-/* 80354B84 003507E4 3B FF 00 01 */ addi r31, r31, 1
-lbl_80354B88:
-/* 80354B88 003507E8 8B 7F 00 00 */ lbz r27, 0(r31)
-/* 80354B8C 003507EC 7F 7B 07 75 */ extsb. r27, r27
-/* 80354B90 003507F0 40 82 FF 7C */ bne lbl_80354B0C
-/* 80354B94 003507F4 48 00 00 20 */ b lbl_80354BB4
-lbl_80354B98:
-/* 80354B98 003507F8 80 86 00 08 */ lwz r4, 8(r6)
-/* 80354B9C 003507FC 7F C3 F3 78 */ mr r3, r30
-/* 80354BA0 00350800 4B FF CA 99 */ bl ghiTrySendThenBuffer
-/* 80354BA4 00350804 7C 03 00 D0 */ neg r0, r3
-/* 80354BA8 00350808 7C 00 1B 78 */ or r0, r0, r3
-/* 80354BAC 0035080C 54 03 0F FE */ srwi r3, r0, 0x1f
-/* 80354BB0 00350810 48 00 00 4C */ b lbl_80354BFC
-lbl_80354BB4:
-/* 80354BB4 00350814 80 1E 01 94 */ lwz r0, 0x194(r30)
-/* 80354BB8 00350818 2C 00 00 00 */ cmpwi r0, 0
-/* 80354BBC 0035081C 40 82 00 3C */ bne lbl_80354BF8
-/* 80354BC0 00350820 7F C3 F3 78 */ mr r3, r30
-/* 80354BC4 00350824 4B FF C4 91 */ bl ghiSendBufferedData
-/* 80354BC8 00350828 2C 03 00 00 */ cmpwi r3, 0
-/* 80354BCC 0035082C 40 82 00 0C */ bne lbl_80354BD8
-/* 80354BD0 00350830 38 60 00 00 */ li r3, 0
-/* 80354BD4 00350834 48 00 00 28 */ b lbl_80354BFC
-lbl_80354BD8:
-/* 80354BD8 00350838 80 7E 00 64 */ lwz r3, 0x64(r30)
-/* 80354BDC 0035083C 80 1E 00 60 */ lwz r0, 0x60(r30)
-/* 80354BE0 00350840 7C 03 00 00 */ cmpw r3, r0
-/* 80354BE4 00350844 40 82 00 0C */ bne lbl_80354BF0
-/* 80354BE8 00350848 38 7E 00 54 */ addi r3, r30, 0x54
-/* 80354BEC 0035084C 4B FF C4 45 */ bl ghiResetBuffer
-lbl_80354BF0:
-/* 80354BF0 00350850 38 60 00 01 */ li r3, 1
-/* 80354BF4 00350854 48 00 00 08 */ b lbl_80354BFC
-lbl_80354BF8:
-/* 80354BF8 00350858 38 60 00 01 */ li r3, 1
-lbl_80354BFC:
-/* 80354BFC 0035085C 39 61 00 30 */ addi r11, r1, 0x30
-/* 80354C00 00350860 4B E7 25 71 */ bl func_801C7170
-/* 80354C04 00350864 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 80354C08 00350868 7C 08 03 A6 */ mtlr r0
-/* 80354C0C 0035086C 38 21 00 30 */ addi r1, r1, 0x30
-/* 80354C10 00350870 4E 80 00 20 */ blr
-
-.global func_80354C14
-func_80354C14:
-/* 80354C14 00350874 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 80354C18 00350878 7C 08 02 A6 */ mflr r0
-/* 80354C1C 0035087C 90 01 00 24 */ stw r0, 0x24(r1)
-/* 80354C20 00350880 38 00 00 00 */ li r0, 0
-/* 80354C24 00350884 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 80354C28 00350888 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 80354C2C 0035088C 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 80354C30 00350890 3B A0 00 00 */ li r29, 0
-/* 80354C34 00350894 93 81 00 10 */ stw r28, 0x10(r1)
-/* 80354C38 00350898 7C 9C 23 78 */ mr r28, r4
-/* 80354C3C 0035089C 80 63 00 00 */ lwz r3, 0(r3)
-/* 80354C40 003508A0 83 C3 00 08 */ lwz r30, 8(r3)
-/* 80354C44 003508A4 B0 01 00 08 */ sth r0, 8(r1)
-/* 80354C48 003508A8 98 01 00 0A */ stb r0, 0xa(r1)
-/* 80354C4C 003508AC 80 64 01 60 */ lwz r3, 0x160(r4)
-/* 80354C50 003508B0 80 03 00 14 */ lwz r0, 0x14(r3)
-/* 80354C54 003508B4 2C 00 00 00 */ cmpwi r0, 0
-/* 80354C58 003508B8 41 82 00 30 */ beq lbl_80354C88
-/* 80354C5C 003508BC 7F C3 F3 78 */ mr r3, r30
-/* 80354C60 003508C0 4B FE 81 85 */ bl gsXmlWriterGetDataLength
-/* 80354C64 003508C4 54 60 F0 02 */ slwi r0, r3, 0x1e
-/* 80354C68 003508C8 54 63 0F FE */ srwi r3, r3, 0x1f
-/* 80354C6C 003508CC 7C 03 00 50 */ subf r0, r3, r0
-/* 80354C70 003508D0 54 00 10 3E */ rotlwi r0, r0, 2
-/* 80354C74 003508D4 7C 00 1A 14 */ add r0, r0, r3
-/* 80354C78 003508D8 23 A0 00 04 */ subfic r29, r0, 4
-/* 80354C7C 003508DC 2C 1D 00 04 */ cmpwi r29, 4
-/* 80354C80 003508E0 40 82 00 08 */ bne lbl_80354C88
-/* 80354C84 003508E4 3B A0 00 00 */ li r29, 0
-lbl_80354C88:
-/* 80354C88 003508E8 80 1C 01 94 */ lwz r0, 0x194(r28)
-/* 80354C8C 003508EC 2C 00 00 00 */ cmpwi r0, 0
-/* 80354C90 003508F0 40 82 00 58 */ bne lbl_80354CE8
-/* 80354C94 003508F4 7F C3 F3 78 */ mr r3, r30
-/* 80354C98 003508F8 4B FE 81 4D */ bl gsXmlWriterGetDataLength
-/* 80354C9C 003508FC 7C 7F 1B 78 */ mr r31, r3
-/* 80354CA0 00350900 7F C3 F3 78 */ mr r3, r30
-/* 80354CA4 00350904 4B FE 81 39 */ bl gsXmlWriterGetData
-/* 80354CA8 00350908 7C 64 1B 78 */ mr r4, r3
-/* 80354CAC 0035090C 7F 83 E3 78 */ mr r3, r28
-/* 80354CB0 00350910 7F E5 FB 78 */ mr r5, r31
-/* 80354CB4 00350914 4B FF C9 85 */ bl ghiTrySendThenBuffer
-/* 80354CB8 00350918 2C 03 00 00 */ cmpwi r3, 0
-/* 80354CBC 0035091C 40 82 00 0C */ bne lbl_80354CC8
-/* 80354CC0 00350920 38 60 00 00 */ li r3, 0
-/* 80354CC4 00350924 48 00 00 C4 */ b lbl_80354D88
-lbl_80354CC8:
-/* 80354CC8 00350928 7F 83 E3 78 */ mr r3, r28
-/* 80354CCC 0035092C 7F A5 EB 78 */ mr r5, r29
-/* 80354CD0 00350930 38 81 00 08 */ addi r4, r1, 8
-/* 80354CD4 00350934 4B FF C9 65 */ bl ghiTrySendThenBuffer
-/* 80354CD8 00350938 7C 03 00 D0 */ neg r0, r3
-/* 80354CDC 0035093C 7C 00 1B 78 */ or r0, r0, r3
-/* 80354CE0 00350940 54 03 0F FE */ srwi r3, r0, 0x1f
-/* 80354CE4 00350944 48 00 00 A4 */ b lbl_80354D88
-lbl_80354CE8:
-/* 80354CE8 00350948 7F C3 F3 78 */ mr r3, r30
-/* 80354CEC 0035094C 4B FE 80 F9 */ bl gsXmlWriterGetDataLength
-/* 80354CF0 00350950 7C 7F 1B 78 */ mr r31, r3
-/* 80354CF4 00350954 7F C3 F3 78 */ mr r3, r30
-/* 80354CF8 00350958 4B FE 80 E5 */ bl gsXmlWriterGetData
-/* 80354CFC 0035095C 7C 64 1B 78 */ mr r4, r3
-/* 80354D00 00350960 7F E5 FB 78 */ mr r5, r31
-/* 80354D04 00350964 38 7C 00 78 */ addi r3, r28, 0x78
-/* 80354D08 00350968 4B FF BD B5 */ bl ghiAppendDataToBuffer
-/* 80354D0C 0035096C 2C 03 00 00 */ cmpwi r3, 0
-/* 80354D10 00350970 41 82 00 34 */ beq lbl_80354D44
-/* 80354D14 00350974 7F A5 EB 78 */ mr r5, r29
-/* 80354D18 00350978 38 7C 00 78 */ addi r3, r28, 0x78
-/* 80354D1C 0035097C 38 81 00 08 */ addi r4, r1, 8
-/* 80354D20 00350980 4B FF BD 9D */ bl ghiAppendDataToBuffer
-/* 80354D24 00350984 2C 03 00 00 */ cmpwi r3, 0
-/* 80354D28 00350988 41 82 00 1C */ beq lbl_80354D44
-/* 80354D2C 0035098C 80 9C 00 7C */ lwz r4, 0x7c(r28)
-/* 80354D30 00350990 38 7C 00 54 */ addi r3, r28, 0x54
-/* 80354D34 00350994 80 BC 00 84 */ lwz r5, 0x84(r28)
-/* 80354D38 00350998 4B FF BE F5 */ bl ghiEncryptDataToBuffer
-/* 80354D3C 0035099C 2C 03 00 00 */ cmpwi r3, 0
-/* 80354D40 003509A0 40 82 00 0C */ bne lbl_80354D4C
-lbl_80354D44:
-/* 80354D44 003509A4 38 60 00 00 */ li r3, 0
-/* 80354D48 003509A8 48 00 00 40 */ b lbl_80354D88
-lbl_80354D4C:
-/* 80354D4C 003509AC 38 7C 00 78 */ addi r3, r28, 0x78
-/* 80354D50 003509B0 4B FF C2 E1 */ bl ghiResetBuffer
-/* 80354D54 003509B4 7F 83 E3 78 */ mr r3, r28
-/* 80354D58 003509B8 4B FF C2 FD */ bl ghiSendBufferedData
-/* 80354D5C 003509BC 2C 03 00 00 */ cmpwi r3, 0
-/* 80354D60 003509C0 40 82 00 0C */ bne lbl_80354D6C
-/* 80354D64 003509C4 38 60 00 00 */ li r3, 0
-/* 80354D68 003509C8 48 00 00 20 */ b lbl_80354D88
-lbl_80354D6C:
-/* 80354D6C 003509CC 80 7C 00 64 */ lwz r3, 0x64(r28)
-/* 80354D70 003509D0 80 1C 00 60 */ lwz r0, 0x60(r28)
-/* 80354D74 003509D4 7C 03 00 00 */ cmpw r3, r0
-/* 80354D78 003509D8 40 82 00 0C */ bne lbl_80354D84
-/* 80354D7C 003509DC 38 7C 00 54 */ addi r3, r28, 0x54
-/* 80354D80 003509E0 4B FF C2 B1 */ bl ghiResetBuffer
-lbl_80354D84:
-/* 80354D84 003509E4 38 60 00 01 */ li r3, 1
-lbl_80354D88:
-/* 80354D88 003509E8 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 80354D8C 003509EC 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 80354D90 003509F0 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 80354D94 003509F4 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 80354D98 003509F8 83 81 00 10 */ lwz r28, 0x10(r1)
-/* 80354D9C 003509FC 7C 08 03 A6 */ mtlr r0
-/* 80354DA0 00350A00 38 21 00 20 */ addi r1, r1, 0x20
-/* 80354DA4 00350A04 4E 80 00 20 */ blr
-
-.global func_80354DA8
-func_80354DA8:
-/* 80354DA8 00350A08 94 21 EF E0 */ stwu r1, -0x1020(r1)
-/* 80354DAC 00350A0C 7C 08 02 A6 */ mflr r0
-/* 80354DB0 00350A10 90 01 10 24 */ stw r0, 0x1024(r1)
-/* 80354DB4 00350A14 93 E1 10 1C */ stw r31, 0x101c(r1)
-/* 80354DB8 00350A18 7C 9F 23 78 */ mr r31, r4
-/* 80354DBC 00350A1C 93 C1 10 18 */ stw r30, 0x1018(r1)
-/* 80354DC0 00350A20 7C 7E 1B 78 */ mr r30, r3
-lbl_80354DC4:
-/* 80354DC4 00350A24 80 DE 00 08 */ lwz r6, 8(r30)
-/* 80354DC8 00350A28 38 61 00 10 */ addi r3, r1, 0x10
-/* 80354DCC 00350A2C 38 80 00 01 */ li r4, 1
-/* 80354DD0 00350A30 38 A0 10 00 */ li r5, 0x1000
-/* 80354DD4 00350A34 4B E7 47 B1 */ bl func_801C9584
-/* 80354DD8 00350A38 2C 03 00 00 */ cmpwi r3, 0
-/* 80354DDC 00350A3C 7C 65 1B 78 */ mr r5, r3
-/* 80354DE0 00350A40 41 81 00 1C */ bgt lbl_80354DFC
-/* 80354DE4 00350A44 38 60 00 01 */ li r3, 1
-/* 80354DE8 00350A48 38 00 00 0E */ li r0, 0xe
-/* 80354DEC 00350A4C 90 7F 01 20 */ stw r3, 0x120(r31)
-/* 80354DF0 00350A50 38 60 00 00 */ li r3, 0
-/* 80354DF4 00350A54 90 1F 00 3C */ stw r0, 0x3c(r31)
-/* 80354DF8 00350A58 48 00 00 D8 */ b lbl_80354ED0
-lbl_80354DFC:
-/* 80354DFC 00350A5C 80 9E 00 04 */ lwz r4, 4(r30)
-/* 80354E00 00350A60 80 1E 00 0C */ lwz r0, 0xc(r30)
-/* 80354E04 00350A64 7C 64 1A 14 */ add r3, r4, r3
-/* 80354E08 00350A68 7C 03 00 00 */ cmpw r3, r0
-/* 80354E0C 00350A6C 90 7E 00 04 */ stw r3, 4(r30)
-/* 80354E10 00350A70 40 81 00 1C */ ble lbl_80354E2C
-/* 80354E14 00350A74 38 60 00 01 */ li r3, 1
-/* 80354E18 00350A78 38 00 00 0E */ li r0, 0xe
-/* 80354E1C 00350A7C 90 7F 01 20 */ stw r3, 0x120(r31)
-/* 80354E20 00350A80 38 60 00 00 */ li r3, 0
-/* 80354E24 00350A84 90 1F 00 3C */ stw r0, 0x3c(r31)
-/* 80354E28 00350A88 48 00 00 A8 */ b lbl_80354ED0
-lbl_80354E2C:
-/* 80354E2C 00350A8C 7F E3 FB 78 */ mr r3, r31
-/* 80354E30 00350A90 38 81 00 10 */ addi r4, r1, 0x10
-/* 80354E34 00350A94 4B FF C8 05 */ bl ghiTrySendThenBuffer
-/* 80354E38 00350A98 2C 03 00 00 */ cmpwi r3, 0
-/* 80354E3C 00350A9C 40 82 00 0C */ bne lbl_80354E48
-/* 80354E40 00350AA0 38 60 00 00 */ li r3, 0
-/* 80354E44 00350AA4 48 00 00 8C */ b lbl_80354ED0
-lbl_80354E48:
-/* 80354E48 00350AA8 80 9E 00 04 */ lwz r4, 4(r30)
-/* 80354E4C 00350AAC 80 1E 00 0C */ lwz r0, 0xc(r30)
-/* 80354E50 00350AB0 7C 04 00 00 */ cmpw r4, r0
-/* 80354E54 00350AB4 40 82 00 70 */ bne lbl_80354EC4
-/* 80354E58 00350AB8 80 7F 01 60 */ lwz r3, 0x160(r31)
-/* 80354E5C 00350ABC 80 03 00 14 */ lwz r0, 0x14(r3)
-/* 80354E60 00350AC0 2C 00 00 00 */ cmpwi r0, 0
-/* 80354E64 00350AC4 41 82 00 58 */ beq lbl_80354EBC
-/* 80354E68 00350AC8 38 00 00 00 */ li r0, 0
-/* 80354E6C 00350ACC B0 01 00 08 */ sth r0, 8(r1)
-/* 80354E70 00350AD0 98 01 00 0A */ stb r0, 0xa(r1)
-/* 80354E74 00350AD4 80 7E 00 0C */ lwz r3, 0xc(r30)
-/* 80354E78 00350AD8 54 60 F0 02 */ slwi r0, r3, 0x1e
-/* 80354E7C 00350ADC 54 63 0F FE */ srwi r3, r3, 0x1f
-/* 80354E80 00350AE0 7C 03 00 50 */ subf r0, r3, r0
-/* 80354E84 00350AE4 54 00 10 3E */ rotlwi r0, r0, 2
-/* 80354E88 00350AE8 7C 00 1A 14 */ add r0, r0, r3
-/* 80354E8C 00350AEC 20 A0 00 04 */ subfic r5, r0, 4
-/* 80354E90 00350AF0 2C 05 00 04 */ cmpwi r5, 4
-/* 80354E94 00350AF4 41 82 00 28 */ beq lbl_80354EBC
-/* 80354E98 00350AF8 2C 05 00 00 */ cmpwi r5, 0
-/* 80354E9C 00350AFC 40 81 00 20 */ ble lbl_80354EBC
-/* 80354EA0 00350B00 7F E3 FB 78 */ mr r3, r31
-/* 80354EA4 00350B04 38 81 00 08 */ addi r4, r1, 8
-/* 80354EA8 00350B08 4B FF C7 91 */ bl ghiTrySendThenBuffer
-/* 80354EAC 00350B0C 2C 03 00 00 */ cmpwi r3, 0
-/* 80354EB0 00350B10 40 82 00 0C */ bne lbl_80354EBC
-/* 80354EB4 00350B14 38 60 00 00 */ li r3, 0
-/* 80354EB8 00350B18 48 00 00 18 */ b lbl_80354ED0
-lbl_80354EBC:
-/* 80354EBC 00350B1C 38 60 00 01 */ li r3, 1
-/* 80354EC0 00350B20 48 00 00 10 */ b lbl_80354ED0
-lbl_80354EC4:
-/* 80354EC4 00350B24 2C 03 00 01 */ cmpwi r3, 1
-/* 80354EC8 00350B28 41 82 FE FC */ beq lbl_80354DC4
-/* 80354ECC 00350B2C 38 60 00 02 */ li r3, 2
-lbl_80354ED0:
-/* 80354ED0 00350B30 80 01 10 24 */ lwz r0, 0x1024(r1)
-/* 80354ED4 00350B34 83 E1 10 1C */ lwz r31, 0x101c(r1)
-/* 80354ED8 00350B38 83 C1 10 18 */ lwz r30, 0x1018(r1)
-/* 80354EDC 00350B3C 7C 08 03 A6 */ mtlr r0
-/* 80354EE0 00350B40 38 21 10 20 */ addi r1, r1, 0x1020
-/* 80354EE4 00350B44 4E 80 00 20 */ blr
-
-.global func_80354EE8
-func_80354EE8:
-/* 80354EE8 00350B48 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 80354EEC 00350B4C 7C 08 02 A6 */ mflr r0
-/* 80354EF0 00350B50 90 01 00 24 */ stw r0, 0x24(r1)
-/* 80354EF4 00350B54 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 80354EF8 00350B58 7C 9F 23 78 */ mr r31, r4
-/* 80354EFC 00350B5C 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 80354F00 00350B60 7C 7E 1B 78 */ mr r30, r3
-/* 80354F04 00350B64 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 80354F08 00350B68 80 C3 00 00 */ lwz r6, 0(r3)
-/* 80354F0C 00350B6C 80 A6 00 0C */ lwz r5, 0xc(r6)
-/* 80354F10 00350B70 2C 05 00 00 */ cmpwi r5, 0
-/* 80354F14 00350B74 40 82 00 0C */ bne lbl_80354F20
-/* 80354F18 00350B78 38 60 00 01 */ li r3, 1
-/* 80354F1C 00350B7C 48 00 01 A8 */ b lbl_803550C4
-lbl_80354F20:
-/* 80354F20 00350B80 80 04 01 94 */ lwz r0, 0x194(r4)
-/* 80354F24 00350B84 2C 00 00 00 */ cmpwi r0, 0
-/* 80354F28 00350B88 40 82 00 C8 */ bne lbl_80354FF0
-lbl_80354F2C:
-/* 80354F2C 00350B8C 80 9E 00 04 */ lwz r4, 4(r30)
-/* 80354F30 00350B90 7F E3 FB 78 */ mr r3, r31
-/* 80354F34 00350B94 80 06 00 08 */ lwz r0, 8(r6)
-/* 80354F38 00350B98 7C A4 28 50 */ subf r5, r4, r5
-/* 80354F3C 00350B9C 7C 80 22 14 */ add r4, r0, r4
-/* 80354F40 00350BA0 4B FF C6 3D */ bl ghiDoSend
-/* 80354F44 00350BA4 2C 03 FF FF */ cmpwi r3, -1
-/* 80354F48 00350BA8 40 82 00 0C */ bne lbl_80354F54
-/* 80354F4C 00350BAC 38 60 00 00 */ li r3, 0
-/* 80354F50 00350BB0 48 00 01 74 */ b lbl_803550C4
-lbl_80354F54:
-/* 80354F54 00350BB4 80 1E 00 04 */ lwz r0, 4(r30)
-/* 80354F58 00350BB8 80 DE 00 00 */ lwz r6, 0(r30)
-/* 80354F5C 00350BBC 7C 00 1A 14 */ add r0, r0, r3
-/* 80354F60 00350BC0 90 1E 00 04 */ stw r0, 4(r30)
-/* 80354F64 00350BC4 80 A6 00 0C */ lwz r5, 0xc(r6)
-/* 80354F68 00350BC8 7C 05 00 00 */ cmpw r5, r0
-/* 80354F6C 00350BCC 40 82 00 74 */ bne lbl_80354FE0
-/* 80354F70 00350BD0 80 7F 01 60 */ lwz r3, 0x160(r31)
-/* 80354F74 00350BD4 80 03 00 14 */ lwz r0, 0x14(r3)
-/* 80354F78 00350BD8 2C 00 00 00 */ cmpwi r0, 0
-/* 80354F7C 00350BDC 41 82 00 5C */ beq lbl_80354FD8
-/* 80354F80 00350BE0 38 00 00 00 */ li r0, 0
-/* 80354F84 00350BE4 B0 01 00 0C */ sth r0, 0xc(r1)
-/* 80354F88 00350BE8 98 01 00 0E */ stb r0, 0xe(r1)
-/* 80354F8C 00350BEC 80 7E 00 00 */ lwz r3, 0(r30)
-/* 80354F90 00350BF0 80 63 00 0C */ lwz r3, 0xc(r3)
-/* 80354F94 00350BF4 54 60 F0 02 */ slwi r0, r3, 0x1e
-/* 80354F98 00350BF8 54 63 0F FE */ srwi r3, r3, 0x1f
-/* 80354F9C 00350BFC 7C 03 00 50 */ subf r0, r3, r0
-/* 80354FA0 00350C00 54 00 10 3E */ rotlwi r0, r0, 2
-/* 80354FA4 00350C04 7C 00 1A 14 */ add r0, r0, r3
-/* 80354FA8 00350C08 20 A0 00 04 */ subfic r5, r0, 4
-/* 80354FAC 00350C0C 2C 05 00 04 */ cmpwi r5, 4
-/* 80354FB0 00350C10 41 82 00 28 */ beq lbl_80354FD8
-/* 80354FB4 00350C14 2C 05 00 00 */ cmpwi r5, 0
-/* 80354FB8 00350C18 40 81 00 20 */ ble lbl_80354FD8
-/* 80354FBC 00350C1C 7F E3 FB 78 */ mr r3, r31
-/* 80354FC0 00350C20 38 81 00 0C */ addi r4, r1, 0xc
-/* 80354FC4 00350C24 4B FF C6 75 */ bl ghiTrySendThenBuffer
-/* 80354FC8 00350C28 2C 03 00 00 */ cmpwi r3, 0
-/* 80354FCC 00350C2C 40 82 00 0C */ bne lbl_80354FD8
-/* 80354FD0 00350C30 38 60 00 00 */ li r3, 0
-/* 80354FD4 00350C34 48 00 00 F0 */ b lbl_803550C4
-lbl_80354FD8:
-/* 80354FD8 00350C38 38 60 00 01 */ li r3, 1
-/* 80354FDC 00350C3C 48 00 00 E8 */ b lbl_803550C4
-lbl_80354FE0:
-/* 80354FE0 00350C40 2C 03 00 00 */ cmpwi r3, 0
-/* 80354FE4 00350C44 40 82 FF 48 */ bne lbl_80354F2C
-/* 80354FE8 00350C48 38 60 00 02 */ li r3, 2
-/* 80354FEC 00350C4C 48 00 00 D8 */ b lbl_803550C4
-lbl_80354FF0:
-/* 80354FF0 00350C50 80 9E 00 04 */ lwz r4, 4(r30)
-/* 80354FF4 00350C54 3B A0 3F 01 */ li r29, 0x3f01
-/* 80354FF8 00350C58 7C 04 28 50 */ subf r0, r4, r5
-/* 80354FFC 00350C5C 2C 00 3F 01 */ cmpwi r0, 0x3f01
-/* 80355000 00350C60 40 80 00 08 */ bge lbl_80355008
-/* 80355004 00350C64 7C 1D 03 78 */ mr r29, r0
-lbl_80355008:
-/* 80355008 00350C68 80 06 00 08 */ lwz r0, 8(r6)
-/* 8035500C 00350C6C 7F E3 FB 78 */ mr r3, r31
-/* 80355010 00350C70 7F A5 EB 78 */ mr r5, r29
-/* 80355014 00350C74 7C 80 22 14 */ add r4, r0, r4
-/* 80355018 00350C78 4B FF C6 21 */ bl ghiTrySendThenBuffer
-/* 8035501C 00350C7C 2C 03 00 00 */ cmpwi r3, 0
-/* 80355020 00350C80 40 82 00 0C */ bne lbl_8035502C
-/* 80355024 00350C84 38 60 00 00 */ li r3, 0
-/* 80355028 00350C88 48 00 00 9C */ b lbl_803550C4
-lbl_8035502C:
-/* 8035502C 00350C8C 80 1E 00 04 */ lwz r0, 4(r30)
-/* 80355030 00350C90 80 DE 00 00 */ lwz r6, 0(r30)
-/* 80355034 00350C94 7C 00 EA 14 */ add r0, r0, r29
-/* 80355038 00350C98 90 1E 00 04 */ stw r0, 4(r30)
-/* 8035503C 00350C9C 80 A6 00 0C */ lwz r5, 0xc(r6)
-/* 80355040 00350CA0 7C 05 00 00 */ cmpw r5, r0
-/* 80355044 00350CA4 40 82 00 74 */ bne lbl_803550B8
-/* 80355048 00350CA8 80 7F 01 60 */ lwz r3, 0x160(r31)
-/* 8035504C 00350CAC 80 03 00 14 */ lwz r0, 0x14(r3)
-/* 80355050 00350CB0 2C 00 00 00 */ cmpwi r0, 0
-/* 80355054 00350CB4 41 82 00 5C */ beq lbl_803550B0
-/* 80355058 00350CB8 38 00 00 00 */ li r0, 0
-/* 8035505C 00350CBC B0 01 00 08 */ sth r0, 8(r1)
-/* 80355060 00350CC0 98 01 00 0A */ stb r0, 0xa(r1)
-/* 80355064 00350CC4 80 7E 00 00 */ lwz r3, 0(r30)
-/* 80355068 00350CC8 80 63 00 0C */ lwz r3, 0xc(r3)
-/* 8035506C 00350CCC 54 60 F0 02 */ slwi r0, r3, 0x1e
-/* 80355070 00350CD0 54 63 0F FE */ srwi r3, r3, 0x1f
-/* 80355074 00350CD4 7C 03 00 50 */ subf r0, r3, r0
-/* 80355078 00350CD8 54 00 10 3E */ rotlwi r0, r0, 2
-/* 8035507C 00350CDC 7C 00 1A 14 */ add r0, r0, r3
-/* 80355080 00350CE0 20 A0 00 04 */ subfic r5, r0, 4
-/* 80355084 00350CE4 2C 05 00 04 */ cmpwi r5, 4
-/* 80355088 00350CE8 41 82 00 28 */ beq lbl_803550B0
-/* 8035508C 00350CEC 2C 05 00 00 */ cmpwi r5, 0
-/* 80355090 00350CF0 40 81 00 20 */ ble lbl_803550B0
-/* 80355094 00350CF4 7F E3 FB 78 */ mr r3, r31
-/* 80355098 00350CF8 38 81 00 08 */ addi r4, r1, 8
-/* 8035509C 00350CFC 4B FF C5 9D */ bl ghiTrySendThenBuffer
-/* 803550A0 00350D00 2C 03 00 00 */ cmpwi r3, 0
-/* 803550A4 00350D04 40 82 00 0C */ bne lbl_803550B0
-/* 803550A8 00350D08 38 60 00 00 */ li r3, 0
-/* 803550AC 00350D0C 48 00 00 18 */ b lbl_803550C4
-lbl_803550B0:
-/* 803550B0 00350D10 38 60 00 01 */ li r3, 1
-/* 803550B4 00350D14 48 00 00 10 */ b lbl_803550C4
-lbl_803550B8:
-/* 803550B8 00350D18 2C 03 00 01 */ cmpwi r3, 1
-/* 803550BC 00350D1C 41 82 FF 34 */ beq lbl_80354FF0
-/* 803550C0 00350D20 38 60 00 02 */ li r3, 2
-lbl_803550C4:
-/* 803550C4 00350D24 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 803550C8 00350D28 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 803550CC 00350D2C 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 803550D0 00350D30 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 803550D4 00350D34 7C 08 03 A6 */ mtlr r0
-/* 803550D8 00350D38 38 21 00 20 */ addi r1, r1, 0x20
-/* 803550DC 00350D3C 4E 80 00 20 */ blr
-
-.global func_803550E0
-func_803550E0:
-/* 803550E0 00350D40 94 21 F7 C0 */ stwu r1, -0x840(r1)
-/* 803550E4 00350D44 7C 08 02 A6 */ mflr r0
-/* 803550E8 00350D48 90 01 08 44 */ stw r0, 0x844(r1)
-/* 803550EC 00350D4C 39 61 08 40 */ addi r11, r1, 0x840
-/* 803550F0 00350D50 4B E7 20 35 */ bl func_801C7124
-/* 803550F4 00350D54 80 03 00 04 */ lwz r0, 4(r3)
-/* 803550F8 00350D58 3F E0 80 45 */ lis r31, lbl_8044BFF8@ha
-/* 803550FC 00350D5C 7C 7B 1B 78 */ mr r27, r3
-/* 80355100 00350D60 7C 9C 23 78 */ mr r28, r4
-/* 80355104 00350D64 2C 00 FF FF */ cmpwi r0, -1
-/* 80355108 00350D68 3B FF BF F8 */ addi r31, r31, lbl_8044BFF8@l
-/* 8035510C 00350D6C 3B A0 00 00 */ li r29, 0
-/* 80355110 00350D70 40 82 05 6C */ bne lbl_8035567C
-/* 80355114 00350D74 38 00 00 00 */ li r0, 0
-/* 80355118 00350D78 90 03 00 04 */ stw r0, 4(r3)
-/* 8035511C 00350D7C 80 84 01 60 */ lwz r4, 0x160(r4)
-/* 80355120 00350D80 80 04 00 0C */ lwz r0, 0xc(r4)
-/* 80355124 00350D84 2C 00 00 00 */ cmpwi r0, 0
-/* 80355128 00350D88 40 82 00 50 */ bne lbl_80355178
-/* 8035512C 00350D8C 80 04 00 10 */ lwz r0, 0x10(r4)
-/* 80355130 00350D90 2C 00 00 00 */ cmpwi r0, 0
-/* 80355134 00350D94 40 82 00 44 */ bne lbl_80355178
-/* 80355138 00350D98 2C 05 00 00 */ cmpwi r5, 0
-/* 8035513C 00350D9C 41 82 00 20 */ beq lbl_8035515C
-/* 80355140 00350DA0 80 BB 00 00 */ lwz r5, 0(r27)
-/* 80355144 00350DA4 38 61 00 20 */ addi r3, r1, 0x20
-/* 80355148 00350DA8 38 8D 93 C8 */ addi r4, r13, lbl_8063E688-_SDA_BASE_
-/* 8035514C 00350DAC 80 A5 00 04 */ lwz r5, 4(r5)
-/* 80355150 00350DB0 4C C6 31 82 */ crclr 6
-/* 80355154 00350DB4 4B E7 79 A9 */ bl func_801CCAFC
-/* 80355158 00350DB8 48 00 04 5C */ b lbl_803555B4
-lbl_8035515C:
-/* 8035515C 00350DBC 80 BB 00 00 */ lwz r5, 0(r27)
-/* 80355160 00350DC0 38 61 00 20 */ addi r3, r1, 0x20
-/* 80355164 00350DC4 38 8D 93 CC */ addi r4, r13, lbl_8063E68C-_SDA_BASE_
-/* 80355168 00350DC8 80 A5 00 04 */ lwz r5, 4(r5)
-/* 8035516C 00350DCC 4C C6 31 82 */ crclr 6
-/* 80355170 00350DD0 4B E7 79 8D */ bl func_801CCAFC
-/* 80355174 00350DD4 48 00 04 40 */ b lbl_803555B4
-lbl_80355178:
-/* 80355178 00350DD8 81 03 00 00 */ lwz r8, 0(r3)
-/* 8035517C 00350DDC 80 E8 00 00 */ lwz r7, 0(r8)
-/* 80355180 00350DE0 2C 07 00 00 */ cmpwi r7, 0
-/* 80355184 00350DE4 40 82 00 2C */ bne lbl_803551B0
-/* 80355188 00350DE8 2C 05 00 00 */ cmpwi r5, 0
-/* 8035518C 00350DEC 38 61 00 20 */ addi r3, r1, 0x20
-/* 80355190 00350DF0 38 9F 01 38 */ addi r4, r31, 0x138
-/* 80355194 00350DF4 38 BF 01 90 */ addi r5, r31, 0x190
-/* 80355198 00350DF8 41 82 00 08 */ beq lbl_803551A0
-/* 8035519C 00350DFC 38 BF 01 68 */ addi r5, r31, 0x168
-lbl_803551A0:
-/* 803551A0 00350E00 80 C8 00 04 */ lwz r6, 4(r8)
-/* 803551A4 00350E04 4C C6 31 82 */ crclr 6
-/* 803551A8 00350E08 4B E7 79 55 */ bl func_801CCAFC
-/* 803551AC 00350E0C 48 00 04 08 */ b lbl_803555B4
-lbl_803551B0:
-/* 803551B0 00350E10 2C 07 00 03 */ cmpwi r7, 3
-/* 803551B4 00350E14 40 82 01 D8 */ bne lbl_8035538C
-/* 803551B8 00350E18 80 04 00 14 */ lwz r0, 0x14(r4)
-/* 803551BC 00350E1C 2C 00 00 00 */ cmpwi r0, 0
-/* 803551C0 00350E20 41 82 01 C0 */ beq lbl_80355380
-/* 803551C4 00350E24 38 00 00 08 */ li r0, 8
-/* 803551C8 00350E28 2C 05 00 00 */ cmpwi r5, 0
-/* 803551CC 00350E2C 98 01 00 14 */ stb r0, 0x14(r1)
-/* 803551D0 00350E30 41 82 00 0C */ beq lbl_803551DC
-/* 803551D4 00350E34 60 00 00 04 */ ori r0, r0, 4
-/* 803551D8 00350E38 98 01 00 14 */ stb r0, 0x14(r1)
-lbl_803551DC:
-/* 803551DC 00350E3C 2C 06 00 00 */ cmpwi r6, 0
-/* 803551E0 00350E40 41 82 00 10 */ beq lbl_803551F0
-/* 803551E4 00350E44 88 01 00 14 */ lbz r0, 0x14(r1)
-/* 803551E8 00350E48 60 00 00 02 */ ori r0, r0, 2
-/* 803551EC 00350E4C 98 01 00 14 */ stb r0, 0x14(r1)
-lbl_803551F0:
-/* 803551F0 00350E50 38 00 00 20 */ li r0, 0x20
-/* 803551F4 00350E54 3B C0 00 00 */ li r30, 0
-/* 803551F8 00350E58 98 01 00 15 */ stb r0, 0x15(r1)
-/* 803551FC 00350E5C 38 6D 93 C0 */ addi r3, r13, lbl_8063E680-_SDA_BASE_
-/* 80355200 00350E60 B3 C1 00 16 */ sth r30, 0x16(r1)
-/* 80355204 00350E64 4B E7 19 61 */ bl strlen
-/* 80355208 00350E68 54 63 04 3E */ clrlwi r3, r3, 0x10
-/* 8035520C 00350E6C 4B FA 1B 71 */ bl func_802F6D7C
-/* 80355210 00350E70 B0 61 00 18 */ sth r3, 0x18(r1)
-/* 80355214 00350E74 38 7F 00 F4 */ addi r3, r31, 0xf4
-/* 80355218 00350E78 4B E7 19 4D */ bl strlen
-/* 8035521C 00350E7C 54 63 04 3E */ clrlwi r3, r3, 0x10
-/* 80355220 00350E80 4B FA 1B 5D */ bl func_802F6D7C
-/* 80355224 00350E84 B0 61 00 1A */ sth r3, 0x1a(r1)
-/* 80355228 00350E88 80 7B 00 00 */ lwz r3, 0(r27)
-/* 8035522C 00350E8C 80 63 00 08 */ lwz r3, 8(r3)
-/* 80355230 00350E90 4B FE 7B B5 */ bl gsXmlWriterGetDataLength
-/* 80355234 00350E94 4B FA 1B 45 */ bl func_802F6D78
-/* 80355238 00350E98 90 61 00 1C */ stw r3, 0x1c(r1)
-/* 8035523C 00350E9C 38 61 00 20 */ addi r3, r1, 0x20
-/* 80355240 00350EA0 38 81 00 14 */ addi r4, r1, 0x14
-/* 80355244 00350EA4 38 A0 00 0C */ li r5, 0xc
-/* 80355248 00350EA8 4B CA ED B9 */ bl memcpy
-/* 8035524C 00350EAC 38 61 00 2C */ addi r3, r1, 0x2c
-/* 80355250 00350EB0 38 8D 93 C0 */ addi r4, r13, lbl_8063E680-_SDA_BASE_
-/* 80355254 00350EB4 4B E7 90 7D */ bl func_801CE2D0
-/* 80355258 00350EB8 38 6D 93 C0 */ addi r3, r13, lbl_8063E680-_SDA_BASE_
-/* 8035525C 00350EBC 4B E7 19 09 */ bl strlen
-/* 80355260 00350EC0 3B A3 00 0C */ addi r29, r3, 0xc
-/* 80355264 00350EC4 38 6D 93 C0 */ addi r3, r13, lbl_8063E680-_SDA_BASE_
-/* 80355268 00350EC8 4B E7 18 FD */ bl strlen
-/* 8035526C 00350ECC 54 60 07 BE */ clrlwi r0, r3, 0x1e
-/* 80355270 00350ED0 20 80 00 04 */ subfic r4, r0, 4
-/* 80355274 00350ED4 2C 04 00 04 */ cmpwi r4, 4
-/* 80355278 00350ED8 41 82 00 68 */ beq lbl_803552E0
-/* 8035527C 00350EDC 2C 04 00 00 */ cmpwi r4, 0
-/* 80355280 00350EE0 38 01 00 20 */ addi r0, r1, 0x20
-/* 80355284 00350EE4 7C 60 EA 14 */ add r3, r0, r29
-/* 80355288 00350EE8 40 81 00 58 */ ble lbl_803552E0
-/* 8035528C 00350EEC 54 80 E8 FF */ rlwinm. r0, r4, 0x1d, 3, 0x1f
-/* 80355290 00350EF0 7C 09 03 A6 */ mtctr r0
-/* 80355294 00350EF4 41 82 00 38 */ beq lbl_803552CC
-lbl_80355298:
-/* 80355298 00350EF8 9B C3 00 00 */ stb r30, 0(r3)
-/* 8035529C 00350EFC 3B BD 00 08 */ addi r29, r29, 8
-/* 803552A0 00350F00 9B C3 00 01 */ stb r30, 1(r3)
-/* 803552A4 00350F04 9B C3 00 02 */ stb r30, 2(r3)
-/* 803552A8 00350F08 9B C3 00 03 */ stb r30, 3(r3)
-/* 803552AC 00350F0C 9B C3 00 04 */ stb r30, 4(r3)
-/* 803552B0 00350F10 9B C3 00 05 */ stb r30, 5(r3)
-/* 803552B4 00350F14 9B C3 00 06 */ stb r30, 6(r3)
-/* 803552B8 00350F18 9B C3 00 07 */ stb r30, 7(r3)
-/* 803552BC 00350F1C 38 63 00 08 */ addi r3, r3, 8
-/* 803552C0 00350F20 42 00 FF D8 */ bdnz lbl_80355298
-/* 803552C4 00350F24 70 84 00 07 */ andi. r4, r4, 7
-/* 803552C8 00350F28 41 82 00 18 */ beq lbl_803552E0
-lbl_803552CC:
-/* 803552CC 00350F2C 7C 89 03 A6 */ mtctr r4
-lbl_803552D0:
-/* 803552D0 00350F30 9B C3 00 00 */ stb r30, 0(r3)
-/* 803552D4 00350F34 3B BD 00 01 */ addi r29, r29, 1
-/* 803552D8 00350F38 38 63 00 01 */ addi r3, r3, 1
-/* 803552DC 00350F3C 42 00 FF F4 */ bdnz lbl_803552D0
-lbl_803552E0:
-/* 803552E0 00350F40 38 61 00 20 */ addi r3, r1, 0x20
-/* 803552E4 00350F44 38 9F 00 F4 */ addi r4, r31, 0xf4
-/* 803552E8 00350F48 7C 63 EA 14 */ add r3, r3, r29
-/* 803552EC 00350F4C 4B E7 8F E5 */ bl func_801CE2D0
-/* 803552F0 00350F50 38 7F 00 F4 */ addi r3, r31, 0xf4
-/* 803552F4 00350F54 4B E7 18 71 */ bl strlen
-/* 803552F8 00350F58 7F BD 1A 14 */ add r29, r29, r3
-/* 803552FC 00350F5C 38 7F 00 F4 */ addi r3, r31, 0xf4
-/* 80355300 00350F60 4B E7 18 65 */ bl strlen
-/* 80355304 00350F64 54 60 07 BE */ clrlwi r0, r3, 0x1e
-/* 80355308 00350F68 20 A0 00 04 */ subfic r5, r0, 4
-/* 8035530C 00350F6C 2C 05 00 04 */ cmpwi r5, 4
-/* 80355310 00350F70 41 82 02 A4 */ beq lbl_803555B4
-/* 80355314 00350F74 2C 05 00 00 */ cmpwi r5, 0
-/* 80355318 00350F78 38 01 00 20 */ addi r0, r1, 0x20
-/* 8035531C 00350F7C 38 80 00 00 */ li r4, 0
-/* 80355320 00350F80 7C 60 EA 14 */ add r3, r0, r29
-/* 80355324 00350F84 40 81 02 90 */ ble lbl_803555B4
-/* 80355328 00350F88 54 A0 E8 FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f
-/* 8035532C 00350F8C 7C 09 03 A6 */ mtctr r0
-/* 80355330 00350F90 41 82 00 38 */ beq lbl_80355368
-lbl_80355334:
-/* 80355334 00350F94 98 83 00 00 */ stb r4, 0(r3)
-/* 80355338 00350F98 3B BD 00 08 */ addi r29, r29, 8
-/* 8035533C 00350F9C 98 83 00 01 */ stb r4, 1(r3)
-/* 80355340 00350FA0 98 83 00 02 */ stb r4, 2(r3)
-/* 80355344 00350FA4 98 83 00 03 */ stb r4, 3(r3)
-/* 80355348 00350FA8 98 83 00 04 */ stb r4, 4(r3)
-/* 8035534C 00350FAC 98 83 00 05 */ stb r4, 5(r3)
-/* 80355350 00350FB0 98 83 00 06 */ stb r4, 6(r3)
-/* 80355354 00350FB4 98 83 00 07 */ stb r4, 7(r3)
-/* 80355358 00350FB8 38 63 00 08 */ addi r3, r3, 8
-/* 8035535C 00350FBC 42 00 FF D8 */ bdnz lbl_80355334
-/* 80355360 00350FC0 70 A5 00 07 */ andi. r5, r5, 7
-/* 80355364 00350FC4 41 82 02 50 */ beq lbl_803555B4
-lbl_80355368:
-/* 80355368 00350FC8 7C A9 03 A6 */ mtctr r5
-lbl_8035536C:
-/* 8035536C 00350FCC 98 83 00 00 */ stb r4, 0(r3)
-/* 80355370 00350FD0 3B BD 00 01 */ addi r29, r29, 1
-/* 80355374 00350FD4 38 63 00 01 */ addi r3, r3, 1
-/* 80355378 00350FD8 42 00 FF F4 */ bdnz lbl_8035536C
-/* 8035537C 00350FDC 48 00 02 38 */ b lbl_803555B4
-lbl_80355380:
-/* 80355380 00350FE0 38 00 00 00 */ li r0, 0
-/* 80355384 00350FE4 98 01 00 20 */ stb r0, 0x20(r1)
-/* 80355388 00350FE8 48 00 02 2C */ b lbl_803555B4
-lbl_8035538C:
-/* 8035538C 00350FEC 38 07 FF FF */ addi r0, r7, -1
-/* 80355390 00350FF0 28 00 00 01 */ cmplwi r0, 1
-/* 80355394 00350FF4 41 81 02 20 */ bgt lbl_803555B4
-/* 80355398 00350FF8 2C 07 00 01 */ cmpwi r7, 1
-/* 8035539C 00350FFC 40 82 00 14 */ bne lbl_803553B0
-/* 803553A0 00351000 83 43 00 0C */ lwz r26, 0xc(r3)
-/* 803553A4 00351004 80 E8 00 0C */ lwz r7, 0xc(r8)
-/* 803553A8 00351008 83 C8 00 10 */ lwz r30, 0x10(r8)
-/* 803553AC 0035100C 48 00 00 10 */ b lbl_803553BC
-lbl_803553B0:
-/* 803553B0 00351010 83 48 00 0C */ lwz r26, 0xc(r8)
-/* 803553B4 00351014 80 E8 00 10 */ lwz r7, 0x10(r8)
-/* 803553B8 00351018 83 C8 00 14 */ lwz r30, 0x14(r8)
-lbl_803553BC:
-/* 803553BC 0035101C 80 04 00 14 */ lwz r0, 0x14(r4)
-/* 803553C0 00351020 2C 00 00 00 */ cmpwi r0, 0
-/* 803553C4 00351024 41 82 01 C8 */ beq lbl_8035558C
-/* 803553C8 00351028 38 00 00 08 */ li r0, 8
-/* 803553CC 0035102C 2C 05 00 00 */ cmpwi r5, 0
-/* 803553D0 00351030 98 01 00 08 */ stb r0, 8(r1)
-/* 803553D4 00351034 41 82 00 0C */ beq lbl_803553E0
-/* 803553D8 00351038 60 00 00 04 */ ori r0, r0, 4
-/* 803553DC 0035103C 98 01 00 08 */ stb r0, 8(r1)
-lbl_803553E0:
-/* 803553E0 00351040 2C 06 00 00 */ cmpwi r6, 0
-/* 803553E4 00351044 41 82 00 10 */ beq lbl_803553F4
-/* 803553E8 00351048 88 01 00 08 */ lbz r0, 8(r1)
-/* 803553EC 0035104C 60 00 00 02 */ ori r0, r0, 2
-/* 803553F0 00351050 98 01 00 08 */ stb r0, 8(r1)
-lbl_803553F4:
-/* 803553F4 00351054 38 00 00 10 */ li r0, 0x10
-/* 803553F8 00351058 3B E0 00 00 */ li r31, 0
-/* 803553FC 0035105C 98 01 00 09 */ stb r0, 9(r1)
-/* 80355400 00351060 B3 E1 00 0A */ sth r31, 0xa(r1)
-/* 80355404 00351064 80 63 00 00 */ lwz r3, 0(r3)
-/* 80355408 00351068 80 63 00 04 */ lwz r3, 4(r3)
-/* 8035540C 0035106C 4B E7 17 59 */ bl strlen
-/* 80355410 00351070 54 63 04 3E */ clrlwi r3, r3, 0x10
-/* 80355414 00351074 4B FA 19 69 */ bl func_802F6D7C
-/* 80355418 00351078 B0 61 00 0C */ sth r3, 0xc(r1)
-/* 8035541C 0035107C 7F C3 F3 78 */ mr r3, r30
-/* 80355420 00351080 4B E7 17 45 */ bl strlen
-/* 80355424 00351084 54 63 04 3E */ clrlwi r3, r3, 0x10
-/* 80355428 00351088 4B FA 19 55 */ bl func_802F6D7C
-/* 8035542C 0035108C B0 61 00 0E */ sth r3, 0xe(r1)
-/* 80355430 00351090 7F 43 D3 78 */ mr r3, r26
-/* 80355434 00351094 4B FA 19 45 */ bl func_802F6D78
-/* 80355438 00351098 90 61 00 10 */ stw r3, 0x10(r1)
-/* 8035543C 0035109C 38 61 00 20 */ addi r3, r1, 0x20
-/* 80355440 003510A0 38 81 00 08 */ addi r4, r1, 8
-/* 80355444 003510A4 38 A0 00 0C */ li r5, 0xc
-/* 80355448 003510A8 4B CA EB B9 */ bl memcpy
-/* 8035544C 003510AC 80 9B 00 00 */ lwz r4, 0(r27)
-/* 80355450 003510B0 38 61 00 2C */ addi r3, r1, 0x2c
-/* 80355454 003510B4 80 84 00 04 */ lwz r4, 4(r4)
-/* 80355458 003510B8 4B E7 8E 79 */ bl func_801CE2D0
-/* 8035545C 003510BC 80 7B 00 00 */ lwz r3, 0(r27)
-/* 80355460 003510C0 83 43 00 04 */ lwz r26, 4(r3)
-/* 80355464 003510C4 7F 43 D3 78 */ mr r3, r26
-/* 80355468 003510C8 4B E7 16 FD */ bl strlen
-/* 8035546C 003510CC 3B A3 00 0C */ addi r29, r3, 0xc
-/* 80355470 003510D0 7F 43 D3 78 */ mr r3, r26
-/* 80355474 003510D4 4B E7 16 F1 */ bl strlen
-/* 80355478 003510D8 54 60 07 BE */ clrlwi r0, r3, 0x1e
-/* 8035547C 003510DC 20 80 00 04 */ subfic r4, r0, 4
-/* 80355480 003510E0 2C 04 00 04 */ cmpwi r4, 4
-/* 80355484 003510E4 41 82 00 68 */ beq lbl_803554EC
-/* 80355488 003510E8 2C 04 00 00 */ cmpwi r4, 0
-/* 8035548C 003510EC 38 01 00 20 */ addi r0, r1, 0x20
-/* 80355490 003510F0 7C 60 EA 14 */ add r3, r0, r29
-/* 80355494 003510F4 40 81 00 58 */ ble lbl_803554EC
-/* 80355498 003510F8 54 80 E8 FF */ rlwinm. r0, r4, 0x1d, 3, 0x1f
-/* 8035549C 003510FC 7C 09 03 A6 */ mtctr r0
-/* 803554A0 00351100 41 82 00 38 */ beq lbl_803554D8
-lbl_803554A4:
-/* 803554A4 00351104 9B E3 00 00 */ stb r31, 0(r3)
-/* 803554A8 00351108 3B BD 00 08 */ addi r29, r29, 8
-/* 803554AC 0035110C 9B E3 00 01 */ stb r31, 1(r3)
-/* 803554B0 00351110 9B E3 00 02 */ stb r31, 2(r3)
-/* 803554B4 00351114 9B E3 00 03 */ stb r31, 3(r3)
-/* 803554B8 00351118 9B E3 00 04 */ stb r31, 4(r3)
-/* 803554BC 0035111C 9B E3 00 05 */ stb r31, 5(r3)
-/* 803554C0 00351120 9B E3 00 06 */ stb r31, 6(r3)
-/* 803554C4 00351124 9B E3 00 07 */ stb r31, 7(r3)
-/* 803554C8 00351128 38 63 00 08 */ addi r3, r3, 8
-/* 803554CC 0035112C 42 00 FF D8 */ bdnz lbl_803554A4
-/* 803554D0 00351130 70 84 00 07 */ andi. r4, r4, 7
-/* 803554D4 00351134 41 82 00 18 */ beq lbl_803554EC
-lbl_803554D8:
-/* 803554D8 00351138 7C 89 03 A6 */ mtctr r4
-lbl_803554DC:
-/* 803554DC 0035113C 9B E3 00 00 */ stb r31, 0(r3)
-/* 803554E0 00351140 3B BD 00 01 */ addi r29, r29, 1
-/* 803554E4 00351144 38 63 00 01 */ addi r3, r3, 1
-/* 803554E8 00351148 42 00 FF F4 */ bdnz lbl_803554DC
-lbl_803554EC:
-/* 803554EC 0035114C 38 61 00 20 */ addi r3, r1, 0x20
-/* 803554F0 00351150 7F C4 F3 78 */ mr r4, r30
-/* 803554F4 00351154 7C 63 EA 14 */ add r3, r3, r29
-/* 803554F8 00351158 4B E7 8D D9 */ bl func_801CE2D0
-/* 803554FC 0035115C 7F C3 F3 78 */ mr r3, r30
-/* 80355500 00351160 4B E7 16 65 */ bl strlen
-/* 80355504 00351164 7F BD 1A 14 */ add r29, r29, r3
-/* 80355508 00351168 7F C3 F3 78 */ mr r3, r30
-/* 8035550C 0035116C 4B E7 16 59 */ bl strlen
-/* 80355510 00351170 54 60 07 BE */ clrlwi r0, r3, 0x1e
-/* 80355514 00351174 20 A0 00 04 */ subfic r5, r0, 4
-/* 80355518 00351178 2C 05 00 04 */ cmpwi r5, 4
-/* 8035551C 0035117C 41 82 00 98 */ beq lbl_803555B4
-/* 80355520 00351180 2C 05 00 00 */ cmpwi r5, 0
-/* 80355524 00351184 38 01 00 20 */ addi r0, r1, 0x20
-/* 80355528 00351188 38 80 00 00 */ li r4, 0
-/* 8035552C 0035118C 7C 60 EA 14 */ add r3, r0, r29
-/* 80355530 00351190 40 81 00 84 */ ble lbl_803555B4
-/* 80355534 00351194 54 A0 E8 FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f
-/* 80355538 00351198 7C 09 03 A6 */ mtctr r0
-/* 8035553C 0035119C 41 82 00 38 */ beq lbl_80355574
-lbl_80355540:
-/* 80355540 003511A0 98 83 00 00 */ stb r4, 0(r3)
-/* 80355544 003511A4 3B BD 00 08 */ addi r29, r29, 8
-/* 80355548 003511A8 98 83 00 01 */ stb r4, 1(r3)
-/* 8035554C 003511AC 98 83 00 02 */ stb r4, 2(r3)
-/* 80355550 003511B0 98 83 00 03 */ stb r4, 3(r3)
-/* 80355554 003511B4 98 83 00 04 */ stb r4, 4(r3)
-/* 80355558 003511B8 98 83 00 05 */ stb r4, 5(r3)
-/* 8035555C 003511BC 98 83 00 06 */ stb r4, 6(r3)
-/* 80355560 003511C0 98 83 00 07 */ stb r4, 7(r3)
-/* 80355564 003511C4 38 63 00 08 */ addi r3, r3, 8
-/* 80355568 003511C8 42 00 FF D8 */ bdnz lbl_80355540
-/* 8035556C 003511CC 70 A5 00 07 */ andi. r5, r5, 7
-/* 80355570 003511D0 41 82 00 44 */ beq lbl_803555B4
-lbl_80355574:
-/* 80355574 003511D4 7C A9 03 A6 */ mtctr r5
-lbl_80355578:
-/* 80355578 003511D8 98 83 00 00 */ stb r4, 0(r3)
-/* 8035557C 003511DC 3B BD 00 01 */ addi r29, r29, 1
-/* 80355580 003511E0 38 63 00 01 */ addi r3, r3, 1
-/* 80355584 003511E4 42 00 FF F4 */ bdnz lbl_80355578
-/* 80355588 003511E8 48 00 00 2C */ b lbl_803555B4
-lbl_8035558C:
-/* 8035558C 003511EC 2C 05 00 00 */ cmpwi r5, 0
-/* 80355590 003511F0 38 61 00 20 */ addi r3, r1, 0x20
-/* 80355594 003511F4 38 9F 01 BC */ addi r4, r31, 0x1bc
-/* 80355598 003511F8 38 BF 01 90 */ addi r5, r31, 0x190
-/* 8035559C 003511FC 41 82 00 08 */ beq lbl_803555A4
-/* 803555A0 00351200 38 BF 01 68 */ addi r5, r31, 0x168
-lbl_803555A4:
-/* 803555A4 00351204 80 C8 00 04 */ lwz r6, 4(r8)
-/* 803555A8 00351208 7F C8 F3 78 */ mr r8, r30
-/* 803555AC 0035120C 4C C6 31 82 */ crclr 6
-/* 803555B0 00351210 4B E7 75 4D */ bl func_801CCAFC
-lbl_803555B4:
-/* 803555B4 00351214 80 1C 01 94 */ lwz r0, 0x194(r28)
-/* 803555B8 00351218 2C 00 00 00 */ cmpwi r0, 0
-/* 803555BC 0035121C 40 82 00 54 */ bne lbl_80355610
-/* 803555C0 00351220 2C 1D 00 00 */ cmpwi r29, 0
-/* 803555C4 00351224 40 82 00 10 */ bne lbl_803555D4
-/* 803555C8 00351228 38 61 00 20 */ addi r3, r1, 0x20
-/* 803555CC 0035122C 4B E7 15 99 */ bl strlen
-/* 803555D0 00351230 7C 7D 1B 78 */ mr r29, r3
-lbl_803555D4:
-/* 803555D4 00351234 7F 83 E3 78 */ mr r3, r28
-/* 803555D8 00351238 7F A5 EB 78 */ mr r5, r29
-/* 803555DC 0035123C 38 81 00 20 */ addi r4, r1, 0x20
-/* 803555E0 00351240 4B FF C0 59 */ bl ghiTrySendThenBuffer
-/* 803555E4 00351244 2C 03 00 00 */ cmpwi r3, 0
-/* 803555E8 00351248 40 82 00 0C */ bne lbl_803555F4
-/* 803555EC 0035124C 38 60 00 00 */ li r3, 0
-/* 803555F0 00351250 48 00 00 E8 */ b lbl_803556D8
-lbl_803555F4:
-/* 803555F4 00351254 2C 03 00 02 */ cmpwi r3, 2
-/* 803555F8 00351258 40 82 00 0C */ bne lbl_80355604
-/* 803555FC 0035125C 38 60 00 02 */ li r3, 2
-/* 80355600 00351260 48 00 00 D8 */ b lbl_803556D8
-lbl_80355604:
-/* 80355604 00351264 38 7C 00 54 */ addi r3, r28, 0x54
-/* 80355608 00351268 4B FF BA 29 */ bl ghiResetBuffer
-/* 8035560C 0035126C 48 00 00 70 */ b lbl_8035567C
-lbl_80355610:
-/* 80355610 00351270 2C 1D 00 00 */ cmpwi r29, 0
-/* 80355614 00351274 40 82 00 10 */ bne lbl_80355624
-/* 80355618 00351278 38 61 00 20 */ addi r3, r1, 0x20
-/* 8035561C 0035127C 4B E7 15 49 */ bl strlen
-/* 80355620 00351280 7C 7D 1B 78 */ mr r29, r3
-lbl_80355624:
-/* 80355624 00351284 7F A5 EB 78 */ mr r5, r29
-/* 80355628 00351288 38 7C 00 54 */ addi r3, r28, 0x54
-/* 8035562C 0035128C 38 81 00 20 */ addi r4, r1, 0x20
-/* 80355630 00351290 4B FF B5 FD */ bl ghiEncryptDataToBuffer
-/* 80355634 00351294 2C 03 00 00 */ cmpwi r3, 0
-/* 80355638 00351298 40 82 00 0C */ bne lbl_80355644
-/* 8035563C 0035129C 38 60 00 00 */ li r3, 0
-/* 80355640 003512A0 48 00 00 98 */ b lbl_803556D8
-lbl_80355644:
-/* 80355644 003512A4 7F 83 E3 78 */ mr r3, r28
-/* 80355648 003512A8 4B FF BA 0D */ bl ghiSendBufferedData
-/* 8035564C 003512AC 2C 03 00 00 */ cmpwi r3, 0
-/* 80355650 003512B0 40 82 00 0C */ bne lbl_8035565C
-/* 80355654 003512B4 38 60 00 00 */ li r3, 0
-/* 80355658 003512B8 48 00 00 80 */ b lbl_803556D8
-lbl_8035565C:
-/* 8035565C 003512BC 80 7C 00 64 */ lwz r3, 0x64(r28)
-/* 80355660 003512C0 80 1C 00 60 */ lwz r0, 0x60(r28)
-/* 80355664 003512C4 7C 03 00 00 */ cmpw r3, r0
-/* 80355668 003512C8 40 80 00 0C */ bge lbl_80355674
-/* 8035566C 003512CC 38 60 00 02 */ li r3, 2
-/* 80355670 003512D0 48 00 00 68 */ b lbl_803556D8
-lbl_80355674:
-/* 80355674 003512D4 38 7C 00 54 */ addi r3, r28, 0x54
-/* 80355678 003512D8 4B FF B9 B9 */ bl ghiResetBuffer
-lbl_8035567C:
-/* 8035567C 003512DC 80 7B 00 00 */ lwz r3, 0(r27)
-/* 80355680 003512E0 80 03 00 00 */ lwz r0, 0(r3)
-/* 80355684 003512E4 2C 00 00 00 */ cmpwi r0, 0
-/* 80355688 003512E8 40 82 00 14 */ bne lbl_8035569C
-/* 8035568C 003512EC 7F 63 DB 78 */ mr r3, r27
-/* 80355690 003512F0 7F 84 E3 78 */ mr r4, r28
-/* 80355694 003512F4 4B FF F3 D5 */ bl func_80354A68
-/* 80355698 003512F8 48 00 00 40 */ b lbl_803556D8
-lbl_8035569C:
-/* 8035569C 003512FC 2C 00 00 03 */ cmpwi r0, 3
-/* 803556A0 00351300 40 82 00 14 */ bne lbl_803556B4
-/* 803556A4 00351304 7F 63 DB 78 */ mr r3, r27
-/* 803556A8 00351308 7F 84 E3 78 */ mr r4, r28
-/* 803556AC 0035130C 4B FF F5 69 */ bl func_80354C14
-/* 803556B0 00351310 48 00 00 28 */ b lbl_803556D8
-lbl_803556B4:
-/* 803556B4 00351314 2C 00 00 01 */ cmpwi r0, 1
-/* 803556B8 00351318 40 82 00 14 */ bne lbl_803556CC
-/* 803556BC 0035131C 7F 63 DB 78 */ mr r3, r27
-/* 803556C0 00351320 7F 84 E3 78 */ mr r4, r28
-/* 803556C4 00351324 4B FF F6 E5 */ bl func_80354DA8
-/* 803556C8 00351328 48 00 00 10 */ b lbl_803556D8
-lbl_803556CC:
-/* 803556CC 0035132C 7F 63 DB 78 */ mr r3, r27
-/* 803556D0 00351330 7F 84 E3 78 */ mr r4, r28
-/* 803556D4 00351334 4B FF F8 15 */ bl func_80354EE8
-lbl_803556D8:
-/* 803556D8 00351338 39 61 08 40 */ addi r11, r1, 0x840
-/* 803556DC 0035133C 4B E7 1A 95 */ bl func_801C7170
-/* 803556E0 00351340 80 01 08 44 */ lwz r0, 0x844(r1)
-/* 803556E4 00351344 7C 08 03 A6 */ mtlr r0
-/* 803556E8 00351348 38 21 08 40 */ addi r1, r1, 0x840
-/* 803556EC 0035134C 4E 80 00 20 */ blr
-
-.global func_803556F0
-func_803556F0:
-/* 803556F0 00351350 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 803556F4 00351354 7C 08 02 A6 */ mflr r0
-/* 803556F8 00351358 90 01 00 24 */ stw r0, 0x24(r1)
-/* 803556FC 0035135C 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 80355700 00351360 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 80355704 00351364 7C 7E 1B 78 */ mr r30, r3
-/* 80355708 00351368 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 8035570C 0035136C 93 81 00 10 */ stw r28, 0x10(r1)
-/* 80355710 00351370 80 63 01 64 */ lwz r3, 0x164(r3)
-/* 80355714 00351374 4B FE 07 D5 */ bl ArrayLength
-/* 80355718 00351378 80 9E 00 64 */ lwz r4, 0x64(r30)
-/* 8035571C 0035137C 7C 7F 1B 78 */ mr r31, r3
-/* 80355720 00351380 80 1E 00 60 */ lwz r0, 0x60(r30)
-/* 80355724 00351384 7C 04 00 00 */ cmpw r4, r0
-/* 80355728 00351388 40 80 00 64 */ bge lbl_8035578C
-/* 8035572C 0035138C 7F C3 F3 78 */ mr r3, r30
-/* 80355730 00351390 4B FF B9 25 */ bl ghiSendBufferedData
-/* 80355734 00351394 2C 03 00 00 */ cmpwi r3, 0
-/* 80355738 00351398 40 82 00 0C */ bne lbl_80355744
-/* 8035573C 0035139C 38 60 00 00 */ li r3, 0
-/* 80355740 003513A0 48 00 01 DC */ b lbl_8035591C
-lbl_80355744:
-/* 80355744 003513A4 80 7E 00 64 */ lwz r3, 0x64(r30)
-/* 80355748 003513A8 80 1E 00 60 */ lwz r0, 0x60(r30)
-/* 8035574C 003513AC 7C 03 00 00 */ cmpw r3, r0
-/* 80355750 003513B0 40 80 00 0C */ bge lbl_8035575C
-/* 80355754 003513B4 38 60 00 02 */ li r3, 2
-/* 80355758 003513B8 48 00 01 C4 */ b lbl_8035591C
-lbl_8035575C:
-/* 8035575C 003513BC 38 7E 00 54 */ addi r3, r30, 0x54
-/* 80355760 003513C0 4B FF B8 D1 */ bl ghiResetBuffer
-/* 80355764 003513C4 80 1E 01 7C */ lwz r0, 0x17c(r30)
-/* 80355768 003513C8 2C 00 00 00 */ cmpwi r0, 0
-/* 8035576C 003513CC 41 82 00 0C */ beq lbl_80355778
-/* 80355770 003513D0 38 60 00 03 */ li r3, 3
-/* 80355774 003513D4 48 00 01 A8 */ b lbl_8035591C
-lbl_80355778:
-/* 80355778 003513D8 80 1E 01 68 */ lwz r0, 0x168(r30)
-/* 8035577C 003513DC 7C 00 F8 00 */ cmpw r0, r31
-/* 80355780 003513E0 40 82 00 0C */ bne lbl_8035578C
-/* 80355784 003513E4 38 60 00 01 */ li r3, 1
-/* 80355788 003513E8 48 00 01 94 */ b lbl_8035591C
-lbl_8035578C:
-/* 8035578C 003513EC 80 1E 01 7C */ lwz r0, 0x17c(r30)
-/* 80355790 003513F0 2C 00 00 00 */ cmpwi r0, 0
-/* 80355794 003513F4 41 82 00 E0 */ beq lbl_80355874
-/* 80355798 003513F8 80 7E 01 60 */ lwz r3, 0x160(r30)
-/* 8035579C 003513FC 80 03 00 0C */ lwz r0, 0xc(r3)
-/* 803557A0 00351400 2C 00 00 00 */ cmpwi r0, 0
-/* 803557A4 00351404 40 82 00 10 */ bne lbl_803557B4
-/* 803557A8 00351408 80 03 00 10 */ lwz r0, 0x10(r3)
-/* 803557AC 0035140C 2C 00 00 00 */ cmpwi r0, 0
-/* 803557B0 00351410 41 82 00 50 */ beq lbl_80355800
-lbl_803557B4:
-/* 803557B4 00351414 38 6D 93 D4 */ addi r3, r13, lbl_8063E694-_SDA_BASE_
-/* 803557B8 00351418 4B E7 13 AD */ bl strlen
-/* 803557BC 0035141C 7C 65 1B 78 */ mr r5, r3
-/* 803557C0 00351420 7F C3 F3 78 */ mr r3, r30
-/* 803557C4 00351424 38 8D 93 D4 */ addi r4, r13, lbl_8063E694-_SDA_BASE_
-/* 803557C8 00351428 4B FF BE 71 */ bl ghiTrySendThenBuffer
-/* 803557CC 0035142C 2C 03 00 00 */ cmpwi r3, 0
-/* 803557D0 00351430 40 82 00 0C */ bne lbl_803557DC
-/* 803557D4 00351434 38 60 00 00 */ li r3, 0
-/* 803557D8 00351438 48 00 01 44 */ b lbl_8035591C
-lbl_803557DC:
-/* 803557DC 0035143C 2C 03 00 02 */ cmpwi r3, 2
-/* 803557E0 00351440 40 82 00 0C */ bne lbl_803557EC
-/* 803557E4 00351444 38 60 00 02 */ li r3, 2
-/* 803557E8 00351448 48 00 01 34 */ b lbl_8035591C
-lbl_803557EC:
-/* 803557EC 0035144C 80 1E 01 7C */ lwz r0, 0x17c(r30)
-/* 803557F0 00351450 2C 00 00 01 */ cmpwi r0, 1
-/* 803557F4 00351454 40 82 00 80 */ bne lbl_80355874
-/* 803557F8 00351458 38 60 00 03 */ li r3, 3
-/* 803557FC 0035145C 48 00 01 20 */ b lbl_8035591C
-lbl_80355800:
-/* 80355800 00351460 38 00 00 00 */ li r0, 0
-/* 80355804 00351464 90 1E 01 7C */ stw r0, 0x17c(r30)
-/* 80355808 00351468 48 00 00 6C */ b lbl_80355874
-lbl_8035580C:
-/* 8035580C 0035146C 80 7E 01 64 */ lwz r3, 0x164(r30)
-/* 80355810 00351470 4B FE 06 E1 */ bl ArrayNth
-/* 80355814 00351474 7C 7C 1B 78 */ mr r28, r3
-/* 80355818 00351478 83 BE 01 68 */ lwz r29, 0x168(r30)
-/* 8035581C 0035147C 80 7E 01 64 */ lwz r3, 0x164(r30)
-/* 80355820 00351480 4B FE 06 C9 */ bl ArrayLength
-/* 80355824 00351484 38 63 FF FF */ addi r3, r3, -1
-/* 80355828 00351488 7F A0 00 34 */ cntlzw r0, r29
-/* 8035582C 0035148C 7C 9D 18 50 */ subf r4, r29, r3
-/* 80355830 00351490 7C 85 00 34 */ cntlzw r5, r4
-/* 80355834 00351494 7F 83 E3 78 */ mr r3, r28
-/* 80355838 00351498 54 A6 D9 7E */ srwi r6, r5, 5
-/* 8035583C 0035149C 7F C4 F3 78 */ mr r4, r30
-/* 80355840 003514A0 54 05 D9 7E */ srwi r5, r0, 5
-/* 80355844 003514A4 4B FF F8 9D */ bl func_803550E0
-/* 80355848 003514A8 2C 03 00 00 */ cmpwi r3, 0
-/* 8035584C 003514AC 40 82 00 0C */ bne lbl_80355858
-/* 80355850 003514B0 38 60 00 00 */ li r3, 0
-/* 80355854 003514B4 48 00 00 C8 */ b lbl_8035591C
-lbl_80355858:
-/* 80355858 003514B8 2C 03 00 02 */ cmpwi r3, 2
-/* 8035585C 003514BC 40 82 00 0C */ bne lbl_80355868
-/* 80355860 003514C0 38 60 00 02 */ li r3, 2
-/* 80355864 003514C4 48 00 00 B8 */ b lbl_8035591C
-lbl_80355868:
-/* 80355868 003514C8 80 7E 01 68 */ lwz r3, 0x168(r30)
-/* 8035586C 003514CC 38 03 00 01 */ addi r0, r3, 1
-/* 80355870 003514D0 90 1E 01 68 */ stw r0, 0x168(r30)
-lbl_80355874:
-/* 80355874 003514D4 80 9E 01 68 */ lwz r4, 0x168(r30)
-/* 80355878 003514D8 7C 04 F8 00 */ cmpw r4, r31
-/* 8035587C 003514DC 41 80 FF 90 */ blt lbl_8035580C
-/* 80355880 003514E0 80 1E 01 94 */ lwz r0, 0x194(r30)
-/* 80355884 003514E4 2C 00 00 00 */ cmpwi r0, 0
-/* 80355888 003514E8 41 82 00 34 */ beq lbl_803558BC
-/* 8035588C 003514EC 80 BE 00 84 */ lwz r5, 0x84(r30)
-/* 80355890 003514F0 2C 05 00 00 */ cmpwi r5, 0
-/* 80355894 003514F4 40 81 00 28 */ ble lbl_803558BC
-/* 80355898 003514F8 80 9E 00 7C */ lwz r4, 0x7c(r30)
-/* 8035589C 003514FC 38 7E 00 54 */ addi r3, r30, 0x54
-/* 803558A0 00351500 4B FF B3 8D */ bl ghiEncryptDataToBuffer
-/* 803558A4 00351504 2C 03 00 00 */ cmpwi r3, 0
-/* 803558A8 00351508 40 82 00 0C */ bne lbl_803558B4
-/* 803558AC 0035150C 38 60 00 00 */ li r3, 0
-/* 803558B0 00351510 48 00 00 6C */ b lbl_8035591C
-lbl_803558B4:
-/* 803558B4 00351514 38 7E 00 78 */ addi r3, r30, 0x78
-/* 803558B8 00351518 4B FF B7 79 */ bl ghiResetBuffer
-lbl_803558BC:
-/* 803558BC 0035151C 80 7E 01 60 */ lwz r3, 0x160(r30)
-/* 803558C0 00351520 80 03 00 0C */ lwz r0, 0xc(r3)
-/* 803558C4 00351524 2C 00 00 00 */ cmpwi r0, 0
-/* 803558C8 00351528 41 82 00 3C */ beq lbl_80355904
-/* 803558CC 0035152C 80 03 00 14 */ lwz r0, 0x14(r3)
-/* 803558D0 00351530 2C 00 00 00 */ cmpwi r0, 0
-/* 803558D4 00351534 40 82 00 30 */ bne lbl_80355904
-/* 803558D8 00351538 3F E0 80 45 */ lis r31, lbl_8044C208@ha
-/* 803558DC 0035153C 38 7F C2 08 */ addi r3, r31, lbl_8044C208@l
-/* 803558E0 00351540 4B E7 12 85 */ bl strlen
-/* 803558E4 00351544 7C 65 1B 78 */ mr r5, r3
-/* 803558E8 00351548 7F C3 F3 78 */ mr r3, r30
-/* 803558EC 0035154C 38 9F C2 08 */ addi r4, r31, -15864
-/* 803558F0 00351550 4B FF BD 49 */ bl ghiTrySendThenBuffer
-/* 803558F4 00351554 2C 03 00 00 */ cmpwi r3, 0
-/* 803558F8 00351558 40 82 00 0C */ bne lbl_80355904
-/* 803558FC 0035155C 38 60 00 00 */ li r3, 0
-/* 80355900 00351560 48 00 00 1C */ b lbl_8035591C
-lbl_80355904:
-/* 80355904 00351564 80 9E 00 64 */ lwz r4, 0x64(r30)
-/* 80355908 00351568 38 60 00 01 */ li r3, 1
-/* 8035590C 0035156C 80 1E 00 60 */ lwz r0, 0x60(r30)
-/* 80355910 00351570 7C 04 00 00 */ cmpw r4, r0
-/* 80355914 00351574 40 80 00 08 */ bge lbl_8035591C
-/* 80355918 00351578 38 60 00 02 */ li r3, 2
-lbl_8035591C:
-/* 8035591C 0035157C 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 80355920 00351580 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 80355924 00351584 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 80355928 00351588 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 8035592C 0035158C 83 81 00 10 */ lwz r28, 0x10(r1)
-/* 80355930 00351590 7C 08 03 A6 */ mtlr r0
-/* 80355934 00351594 38 21 00 20 */ addi r1, r1, 0x20
-/* 80355938 00351598 4E 80 00 20 */ blr
-
.global func_8035593C
func_8035593C:
/* 8035593C 0035159C 94 21 FF E0 */ stwu r1, -0x20(r1)
@@ -4332,7 +155,7 @@ lbl_80355B30: /* 80355B44 003517A4 40 82 00 14 */ bne lbl_80355B58
/* 80355B48 003517A8 80 7F 00 04 */ lwz r3, 4(r31)
/* 80355B4C 003517AC 38 80 00 01 */ li r4, 1
-/* 80355B50 003517B0 4B FF C3 51 */ bl func_80351EA0
+/* 80355B50 003517B0 4B FF C3 51 */ bl ghttpSetRequestEncryptionEngine
/* 80355B54 003517B4 48 00 00 24 */ b lbl_80355B78
lbl_80355B58:
/* 80355B58 003517B8 2C 03 00 01 */ cmpwi r3, 1
@@ -4342,7 +165,7 @@ lbl_80355B58: /* 80355B68 003517C8 41 82 00 10 */ beq lbl_80355B78
/* 80355B6C 003517CC 80 7F 00 04 */ lwz r3, 4(r31)
/* 80355B70 003517D0 38 80 00 00 */ li r4, 0
-/* 80355B74 003517D4 4B FF C3 2D */ bl func_80351EA0
+/* 80355B74 003517D4 4B FF C3 2D */ bl ghttpSetRequestEncryptionEngine
lbl_80355B78:
/* 80355B78 003517D8 38 00 00 01 */ li r0, 1
/* 80355B7C 003517DC 7F E3 FB 78 */ mr r3, r31
@@ -4845,7 +668,7 @@ lbl_80356228: /* 8035625C 00351EBC 38 A1 00 08 */ addi r5, r1, 8
/* 80356260 00351EC0 4B FF AB A5 */ bl ghiAppendHeaderToBuffer
/* 80356264 00351EC4 7F E3 FB 78 */ mr r3, r31
-/* 80356268 00351EC8 4B FF E0 19 */ bl func_80354280
+/* 80356268 00351EC8 4B FF E0 19 */ bl ghiPostGetContentType
/* 8035626C 00351ECC 7C 65 1B 78 */ mr r5, r3
/* 80356270 00351ED0 7F A3 EB 78 */ mr r3, r29
/* 80356274 00351ED4 38 9E 00 60 */ addi r4, r30, 0x60
@@ -4926,14 +749,14 @@ func_80356364: /* 80356378 00351FD8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8035637C 00351FDC 7C 7D 1B 78 */ mr r29, r3
/* 80356380 00351FE0 83 C3 01 6C */ lwz r30, 0x16c(r3)
-/* 80356384 00351FE4 4B FF F3 6D */ bl func_803556F0
+/* 80356384 00351FE4 4B FF F3 6D */ bl ghiPostDoPosting
/* 80356388 00351FE8 2C 03 00 00 */ cmpwi r3, 0
/* 8035638C 00351FEC 7C 7F 1B 78 */ mr r31, r3
/* 80356390 00351FF0 40 82 00 58 */ bne lbl_803563E8
/* 80356394 00351FF4 38 00 00 00 */ li r0, 0
/* 80356398 00351FF8 7F A3 EB 78 */ mr r3, r29
/* 8035639C 00351FFC 90 01 00 08 */ stw r0, 8(r1)
-/* 803563A0 00352000 4B FF E5 ED */ bl func_8035498C
+/* 803563A0 00352000 4B FF E5 ED */ bl ghiPostCleanupState
/* 803563A4 00352004 80 7D 00 4C */ lwz r3, 0x4c(r29)
/* 803563A8 00352008 38 81 00 08 */ addi r4, r1, 8
/* 803563AC 0035200C 38 A0 00 00 */ li r5, 0
@@ -4967,7 +790,7 @@ lbl_80356410: /* 80356410 00352070 2C 1F 00 01 */ cmpwi r31, 1
/* 80356414 00352074 40 82 00 2C */ bne lbl_80356440
/* 80356418 00352078 7F A3 EB 78 */ mr r3, r29
-/* 8035641C 0035207C 4B FF E5 71 */ bl func_8035498C
+/* 8035641C 0035207C 4B FF E5 71 */ bl ghiPostCleanupState
/* 80356420 00352080 38 60 00 01 */ li r3, 1
/* 80356424 00352084 38 00 00 07 */ li r0, 7
/* 80356428 00352088 90 7D 01 80 */ stw r3, 0x180(r29)
diff --git a/asm/text_9.s b/asm/text_9.s index e57249c..c48753d 100644 --- a/asm/text_9.s +++ b/asm/text_9.s @@ -86649,7 +86649,7 @@ func_8031CE5C: /* 8031CE70 00318AD0 38 84 6A D0 */ addi r4, r4, lbl_80446AD0@l /* 8031CE74 00318AD4 4C C6 31 82 */ crclr 6 /* 8031CE78 00318AD8 4B FF FC BD */ bl func_8031CB34 -/* 8031CE7C 00318ADC 48 03 70 4D */ bl func_80353EC8 +/* 8031CE7C 00318ADC 48 03 70 4D */ bl ghttpStartup /* 8031CE80 00318AE0 80 8D B0 34 */ lwz r4, lbl_806402F4-_SDA_BASE_(r13) /* 8031CE84 00318AE4 38 60 00 01 */ li r3, 1 /* 8031CE88 00318AE8 38 04 00 01 */ addi r0, r4, 1 @@ -86677,7 +86677,7 @@ func_8031CEA0: /* 8031CED4 00318B34 38 60 00 01 */ li r3, 1 /* 8031CED8 00318B38 48 00 00 64 */ b lbl_8031CF3C lbl_8031CEDC: -/* 8031CEDC 00318B3C 48 03 70 3D */ bl func_80353F18 +/* 8031CEDC 00318B3C 48 03 70 3D */ bl ghttpCleanup /* 8031CEE0 00318B40 80 0D B0 34 */ lwz r0, lbl_806402F4-_SDA_BASE_(r13) /* 8031CEE4 00318B44 34 00 FF FF */ addic. r0, r0, -1 /* 8031CEE8 00318B48 90 0D B0 34 */ stw r0, lbl_806402F4-_SDA_BASE_(r13) @@ -86724,7 +86724,7 @@ func_8031CF54: /* 8031CF6C 00318BCC 38 60 00 00 */ li r3, 0 /* 8031CF70 00318BD0 48 00 00 0C */ b lbl_8031CF7C lbl_8031CF74: -/* 8031CF74 00318BD4 48 03 72 5D */ bl func_803541D0 +/* 8031CF74 00318BD4 48 03 72 5D */ bl ghttpThink /* 8031CF78 00318BD8 38 60 00 01 */ li r3, 1 lbl_8031CF7C: /* 8031CF7C 00318BDC 80 01 00 14 */ lwz r0, 0x14(r1) @@ -86927,7 +86927,7 @@ lbl_8031D24C: /* 8031D24C 00318EAC 93 DF 00 14 */ stw r30, 0x14(r31) /* 8031D250 00318EB0 7F C3 F3 78 */ mr r3, r30 /* 8031D254 00318EB4 38 80 00 01 */ li r4, 1 -/* 8031D258 00318EB8 48 03 6F B1 */ bl func_80354208 +/* 8031D258 00318EB8 48 03 6F B1 */ bl ghttpSetMaxRecvTime /* 8031D25C 00318EBC 7F C3 F3 78 */ mr r3, r30 lbl_8031D260: /* 8031D260 00318EC0 80 01 00 34 */ lwz r0, 0x34(r1) @@ -86947,7 +86947,7 @@ func_8031D280: /* 8031D28C 00318EEC 93 E1 00 0C */ stw r31, 0xc(r1) /* 8031D290 00318EF0 93 C1 00 08 */ stw r30, 8(r1) /* 8031D294 00318EF4 7C 7E 1B 78 */ mr r30, r3 -/* 8031D298 00318EF8 48 03 6F 45 */ bl func_803541DC +/* 8031D298 00318EF8 48 03 6F 45 */ bl ghttpCancelRequest /* 8031D29C 00318EFC 83 ED B0 30 */ lwz r31, lbl_806402F0-_SDA_BASE_(r13) /* 8031D2A0 00318F00 48 00 00 08 */ b lbl_8031D2A8 lbl_8031D2A4: diff --git a/obj_files.mk b/obj_files.mk index c28fead..7209343 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -76,6 +76,9 @@ TEXT_O_FILES := \ $(BUILD_DIR)/asm/ghttpCallbacks.o \ $(BUILD_DIR)/asm/ghttpCommon.o \ $(BUILD_DIR)/asm/ghttpConnection.o \ + $(BUILD_DIR)/asm/ghttpEncryption.o \ + $(BUILD_DIR)/asm/ghttpMain.o \ + $(BUILD_DIR)/asm/ghttpPost.o \ $(BUILD_DIR)/asm/text_10_2.o \ $(BUILD_DIR)/asm/text_11.o |