.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global ghiParseURL ghiParseURL: /* 8035593C 0035159C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80355940 003515A0 7C 08 02 A6 */ mflr r0 /* 80355944 003515A4 2C 03 00 00 */ cmpwi r3, 0 /* 80355948 003515A8 90 01 00 24 */ stw r0, 0x24(r1) /* 8035594C 003515AC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80355950 003515B0 7C 7F 1B 78 */ mr r31, r3 /* 80355954 003515B4 93 C1 00 18 */ stw r30, 0x18(r1) /* 80355958 003515B8 93 A1 00 14 */ stw r29, 0x14(r1) /* 8035595C 003515BC 93 81 00 10 */ stw r28, 0x10(r1) /* 80355960 003515C0 40 82 00 0C */ bne lbl_8035596C /* 80355964 003515C4 38 60 00 00 */ li r3, 0 /* 80355968 003515C8 48 00 01 60 */ b lbl_80355AC8 lbl_8035596C: /* 8035596C 003515CC 83 C3 00 14 */ lwz r30, 0x14(r3) /* 80355970 003515D0 2C 1E 00 00 */ cmpwi r30, 0 /* 80355974 003515D4 40 82 00 0C */ bne lbl_80355980 /* 80355978 003515D8 38 60 00 00 */ li r3, 0 /* 8035597C 003515DC 48 00 01 4C */ b lbl_80355AC8 lbl_80355980: /* 80355980 003515E0 7F C3 F3 78 */ mr r3, r30 /* 80355984 003515E4 38 8D 93 D8 */ addi r4, r13, lbl_8063E698-_SDA_BASE_ /* 80355988 003515E8 38 A0 00 07 */ li r5, 7 /* 8035598C 003515EC 4B E7 8B DD */ bl strncmp /* 80355990 003515F0 2C 03 00 00 */ cmpwi r3, 0 /* 80355994 003515F4 40 82 00 14 */ bne lbl_803559A8 /* 80355998 003515F8 38 00 00 00 */ li r0, 0 /* 8035599C 003515FC 3B BE 00 07 */ addi r29, r30, 7 /* 803559A0 00351600 90 1F 00 28 */ stw r0, 0x28(r31) /* 803559A4 00351604 48 00 00 38 */ b lbl_803559DC lbl_803559A8: /* 803559A8 00351608 3C 80 80 45 */ lis r4, lbl_8044C238@ha /* 803559AC 0035160C 7F C3 F3 78 */ mr r3, r30 /* 803559B0 00351610 38 84 C2 38 */ addi r4, r4, lbl_8044C238@l /* 803559B4 00351614 38 A0 00 08 */ li r5, 8 /* 803559B8 00351618 4B E7 8B B1 */ bl strncmp /* 803559BC 0035161C 2C 03 00 00 */ cmpwi r3, 0 /* 803559C0 00351620 40 82 00 14 */ bne lbl_803559D4 /* 803559C4 00351624 38 00 00 01 */ li r0, 1 /* 803559C8 00351628 3B BE 00 08 */ addi r29, r30, 8 /* 803559CC 0035162C 90 1F 00 28 */ stw r0, 0x28(r31) /* 803559D0 00351630 48 00 00 0C */ b lbl_803559DC lbl_803559D4: /* 803559D4 00351634 38 60 00 00 */ li r3, 0 /* 803559D8 00351638 48 00 00 F0 */ b lbl_80355AC8 lbl_803559DC: /* 803559DC 0035163C 7F A3 EB 78 */ mr r3, r29 /* 803559E0 00351640 38 8D 93 E0 */ addi r4, r13, lbl_8063E6A0-_SDA_BASE_ /* 803559E4 00351644 4B E7 8B F5 */ bl strcspn /* 803559E8 00351648 7F 9D 18 AE */ lbzx r28, r29, r3 /* 803559EC 0035164C 38 00 00 00 */ li r0, 0 /* 803559F0 00351650 7C 7E 1B 78 */ mr r30, r3 /* 803559F4 00351654 7C 1D 19 AE */ stbx r0, r29, r3 /* 803559F8 00351658 7F A3 EB 78 */ mr r3, r29 /* 803559FC 0035165C 4B FE 35 09 */ bl goastrdup /* 80355A00 00351660 2C 03 00 00 */ cmpwi r3, 0 /* 80355A04 00351664 90 7F 00 18 */ stw r3, 0x18(r31) /* 80355A08 00351668 40 82 00 0C */ bne lbl_80355A14 /* 80355A0C 0035166C 38 60 00 00 */ li r3, 0 /* 80355A10 00351670 48 00 00 B8 */ b lbl_80355AC8 lbl_80355A14: /* 80355A14 00351674 7F 9D F1 AE */ stbx r28, r29, r30 /* 80355A18 00351678 7C 1D F0 EE */ lbzux r0, r29, r30 /* 80355A1C 0035167C 2C 00 00 3A */ cmpwi r0, 0x3a /* 80355A20 00351680 40 82 00 3C */ bne lbl_80355A5C /* 80355A24 00351684 3B BD 00 01 */ addi r29, r29, 1 /* 80355A28 00351688 7F A3 EB 78 */ mr r3, r29 /* 80355A2C 0035168C 4B E7 AC E1 */ bl atoi /* 80355A30 00351690 54 60 04 3F */ clrlwi. r0, r3, 0x10 /* 80355A34 00351694 B0 7F 00 20 */ sth r3, 0x20(r31) /* 80355A38 00351698 40 82 00 0C */ bne lbl_80355A44 /* 80355A3C 0035169C 38 60 00 00 */ li r3, 0 /* 80355A40 003516A0 48 00 00 88 */ b lbl_80355AC8 lbl_80355A44: /* 80355A44 003516A4 8C 1D 00 01 */ lbzu r0, 1(r29) /* 80355A48 003516A8 7C 00 07 75 */ extsb. r0, r0 /* 80355A4C 003516AC 41 82 00 30 */ beq lbl_80355A7C /* 80355A50 003516B0 2C 00 00 2F */ cmpwi r0, 0x2f /* 80355A54 003516B4 40 82 FF F0 */ bne lbl_80355A44 /* 80355A58 003516B8 48 00 00 24 */ b lbl_80355A7C lbl_80355A5C: /* 80355A5C 003516BC 80 1F 00 28 */ lwz r0, 0x28(r31) /* 80355A60 003516C0 2C 00 00 01 */ cmpwi r0, 1 /* 80355A64 003516C4 40 82 00 10 */ bne lbl_80355A74 /* 80355A68 003516C8 38 00 01 BB */ li r0, 0x1bb /* 80355A6C 003516CC B0 1F 00 20 */ sth r0, 0x20(r31) /* 80355A70 003516D0 48 00 00 0C */ b lbl_80355A7C lbl_80355A74: /* 80355A74 003516D4 38 00 00 50 */ li r0, 0x50 /* 80355A78 003516D8 B0 1F 00 20 */ sth r0, 0x20(r31) lbl_80355A7C: /* 80355A7C 003516DC 88 1D 00 00 */ lbz r0, 0(r29) /* 80355A80 003516E0 7C 00 07 75 */ extsb. r0, r0 /* 80355A84 003516E4 40 82 00 08 */ bne lbl_80355A8C /* 80355A88 003516E8 3B AD 93 E4 */ addi r29, r13, lbl_8063E6A4-_SDA_BASE_ lbl_80355A8C: /* 80355A8C 003516EC 7F A3 EB 78 */ mr r3, r29 /* 80355A90 003516F0 4B FE 34 75 */ bl goastrdup /* 80355A94 003516F4 90 7F 00 24 */ stw r3, 0x24(r31) /* 80355A98 003516F8 3B C0 00 2B */ li r30, 0x2b /* 80355A9C 003516FC 48 00 00 08 */ b lbl_80355AA4 lbl_80355AA0: /* 80355AA0 00351700 9B C3 00 00 */ stb r30, 0(r3) lbl_80355AA4: /* 80355AA4 00351704 83 BF 00 24 */ lwz r29, 0x24(r31) /* 80355AA8 00351708 38 80 00 20 */ li r4, 0x20 /* 80355AAC 0035170C 7F A3 EB 78 */ mr r3, r29 /* 80355AB0 00351710 4B E7 8A F9 */ bl strchr /* 80355AB4 00351714 2C 03 00 00 */ cmpwi r3, 0 /* 80355AB8 00351718 40 82 FF E8 */ bne lbl_80355AA0 /* 80355ABC 0035171C 7C 1D 00 D0 */ neg r0, r29 /* 80355AC0 00351720 7C 00 EB 78 */ or r0, r0, r29 /* 80355AC4 00351724 54 03 0F FE */ srwi r3, r0, 0x1f lbl_80355AC8: /* 80355AC8 00351728 80 01 00 24 */ lwz r0, 0x24(r1) /* 80355ACC 0035172C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80355AD0 00351730 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80355AD4 00351734 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80355AD8 00351738 83 81 00 10 */ lwz r28, 0x10(r1) /* 80355ADC 0035173C 7C 08 03 A6 */ mtlr r0 /* 80355AE0 00351740 38 21 00 20 */ addi r1, r1, 0x20 /* 80355AE4 00351744 4E 80 00 20 */ blr .global ghiDoSocketInit ghiDoSocketInit: /* 80355AE8 00351748 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80355AEC 0035174C 7C 08 02 A6 */ mflr r0 /* 80355AF0 00351750 38 80 00 00 */ li r4, 0 /* 80355AF4 00351754 38 A0 00 00 */ li r5, 0 /* 80355AF8 00351758 90 01 00 14 */ stw r0, 0x14(r1) /* 80355AFC 0035175C 93 E1 00 0C */ stw r31, 0xc(r1) /* 80355B00 00351760 7C 7F 1B 78 */ mr r31, r3 /* 80355B04 00351764 4B FF B7 49 */ bl ghiCallProgressCallback /* 80355B08 00351768 4B FE 34 C9 */ bl SocketStartUp /* 80355B0C 0035176C 7F E3 FB 78 */ mr r3, r31 /* 80355B10 00351770 4B FF FE 2D */ bl ghiParseURL /* 80355B14 00351774 2C 03 00 00 */ cmpwi r3, 0 /* 80355B18 00351778 40 82 00 18 */ bne lbl_80355B30 /* 80355B1C 0035177C 38 60 00 01 */ li r3, 1 /* 80355B20 00351780 38 00 00 03 */ li r0, 3 /* 80355B24 00351784 90 7F 01 20 */ stw r3, 0x120(r31) /* 80355B28 00351788 90 1F 00 3C */ stw r0, 0x3c(r31) /* 80355B2C 0035178C 48 00 00 64 */ b lbl_80355B90 lbl_80355B30: /* 80355B30 00351790 80 7F 00 28 */ lwz r3, 0x28(r31) /* 80355B34 00351794 2C 03 00 01 */ cmpwi r3, 1 /* 80355B38 00351798 40 82 00 20 */ bne lbl_80355B58 /* 80355B3C 0035179C 80 1F 01 94 */ lwz r0, 0x194(r31) /* 80355B40 003517A0 2C 00 00 00 */ cmpwi r0, 0 /* 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 ghttpSetRequestEncryptionEngine /* 80355B54 003517B4 48 00 00 24 */ b lbl_80355B78 lbl_80355B58: /* 80355B58 003517B8 2C 03 00 01 */ cmpwi r3, 1 /* 80355B5C 003517BC 41 82 00 1C */ beq lbl_80355B78 /* 80355B60 003517C0 80 1F 01 94 */ lwz r0, 0x194(r31) /* 80355B64 003517C4 2C 00 00 00 */ cmpwi r0, 0 /* 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 ghttpSetRequestEncryptionEngine lbl_80355B78: /* 80355B78 003517D8 38 00 00 01 */ li r0, 1 /* 80355B7C 003517DC 7F E3 FB 78 */ mr r3, r31 /* 80355B80 003517E0 90 1F 00 10 */ stw r0, 0x10(r31) /* 80355B84 003517E4 38 80 00 00 */ li r4, 0 /* 80355B88 003517E8 38 A0 00 00 */ li r5, 0 /* 80355B8C 003517EC 4B FF B6 C1 */ bl ghiCallProgressCallback lbl_80355B90: /* 80355B90 003517F0 80 01 00 14 */ lwz r0, 0x14(r1) /* 80355B94 003517F4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80355B98 003517F8 7C 08 03 A6 */ mtlr r0 /* 80355B9C 003517FC 38 21 00 10 */ addi r1, r1, 0x10 /* 80355BA0 00351800 4E 80 00 20 */ blr .global ghiDoHostLookup ghiDoHostLookup: /* 80355BA4 00351804 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80355BA8 00351808 7C 08 02 A6 */ mflr r0 /* 80355BAC 0035180C 90 01 00 14 */ stw r0, 0x14(r1) /* 80355BB0 00351810 93 E1 00 0C */ stw r31, 0xc(r1) /* 80355BB4 00351814 93 C1 00 08 */ stw r30, 8(r1) /* 80355BB8 00351818 7C 7E 1B 78 */ mr r30, r3 /* 80355BBC 0035181C 80 03 01 B0 */ lwz r0, 0x1b0(r3) /* 80355BC0 00351820 2C 00 00 00 */ cmpwi r0, 0 /* 80355BC4 00351824 41 82 00 1C */ beq lbl_80355BE0 /* 80355BC8 00351828 38 00 00 02 */ li r0, 2 /* 80355BCC 0035182C 38 80 00 00 */ li r4, 0 /* 80355BD0 00351830 90 03 00 10 */ stw r0, 0x10(r3) /* 80355BD4 00351834 38 A0 00 00 */ li r5, 0 /* 80355BD8 00351838 4B FF B6 75 */ bl ghiCallProgressCallback /* 80355BDC 0035183C 48 00 00 B4 */ b lbl_80355C90 lbl_80355BE0: /* 80355BE0 00351840 83 E3 01 88 */ lwz r31, 0x188(r3) /* 80355BE4 00351844 2C 1F 00 00 */ cmpwi r31, 0 /* 80355BE8 00351848 41 82 00 08 */ beq lbl_80355BF0 /* 80355BEC 0035184C 48 00 00 18 */ b lbl_80355C04 lbl_80355BF0: /* 80355BF0 00351850 83 ED B0 C4 */ lwz r31, lbl_80640384-_SDA_BASE_(r13) /* 80355BF4 00351854 2C 1F 00 00 */ cmpwi r31, 0 /* 80355BF8 00351858 41 82 00 08 */ beq lbl_80355C00 /* 80355BFC 0035185C 48 00 00 08 */ b lbl_80355C04 lbl_80355C00: /* 80355C00 00351860 83 E3 00 18 */ lwz r31, 0x18(r3) lbl_80355C04: /* 80355C04 00351864 7F E3 FB 78 */ mr r3, r31 /* 80355C08 00351868 4B FE 23 69 */ bl inet_addr /* 80355C0C 0035186C 3C 03 00 01 */ addis r0, r3, 1 /* 80355C10 00351870 90 7E 00 1C */ stw r3, 0x1c(r30) /* 80355C14 00351874 28 00 FF FF */ cmplwi r0, 0xffff /* 80355C18 00351878 40 82 00 34 */ bne lbl_80355C4C /* 80355C1C 0035187C 7F E3 FB 78 */ mr r3, r31 /* 80355C20 00351880 38 9E 01 B0 */ addi r4, r30, 0x1b0 /* 80355C24 00351884 4B FE 2F F1 */ bl gsiStartResolvingHostname /* 80355C28 00351888 2C 03 FF FF */ cmpwi r3, -1 /* 80355C2C 0035188C 40 82 00 20 */ bne lbl_80355C4C /* 80355C30 00351890 38 80 00 00 */ li r4, 0 /* 80355C34 00351894 38 60 00 01 */ li r3, 1 /* 80355C38 00351898 38 00 00 04 */ li r0, 4 /* 80355C3C 0035189C 90 9E 01 B0 */ stw r4, 0x1b0(r30) /* 80355C40 003518A0 90 7E 01 20 */ stw r3, 0x120(r30) /* 80355C44 003518A4 90 1E 00 3C */ stw r0, 0x3c(r30) /* 80355C48 003518A8 48 00 00 48 */ b lbl_80355C90 lbl_80355C4C: /* 80355C4C 003518AC 80 7E 00 1C */ lwz r3, 0x1c(r30) /* 80355C50 003518B0 3C 03 00 01 */ addis r0, r3, 1 /* 80355C54 003518B4 28 00 FF FF */ cmplwi r0, 0xffff /* 80355C58 003518B8 40 82 00 20 */ bne lbl_80355C78 /* 80355C5C 003518BC 38 00 00 02 */ li r0, 2 /* 80355C60 003518C0 7F C3 F3 78 */ mr r3, r30 /* 80355C64 003518C4 90 1E 00 10 */ stw r0, 0x10(r30) /* 80355C68 003518C8 38 80 00 00 */ li r4, 0 /* 80355C6C 003518CC 38 A0 00 00 */ li r5, 0 /* 80355C70 003518D0 4B FF B5 DD */ bl ghiCallProgressCallback /* 80355C74 003518D4 48 00 00 1C */ b lbl_80355C90 lbl_80355C78: /* 80355C78 003518D8 38 00 00 03 */ li r0, 3 /* 80355C7C 003518DC 7F C3 F3 78 */ mr r3, r30 /* 80355C80 003518E0 90 1E 00 10 */ stw r0, 0x10(r30) /* 80355C84 003518E4 38 80 00 00 */ li r4, 0 /* 80355C88 003518E8 38 A0 00 00 */ li r5, 0 /* 80355C8C 003518EC 4B FF B5 C1 */ bl ghiCallProgressCallback lbl_80355C90: /* 80355C90 003518F0 80 01 00 14 */ lwz r0, 0x14(r1) /* 80355C94 003518F4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80355C98 003518F8 83 C1 00 08 */ lwz r30, 8(r1) /* 80355C9C 003518FC 7C 08 03 A6 */ mtlr r0 /* 80355CA0 00351900 38 21 00 10 */ addi r1, r1, 0x10 /* 80355CA4 00351904 4E 80 00 20 */ blr .global ghiDoLookupPending ghiDoLookupPending: /* 80355CA8 00351908 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80355CAC 0035190C 7C 08 02 A6 */ mflr r0 /* 80355CB0 00351910 90 01 00 14 */ stw r0, 0x14(r1) /* 80355CB4 00351914 93 E1 00 0C */ stw r31, 0xc(r1) /* 80355CB8 00351918 7C 7F 1B 78 */ mr r31, r3 /* 80355CBC 0035191C 80 63 01 B0 */ lwz r3, 0x1b0(r3) /* 80355CC0 00351920 4B FE 31 51 */ bl gsiGetResolvedIP /* 80355CC4 00351924 3C 03 00 01 */ addis r0, r3, 1 /* 80355CC8 00351928 90 7F 00 1C */ stw r3, 0x1c(r31) /* 80355CCC 0035192C 28 00 FF FF */ cmplwi r0, 0xffff /* 80355CD0 00351930 40 82 00 20 */ bne lbl_80355CF0 /* 80355CD4 00351934 38 80 00 00 */ li r4, 0 /* 80355CD8 00351938 38 60 00 01 */ li r3, 1 /* 80355CDC 0035193C 38 00 00 04 */ li r0, 4 /* 80355CE0 00351940 90 9F 01 B0 */ stw r4, 0x1b0(r31) /* 80355CE4 00351944 90 7F 01 20 */ stw r3, 0x120(r31) /* 80355CE8 00351948 90 1F 00 3C */ stw r0, 0x3c(r31) /* 80355CEC 0035194C 48 00 00 48 */ b lbl_80355D34 lbl_80355CF0: /* 80355CF0 00351950 2C 03 00 00 */ cmpwi r3, 0 /* 80355CF4 00351954 40 82 00 20 */ bne lbl_80355D14 /* 80355CF8 00351958 38 00 00 02 */ li r0, 2 /* 80355CFC 0035195C 7F E3 FB 78 */ mr r3, r31 /* 80355D00 00351960 90 1F 00 10 */ stw r0, 0x10(r31) /* 80355D04 00351964 38 80 00 00 */ li r4, 0 /* 80355D08 00351968 38 A0 00 00 */ li r5, 0 /* 80355D0C 0035196C 4B FF B5 41 */ bl ghiCallProgressCallback /* 80355D10 00351970 48 00 00 24 */ b lbl_80355D34 lbl_80355D14: /* 80355D14 00351974 38 60 00 00 */ li r3, 0 /* 80355D18 00351978 38 00 00 03 */ li r0, 3 /* 80355D1C 0035197C 90 7F 01 B0 */ stw r3, 0x1b0(r31) /* 80355D20 00351980 7F E3 FB 78 */ mr r3, r31 /* 80355D24 00351984 38 80 00 00 */ li r4, 0 /* 80355D28 00351988 38 A0 00 00 */ li r5, 0 /* 80355D2C 0035198C 90 1F 00 10 */ stw r0, 0x10(r31) /* 80355D30 00351990 4B FF B5 1D */ bl ghiCallProgressCallback lbl_80355D34: /* 80355D34 00351994 80 01 00 14 */ lwz r0, 0x14(r1) /* 80355D38 00351998 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80355D3C 0035199C 7C 08 03 A6 */ mtlr r0 /* 80355D40 003519A0 38 21 00 10 */ addi r1, r1, 0x10 /* 80355D44 003519A4 4E 80 00 20 */ blr .global ghiDoConnecting ghiDoConnecting: /* 80355D48 003519A8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80355D4C 003519AC 7C 08 02 A6 */ mflr r0 /* 80355D50 003519B0 90 01 00 24 */ stw r0, 0x24(r1) /* 80355D54 003519B4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80355D58 003519B8 7C 7F 1B 78 */ mr r31, r3 /* 80355D5C 003519BC 80 03 00 4C */ lwz r0, 0x4c(r3) /* 80355D60 003519C0 2C 00 FF FF */ cmpwi r0, -1 /* 80355D64 003519C4 40 82 01 38 */ bne lbl_80355E9C /* 80355D68 003519C8 38 60 00 02 */ li r3, 2 /* 80355D6C 003519CC 38 80 00 01 */ li r4, 1 /* 80355D70 003519D0 38 A0 00 06 */ li r5, 6 /* 80355D74 003519D4 4B FE 1E 51 */ bl socket /* 80355D78 003519D8 2C 03 FF FF */ cmpwi r3, -1 /* 80355D7C 003519DC 90 7F 00 4C */ stw r3, 0x4c(r31) /* 80355D80 003519E0 40 82 00 20 */ bne lbl_80355DA0 /* 80355D84 003519E4 38 80 00 01 */ li r4, 1 /* 80355D88 003519E8 38 00 00 05 */ li r0, 5 /* 80355D8C 003519EC 90 9F 01 20 */ stw r4, 0x120(r31) /* 80355D90 003519F0 90 1F 00 3C */ stw r0, 0x3c(r31) /* 80355D94 003519F4 4B FE 22 15 */ bl GOAGetLastError /* 80355D98 003519F8 90 7F 00 50 */ stw r3, 0x50(r31) /* 80355D9C 003519FC 48 00 01 A8 */ b lbl_80355F44 lbl_80355DA0: /* 80355DA0 00351A00 38 80 00 00 */ li r4, 0 /* 80355DA4 00351A04 4B FE 28 B1 */ bl SetSockBlocking /* 80355DA8 00351A08 2C 03 00 00 */ cmpwi r3, 0 /* 80355DAC 00351A0C 40 82 00 24 */ bne lbl_80355DD0 /* 80355DB0 00351A10 38 60 00 01 */ li r3, 1 /* 80355DB4 00351A14 38 00 00 05 */ li r0, 5 /* 80355DB8 00351A18 90 7F 01 20 */ stw r3, 0x120(r31) /* 80355DBC 00351A1C 80 7F 00 4C */ lwz r3, 0x4c(r31) /* 80355DC0 00351A20 90 1F 00 3C */ stw r0, 0x3c(r31) /* 80355DC4 00351A24 4B FE 21 E5 */ bl GOAGetLastError /* 80355DC8 00351A28 90 7F 00 50 */ stw r3, 0x50(r31) /* 80355DCC 00351A2C 48 00 01 78 */ b lbl_80355F44 lbl_80355DD0: /* 80355DD0 00351A30 80 1F 01 58 */ lwz r0, 0x158(r31) /* 80355DD4 00351A34 2C 00 00 00 */ cmpwi r0, 0 /* 80355DD8 00351A38 41 82 00 10 */ beq lbl_80355DE8 /* 80355DDC 00351A3C 80 7F 00 4C */ lwz r3, 0x4c(r31) /* 80355DE0 00351A40 80 8D 93 90 */ lwz r4, lbl_8063E650-_SDA_BASE_(r13) /* 80355DE4 00351A44 4B FE 28 E9 */ bl SetReceiveBufferSize lbl_80355DE8: /* 80355DE8 00351A48 38 61 00 10 */ addi r3, r1, 0x10 /* 80355DEC 00351A4C 38 80 00 00 */ li r4, 0 /* 80355DF0 00351A50 38 A0 00 08 */ li r5, 8 /* 80355DF4 00351A54 4B CA E3 11 */ bl memset /* 80355DF8 00351A58 38 00 00 02 */ li r0, 2 /* 80355DFC 00351A5C 98 01 00 11 */ stb r0, 0x11(r1) /* 80355E00 00351A60 80 1F 01 88 */ lwz r0, 0x188(r31) /* 80355E04 00351A64 2C 00 00 00 */ cmpwi r0, 0 /* 80355E08 00351A68 41 82 00 14 */ beq lbl_80355E1C /* 80355E0C 00351A6C A0 7F 01 8C */ lhz r3, 0x18c(r31) /* 80355E10 00351A70 4B FA 0F 6D */ bl SOHtoNs /* 80355E14 00351A74 B0 61 00 12 */ sth r3, 0x12(r1) /* 80355E18 00351A78 48 00 00 2C */ b lbl_80355E44 lbl_80355E1C: /* 80355E1C 00351A7C 80 0D B0 C4 */ lwz r0, lbl_80640384-_SDA_BASE_(r13) /* 80355E20 00351A80 2C 00 00 00 */ cmpwi r0, 0 /* 80355E24 00351A84 41 82 00 14 */ beq lbl_80355E38 /* 80355E28 00351A88 A0 6D B0 C0 */ lhz r3, lbl_80640380-_SDA_BASE_(r13) /* 80355E2C 00351A8C 4B FA 0F 51 */ bl SOHtoNs /* 80355E30 00351A90 B0 61 00 12 */ sth r3, 0x12(r1) /* 80355E34 00351A94 48 00 00 10 */ b lbl_80355E44 lbl_80355E38: /* 80355E38 00351A98 A0 7F 00 20 */ lhz r3, 0x20(r31) /* 80355E3C 00351A9C 4B FA 0F 41 */ bl SOHtoNs /* 80355E40 00351AA0 B0 61 00 12 */ sth r3, 0x12(r1) lbl_80355E44: /* 80355E44 00351AA4 80 1F 00 1C */ lwz r0, 0x1c(r31) /* 80355E48 00351AA8 38 81 00 10 */ addi r4, r1, 0x10 /* 80355E4C 00351AAC 38 A0 00 08 */ li r5, 8 /* 80355E50 00351AB0 90 01 00 14 */ stw r0, 0x14(r1) /* 80355E54 00351AB4 80 7F 00 4C */ lwz r3, 0x4c(r31) /* 80355E58 00351AB8 4B FE 1E 85 */ bl connect /* 80355E5C 00351ABC 2C 03 FF FF */ cmpwi r3, -1 /* 80355E60 00351AC0 40 82 00 3C */ bne lbl_80355E9C /* 80355E64 00351AC4 80 7F 00 4C */ lwz r3, 0x4c(r31) /* 80355E68 00351AC8 4B FE 21 41 */ bl GOAGetLastError /* 80355E6C 00351ACC 2C 03 FF FA */ cmpwi r3, -6 /* 80355E70 00351AD0 41 82 00 2C */ beq lbl_80355E9C /* 80355E74 00351AD4 2C 03 FF E6 */ cmpwi r3, -26 /* 80355E78 00351AD8 41 82 00 24 */ beq lbl_80355E9C /* 80355E7C 00351ADC 2C 03 FF B4 */ cmpwi r3, -76 /* 80355E80 00351AE0 41 82 00 1C */ beq lbl_80355E9C /* 80355E84 00351AE4 38 80 00 01 */ li r4, 1 /* 80355E88 00351AE8 38 00 00 06 */ li r0, 6 /* 80355E8C 00351AEC 90 9F 01 20 */ stw r4, 0x120(r31) /* 80355E90 00351AF0 90 1F 00 3C */ stw r0, 0x3c(r31) /* 80355E94 00351AF4 90 7F 00 50 */ stw r3, 0x50(r31) /* 80355E98 00351AF8 48 00 00 AC */ b lbl_80355F44 lbl_80355E9C: /* 80355E9C 00351AFC 80 7F 00 4C */ lwz r3, 0x4c(r31) /* 80355EA0 00351B00 38 A1 00 0C */ addi r5, r1, 0xc /* 80355EA4 00351B04 38 C1 00 08 */ addi r6, r1, 8 /* 80355EA8 00351B08 38 80 00 00 */ li r4, 0 /* 80355EAC 00351B0C 4B FE 21 05 */ bl GSISocketSelect /* 80355EB0 00351B10 2C 03 FF FF */ cmpwi r3, -1 /* 80355EB4 00351B14 41 82 00 18 */ beq lbl_80355ECC /* 80355EB8 00351B18 2C 03 00 01 */ cmpwi r3, 1 /* 80355EBC 00351B1C 40 82 00 44 */ bne lbl_80355F00 /* 80355EC0 00351B20 80 01 00 08 */ lwz r0, 8(r1) /* 80355EC4 00351B24 2C 00 00 00 */ cmpwi r0, 0 /* 80355EC8 00351B28 41 82 00 38 */ beq lbl_80355F00 lbl_80355ECC: /* 80355ECC 00351B2C 38 80 00 01 */ li r4, 1 /* 80355ED0 00351B30 38 00 00 06 */ li r0, 6 /* 80355ED4 00351B34 2C 03 FF FF */ cmpwi r3, -1 /* 80355ED8 00351B38 90 9F 01 20 */ stw r4, 0x120(r31) /* 80355EDC 00351B3C 90 1F 00 3C */ stw r0, 0x3c(r31) /* 80355EE0 00351B40 40 82 00 14 */ bne lbl_80355EF4 /* 80355EE4 00351B44 80 7F 00 4C */ lwz r3, 0x4c(r31) /* 80355EE8 00351B48 4B FE 20 C1 */ bl GOAGetLastError /* 80355EEC 00351B4C 90 7F 00 50 */ stw r3, 0x50(r31) /* 80355EF0 00351B50 48 00 00 54 */ b lbl_80355F44 lbl_80355EF4: /* 80355EF4 00351B54 38 00 00 00 */ li r0, 0 /* 80355EF8 00351B58 90 1F 00 50 */ stw r0, 0x50(r31) /* 80355EFC 00351B5C 48 00 00 48 */ b lbl_80355F44 lbl_80355F00: /* 80355F00 00351B60 2C 03 00 01 */ cmpwi r3, 1 /* 80355F04 00351B64 40 82 00 40 */ bne lbl_80355F44 /* 80355F08 00351B68 80 01 00 0C */ lwz r0, 0xc(r1) /* 80355F0C 00351B6C 2C 00 00 00 */ cmpwi r0, 0 /* 80355F10 00351B70 41 82 00 34 */ beq lbl_80355F44 /* 80355F14 00351B74 80 1F 01 94 */ lwz r0, 0x194(r31) /* 80355F18 00351B78 2C 00 00 00 */ cmpwi r0, 0 /* 80355F1C 00351B7C 40 82 00 10 */ bne lbl_80355F2C /* 80355F20 00351B80 38 00 00 05 */ li r0, 5 /* 80355F24 00351B84 90 1F 00 10 */ stw r0, 0x10(r31) /* 80355F28 00351B88 48 00 00 0C */ b lbl_80355F34 lbl_80355F2C: /* 80355F2C 00351B8C 38 00 00 04 */ li r0, 4 /* 80355F30 00351B90 90 1F 00 10 */ stw r0, 0x10(r31) lbl_80355F34: /* 80355F34 00351B94 7F E3 FB 78 */ mr r3, r31 /* 80355F38 00351B98 38 80 00 00 */ li r4, 0 /* 80355F3C 00351B9C 38 A0 00 00 */ li r5, 0 /* 80355F40 00351BA0 4B FF B3 0D */ bl ghiCallProgressCallback lbl_80355F44: /* 80355F44 00351BA4 80 01 00 24 */ lwz r0, 0x24(r1) /* 80355F48 00351BA8 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80355F4C 00351BAC 7C 08 03 A6 */ mtlr r0 /* 80355F50 00351BB0 38 21 00 20 */ addi r1, r1, 0x20 /* 80355F54 00351BB4 4E 80 00 20 */ blr .global ghiDoSecuringSession ghiDoSecuringSession: /* 80355F58 00351BB8 94 21 FB E0 */ stwu r1, -0x420(r1) /* 80355F5C 00351BBC 7C 08 02 A6 */ mflr r0 /* 80355F60 00351BC0 90 01 04 24 */ stw r0, 0x424(r1) /* 80355F64 00351BC4 93 E1 04 1C */ stw r31, 0x41c(r1) /* 80355F68 00351BC8 7C 7F 1B 78 */ mr r31, r3 /* 80355F6C 00351BCC 80 03 01 98 */ lwz r0, 0x198(r3) /* 80355F70 00351BD0 2C 00 00 00 */ cmpwi r0, 0 /* 80355F74 00351BD4 40 82 00 30 */ bne lbl_80355FA4 /* 80355F78 00351BD8 81 83 01 A0 */ lwz r12, 0x1a0(r3) /* 80355F7C 00351BDC 38 83 01 90 */ addi r4, r3, 0x190 /* 80355F80 00351BE0 7D 89 03 A6 */ mtctr r12 /* 80355F84 00351BE4 4E 80 04 21 */ bctrl /* 80355F88 00351BE8 2C 03 00 03 */ cmpwi r3, 3 /* 80355F8C 00351BEC 40 82 00 18 */ bne lbl_80355FA4 /* 80355F90 00351BF0 38 60 00 01 */ li r3, 1 /* 80355F94 00351BF4 38 00 00 11 */ li r0, 0x11 /* 80355F98 00351BF8 90 7F 01 20 */ stw r3, 0x120(r31) /* 80355F9C 00351BFC 90 1F 00 3C */ stw r0, 0x3c(r31) /* 80355FA0 00351C00 48 00 00 DC */ b lbl_8035607C lbl_80355FA4: /* 80355FA4 00351C04 80 7F 00 64 */ lwz r3, 0x64(r31) /* 80355FA8 00351C08 80 1F 00 60 */ lwz r0, 0x60(r31) /* 80355FAC 00351C0C 7C 03 00 00 */ cmpw r3, r0 /* 80355FB0 00351C10 40 80 00 2C */ bge lbl_80355FDC /* 80355FB4 00351C14 7F E3 FB 78 */ mr r3, r31 /* 80355FB8 00351C18 4B FF B0 9D */ bl ghiSendBufferedData /* 80355FBC 00351C1C 2C 03 00 00 */ cmpwi r3, 0 /* 80355FC0 00351C20 41 82 00 BC */ beq lbl_8035607C /* 80355FC4 00351C24 80 7F 00 64 */ lwz r3, 0x64(r31) /* 80355FC8 00351C28 80 1F 00 60 */ lwz r0, 0x60(r31) /* 80355FCC 00351C2C 7C 03 00 00 */ cmpw r3, r0 /* 80355FD0 00351C30 41 80 00 AC */ blt lbl_8035607C /* 80355FD4 00351C34 38 7F 00 54 */ addi r3, r31, 0x54 /* 80355FD8 00351C38 4B FF B0 59 */ bl ghiResetBuffer lbl_80355FDC: /* 80355FDC 00351C3C 38 00 04 01 */ li r0, 0x401 /* 80355FE0 00351C40 7F E3 FB 78 */ mr r3, r31 /* 80355FE4 00351C44 90 01 00 08 */ stw r0, 8(r1) /* 80355FE8 00351C48 38 81 00 0C */ addi r4, r1, 0xc /* 80355FEC 00351C4C 38 A1 00 08 */ addi r5, r1, 8 /* 80355FF0 00351C50 4B FF B4 55 */ bl ghiDoReceive /* 80355FF4 00351C54 38 03 FF FE */ addi r0, r3, -2 /* 80355FF8 00351C58 28 00 00 01 */ cmplwi r0, 1 /* 80355FFC 00351C5C 41 81 00 18 */ bgt lbl_80356014 /* 80356000 00351C60 38 60 00 01 */ li r3, 1 /* 80356004 00351C64 38 00 00 11 */ li r0, 0x11 /* 80356008 00351C68 90 7F 01 20 */ stw r3, 0x120(r31) /* 8035600C 00351C6C 90 1F 00 3C */ stw r0, 0x3c(r31) /* 80356010 00351C70 48 00 00 6C */ b lbl_8035607C lbl_80356014: /* 80356014 00351C74 2C 03 00 00 */ cmpwi r3, 0 /* 80356018 00351C78 40 82 00 64 */ bne lbl_8035607C /* 8035601C 00351C7C 80 A1 00 08 */ lwz r5, 8(r1) /* 80356020 00351C80 38 7F 00 C0 */ addi r3, r31, 0xc0 /* 80356024 00351C84 38 81 00 0C */ addi r4, r1, 0xc /* 80356028 00351C88 4B FF AA 95 */ bl ghiAppendDataToBuffer /* 8035602C 00351C8C 2C 03 00 00 */ cmpwi r3, 0 /* 80356030 00351C90 41 82 00 4C */ beq lbl_8035607C /* 80356034 00351C94 7F E3 FB 78 */ mr r3, r31 /* 80356038 00351C98 4B FF B2 BD */ bl ghiDecryptReceivedData /* 8035603C 00351C9C 2C 03 00 00 */ cmpwi r3, 0 /* 80356040 00351CA0 40 82 00 18 */ bne lbl_80356058 /* 80356044 00351CA4 38 60 00 01 */ li r3, 1 /* 80356048 00351CA8 38 00 00 11 */ li r0, 0x11 /* 8035604C 00351CAC 90 7F 01 20 */ stw r3, 0x120(r31) /* 80356050 00351CB0 90 1F 00 3C */ stw r0, 0x3c(r31) /* 80356054 00351CB4 48 00 00 28 */ b lbl_8035607C lbl_80356058: /* 80356058 00351CB8 80 1F 01 9C */ lwz r0, 0x19c(r31) /* 8035605C 00351CBC 2C 00 00 00 */ cmpwi r0, 0 /* 80356060 00351CC0 41 82 00 1C */ beq lbl_8035607C /* 80356064 00351CC4 38 00 00 05 */ li r0, 5 /* 80356068 00351CC8 7F E3 FB 78 */ mr r3, r31 /* 8035606C 00351CCC 90 1F 00 10 */ stw r0, 0x10(r31) /* 80356070 00351CD0 38 80 00 00 */ li r4, 0 /* 80356074 00351CD4 38 A0 00 00 */ li r5, 0 /* 80356078 00351CD8 4B FF B1 D5 */ bl ghiCallProgressCallback lbl_8035607C: /* 8035607C 00351CDC 80 01 04 24 */ lwz r0, 0x424(r1) /* 80356080 00351CE0 83 E1 04 1C */ lwz r31, 0x41c(r1) /* 80356084 00351CE4 7C 08 03 A6 */ mtlr r0 /* 80356088 00351CE8 38 21 04 20 */ addi r1, r1, 0x420 /* 8035608C 00351CEC 4E 80 00 20 */ blr .global ghiDoSendingRequest ghiDoSendingRequest: /* 80356090 00351CF0 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80356094 00351CF4 7C 08 02 A6 */ mflr r0 /* 80356098 00351CF8 90 01 00 34 */ stw r0, 0x34(r1) /* 8035609C 00351CFC 93 E1 00 2C */ stw r31, 0x2c(r1) /* 803560A0 00351D00 7C 7F 1B 78 */ mr r31, r3 /* 803560A4 00351D04 93 C1 00 28 */ stw r30, 0x28(r1) /* 803560A8 00351D08 3F C0 80 45 */ lis r30, lbl_8044C238@ha /* 803560AC 00351D0C 3B DE C2 38 */ addi r30, r30, lbl_8044C238@l /* 803560B0 00351D10 93 A1 00 24 */ stw r29, 0x24(r1) /* 803560B4 00351D14 80 03 00 60 */ lwz r0, 0x60(r3) /* 803560B8 00351D18 2C 00 00 00 */ cmpwi r0, 0 /* 803560BC 00351D1C 40 82 02 28 */ bne lbl_803562E4 /* 803560C0 00351D20 80 03 01 94 */ lwz r0, 0x194(r3) /* 803560C4 00351D24 2C 00 00 00 */ cmpwi r0, 0 /* 803560C8 00351D28 40 82 00 0C */ bne lbl_803560D4 /* 803560CC 00351D2C 3B A3 00 54 */ addi r29, r3, 0x54 /* 803560D0 00351D30 48 00 00 08 */ b lbl_803560D8 lbl_803560D4: /* 803560D4 00351D34 3B A3 00 78 */ addi r29, r3, 0x78 lbl_803560D8: /* 803560D8 00351D38 80 03 01 60 */ lwz r0, 0x160(r3) /* 803560DC 00351D3C 2C 00 00 00 */ cmpwi r0, 0 /* 803560E0 00351D40 41 82 00 18 */ beq lbl_803560F8 /* 803560E4 00351D44 80 03 01 80 */ lwz r0, 0x180(r3) /* 803560E8 00351D48 2C 00 00 00 */ cmpwi r0, 0 /* 803560EC 00351D4C 40 82 00 0C */ bne lbl_803560F8 /* 803560F0 00351D50 38 8D 93 E8 */ addi r4, r13, lbl_8063E6A8-_SDA_BASE_ /* 803560F4 00351D54 48 00 00 18 */ b lbl_8035610C lbl_803560F8: /* 803560F8 00351D58 80 03 00 0C */ lwz r0, 0xc(r3) /* 803560FC 00351D5C 38 8D 93 F8 */ addi r4, r13, lbl_8063E6B8-_SDA_BASE_ /* 80356100 00351D60 2C 00 00 03 */ cmpwi r0, 3 /* 80356104 00351D64 40 82 00 08 */ bne lbl_8035610C /* 80356108 00351D68 38 8D 93 F0 */ addi r4, r13, lbl_8063E6B0-_SDA_BASE_ lbl_8035610C: /* 8035610C 00351D6C 7F A3 EB 78 */ mr r3, r29 /* 80356110 00351D70 38 A0 00 00 */ li r5, 0 /* 80356114 00351D74 4B FF A9 A9 */ bl ghiAppendDataToBuffer /* 80356118 00351D78 80 1F 01 88 */ lwz r0, 0x188(r31) /* 8035611C 00351D7C 2C 00 00 00 */ cmpwi r0, 0 /* 80356120 00351D80 40 82 00 10 */ bne lbl_80356130 /* 80356124 00351D84 80 0D B0 C4 */ lwz r0, lbl_80640384-_SDA_BASE_(r13) /* 80356128 00351D88 2C 00 00 00 */ cmpwi r0, 0 /* 8035612C 00351D8C 41 82 00 18 */ beq lbl_80356144 lbl_80356130: /* 80356130 00351D90 80 9F 00 14 */ lwz r4, 0x14(r31) /* 80356134 00351D94 7F A3 EB 78 */ mr r3, r29 /* 80356138 00351D98 38 A0 00 00 */ li r5, 0 /* 8035613C 00351D9C 4B FF A9 81 */ bl ghiAppendDataToBuffer /* 80356140 00351DA0 48 00 00 14 */ b lbl_80356154 lbl_80356144: /* 80356144 00351DA4 80 9F 00 24 */ lwz r4, 0x24(r31) /* 80356148 00351DA8 7F A3 EB 78 */ mr r3, r29 /* 8035614C 00351DAC 38 A0 00 00 */ li r5, 0 /* 80356150 00351DB0 4B FF A9 6D */ bl ghiAppendDataToBuffer lbl_80356154: /* 80356154 00351DB4 7F A3 EB 78 */ mr r3, r29 /* 80356158 00351DB8 38 9E 00 0C */ addi r4, r30, 0xc /* 8035615C 00351DBC 38 A0 00 00 */ li r5, 0 /* 80356160 00351DC0 4B FF A9 5D */ bl ghiAppendDataToBuffer /* 80356164 00351DC4 A0 1F 00 20 */ lhz r0, 0x20(r31) /* 80356168 00351DC8 28 00 00 50 */ cmplwi r0, 0x50 /* 8035616C 00351DCC 40 82 00 18 */ bne lbl_80356184 /* 80356170 00351DD0 80 BF 00 18 */ lwz r5, 0x18(r31) /* 80356174 00351DD4 7F A3 EB 78 */ mr r3, r29 /* 80356178 00351DD8 38 8D 94 00 */ addi r4, r13, lbl_8063E6C0-_SDA_BASE_ /* 8035617C 00351DDC 4B FF AC 89 */ bl ghiAppendHeaderToBuffer /* 80356180 00351DE0 48 00 00 4C */ b lbl_803561CC lbl_80356184: /* 80356184 00351DE4 7F A3 EB 78 */ mr r3, r29 /* 80356188 00351DE8 38 8D 94 08 */ addi r4, r13, lbl_8063E6C8-_SDA_BASE_ /* 8035618C 00351DEC 38 A0 00 00 */ li r5, 0 /* 80356190 00351DF0 4B FF A9 2D */ bl ghiAppendDataToBuffer /* 80356194 00351DF4 80 9F 00 18 */ lwz r4, 0x18(r31) /* 80356198 00351DF8 7F A3 EB 78 */ mr r3, r29 /* 8035619C 00351DFC 38 A0 00 00 */ li r5, 0 /* 803561A0 00351E00 4B FF A9 1D */ bl ghiAppendDataToBuffer /* 803561A4 00351E04 7F A3 EB 78 */ mr r3, r29 /* 803561A8 00351E08 38 80 00 3A */ li r4, 0x3a /* 803561AC 00351E0C 4B FF AD 01 */ bl ghiAppendCharToBuffer /* 803561B0 00351E10 A0 9F 00 20 */ lhz r4, 0x20(r31) /* 803561B4 00351E14 7F A3 EB 78 */ mr r3, r29 /* 803561B8 00351E18 4B FF AE 2D */ bl ghiAppendIntToBuffer /* 803561BC 00351E1C 7F A3 EB 78 */ mr r3, r29 /* 803561C0 00351E20 38 8D 94 10 */ addi r4, r13, lbl_8063E6D0-_SDA_BASE_ /* 803561C4 00351E24 38 A0 00 02 */ li r5, 2 /* 803561C8 00351E28 4B FF A8 F5 */ bl ghiAppendDataToBuffer lbl_803561CC: /* 803561CC 00351E2C 80 7F 00 2C */ lwz r3, 0x2c(r31) /* 803561D0 00351E30 2C 03 00 00 */ cmpwi r3, 0 /* 803561D4 00351E34 41 82 00 14 */ beq lbl_803561E8 /* 803561D8 00351E38 38 9E 00 18 */ addi r4, r30, 0x18 /* 803561DC 00351E3C 4B E7 85 C5 */ bl strstr /* 803561E0 00351E40 2C 03 00 00 */ cmpwi r3, 0 /* 803561E4 00351E44 40 82 00 14 */ bne lbl_803561F8 lbl_803561E8: /* 803561E8 00351E48 7F A3 EB 78 */ mr r3, r29 /* 803561EC 00351E4C 38 9E 00 18 */ addi r4, r30, 0x18 /* 803561F0 00351E50 38 BE 00 28 */ addi r5, r30, 0x28 /* 803561F4 00351E54 4B FF AC 11 */ bl ghiAppendHeaderToBuffer lbl_803561F8: /* 803561F8 00351E58 80 1F 00 38 */ lwz r0, 0x38(r31) /* 803561FC 00351E5C 2C 00 00 00 */ cmpwi r0, 0 /* 80356200 00351E60 41 82 00 18 */ beq lbl_80356218 /* 80356204 00351E64 7F A3 EB 78 */ mr r3, r29 /* 80356208 00351E68 38 9E 00 38 */ addi r4, r30, 0x38 /* 8035620C 00351E6C 38 BE 00 44 */ addi r5, r30, 0x44 /* 80356210 00351E70 4B FF AB F5 */ bl ghiAppendHeaderToBuffer /* 80356214 00351E74 48 00 00 14 */ b lbl_80356228 lbl_80356218: /* 80356218 00351E78 7F A3 EB 78 */ mr r3, r29 /* 8035621C 00351E7C 38 9E 00 38 */ addi r4, r30, 0x38 /* 80356220 00351E80 38 AD 94 14 */ addi r5, r13, lbl_8063E6D4-_SDA_BASE_ /* 80356224 00351E84 4B FF AB E1 */ bl ghiAppendHeaderToBuffer lbl_80356228: /* 80356228 00351E88 80 1F 01 60 */ lwz r0, 0x160(r31) /* 8035622C 00351E8C 2C 00 00 00 */ cmpwi r0, 0 /* 80356230 00351E90 41 82 00 4C */ beq lbl_8035627C /* 80356234 00351E94 80 1F 01 80 */ lwz r0, 0x180(r31) /* 80356238 00351E98 2C 00 00 00 */ cmpwi r0, 0 /* 8035623C 00351E9C 40 82 00 40 */ bne lbl_8035627C /* 80356240 00351EA0 80 BF 01 70 */ lwz r5, 0x170(r31) /* 80356244 00351EA4 38 61 00 08 */ addi r3, r1, 8 /* 80356248 00351EA8 38 8D 94 1C */ addi r4, r13, lbl_8063E6DC-_SDA_BASE_ /* 8035624C 00351EAC 4C C6 31 82 */ crclr 6 /* 80356250 00351EB0 4B E7 68 AD */ bl sprintf /* 80356254 00351EB4 7F A3 EB 78 */ mr r3, r29 /* 80356258 00351EB8 38 9E 00 50 */ addi r4, r30, 0x50 /* 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 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 /* 80356278 00351ED8 4B FF AB 8D */ bl ghiAppendHeaderToBuffer lbl_8035627C: /* 8035627C 00351EDC 80 9F 00 2C */ lwz r4, 0x2c(r31) /* 80356280 00351EE0 2C 04 00 00 */ cmpwi r4, 0 /* 80356284 00351EE4 41 82 00 10 */ beq lbl_80356294 /* 80356288 00351EE8 7F A3 EB 78 */ mr r3, r29 /* 8035628C 00351EEC 38 A0 00 00 */ li r5, 0 /* 80356290 00351EF0 4B FF A8 2D */ bl ghiAppendDataToBuffer lbl_80356294: /* 80356294 00351EF4 7F A3 EB 78 */ mr r3, r29 /* 80356298 00351EF8 38 8D 94 10 */ addi r4, r13, lbl_8063E6D0-_SDA_BASE_ /* 8035629C 00351EFC 38 A0 00 02 */ li r5, 2 /* 803562A0 00351F00 4B FF A8 1D */ bl ghiAppendDataToBuffer /* 803562A4 00351F04 80 1F 01 94 */ lwz r0, 0x194(r31) /* 803562A8 00351F08 2C 00 00 00 */ cmpwi r0, 0 /* 803562AC 00351F0C 41 82 00 38 */ beq lbl_803562E4 /* 803562B0 00351F10 80 9D 00 04 */ lwz r4, 4(r29) /* 803562B4 00351F14 38 7F 00 54 */ addi r3, r31, 0x54 /* 803562B8 00351F18 80 BD 00 0C */ lwz r5, 0xc(r29) /* 803562BC 00351F1C 4B FF A9 71 */ bl ghiEncryptDataToBuffer /* 803562C0 00351F20 2C 03 00 00 */ cmpwi r3, 0 /* 803562C4 00351F24 40 82 00 18 */ bne lbl_803562DC /* 803562C8 00351F28 38 60 00 01 */ li r3, 1 /* 803562CC 00351F2C 38 00 00 11 */ li r0, 0x11 /* 803562D0 00351F30 90 7F 01 20 */ stw r3, 0x120(r31) /* 803562D4 00351F34 90 1F 00 3C */ stw r0, 0x3c(r31) /* 803562D8 00351F38 48 00 00 70 */ b lbl_80356348 lbl_803562DC: /* 803562DC 00351F3C 7F A3 EB 78 */ mr r3, r29 /* 803562E0 00351F40 4B FF AD 51 */ bl ghiResetBuffer lbl_803562E4: /* 803562E4 00351F44 7F E3 FB 78 */ mr r3, r31 /* 803562E8 00351F48 4B FF AD 6D */ bl ghiSendBufferedData /* 803562EC 00351F4C 2C 03 00 00 */ cmpwi r3, 0 /* 803562F0 00351F50 41 82 00 58 */ beq lbl_80356348 /* 803562F4 00351F54 80 7F 00 64 */ lwz r3, 0x64(r31) /* 803562F8 00351F58 80 1F 00 60 */ lwz r0, 0x60(r31) /* 803562FC 00351F5C 7C 03 00 00 */ cmpw r3, r0 /* 80356300 00351F60 41 80 00 48 */ blt lbl_80356348 /* 80356304 00351F64 38 7F 00 54 */ addi r3, r31, 0x54 /* 80356308 00351F68 4B FF AD 29 */ bl ghiResetBuffer /* 8035630C 00351F6C 80 1F 01 60 */ lwz r0, 0x160(r31) /* 80356310 00351F70 2C 00 00 00 */ cmpwi r0, 0 /* 80356314 00351F74 41 82 00 1C */ beq lbl_80356330 /* 80356318 00351F78 80 1F 01 80 */ lwz r0, 0x180(r31) /* 8035631C 00351F7C 2C 00 00 00 */ cmpwi r0, 0 /* 80356320 00351F80 40 82 00 10 */ bne lbl_80356330 /* 80356324 00351F84 38 00 00 06 */ li r0, 6 /* 80356328 00351F88 90 1F 00 10 */ stw r0, 0x10(r31) /* 8035632C 00351F8C 48 00 00 0C */ b lbl_80356338 lbl_80356330: /* 80356330 00351F90 38 00 00 07 */ li r0, 7 /* 80356334 00351F94 90 1F 00 10 */ stw r0, 0x10(r31) lbl_80356338: /* 80356338 00351F98 7F E3 FB 78 */ mr r3, r31 /* 8035633C 00351F9C 38 80 00 00 */ li r4, 0 /* 80356340 00351FA0 38 A0 00 00 */ li r5, 0 /* 80356344 00351FA4 4B FF AF 09 */ bl ghiCallProgressCallback lbl_80356348: /* 80356348 00351FA8 80 01 00 34 */ lwz r0, 0x34(r1) /* 8035634C 00351FAC 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80356350 00351FB0 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80356354 00351FB4 83 A1 00 24 */ lwz r29, 0x24(r1) /* 80356358 00351FB8 7C 08 03 A6 */ mtlr r0 /* 8035635C 00351FBC 38 21 00 30 */ addi r1, r1, 0x30 /* 80356360 00351FC0 4E 80 00 20 */ blr .global ghiDoPosting ghiDoPosting: /* 80356364 00351FC4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80356368 00351FC8 7C 08 02 A6 */ mflr r0 /* 8035636C 00351FCC 90 01 00 24 */ stw r0, 0x24(r1) /* 80356370 00351FD0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80356374 00351FD4 93 C1 00 18 */ stw r30, 0x18(r1) /* 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 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 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 /* 803563B0 00352010 38 C0 00 00 */ li r6, 0 /* 803563B4 00352014 4B FE 1B FD */ bl GSISocketSelect /* 803563B8 00352018 2C 03 00 01 */ cmpwi r3, 1 /* 803563BC 0035201C 40 82 00 84 */ bne lbl_80356440 /* 803563C0 00352020 80 01 00 08 */ lwz r0, 8(r1) /* 803563C4 00352024 2C 00 00 00 */ cmpwi r0, 0 /* 803563C8 00352028 41 82 00 78 */ beq lbl_80356440 /* 803563CC 0035202C 38 00 00 08 */ li r0, 8 /* 803563D0 00352030 7F A3 EB 78 */ mr r3, r29 /* 803563D4 00352034 90 1D 00 10 */ stw r0, 0x10(r29) /* 803563D8 00352038 38 80 00 00 */ li r4, 0 /* 803563DC 0035203C 38 A0 00 00 */ li r5, 0 /* 803563E0 00352040 4B FF AE 6D */ bl ghiCallProgressCallback /* 803563E4 00352044 48 00 00 5C */ b lbl_80356440 lbl_803563E8: /* 803563E8 00352048 2C 03 00 03 */ cmpwi r3, 3 /* 803563EC 0035204C 40 82 00 10 */ bne lbl_803563FC /* 803563F0 00352050 38 00 00 00 */ li r0, 0 /* 803563F4 00352054 90 1D 01 7C */ stw r0, 0x17c(r29) /* 803563F8 00352058 48 00 00 48 */ b lbl_80356440 lbl_803563FC: /* 803563FC 0035205C 80 1D 01 6C */ lwz r0, 0x16c(r29) /* 80356400 00352060 7C 1E 00 00 */ cmpw r30, r0 /* 80356404 00352064 41 82 00 0C */ beq lbl_80356410 /* 80356408 00352068 7F A3 EB 78 */ mr r3, r29 /* 8035640C 0035206C 4B FF AE 79 */ bl ghiCallPostCallback 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 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) /* 8035642C 0035208C 7F A3 EB 78 */ mr r3, r29 /* 80356430 00352090 38 80 00 00 */ li r4, 0 /* 80356434 00352094 38 A0 00 00 */ li r5, 0 /* 80356438 00352098 90 1D 00 10 */ stw r0, 0x10(r29) /* 8035643C 0035209C 4B FF AE 11 */ bl ghiCallProgressCallback lbl_80356440: /* 80356440 003520A0 80 01 00 24 */ lwz r0, 0x24(r1) /* 80356444 003520A4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80356448 003520A8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8035644C 003520AC 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80356450 003520B0 7C 08 03 A6 */ mtlr r0 /* 80356454 003520B4 38 21 00 20 */ addi r1, r1, 0x20 /* 80356458 003520B8 4E 80 00 20 */ blr .global ghiDoWaiting ghiDoWaiting: /* 8035645C 003520BC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80356460 003520C0 7C 08 02 A6 */ mflr r0 /* 80356464 003520C4 38 A0 00 00 */ li r5, 0 /* 80356468 003520C8 90 01 00 24 */ stw r0, 0x24(r1) /* 8035646C 003520CC 38 81 00 0C */ addi r4, r1, 0xc /* 80356470 003520D0 38 C1 00 08 */ addi r6, r1, 8 /* 80356474 003520D4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80356478 003520D8 7C 7F 1B 78 */ mr r31, r3 /* 8035647C 003520DC 80 63 00 4C */ lwz r3, 0x4c(r3) /* 80356480 003520E0 4B FE 1B 31 */ bl GSISocketSelect /* 80356484 003520E4 2C 03 FF FF */ cmpwi r3, -1 /* 80356488 003520E8 41 82 00 18 */ beq lbl_803564A0 /* 8035648C 003520EC 2C 03 00 01 */ cmpwi r3, 1 /* 80356490 003520F0 40 82 00 44 */ bne lbl_803564D4 /* 80356494 003520F4 80 01 00 08 */ lwz r0, 8(r1) /* 80356498 003520F8 2C 00 00 00 */ cmpwi r0, 0 /* 8035649C 003520FC 41 82 00 38 */ beq lbl_803564D4 lbl_803564A0: /* 803564A0 00352100 38 80 00 01 */ li r4, 1 /* 803564A4 00352104 38 00 00 05 */ li r0, 5 /* 803564A8 00352108 2C 03 FF FF */ cmpwi r3, -1 /* 803564AC 0035210C 90 9F 01 20 */ stw r4, 0x120(r31) /* 803564B0 00352110 90 1F 00 3C */ stw r0, 0x3c(r31) /* 803564B4 00352114 40 82 00 14 */ bne lbl_803564C8 /* 803564B8 00352118 80 7F 00 4C */ lwz r3, 0x4c(r31) /* 803564BC 0035211C 4B FE 1A ED */ bl GOAGetLastError /* 803564C0 00352120 90 7F 00 50 */ stw r3, 0x50(r31) /* 803564C4 00352124 48 00 00 3C */ b lbl_80356500 lbl_803564C8: /* 803564C8 00352128 38 00 00 00 */ li r0, 0 /* 803564CC 0035212C 90 1F 00 50 */ stw r0, 0x50(r31) /* 803564D0 00352130 48 00 00 30 */ b lbl_80356500 lbl_803564D4: /* 803564D4 00352134 2C 03 00 01 */ cmpwi r3, 1 /* 803564D8 00352138 40 82 00 28 */ bne lbl_80356500 /* 803564DC 0035213C 80 01 00 0C */ lwz r0, 0xc(r1) /* 803564E0 00352140 2C 00 00 00 */ cmpwi r0, 0 /* 803564E4 00352144 41 82 00 1C */ beq lbl_80356500 /* 803564E8 00352148 38 00 00 08 */ li r0, 8 /* 803564EC 0035214C 7F E3 FB 78 */ mr r3, r31 /* 803564F0 00352150 90 1F 00 10 */ stw r0, 0x10(r31) /* 803564F4 00352154 38 80 00 00 */ li r4, 0 /* 803564F8 00352158 38 A0 00 00 */ li r5, 0 /* 803564FC 0035215C 4B FF AD 51 */ bl ghiCallProgressCallback lbl_80356500: /* 80356500 00352160 80 01 00 24 */ lwz r0, 0x24(r1) /* 80356504 00352164 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80356508 00352168 7C 08 03 A6 */ mtlr r0 /* 8035650C 0035216C 38 21 00 20 */ addi r1, r1, 0x20 /* 80356510 00352170 4E 80 00 20 */ blr .global ghiParseStatus ghiParseStatus: /* 80356514 00352174 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80356518 00352178 7C 08 02 A6 */ mflr r0 /* 8035651C 0035217C 3C 80 80 45 */ lis r4, lbl_8044C2A8@ha /* 80356520 00352180 90 01 00 24 */ stw r0, 0x24(r1) /* 80356524 00352184 38 84 C2 A8 */ addi r4, r4, lbl_8044C2A8@l /* 80356528 00352188 38 A1 00 14 */ addi r5, r1, 0x14 /* 8035652C 0035218C 38 C1 00 10 */ addi r6, r1, 0x10 /* 80356530 00352190 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80356534 00352194 7C 7F 1B 78 */ mr r31, r3 /* 80356538 00352198 38 E1 00 0C */ addi r7, r1, 0xc /* 8035653C 0035219C 39 01 00 08 */ addi r8, r1, 8 /* 80356540 003521A0 80 63 00 A0 */ lwz r3, 0xa0(r3) /* 80356544 003521A4 4C C6 31 82 */ crclr 6 /* 80356548 003521A8 4B E7 7C C1 */ bl sscanf /* 8035654C 003521AC 2C 03 00 03 */ cmpwi r3, 3 /* 80356550 003521B0 40 82 00 24 */ bne lbl_80356574 /* 80356554 003521B4 80 C1 00 14 */ lwz r6, 0x14(r1) /* 80356558 003521B8 2C 06 00 01 */ cmpwi r6, 1 /* 8035655C 003521BC 41 80 00 18 */ blt lbl_80356574 /* 80356560 003521C0 80 01 00 0C */ lwz r0, 0xc(r1) /* 80356564 003521C4 2C 00 00 64 */ cmpwi r0, 0x64 /* 80356568 003521C8 41 80 00 0C */ blt lbl_80356574 /* 8035656C 003521CC 2C 00 02 58 */ cmpwi r0, 0x258 /* 80356570 003521D0 41 80 00 1C */ blt lbl_8035658C lbl_80356574: /* 80356574 003521D4 38 60 00 01 */ li r3, 1 /* 80356578 003521D8 38 00 00 07 */ li r0, 7 /* 8035657C 003521DC 90 7F 01 20 */ stw r3, 0x120(r31) /* 80356580 003521E0 38 60 00 00 */ li r3, 0 /* 80356584 003521E4 90 1F 00 3C */ stw r0, 0x3c(r31) /* 80356588 003521E8 48 00 00 90 */ b lbl_80356618 lbl_8035658C: /* 8035658C 003521EC 3C 60 80 42 */ lis r3, lbl_80422D48@ha /* 80356590 003521F0 80 81 00 08 */ lwz r4, 8(r1) /* 80356594 003521F4 38 63 2D 48 */ addi r3, r3, lbl_80422D48@l /* 80356598 003521F8 80 A3 00 38 */ lwz r5, 0x38(r3) /* 8035659C 003521FC 48 00 00 0C */ b lbl_803565A8 lbl_803565A0: /* 803565A0 00352200 38 84 00 01 */ addi r4, r4, 1 /* 803565A4 00352204 90 81 00 08 */ stw r4, 8(r1) lbl_803565A8: /* 803565A8 00352208 80 7F 00 A0 */ lwz r3, 0xa0(r31) /* 803565AC 0035220C 7C E3 20 AE */ lbzx r7, r3, r4 /* 803565B0 00352210 7C E3 07 75 */ extsb. r3, r7 /* 803565B4 00352214 41 82 00 44 */ beq lbl_803565F8 /* 803565B8 00352218 38 00 00 00 */ li r0, 0 /* 803565BC 0035221C 41 80 00 0C */ blt lbl_803565C8 /* 803565C0 00352220 2C 03 01 00 */ cmpwi r3, 0x100 /* 803565C4 00352224 41 80 00 08 */ blt lbl_803565CC lbl_803565C8: /* 803565C8 00352228 38 00 00 01 */ li r0, 1 lbl_803565CC: /* 803565CC 0035222C 2C 00 00 00 */ cmpwi r0, 0 /* 803565D0 00352230 41 82 00 0C */ beq lbl_803565DC /* 803565D4 00352234 38 00 00 00 */ li r0, 0 /* 803565D8 00352238 48 00 00 18 */ b lbl_803565F0 lbl_803565DC: /* 803565DC 0035223C 7C E0 07 74 */ extsb r0, r7 /* 803565E0 00352240 80 65 00 08 */ lwz r3, 8(r5) /* 803565E4 00352244 54 00 08 3C */ slwi r0, r0, 1 /* 803565E8 00352248 7C 03 02 2E */ lhzx r0, r3, r0 /* 803565EC 0035224C 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17 lbl_803565F0: /* 803565F0 00352250 2C 00 00 00 */ cmpwi r0, 0 /* 803565F4 00352254 40 82 FF AC */ bne lbl_803565A0 lbl_803565F8: /* 803565F8 00352258 90 DF 01 0C */ stw r6, 0x10c(r31) /* 803565FC 0035225C 38 60 00 01 */ li r3, 1 /* 80356600 00352260 80 01 00 10 */ lwz r0, 0x10(r1) /* 80356604 00352264 90 1F 01 10 */ stw r0, 0x110(r31) /* 80356608 00352268 80 01 00 0C */ lwz r0, 0xc(r1) /* 8035660C 0035226C 90 1F 01 14 */ stw r0, 0x114(r31) /* 80356610 00352270 80 01 00 08 */ lwz r0, 8(r1) /* 80356614 00352274 90 1F 01 18 */ stw r0, 0x118(r31) lbl_80356618: /* 80356618 00352278 80 01 00 24 */ lwz r0, 0x24(r1) /* 8035661C 0035227C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80356620 00352280 7C 08 03 A6 */ mtlr r0 /* 80356624 00352284 38 21 00 20 */ addi r1, r1, 0x20 /* 80356628 00352288 4E 80 00 20 */ blr .global ghiDoReceivingStatus ghiDoReceivingStatus: /* 8035662C 0035228C 94 21 FB E0 */ stwu r1, -0x420(r1) /* 80356630 00352290 7C 08 02 A6 */ mflr r0 /* 80356634 00352294 90 01 04 24 */ stw r0, 0x424(r1) /* 80356638 00352298 38 00 04 00 */ li r0, 0x400 /* 8035663C 0035229C 38 81 00 10 */ addi r4, r1, 0x10 /* 80356640 003522A0 38 A1 00 08 */ addi r5, r1, 8 /* 80356644 003522A4 93 E1 04 1C */ stw r31, 0x41c(r1) /* 80356648 003522A8 93 C1 04 18 */ stw r30, 0x418(r1) /* 8035664C 003522AC 93 A1 04 14 */ stw r29, 0x414(r1) /* 80356650 003522B0 7C 7D 1B 78 */ mr r29, r3 /* 80356654 003522B4 90 01 00 08 */ stw r0, 8(r1) /* 80356658 003522B8 4B FF AD ED */ bl ghiDoReceive /* 8035665C 003522BC 2C 03 00 03 */ cmpwi r3, 3 /* 80356660 003522C0 7C 7F 1B 78 */ mr r31, r3 /* 80356664 003522C4 41 82 01 30 */ beq lbl_80356794 /* 80356668 003522C8 2C 03 00 01 */ cmpwi r3, 1 /* 8035666C 003522CC 41 82 01 28 */ beq lbl_80356794 /* 80356670 003522D0 2C 03 00 00 */ cmpwi r3, 0 /* 80356674 003522D4 40 82 00 64 */ bne lbl_803566D8 /* 80356678 003522D8 80 1D 01 94 */ lwz r0, 0x194(r29) /* 8035667C 003522DC 2C 00 00 00 */ cmpwi r0, 0 /* 80356680 003522E0 41 82 00 40 */ beq lbl_803566C0 /* 80356684 003522E4 80 A1 00 08 */ lwz r5, 8(r1) /* 80356688 003522E8 38 7D 00 C0 */ addi r3, r29, 0xc0 /* 8035668C 003522EC 38 81 00 10 */ addi r4, r1, 0x10 /* 80356690 003522F0 4B FF A4 2D */ bl ghiAppendDataToBuffer /* 80356694 003522F4 2C 03 00 00 */ cmpwi r3, 0 /* 80356698 003522F8 41 82 00 FC */ beq lbl_80356794 /* 8035669C 003522FC 7F A3 EB 78 */ mr r3, r29 /* 803566A0 00352300 4B FF AC 55 */ bl ghiDecryptReceivedData /* 803566A4 00352304 2C 03 00 00 */ cmpwi r3, 0 /* 803566A8 00352308 40 82 00 30 */ bne lbl_803566D8 /* 803566AC 0035230C 38 60 00 01 */ li r3, 1 /* 803566B0 00352310 38 00 00 11 */ li r0, 0x11 /* 803566B4 00352314 90 7D 01 20 */ stw r3, 0x120(r29) /* 803566B8 00352318 90 1D 00 3C */ stw r0, 0x3c(r29) /* 803566BC 0035231C 48 00 00 D8 */ b lbl_80356794 lbl_803566C0: /* 803566C0 00352320 80 A1 00 08 */ lwz r5, 8(r1) /* 803566C4 00352324 38 7D 00 9C */ addi r3, r29, 0x9c /* 803566C8 00352328 38 81 00 10 */ addi r4, r1, 0x10 /* 803566CC 0035232C 4B FF A3 F1 */ bl ghiAppendDataToBuffer /* 803566D0 00352330 2C 03 00 00 */ cmpwi r3, 0 /* 803566D4 00352334 41 82 00 C0 */ beq lbl_80356794 lbl_803566D8: /* 803566D8 00352338 80 7D 00 A0 */ lwz r3, 0xa0(r29) /* 803566DC 0035233C 38 8D 94 10 */ addi r4, r13, lbl_8063E6D0-_SDA_BASE_ /* 803566E0 00352340 4B E7 80 C1 */ bl strstr /* 803566E4 00352344 2C 03 00 00 */ cmpwi r3, 0 /* 803566E8 00352348 41 82 00 88 */ beq lbl_80356770 /* 803566EC 0035234C 3B E0 00 00 */ li r31, 0 /* 803566F0 00352350 9B E3 00 00 */ stb r31, 0(r3) /* 803566F4 00352354 80 1D 00 A0 */ lwz r0, 0xa0(r29) /* 803566F8 00352358 7F C0 18 50 */ subf r30, r0, r3 /* 803566FC 0035235C 7F A3 EB 78 */ mr r3, r29 /* 80356700 00352360 4B FF FE 15 */ bl ghiParseStatus /* 80356704 00352364 2C 03 00 00 */ cmpwi r3, 0 /* 80356708 00352368 41 82 00 8C */ beq lbl_80356794 /* 8035670C 0035236C 80 1D 01 14 */ lwz r0, 0x114(r29) /* 80356710 00352370 38 7E 00 02 */ addi r3, r30, 2 /* 80356714 00352374 90 7D 01 1C */ stw r3, 0x11c(r29) /* 80356718 00352378 2C 00 00 64 */ cmpwi r0, 0x64 /* 8035671C 0035237C 40 82 00 38 */ bne lbl_80356754 /* 80356720 00352380 80 1D 01 7C */ lwz r0, 0x17c(r29) /* 80356724 00352384 2C 00 00 00 */ cmpwi r0, 0 /* 80356728 00352388 41 82 00 2C */ beq lbl_80356754 /* 8035672C 0035238C 93 FD 01 7C */ stw r31, 0x17c(r29) /* 80356730 00352390 38 7D 00 9C */ addi r3, r29, 0x9c /* 80356734 00352394 4B FF A8 FD */ bl ghiResetBuffer /* 80356738 00352398 38 00 00 06 */ li r0, 6 /* 8035673C 0035239C 7F A3 EB 78 */ mr r3, r29 /* 80356740 003523A0 90 1D 00 10 */ stw r0, 0x10(r29) /* 80356744 003523A4 38 80 00 00 */ li r4, 0 /* 80356748 003523A8 38 A0 00 00 */ li r5, 0 /* 8035674C 003523AC 4B FF AB 01 */ bl ghiCallProgressCallback /* 80356750 003523B0 48 00 00 44 */ b lbl_80356794 lbl_80356754: /* 80356754 003523B4 38 00 00 09 */ li r0, 9 /* 80356758 003523B8 7F A3 EB 78 */ mr r3, r29 /* 8035675C 003523BC 90 1D 00 10 */ stw r0, 0x10(r29) /* 80356760 003523C0 38 80 00 00 */ li r4, 0 /* 80356764 003523C4 38 A0 00 00 */ li r5, 0 /* 80356768 003523C8 4B FF AA E5 */ bl ghiCallProgressCallback /* 8035676C 003523CC 48 00 00 28 */ b lbl_80356794 lbl_80356770: /* 80356770 003523D0 2C 1F 00 02 */ cmpwi r31, 2 /* 80356774 003523D4 40 82 00 20 */ bne lbl_80356794 /* 80356778 003523D8 38 60 00 01 */ li r3, 1 /* 8035677C 003523DC 38 00 00 07 */ li r0, 7 /* 80356780 003523E0 90 7D 01 20 */ stw r3, 0x120(r29) /* 80356784 003523E4 80 7D 00 4C */ lwz r3, 0x4c(r29) /* 80356788 003523E8 90 1D 00 3C */ stw r0, 0x3c(r29) /* 8035678C 003523EC 4B FE 18 1D */ bl GOAGetLastError /* 80356790 003523F0 90 7D 00 50 */ stw r3, 0x50(r29) lbl_80356794: /* 80356794 003523F4 80 01 04 24 */ lwz r0, 0x424(r1) /* 80356798 003523F8 83 E1 04 1C */ lwz r31, 0x41c(r1) /* 8035679C 003523FC 83 C1 04 18 */ lwz r30, 0x418(r1) /* 803567A0 00352400 83 A1 04 14 */ lwz r29, 0x414(r1) /* 803567A4 00352404 7C 08 03 A6 */ mtlr r0 /* 803567A8 00352408 38 21 04 20 */ addi r1, r1, 0x420 /* 803567AC 0035240C 4E 80 00 20 */ blr .global ghiDeliverIncomingFileData ghiDeliverIncomingFileData: /* 803567B0 00352410 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803567B4 00352414 7C 08 02 A6 */ mflr r0 /* 803567B8 00352418 38 E0 00 00 */ li r7, 0 /* 803567BC 0035241C 90 01 00 14 */ stw r0, 0x14(r1) /* 803567C0 00352420 93 E1 00 0C */ stw r31, 0xc(r1) /* 803567C4 00352424 7C 7F 1B 78 */ mr r31, r3 /* 803567C8 00352428 80 C3 01 24 */ lwz r6, 0x124(r3) /* 803567CC 0035242C 80 03 01 28 */ lwz r0, 0x128(r3) /* 803567D0 00352430 7C C6 2A 14 */ add r6, r6, r5 /* 803567D4 00352434 7C 06 00 00 */ cmpw r6, r0 /* 803567D8 00352438 90 C3 01 24 */ stw r6, 0x124(r3) /* 803567DC 0035243C 38 C0 00 00 */ li r6, 0 /* 803567E0 00352440 41 82 00 10 */ beq lbl_803567F0 /* 803567E4 00352444 80 03 01 54 */ lwz r0, 0x154(r3) /* 803567E8 00352448 2C 00 00 00 */ cmpwi r0, 0 /* 803567EC 0035244C 41 82 00 0C */ beq lbl_803567F8 lbl_803567F0: /* 803567F0 00352450 38 00 00 01 */ li r0, 1 /* 803567F4 00352454 90 03 01 20 */ stw r0, 0x120(r3) lbl_803567F8: /* 803567F8 00352458 80 03 00 0C */ lwz r0, 0xc(r3) /* 803567FC 0035245C 2C 00 00 00 */ cmpwi r0, 0 /* 80356800 00352460 40 82 00 28 */ bne lbl_80356828 /* 80356804 00352464 38 63 00 E4 */ addi r3, r3, 0xe4 /* 80356808 00352468 4B FF A2 B5 */ bl ghiAppendDataToBuffer /* 8035680C 0035246C 2C 03 00 00 */ cmpwi r3, 0 /* 80356810 00352470 40 82 00 0C */ bne lbl_8035681C /* 80356814 00352474 38 60 00 00 */ li r3, 0 /* 80356818 00352478 48 00 00 68 */ b lbl_80356880 lbl_8035681C: /* 8035681C 0035247C 80 DF 00 E8 */ lwz r6, 0xe8(r31) /* 80356820 00352480 80 FF 00 F0 */ lwz r7, 0xf0(r31) /* 80356824 00352484 48 00 00 48 */ b lbl_8035686C lbl_80356828: /* 80356828 00352488 2C 00 00 01 */ cmpwi r0, 1 /* 8035682C 0035248C 40 82 00 30 */ bne lbl_8035685C /* 80356830 00352490 2C 05 00 00 */ cmpwi r5, 0 /* 80356834 00352494 41 82 00 1C */ beq lbl_80356850 /* 80356838 00352498 38 80 00 01 */ li r4, 1 /* 8035683C 0035249C 38 00 00 0D */ li r0, 0xd /* 80356840 003524A0 90 83 01 20 */ stw r4, 0x120(r3) /* 80356844 003524A4 90 03 00 3C */ stw r0, 0x3c(r3) /* 80356848 003524A8 38 60 00 00 */ li r3, 0 /* 8035684C 003524AC 48 00 00 34 */ b lbl_80356880 lbl_80356850: /* 80356850 003524B0 7C 86 23 78 */ mr r6, r4 /* 80356854 003524B4 7C A7 2B 78 */ mr r7, r5 /* 80356858 003524B8 48 00 00 14 */ b lbl_8035686C lbl_8035685C: /* 8035685C 003524BC 2C 00 00 02 */ cmpwi r0, 2 /* 80356860 003524C0 40 82 00 0C */ bne lbl_8035686C /* 80356864 003524C4 7C 86 23 78 */ mr r6, r4 /* 80356868 003524C8 7C A7 2B 78 */ mr r7, r5 lbl_8035686C: /* 8035686C 003524CC 7F E3 FB 78 */ mr r3, r31 /* 80356870 003524D0 7C C4 33 78 */ mr r4, r6 /* 80356874 003524D4 7C E5 3B 78 */ mr r5, r7 /* 80356878 003524D8 4B FF A9 D5 */ bl ghiCallProgressCallback /* 8035687C 003524DC 38 60 00 01 */ li r3, 1 lbl_80356880: /* 80356880 003524E0 80 01 00 14 */ lwz r0, 0x14(r1) /* 80356884 003524E4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80356888 003524E8 7C 08 03 A6 */ mtlr r0 /* 8035688C 003524EC 38 21 00 10 */ addi r1, r1, 0x10 /* 80356890 003524F0 4E 80 00 20 */ blr .global ghiProcessIncomingFileData ghiProcessIncomingFileData: /* 80356894 003524F4 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80356898 003524F8 7C 08 02 A6 */ mflr r0 /* 8035689C 003524FC 90 01 00 44 */ stw r0, 0x44(r1) /* 803568A0 00352500 39 61 00 40 */ addi r11, r1, 0x40 /* 803568A4 00352504 4B E7 08 75 */ bl _savegpr_23 /* 803568A8 00352508 80 03 01 34 */ lwz r0, 0x134(r3) /* 803568AC 0035250C 7C 7D 1B 78 */ mr r29, r3 /* 803568B0 00352510 7C 9E 23 78 */ mr r30, r4 /* 803568B4 00352514 7C BF 2B 78 */ mr r31, r5 /* 803568B8 00352518 2C 00 00 00 */ cmpwi r0, 0 /* 803568BC 0035251C 41 82 02 28 */ beq lbl_80356AE4 /* 803568C0 00352520 3B 00 00 00 */ li r24, 0 /* 803568C4 00352524 3B 80 00 02 */ li r28, 2 /* 803568C8 00352528 3B 40 00 01 */ li r26, 1 /* 803568CC 0035252C 3B 20 00 03 */ li r25, 3 /* 803568D0 00352530 48 00 02 04 */ b lbl_80356AD4 lbl_803568D4: /* 803568D4 00352534 80 1D 01 4C */ lwz r0, 0x14c(r29) /* 803568D8 00352538 2C 00 00 00 */ cmpwi r0, 0 /* 803568DC 0035253C 40 82 01 34 */ bne lbl_80356A10 /* 803568E0 00352540 7F C3 F3 78 */ mr r3, r30 /* 803568E4 00352544 38 80 00 0A */ li r4, 0xa /* 803568E8 00352548 4B E7 7C C1 */ bl strchr /* 803568EC 0035254C 2C 03 00 00 */ cmpwi r3, 0 /* 803568F0 00352550 7C 7B 1B 78 */ mr r27, r3 /* 803568F4 00352554 41 82 00 C4 */ beq lbl_803569B8 /* 803568F8 00352558 7E FE 18 51 */ subf. r23, r30, r3 /* 803568FC 0035255C 41 82 00 48 */ beq lbl_80356944 /* 80356900 00352560 80 1D 01 44 */ lwz r0, 0x144(r29) /* 80356904 00352564 2C 00 00 0A */ cmpwi r0, 0xa /* 80356908 00352568 40 80 00 3C */ bge lbl_80356944 /* 8035690C 0035256C 20 60 00 0A */ subfic r3, r0, 0xa /* 80356910 00352570 7C 03 B8 00 */ cmpw r3, r23 /* 80356914 00352574 40 80 00 08 */ bge lbl_8035691C /* 80356918 00352578 7C 77 1B 78 */ mr r23, r3 lbl_8035691C: /* 8035691C 0035257C 7C 7D 02 14 */ add r3, r29, r0 /* 80356920 00352580 7F C4 F3 78 */ mr r4, r30 /* 80356924 00352584 7E E5 BB 78 */ mr r5, r23 /* 80356928 00352588 38 63 01 38 */ addi r3, r3, 0x138 /* 8035692C 0035258C 4B CA D6 D5 */ bl memcpy /* 80356930 00352590 80 1D 01 44 */ lwz r0, 0x144(r29) /* 80356934 00352594 7C 00 BA 14 */ add r0, r0, r23 /* 80356938 00352598 90 1D 01 44 */ stw r0, 0x144(r29) /* 8035693C 0035259C 7C 7D 02 14 */ add r3, r29, r0 /* 80356940 003525A0 9B 03 01 38 */ stb r24, 0x138(r3) lbl_80356944: /* 80356944 003525A4 38 9B 00 01 */ addi r4, r27, 1 /* 80356948 003525A8 38 7D 01 38 */ addi r3, r29, 0x138 /* 8035694C 003525AC 7C 1E 20 50 */ subf r0, r30, r4 /* 80356950 003525B0 38 A1 00 08 */ addi r5, r1, 8 /* 80356954 003525B4 7C 9E 23 78 */ mr r30, r4 /* 80356958 003525B8 38 8D 94 20 */ addi r4, r13, lbl_8063E6E0-_SDA_BASE_ /* 8035695C 003525BC 7F E0 F8 50 */ subf r31, r0, r31 /* 80356960 003525C0 4C C6 31 82 */ crclr 6 /* 80356964 003525C4 4B E7 78 A5 */ bl sscanf /* 80356968 003525C8 2C 03 00 01 */ cmpwi r3, 1 /* 8035696C 003525CC 41 82 00 0C */ beq lbl_80356978 /* 80356970 003525D0 38 00 FF FF */ li r0, -1 /* 80356974 003525D4 48 00 00 08 */ b lbl_8035697C lbl_80356978: /* 80356978 003525D8 80 01 00 08 */ lwz r0, 8(r1) lbl_8035697C: /* 8035697C 003525DC 2C 00 FF FF */ cmpwi r0, -1 /* 80356980 003525E0 90 1D 01 48 */ stw r0, 0x148(r29) /* 80356984 003525E4 40 82 00 1C */ bne lbl_803569A0 /* 80356988 003525E8 38 60 00 01 */ li r3, 1 /* 8035698C 003525EC 38 00 00 07 */ li r0, 7 /* 80356990 003525F0 90 7D 01 20 */ stw r3, 0x120(r29) /* 80356994 003525F4 38 60 00 00 */ li r3, 0 /* 80356998 003525F8 90 1D 00 3C */ stw r0, 0x3c(r29) /* 8035699C 003525FC 48 00 01 4C */ b lbl_80356AE8 lbl_803569A0: /* 803569A0 00352600 2C 00 00 00 */ cmpwi r0, 0 /* 803569A4 00352604 40 82 00 0C */ bne lbl_803569B0 /* 803569A8 00352608 93 3D 01 4C */ stw r25, 0x14c(r29) /* 803569AC 0035260C 48 00 01 28 */ b lbl_80356AD4 lbl_803569B0: /* 803569B0 00352610 93 5D 01 4C */ stw r26, 0x14c(r29) /* 803569B4 00352614 48 00 01 20 */ b lbl_80356AD4 lbl_803569B8: /* 803569B8 00352618 2C 1F 00 00 */ cmpwi r31, 0 /* 803569BC 0035261C 41 82 00 4C */ beq lbl_80356A08 /* 803569C0 00352620 80 1D 01 44 */ lwz r0, 0x144(r29) /* 803569C4 00352624 2C 00 00 0A */ cmpwi r0, 0xa /* 803569C8 00352628 40 80 00 40 */ bge lbl_80356A08 /* 803569CC 0035262C 20 60 00 0A */ subfic r3, r0, 0xa /* 803569D0 00352630 7C 03 F8 00 */ cmpw r3, r31 /* 803569D4 00352634 40 80 00 08 */ bge lbl_803569DC /* 803569D8 00352638 7C 7F 1B 78 */ mr r31, r3 lbl_803569DC: /* 803569DC 0035263C 7C 7D 02 14 */ add r3, r29, r0 /* 803569E0 00352640 7F C4 F3 78 */ mr r4, r30 /* 803569E4 00352644 7F E5 FB 78 */ mr r5, r31 /* 803569E8 00352648 38 63 01 38 */ addi r3, r3, 0x138 /* 803569EC 0035264C 4B CA D6 15 */ bl memcpy /* 803569F0 00352650 80 7D 01 44 */ lwz r3, 0x144(r29) /* 803569F4 00352654 38 00 00 00 */ li r0, 0 /* 803569F8 00352658 7C 63 FA 14 */ add r3, r3, r31 /* 803569FC 0035265C 90 7D 01 44 */ stw r3, 0x144(r29) /* 80356A00 00352660 7C 7D 1A 14 */ add r3, r29, r3 /* 80356A04 00352664 98 03 01 38 */ stb r0, 0x138(r3) lbl_80356A08: /* 80356A08 00352668 38 60 00 01 */ li r3, 1 /* 80356A0C 0035266C 48 00 00 DC */ b lbl_80356AE8 lbl_80356A10: /* 80356A10 00352670 2C 00 00 01 */ cmpwi r0, 1 /* 80356A14 00352674 40 82 00 58 */ bne lbl_80356A6C /* 80356A18 00352678 80 1D 01 48 */ lwz r0, 0x148(r29) /* 80356A1C 0035267C 7F FB FB 78 */ mr r27, r31 /* 80356A20 00352680 7C 00 F8 00 */ cmpw r0, r31 /* 80356A24 00352684 40 80 00 08 */ bge lbl_80356A2C /* 80356A28 00352688 7C 1B 03 78 */ mr r27, r0 lbl_80356A2C: /* 80356A2C 0035268C 7F A3 EB 78 */ mr r3, r29 /* 80356A30 00352690 7F C4 F3 78 */ mr r4, r30 /* 80356A34 00352694 7F 65 DB 78 */ mr r5, r27 /* 80356A38 00352698 4B FF FD 79 */ bl ghiDeliverIncomingFileData /* 80356A3C 0035269C 2C 03 00 00 */ cmpwi r3, 0 /* 80356A40 003526A0 40 82 00 0C */ bne lbl_80356A4C /* 80356A44 003526A4 38 60 00 00 */ li r3, 0 /* 80356A48 003526A8 48 00 00 A0 */ b lbl_80356AE8 lbl_80356A4C: /* 80356A4C 003526AC 80 1D 01 48 */ lwz r0, 0x148(r29) /* 80356A50 003526B0 7F DE DA 14 */ add r30, r30, r27 /* 80356A54 003526B4 7F FB F8 50 */ subf r31, r27, r31 /* 80356A58 003526B8 7C 1B 00 51 */ subf. r0, r27, r0 /* 80356A5C 003526BC 90 1D 01 48 */ stw r0, 0x148(r29) /* 80356A60 003526C0 40 82 00 74 */ bne lbl_80356AD4 /* 80356A64 003526C4 93 9D 01 4C */ stw r28, 0x14c(r29) /* 80356A68 003526C8 48 00 00 6C */ b lbl_80356AD4 lbl_80356A6C: /* 80356A6C 003526CC 2C 00 00 02 */ cmpwi r0, 2 /* 80356A70 003526D0 40 82 00 44 */ bne lbl_80356AB4 /* 80356A74 003526D4 7F C3 F3 78 */ mr r3, r30 /* 80356A78 003526D8 38 80 00 0A */ li r4, 0xa /* 80356A7C 003526DC 4B E7 7B 2D */ bl strchr /* 80356A80 003526E0 2C 03 00 00 */ cmpwi r3, 0 /* 80356A84 003526E4 40 82 00 0C */ bne lbl_80356A90 /* 80356A88 003526E8 38 60 00 01 */ li r3, 1 /* 80356A8C 003526EC 48 00 00 5C */ b lbl_80356AE8 lbl_80356A90: /* 80356A90 003526F0 38 63 00 01 */ addi r3, r3, 1 /* 80356A94 003526F4 9B 1D 01 38 */ stb r24, 0x138(r29) /* 80356A98 003526F8 7C 1E 18 50 */ subf r0, r30, r3 /* 80356A9C 003526FC 93 1D 01 44 */ stw r24, 0x144(r29) /* 80356AA0 00352700 7C 7E 1B 78 */ mr r30, r3 /* 80356AA4 00352704 7F E0 F8 50 */ subf r31, r0, r31 /* 80356AA8 00352708 93 1D 01 48 */ stw r24, 0x148(r29) /* 80356AAC 0035270C 93 1D 01 4C */ stw r24, 0x14c(r29) /* 80356AB0 00352710 48 00 00 24 */ b lbl_80356AD4 lbl_80356AB4: /* 80356AB4 00352714 2C 00 00 03 */ cmpwi r0, 3 /* 80356AB8 00352718 40 82 00 14 */ bne lbl_80356ACC /* 80356ABC 0035271C 38 00 00 01 */ li r0, 1 /* 80356AC0 00352720 38 60 00 01 */ li r3, 1 /* 80356AC4 00352724 90 1D 01 20 */ stw r0, 0x120(r29) /* 80356AC8 00352728 48 00 00 20 */ b lbl_80356AE8 lbl_80356ACC: /* 80356ACC 0035272C 38 60 00 00 */ li r3, 0 /* 80356AD0 00352730 48 00 00 18 */ b lbl_80356AE8 lbl_80356AD4: /* 80356AD4 00352734 2C 1F 00 00 */ cmpwi r31, 0 /* 80356AD8 00352738 41 81 FD FC */ bgt lbl_803568D4 /* 80356ADC 0035273C 38 60 00 01 */ li r3, 1 /* 80356AE0 00352740 48 00 00 08 */ b lbl_80356AE8 lbl_80356AE4: /* 80356AE4 00352744 4B FF FC CD */ bl ghiDeliverIncomingFileData lbl_80356AE8: /* 80356AE8 00352748 39 61 00 40 */ addi r11, r1, 0x40 /* 80356AEC 0035274C 4B E7 06 79 */ bl _restgpr_23 /* 80356AF0 00352750 80 01 00 44 */ lwz r0, 0x44(r1) /* 80356AF4 00352754 7C 08 03 A6 */ mtlr r0 /* 80356AF8 00352758 38 21 00 40 */ addi r1, r1, 0x40 /* 80356AFC 0035275C 4E 80 00 20 */ blr .global ghiDoReceivingHeaders ghiDoReceivingHeaders: /* 80356B00 00352760 94 21 EF C0 */ stwu r1, -0x1040(r1) /* 80356B04 00352764 7C 08 02 A6 */ mflr r0 /* 80356B08 00352768 90 01 10 44 */ stw r0, 0x1044(r1) /* 80356B0C 0035276C 39 61 10 40 */ addi r11, r1, 0x1040 /* 80356B10 00352770 4B E7 06 05 */ bl _savegpr_22 /* 80356B14 00352774 38 00 10 00 */ li r0, 0x1000 /* 80356B18 00352778 3F C0 80 45 */ lis r30, lbl_8044C238@ha /* 80356B1C 0035277C 90 01 00 08 */ stw r0, 8(r1) /* 80356B20 00352780 7C 78 1B 78 */ mr r24, r3 /* 80356B24 00352784 3B DE C2 38 */ addi r30, r30, lbl_8044C238@l /* 80356B28 00352788 38 81 00 18 */ addi r4, r1, 0x18 /* 80356B2C 0035278C 38 A1 00 08 */ addi r5, r1, 8 /* 80356B30 00352790 3A E0 00 01 */ li r23, 1 /* 80356B34 00352794 4B FF A9 11 */ bl ghiDoReceive /* 80356B38 00352798 2C 03 00 03 */ cmpwi r3, 3 /* 80356B3C 0035279C 7C 76 1B 78 */ mr r22, r3 /* 80356B40 003527A0 41 82 05 1C */ beq lbl_8035705C /* 80356B44 003527A4 2C 03 00 01 */ cmpwi r3, 1 /* 80356B48 003527A8 41 82 05 14 */ beq lbl_8035705C /* 80356B4C 003527AC 2C 03 00 00 */ cmpwi r3, 0 /* 80356B50 003527B0 40 82 00 64 */ bne lbl_80356BB4 /* 80356B54 003527B4 80 18 01 94 */ lwz r0, 0x194(r24) /* 80356B58 003527B8 2C 00 00 00 */ cmpwi r0, 0 /* 80356B5C 003527BC 41 82 00 40 */ beq lbl_80356B9C /* 80356B60 003527C0 80 A1 00 08 */ lwz r5, 8(r1) /* 80356B64 003527C4 38 78 00 C0 */ addi r3, r24, 0xc0 /* 80356B68 003527C8 38 81 00 18 */ addi r4, r1, 0x18 /* 80356B6C 003527CC 4B FF 9F 51 */ bl ghiAppendDataToBuffer /* 80356B70 003527D0 2C 03 00 00 */ cmpwi r3, 0 /* 80356B74 003527D4 41 82 04 E8 */ beq lbl_8035705C /* 80356B78 003527D8 7F 03 C3 78 */ mr r3, r24 /* 80356B7C 003527DC 4B FF A7 79 */ bl ghiDecryptReceivedData /* 80356B80 003527E0 2C 03 00 00 */ cmpwi r3, 0 /* 80356B84 003527E4 40 82 00 30 */ bne lbl_80356BB4 /* 80356B88 003527E8 38 60 00 01 */ li r3, 1 /* 80356B8C 003527EC 38 00 00 11 */ li r0, 0x11 /* 80356B90 003527F0 90 78 01 20 */ stw r3, 0x120(r24) /* 80356B94 003527F4 90 18 00 3C */ stw r0, 0x3c(r24) /* 80356B98 003527F8 48 00 04 C4 */ b lbl_8035705C lbl_80356B9C: /* 80356B9C 003527FC 80 A1 00 08 */ lwz r5, 8(r1) /* 80356BA0 00352800 38 78 00 9C */ addi r3, r24, 0x9c /* 80356BA4 00352804 38 81 00 18 */ addi r4, r1, 0x18 /* 80356BA8 00352808 4B FF 9F 15 */ bl ghiAppendDataToBuffer /* 80356BAC 0035280C 2C 03 00 00 */ cmpwi r3, 0 /* 80356BB0 00352810 41 82 04 AC */ beq lbl_8035705C lbl_80356BB4: /* 80356BB4 00352814 3C 60 51 EC */ lis r3, 0x51EB851F@ha /* 80356BB8 00352818 80 18 01 14 */ lwz r0, 0x114(r24) /* 80356BBC 0035281C 38 63 85 1F */ addi r3, r3, 0x51EB851F@l /* 80356BC0 00352820 80 98 00 A0 */ lwz r4, 0xa0(r24) /* 80356BC4 00352824 7C 03 00 96 */ mulhw r0, r3, r0 /* 80356BC8 00352828 80 78 01 1C */ lwz r3, 0x11c(r24) /* 80356BCC 0035282C 7F A4 1A 14 */ add r29, r4, r3 /* 80356BD0 00352830 7C 00 2E 70 */ srawi r0, r0, 5 /* 80356BD4 00352834 54 03 0F FE */ srwi r3, r0, 0x1f /* 80356BD8 00352838 7C 00 1A 14 */ add r0, r0, r3 /* 80356BDC 0035283C 2C 00 00 01 */ cmpwi r0, 1 /* 80356BE0 00352840 40 82 00 40 */ bne lbl_80356C20 /* 80356BE4 00352844 7F A3 EB 78 */ mr r3, r29 /* 80356BE8 00352848 38 8D 94 10 */ addi r4, r13, lbl_8063E6D0-_SDA_BASE_ /* 80356BEC 0035284C 38 A0 00 02 */ li r5, 2 /* 80356BF0 00352850 4B E7 79 79 */ bl strncmp /* 80356BF4 00352854 2C 03 00 00 */ cmpwi r3, 0 /* 80356BF8 00352858 41 82 00 1C */ beq lbl_80356C14 /* 80356BFC 0035285C 7F A3 EB 78 */ mr r3, r29 /* 80356C00 00352860 38 8D 94 24 */ addi r4, r13, lbl_8063E6E4-_SDA_BASE_ /* 80356C04 00352864 38 A0 00 02 */ li r5, 2 /* 80356C08 00352868 4B E7 79 61 */ bl strncmp /* 80356C0C 0035286C 2C 03 00 00 */ cmpwi r3, 0 /* 80356C10 00352870 40 82 00 10 */ bne lbl_80356C20 lbl_80356C14: /* 80356C14 00352874 7F A3 EB 78 */ mr r3, r29 /* 80356C18 00352878 3A E0 00 00 */ li r23, 0 /* 80356C1C 0035287C 48 00 00 10 */ b lbl_80356C2C lbl_80356C20: /* 80356C20 00352880 7F A3 EB 78 */ mr r3, r29 /* 80356C24 00352884 38 8D 94 28 */ addi r4, r13, lbl_8063E6E8-_SDA_BASE_ /* 80356C28 00352888 4B E7 7B 79 */ bl strstr lbl_80356C2C: /* 80356C2C 0035288C 2C 03 00 00 */ cmpwi r3, 0 /* 80356C30 00352890 40 82 00 10 */ bne lbl_80356C40 /* 80356C34 00352894 7F A3 EB 78 */ mr r3, r29 /* 80356C38 00352898 38 8D 94 24 */ addi r4, r13, lbl_8063E6E4-_SDA_BASE_ /* 80356C3C 0035289C 4B E7 7B 65 */ bl strstr lbl_80356C40: /* 80356C40 003528A0 2C 03 00 00 */ cmpwi r3, 0 /* 80356C44 003528A4 41 82 03 F4 */ beq lbl_80357038 /* 80356C48 003528A8 2C 17 00 01 */ cmpwi r23, 1 /* 80356C4C 003528AC 40 82 00 08 */ bne lbl_80356C54 /* 80356C50 003528B0 38 63 00 02 */ addi r3, r3, 2 lbl_80356C54: /* 80356C54 003528B4 38 00 00 00 */ li r0, 0 /* 80356C58 003528B8 3C 80 51 EC */ lis r4, 0x51EB851F@ha /* 80356C5C 003528BC 98 03 00 00 */ stb r0, 0(r3) /* 80356C60 003528C0 38 84 85 1F */ addi r4, r4, 0x51EB851F@l /* 80356C64 003528C4 3B 83 00 02 */ addi r28, r3, 2 /* 80356C68 003528C8 80 18 01 14 */ lwz r0, 0x114(r24) /* 80356C6C 003528CC 80 D8 00 A0 */ lwz r6, 0xa0(r24) /* 80356C70 003528D0 7C 04 00 96 */ mulhw r0, r4, r0 /* 80356C74 003528D4 80 98 00 A8 */ lwz r4, 0xa8(r24) /* 80356C78 003528D8 7C 66 18 50 */ subf r3, r6, r3 /* 80356C7C 003528DC 7C A6 E0 50 */ subf r5, r6, r28 /* 80356C80 003528E0 38 63 00 01 */ addi r3, r3, 1 /* 80356C84 003528E4 90 78 00 A8 */ stw r3, 0xa8(r24) /* 80356C88 003528E8 7C 00 2E 70 */ srawi r0, r0, 5 /* 80356C8C 003528EC 90 78 00 AC */ stw r3, 0xac(r24) /* 80356C90 003528F0 54 03 0F FE */ srwi r3, r0, 0x1f /* 80356C94 003528F4 7F 65 20 50 */ subf r27, r5, r4 /* 80356C98 003528F8 7C 00 1A 14 */ add r0, r0, r3 /* 80356C9C 003528FC 2C 00 00 01 */ cmpwi r0, 1 /* 80356CA0 00352900 40 82 00 74 */ bne lbl_80356D14 /* 80356CA4 00352904 2C 1B 00 00 */ cmpwi r27, 0 /* 80356CA8 00352908 41 82 00 1C */ beq lbl_80356CC4 /* 80356CAC 0035290C 7C C3 33 78 */ mr r3, r6 /* 80356CB0 00352910 7F 84 E3 78 */ mr r4, r28 /* 80356CB4 00352914 38 BB 00 01 */ addi r5, r27, 1 /* 80356CB8 00352918 4B E7 35 BD */ bl memmove /* 80356CBC 0035291C 93 78 00 A8 */ stw r27, 0xa8(r24) /* 80356CC0 00352920 48 00 00 0C */ b lbl_80356CCC lbl_80356CC4: /* 80356CC4 00352924 38 78 00 9C */ addi r3, r24, 0x9c /* 80356CC8 00352928 4B FF A3 69 */ bl ghiResetBuffer lbl_80356CCC: /* 80356CCC 0035292C 80 18 01 7C */ lwz r0, 0x17c(r24) /* 80356CD0 00352930 2C 00 00 00 */ cmpwi r0, 0 /* 80356CD4 00352934 41 82 00 24 */ beq lbl_80356CF8 /* 80356CD8 00352938 38 60 00 00 */ li r3, 0 /* 80356CDC 0035293C 38 00 00 06 */ li r0, 6 /* 80356CE0 00352940 90 78 01 7C */ stw r3, 0x17c(r24) /* 80356CE4 00352944 7F 03 C3 78 */ mr r3, r24 /* 80356CE8 00352948 38 80 00 00 */ li r4, 0 /* 80356CEC 0035294C 38 A0 00 00 */ li r5, 0 /* 80356CF0 00352950 90 18 00 10 */ stw r0, 0x10(r24) /* 80356CF4 00352954 4B FF A5 59 */ bl ghiCallProgressCallback lbl_80356CF8: /* 80356CF8 00352958 38 00 00 08 */ li r0, 8 /* 80356CFC 0035295C 7F 03 C3 78 */ mr r3, r24 /* 80356D00 00352960 90 18 00 10 */ stw r0, 0x10(r24) /* 80356D04 00352964 38 80 00 00 */ li r4, 0 /* 80356D08 00352968 38 A0 00 00 */ li r5, 0 /* 80356D0C 0035296C 4B FF A5 41 */ bl ghiCallProgressCallback /* 80356D10 00352970 48 00 03 4C */ b lbl_8035705C lbl_80356D14: /* 80356D14 00352974 2C 00 00 03 */ cmpwi r0, 3 /* 80356D18 00352978 40 82 01 78 */ bne lbl_80356E90 /* 80356D1C 0035297C 80 18 01 30 */ lwz r0, 0x130(r24) /* 80356D20 00352980 2C 00 00 0A */ cmpwi r0, 0xa /* 80356D24 00352984 40 81 00 18 */ ble lbl_80356D3C /* 80356D28 00352988 38 60 00 01 */ li r3, 1 /* 80356D2C 0035298C 38 00 00 0B */ li r0, 0xb /* 80356D30 00352990 90 78 01 20 */ stw r3, 0x120(r24) /* 80356D34 00352994 90 18 00 3C */ stw r0, 0x3c(r24) /* 80356D38 00352998 48 00 03 24 */ b lbl_8035705C lbl_80356D3C: /* 80356D3C 0035299C 7F A3 EB 78 */ mr r3, r29 /* 80356D40 003529A0 38 9E 00 80 */ addi r4, r30, 0x80 /* 80356D44 003529A4 4B E7 7A 5D */ bl strstr /* 80356D48 003529A8 2C 03 00 00 */ cmpwi r3, 0 /* 80356D4C 003529AC 41 82 01 44 */ beq lbl_80356E90 /* 80356D50 003529B0 3C 80 80 42 */ lis r4, lbl_80422D48@ha /* 80356D54 003529B4 3B 63 00 09 */ addi r27, r3, 9 /* 80356D58 003529B8 38 84 2D 48 */ addi r4, r4, lbl_80422D48@l /* 80356D5C 003529BC 80 A4 00 38 */ lwz r5, 0x38(r4) /* 80356D60 003529C0 48 00 00 08 */ b lbl_80356D68 lbl_80356D64: /* 80356D64 003529C4 3B 7B 00 01 */ addi r27, r27, 1 lbl_80356D68: /* 80356D68 003529C8 88 9B 00 00 */ lbz r4, 0(r27) /* 80356D6C 003529CC 38 00 00 00 */ li r0, 0 /* 80356D70 003529D0 7C 84 07 75 */ extsb. r4, r4 /* 80356D74 003529D4 41 80 00 0C */ blt lbl_80356D80 /* 80356D78 003529D8 2C 04 01 00 */ cmpwi r4, 0x100 /* 80356D7C 003529DC 41 80 00 08 */ blt lbl_80356D84 lbl_80356D80: /* 80356D80 003529E0 38 00 00 01 */ li r0, 1 lbl_80356D84: /* 80356D84 003529E4 2C 00 00 00 */ cmpwi r0, 0 /* 80356D88 003529E8 41 82 00 0C */ beq lbl_80356D94 /* 80356D8C 003529EC 38 00 00 00 */ li r0, 0 /* 80356D90 003529F0 48 00 00 14 */ b lbl_80356DA4 lbl_80356D94: /* 80356D94 003529F4 80 65 00 08 */ lwz r3, 8(r5) /* 80356D98 003529F8 54 80 08 3C */ slwi r0, r4, 1 /* 80356D9C 003529FC 7C 03 02 2E */ lhzx r0, r3, r0 /* 80356DA0 00352A00 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17 lbl_80356DA4: /* 80356DA4 00352A04 2C 00 00 00 */ cmpwi r0, 0 /* 80356DA8 00352A08 40 82 FF BC */ bne lbl_80356D64 /* 80356DAC 00352A0C 7F 66 DB 78 */ mr r6, r27 /* 80356DB0 00352A10 48 00 00 08 */ b lbl_80356DB8 lbl_80356DB4: /* 80356DB4 00352A14 38 C6 00 01 */ addi r6, r6, 1 lbl_80356DB8: /* 80356DB8 00352A18 88 06 00 00 */ lbz r0, 0(r6) /* 80356DBC 00352A1C 7C 04 07 75 */ extsb. r4, r0 /* 80356DC0 00352A20 41 82 00 40 */ beq lbl_80356E00 /* 80356DC4 00352A24 38 00 00 00 */ li r0, 0 /* 80356DC8 00352A28 41 80 00 0C */ blt lbl_80356DD4 /* 80356DCC 00352A2C 2C 04 01 00 */ cmpwi r4, 0x100 /* 80356DD0 00352A30 41 80 00 08 */ blt lbl_80356DD8 lbl_80356DD4: /* 80356DD4 00352A34 38 00 00 01 */ li r0, 1 lbl_80356DD8: /* 80356DD8 00352A38 2C 00 00 00 */ cmpwi r0, 0 /* 80356DDC 00352A3C 41 82 00 0C */ beq lbl_80356DE8 /* 80356DE0 00352A40 38 00 00 00 */ li r0, 0 /* 80356DE4 00352A44 48 00 00 14 */ b lbl_80356DF8 lbl_80356DE8: /* 80356DE8 00352A48 80 65 00 08 */ lwz r3, 8(r5) /* 80356DEC 00352A4C 54 80 08 3C */ slwi r0, r4, 1 /* 80356DF0 00352A50 7C 03 02 2E */ lhzx r0, r3, r0 /* 80356DF4 00352A54 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17 lbl_80356DF8: /* 80356DF8 00352A58 2C 00 00 00 */ cmpwi r0, 0 /* 80356DFC 00352A5C 41 82 FF B8 */ beq lbl_80356DB4 lbl_80356E00: /* 80356E00 00352A60 38 00 00 00 */ li r0, 0 /* 80356E04 00352A64 98 06 00 00 */ stb r0, 0(r6) /* 80356E08 00352A68 88 1B 00 00 */ lbz r0, 0(r27) /* 80356E0C 00352A6C 2C 00 00 2F */ cmpwi r0, 0x2f /* 80356E10 00352A70 40 82 00 5C */ bne lbl_80356E6C /* 80356E14 00352A74 7F 63 DB 78 */ mr r3, r27 /* 80356E18 00352A78 4B E6 FD 4D */ bl strlen /* 80356E1C 00352A7C 7C 76 1B 78 */ mr r22, r3 /* 80356E20 00352A80 80 78 00 18 */ lwz r3, 0x18(r24) /* 80356E24 00352A84 4B E6 FD 41 */ bl strlen /* 80356E28 00352A88 7C 63 B2 14 */ add r3, r3, r22 /* 80356E2C 00352A8C 38 63 00 0E */ addi r3, r3, 0xe /* 80356E30 00352A90 4B FE 24 E5 */ bl gsimalloc /* 80356E34 00352A94 2C 03 00 00 */ cmpwi r3, 0 /* 80356E38 00352A98 90 78 01 2C */ stw r3, 0x12c(r24) /* 80356E3C 00352A9C 40 82 00 10 */ bne lbl_80356E4C /* 80356E40 00352AA0 38 00 00 01 */ li r0, 1 /* 80356E44 00352AA4 90 18 01 20 */ stw r0, 0x120(r24) /* 80356E48 00352AA8 90 18 00 3C */ stw r0, 0x3c(r24) lbl_80356E4C: /* 80356E4C 00352AAC 80 78 01 2C */ lwz r3, 0x12c(r24) /* 80356E50 00352AB0 7F 67 DB 78 */ mr r7, r27 /* 80356E54 00352AB4 80 B8 00 18 */ lwz r5, 0x18(r24) /* 80356E58 00352AB8 38 9E 00 8C */ addi r4, r30, 0x8c /* 80356E5C 00352ABC A0 D8 00 20 */ lhz r6, 0x20(r24) /* 80356E60 00352AC0 4C C6 31 82 */ crclr 6 /* 80356E64 00352AC4 4B E7 5C 99 */ bl sprintf /* 80356E68 00352AC8 48 00 01 F4 */ b lbl_8035705C lbl_80356E6C: /* 80356E6C 00352ACC 7F 63 DB 78 */ mr r3, r27 /* 80356E70 00352AD0 4B FE 20 95 */ bl goastrdup /* 80356E74 00352AD4 2C 03 00 00 */ cmpwi r3, 0 /* 80356E78 00352AD8 90 78 01 2C */ stw r3, 0x12c(r24) /* 80356E7C 00352ADC 40 82 01 E0 */ bne lbl_8035705C /* 80356E80 00352AE0 38 00 00 01 */ li r0, 1 /* 80356E84 00352AE4 90 18 01 20 */ stw r0, 0x120(r24) /* 80356E88 00352AE8 90 18 00 3C */ stw r0, 0x3c(r24) /* 80356E8C 00352AEC 48 00 01 D0 */ b lbl_8035705C lbl_80356E90: /* 80356E90 00352AF0 7F A3 EB 78 */ mr r3, r29 /* 80356E94 00352AF4 38 9E 00 A0 */ addi r4, r30, 0xa0 /* 80356E98 00352AF8 4B E7 79 09 */ bl strstr /* 80356E9C 00352AFC 2C 03 00 00 */ cmpwi r3, 0 /* 80356EA0 00352B00 7C 7F 1B 78 */ mr r31, r3 /* 80356EA4 00352B04 41 82 01 00 */ beq lbl_80356FA4 /* 80356EA8 00352B08 3E C0 80 40 */ lis r22, lbl_80402580@ha /* 80356EAC 00352B0C 8E F6 25 80 */ lbzu r23, lbl_80402580@l(r22) /* 80356EB0 00352B10 3B 43 00 10 */ addi r26, r3, 0x10 /* 80356EB4 00352B14 38 61 00 0C */ addi r3, r1, 0xc /* 80356EB8 00352B18 89 96 00 01 */ lbz r12, 1(r22) /* 80356EBC 00352B1C 7F 59 D3 78 */ mr r25, r26 /* 80356EC0 00352B20 89 76 00 02 */ lbz r11, 2(r22) /* 80356EC4 00352B24 89 56 00 03 */ lbz r10, 3(r22) /* 80356EC8 00352B28 89 36 00 04 */ lbz r9, 4(r22) /* 80356ECC 00352B2C 89 16 00 05 */ lbz r8, 5(r22) /* 80356ED0 00352B30 88 F6 00 06 */ lbz r7, 6(r22) /* 80356ED4 00352B34 88 D6 00 07 */ lbz r6, 7(r22) /* 80356ED8 00352B38 88 B6 00 08 */ lbz r5, 8(r22) /* 80356EDC 00352B3C 88 96 00 09 */ lbz r4, 9(r22) /* 80356EE0 00352B40 88 16 00 0A */ lbz r0, 0xa(r22) /* 80356EE4 00352B44 9A E1 00 0C */ stb r23, 0xc(r1) /* 80356EE8 00352B48 99 81 00 0D */ stb r12, 0xd(r1) /* 80356EEC 00352B4C 99 61 00 0E */ stb r11, 0xe(r1) /* 80356EF0 00352B50 99 41 00 0F */ stb r10, 0xf(r1) /* 80356EF4 00352B54 99 21 00 10 */ stb r9, 0x10(r1) /* 80356EF8 00352B58 99 01 00 11 */ stb r8, 0x11(r1) /* 80356EFC 00352B5C 98 E1 00 12 */ stb r7, 0x12(r1) /* 80356F00 00352B60 98 C1 00 13 */ stb r6, 0x13(r1) /* 80356F04 00352B64 98 A1 00 14 */ stb r5, 0x14(r1) /* 80356F08 00352B68 98 81 00 15 */ stb r4, 0x15(r1) /* 80356F0C 00352B6C 98 01 00 16 */ stb r0, 0x16(r1) /* 80356F10 00352B70 4B E6 FC 55 */ bl strlen /* 80356F14 00352B74 48 00 00 08 */ b lbl_80356F1C lbl_80356F18: /* 80356F18 00352B78 3B 39 00 01 */ addi r25, r25, 1 lbl_80356F1C: /* 80356F1C 00352B7C 2C 19 00 00 */ cmpwi r25, 0 /* 80356F20 00352B80 41 82 00 28 */ beq lbl_80356F48 /* 80356F24 00352B84 88 19 00 00 */ lbz r0, 0(r25) /* 80356F28 00352B88 7C 00 07 75 */ extsb. r0, r0 /* 80356F2C 00352B8C 41 82 00 1C */ beq lbl_80356F48 /* 80356F30 00352B90 2C 00 00 0A */ cmpwi r0, 0xa /* 80356F34 00352B94 41 82 00 14 */ beq lbl_80356F48 /* 80356F38 00352B98 2C 00 00 0D */ cmpwi r0, 0xd /* 80356F3C 00352B9C 41 82 00 0C */ beq lbl_80356F48 /* 80356F40 00352BA0 2C 00 00 20 */ cmpwi r0, 0x20 /* 80356F44 00352BA4 40 82 FF D4 */ bne lbl_80356F18 lbl_80356F48: /* 80356F48 00352BA8 7C BA C8 50 */ subf r5, r26, r25 /* 80356F4C 00352BAC 7C 05 18 00 */ cmpw r5, r3 /* 80356F50 00352BB0 40 81 00 18 */ ble lbl_80356F68 /* 80356F54 00352BB4 38 60 00 01 */ li r3, 1 /* 80356F58 00352BB8 38 00 00 10 */ li r0, 0x10 /* 80356F5C 00352BBC 90 78 01 20 */ stw r3, 0x120(r24) /* 80356F60 00352BC0 90 18 00 3C */ stw r0, 0x3c(r24) /* 80356F64 00352BC4 48 00 00 F8 */ b lbl_8035705C lbl_80356F68: /* 80356F68 00352BC8 7C 03 28 00 */ cmpw r3, r5 /* 80356F6C 00352BCC 40 82 00 2C */ bne lbl_80356F98 /* 80356F70 00352BD0 7F 43 D3 78 */ mr r3, r26 /* 80356F74 00352BD4 38 81 00 0C */ addi r4, r1, 0xc /* 80356F78 00352BD8 4B E7 75 F1 */ bl strncmp /* 80356F7C 00352BDC 2C 03 00 00 */ cmpwi r3, 0 /* 80356F80 00352BE0 41 80 00 18 */ blt lbl_80356F98 /* 80356F84 00352BE4 38 60 00 01 */ li r3, 1 /* 80356F88 00352BE8 38 00 00 10 */ li r0, 0x10 /* 80356F8C 00352BEC 90 78 01 20 */ stw r3, 0x120(r24) /* 80356F90 00352BF0 90 18 00 3C */ stw r0, 0x3c(r24) /* 80356F94 00352BF4 48 00 00 C8 */ b lbl_8035705C lbl_80356F98: /* 80356F98 00352BF8 7F 43 D3 78 */ mr r3, r26 /* 80356F9C 00352BFC 4B E7 97 71 */ bl atoi /* 80356FA0 00352C00 90 78 01 28 */ stw r3, 0x128(r24) lbl_80356FA4: /* 80356FA4 00352C04 7F A3 EB 78 */ mr r3, r29 /* 80356FA8 00352C08 38 9E 00 B0 */ addi r4, r30, 0xb0 /* 80356FAC 00352C0C 4B E7 77 F5 */ bl strstr /* 80356FB0 00352C10 7C 03 00 D0 */ neg r0, r3 /* 80356FB4 00352C14 7C 00 1B 78 */ or r0, r0, r3 /* 80356FB8 00352C18 54 00 0F FF */ rlwinm. r0, r0, 1, 0x1f, 0x1f /* 80356FBC 00352C1C 90 18 01 34 */ stw r0, 0x134(r24) /* 80356FC0 00352C20 41 82 00 18 */ beq lbl_80356FD8 /* 80356FC4 00352C24 38 00 00 00 */ li r0, 0 /* 80356FC8 00352C28 98 18 01 38 */ stb r0, 0x138(r24) /* 80356FCC 00352C2C 90 18 01 44 */ stw r0, 0x144(r24) /* 80356FD0 00352C30 90 18 01 48 */ stw r0, 0x148(r24) /* 80356FD4 00352C34 90 18 01 4C */ stw r0, 0x14c(r24) lbl_80356FD8: /* 80356FD8 00352C38 80 78 00 0C */ lwz r3, 0xc(r24) /* 80356FDC 00352C3C 38 03 FF FD */ addi r0, r3, -3 /* 80356FE0 00352C40 28 00 00 01 */ cmplwi r0, 1 /* 80356FE4 00352C44 41 81 00 10 */ bgt lbl_80356FF4 /* 80356FE8 00352C48 38 00 00 01 */ li r0, 1 /* 80356FEC 00352C4C 90 18 01 20 */ stw r0, 0x120(r24) /* 80356FF0 00352C50 48 00 00 6C */ b lbl_8035705C lbl_80356FF4: /* 80356FF4 00352C54 38 00 00 0A */ li r0, 0xa /* 80356FF8 00352C58 2C 1F 00 00 */ cmpwi r31, 0 /* 80356FFC 00352C5C 90 18 00 10 */ stw r0, 0x10(r24) /* 80357000 00352C60 41 82 00 1C */ beq lbl_8035701C /* 80357004 00352C64 80 18 01 28 */ lwz r0, 0x128(r24) /* 80357008 00352C68 2C 00 00 00 */ cmpwi r0, 0 /* 8035700C 00352C6C 40 82 00 10 */ bne lbl_8035701C /* 80357010 00352C70 38 00 00 01 */ li r0, 1 /* 80357014 00352C74 90 18 01 20 */ stw r0, 0x120(r24) /* 80357018 00352C78 48 00 00 44 */ b lbl_8035705C lbl_8035701C: /* 8035701C 00352C7C 2C 1B 00 00 */ cmpwi r27, 0 /* 80357020 00352C80 40 81 00 3C */ ble lbl_8035705C /* 80357024 00352C84 7F 03 C3 78 */ mr r3, r24 /* 80357028 00352C88 7F 84 E3 78 */ mr r4, r28 /* 8035702C 00352C8C 7F 65 DB 78 */ mr r5, r27 /* 80357030 00352C90 4B FF F8 65 */ bl ghiProcessIncomingFileData /* 80357034 00352C94 48 00 00 28 */ b lbl_8035705C lbl_80357038: /* 80357038 00352C98 2C 16 00 02 */ cmpwi r22, 2 /* 8035703C 00352C9C 40 82 00 20 */ bne lbl_8035705C /* 80357040 00352CA0 38 60 00 01 */ li r3, 1 /* 80357044 00352CA4 38 00 00 07 */ li r0, 7 /* 80357048 00352CA8 90 78 01 20 */ stw r3, 0x120(r24) /* 8035704C 00352CAC 80 78 00 4C */ lwz r3, 0x4c(r24) /* 80357050 00352CB0 90 18 00 3C */ stw r0, 0x3c(r24) /* 80357054 00352CB4 4B FE 0F 55 */ bl GOAGetLastError /* 80357058 00352CB8 90 78 00 50 */ stw r3, 0x50(r24) lbl_8035705C: /* 8035705C 00352CBC 39 61 10 40 */ addi r11, r1, 0x1040 /* 80357060 00352CC0 4B E7 01 01 */ bl _restgpr_22 /* 80357064 00352CC4 80 01 10 44 */ lwz r0, 0x1044(r1) /* 80357068 00352CC8 7C 08 03 A6 */ mtlr r0 /* 8035706C 00352CCC 38 21 10 40 */ addi r1, r1, 0x1040 /* 80357070 00352CD0 4E 80 00 20 */ blr .global ghiDoReceivingFile ghiDoReceivingFile: /* 80357074 00352CD4 94 21 DF E0 */ stwu r1, -0x2020(r1) /* 80357078 00352CD8 7C 08 02 A6 */ mflr r0 /* 8035707C 00352CDC 90 01 20 24 */ stw r0, 0x2024(r1) /* 80357080 00352CE0 93 E1 20 1C */ stw r31, 0x201c(r1) /* 80357084 00352CE4 93 C1 20 18 */ stw r30, 0x2018(r1) /* 80357088 00352CE8 93 A1 20 14 */ stw r29, 0x2014(r1) /* 8035708C 00352CEC 7C 7D 1B 78 */ mr r29, r3 /* 80357090 00352CF0 4B FE 1F 49 */ bl current_time /* 80357094 00352CF4 7C 7E 1B 78 */ mr r30, r3 /* 80357098 00352CF8 38 60 00 00 */ li r3, 0 /* 8035709C 00352CFC 3B E0 20 00 */ li r31, 0x2000 /* 803570A0 00352D00 48 00 00 F8 */ b lbl_80357198 lbl_803570A4: /* 803570A4 00352D04 93 E1 00 08 */ stw r31, 8(r1) /* 803570A8 00352D08 7F A3 EB 78 */ mr r3, r29 /* 803570AC 00352D0C 38 81 00 10 */ addi r4, r1, 0x10 /* 803570B0 00352D10 38 A1 00 08 */ addi r5, r1, 8 /* 803570B4 00352D14 4B FF A3 91 */ bl ghiDoReceive /* 803570B8 00352D18 2C 03 00 03 */ cmpwi r3, 3 /* 803570BC 00352D1C 41 82 00 F4 */ beq lbl_803571B0 /* 803570C0 00352D20 2C 03 00 01 */ cmpwi r3, 1 /* 803570C4 00352D24 41 82 00 EC */ beq lbl_803571B0 /* 803570C8 00352D28 2C 03 00 02 */ cmpwi r3, 2 /* 803570CC 00352D2C 40 82 00 30 */ bne lbl_803570FC /* 803570D0 00352D30 80 7D 01 28 */ lwz r3, 0x128(r29) /* 803570D4 00352D34 38 00 00 01 */ li r0, 1 /* 803570D8 00352D38 90 1D 01 20 */ stw r0, 0x120(r29) /* 803570DC 00352D3C 2C 03 00 00 */ cmpwi r3, 0 /* 803570E0 00352D40 40 81 00 D0 */ ble lbl_803571B0 /* 803570E4 00352D44 80 1D 01 24 */ lwz r0, 0x124(r29) /* 803570E8 00352D48 7C 00 18 00 */ cmpw r0, r3 /* 803570EC 00352D4C 40 80 00 C4 */ bge lbl_803571B0 /* 803570F0 00352D50 38 00 00 0F */ li r0, 0xf /* 803570F4 00352D54 90 1D 00 3C */ stw r0, 0x3c(r29) /* 803570F8 00352D58 48 00 00 B8 */ b lbl_803571B0 lbl_803570FC: /* 803570FC 00352D5C 80 1D 01 94 */ lwz r0, 0x194(r29) /* 80357100 00352D60 2C 00 00 00 */ cmpwi r0, 0 /* 80357104 00352D64 41 82 00 74 */ beq lbl_80357178 /* 80357108 00352D68 80 A1 00 08 */ lwz r5, 8(r1) /* 8035710C 00352D6C 38 7D 00 C0 */ addi r3, r29, 0xc0 /* 80357110 00352D70 38 81 00 10 */ addi r4, r1, 0x10 /* 80357114 00352D74 4B FF 99 A9 */ bl ghiAppendDataToBuffer /* 80357118 00352D78 2C 03 00 00 */ cmpwi r3, 0 /* 8035711C 00352D7C 41 82 00 94 */ beq lbl_803571B0 /* 80357120 00352D80 80 1D 00 AC */ lwz r0, 0xac(r29) /* 80357124 00352D84 7F A3 EB 78 */ mr r3, r29 /* 80357128 00352D88 90 1D 00 A8 */ stw r0, 0xa8(r29) /* 8035712C 00352D8C 4B FF A1 C9 */ bl ghiDecryptReceivedData /* 80357130 00352D90 2C 03 00 00 */ cmpwi r3, 0 /* 80357134 00352D94 40 82 00 18 */ bne lbl_8035714C /* 80357138 00352D98 38 60 00 01 */ li r3, 1 /* 8035713C 00352D9C 38 00 00 11 */ li r0, 0x11 /* 80357140 00352DA0 90 7D 01 20 */ stw r3, 0x120(r29) /* 80357144 00352DA4 90 1D 00 3C */ stw r0, 0x3c(r29) /* 80357148 00352DA8 48 00 00 68 */ b lbl_803571B0 lbl_8035714C: /* 8035714C 00352DAC 80 9D 00 AC */ lwz r4, 0xac(r29) /* 80357150 00352DB0 80 1D 00 A8 */ lwz r0, 0xa8(r29) /* 80357154 00352DB4 7C A4 00 51 */ subf. r5, r4, r0 /* 80357158 00352DB8 41 82 00 38 */ beq lbl_80357190 /* 8035715C 00352DBC 80 1D 00 A0 */ lwz r0, 0xa0(r29) /* 80357160 00352DC0 7F A3 EB 78 */ mr r3, r29 /* 80357164 00352DC4 7C 80 22 14 */ add r4, r0, r4 /* 80357168 00352DC8 4B FF F7 2D */ bl ghiProcessIncomingFileData /* 8035716C 00352DCC 2C 03 00 00 */ cmpwi r3, 0 /* 80357170 00352DD0 40 82 00 20 */ bne lbl_80357190 /* 80357174 00352DD4 48 00 00 3C */ b lbl_803571B0 lbl_80357178: /* 80357178 00352DD8 80 A1 00 08 */ lwz r5, 8(r1) /* 8035717C 00352DDC 7F A3 EB 78 */ mr r3, r29 /* 80357180 00352DE0 38 81 00 10 */ addi r4, r1, 0x10 /* 80357184 00352DE4 4B FF F7 11 */ bl ghiProcessIncomingFileData /* 80357188 00352DE8 2C 03 00 00 */ cmpwi r3, 0 /* 8035718C 00352DEC 41 82 00 24 */ beq lbl_803571B0 lbl_80357190: /* 80357190 00352DF0 4B FE 1E 49 */ bl current_time /* 80357194 00352DF4 7C 7E 18 50 */ subf r3, r30, r3 lbl_80357198: /* 80357198 00352DF8 80 1D 01 20 */ lwz r0, 0x120(r29) /* 8035719C 00352DFC 2C 00 00 00 */ cmpwi r0, 0 /* 803571A0 00352E00 40 82 00 10 */ bne lbl_803571B0 /* 803571A4 00352E04 80 1D 01 84 */ lwz r0, 0x184(r29) /* 803571A8 00352E08 7C 03 00 40 */ cmplw r3, r0 /* 803571AC 00352E0C 41 80 FE F8 */ blt lbl_803570A4 lbl_803571B0: /* 803571B0 00352E10 80 01 20 24 */ lwz r0, 0x2024(r1) /* 803571B4 00352E14 83 E1 20 1C */ lwz r31, 0x201c(r1) /* 803571B8 00352E18 83 C1 20 18 */ lwz r30, 0x2018(r1) /* 803571BC 00352E1C 83 A1 20 14 */ lwz r29, 0x2014(r1) /* 803571C0 00352E20 7C 08 03 A6 */ mtlr r0 /* 803571C4 00352E24 38 21 20 20 */ addi r1, r1, 0x2020 /* 803571C8 00352E28 4E 80 00 20 */ blr