.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global ghiResizeBuffer ghiResizeBuffer: /* 803507F4 0034C454 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803507F8 0034C458 7C 08 02 A6 */ mflr r0 /* 803507FC 0034C45C 2C 03 00 00 */ cmpwi r3, 0 /* 80350800 0034C460 90 01 00 14 */ stw r0, 0x14(r1) /* 80350804 0034C464 93 E1 00 0C */ stw r31, 0xc(r1) /* 80350808 0034C468 93 C1 00 08 */ stw r30, 8(r1) /* 8035080C 0034C46C 7C 7E 1B 78 */ mr r30, r3 /* 80350810 0034C470 40 82 00 0C */ bne lbl_8035081C /* 80350814 0034C474 38 60 00 00 */ li r3, 0 /* 80350818 0034C478 48 00 00 44 */ b lbl_8035085C lbl_8035081C: /* 8035081C 0034C47C 2C 04 00 00 */ cmpwi r4, 0 /* 80350820 0034C480 41 81 00 0C */ bgt lbl_8035082C /* 80350824 0034C484 38 60 00 00 */ li r3, 0 /* 80350828 0034C488 48 00 00 34 */ b lbl_8035085C lbl_8035082C: /* 8035082C 0034C48C 80 03 00 08 */ lwz r0, 8(r3) /* 80350830 0034C490 80 63 00 04 */ lwz r3, 4(r3) /* 80350834 0034C494 7F E0 22 14 */ add r31, r0, r4 /* 80350838 0034C498 7F E4 FB 78 */ mr r4, r31 /* 8035083C 0034C49C 4B FE 8A E9 */ bl gsirealloc /* 80350840 0034C4A0 2C 03 00 00 */ cmpwi r3, 0 /* 80350844 0034C4A4 40 82 00 0C */ bne lbl_80350850 /* 80350848 0034C4A8 38 60 00 00 */ li r3, 0 /* 8035084C 0034C4AC 48 00 00 10 */ b lbl_8035085C lbl_80350850: /* 80350850 0034C4B0 90 7E 00 04 */ stw r3, 4(r30) /* 80350854 0034C4B4 38 60 00 01 */ li r3, 1 /* 80350858 0034C4B8 93 FE 00 08 */ stw r31, 8(r30) lbl_8035085C: /* 8035085C 0034C4BC 80 01 00 14 */ lwz r0, 0x14(r1) /* 80350860 0034C4C0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80350864 0034C4C4 83 C1 00 08 */ lwz r30, 8(r1) /* 80350868 0034C4C8 7C 08 03 A6 */ mtlr r0 /* 8035086C 0034C4CC 38 21 00 10 */ addi r1, r1, 0x10 /* 80350870 0034C4D0 4E 80 00 20 */ blr .global ghiInitBuffer ghiInitBuffer: /* 80350874 0034C4D4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80350878 0034C4D8 7C 08 02 A6 */ mflr r0 /* 8035087C 0034C4DC 2C 03 00 00 */ cmpwi r3, 0 /* 80350880 0034C4E0 90 01 00 14 */ stw r0, 0x14(r1) /* 80350884 0034C4E4 93 E1 00 0C */ stw r31, 0xc(r1) /* 80350888 0034C4E8 7C BF 2B 78 */ mr r31, r5 /* 8035088C 0034C4EC 93 C1 00 08 */ stw r30, 8(r1) /* 80350890 0034C4F0 7C 9E 23 78 */ mr r30, r4 /* 80350894 0034C4F4 40 82 00 0C */ bne lbl_803508A0 /* 80350898 0034C4F8 38 60 00 00 */ li r3, 0 /* 8035089C 0034C4FC 48 00 00 BC */ b lbl_80350958 lbl_803508A0: /* 803508A0 0034C500 2F 04 00 00 */ cmpwi cr6, r4, 0 /* 803508A4 0034C504 40 9A 00 0C */ bne cr6, lbl_803508B0 /* 803508A8 0034C508 38 60 00 00 */ li r3, 0 /* 803508AC 0034C50C 48 00 00 AC */ b lbl_80350958 lbl_803508B0: /* 803508B0 0034C510 2C 85 00 00 */ cmpwi cr1, r5, 0 /* 803508B4 0034C514 41 85 00 0C */ bgt cr1, lbl_803508C0 /* 803508B8 0034C518 38 60 00 00 */ li r3, 0 /* 803508BC 0034C51C 48 00 00 9C */ b lbl_80350958 lbl_803508C0: /* 803508C0 0034C520 2C 06 00 00 */ cmpwi r6, 0 /* 803508C4 0034C524 41 81 00 0C */ bgt lbl_803508D0 /* 803508C8 0034C528 38 60 00 00 */ li r3, 0 /* 803508CC 0034C52C 48 00 00 8C */ b lbl_80350958 lbl_803508D0: /* 803508D0 0034C530 38 00 00 00 */ li r0, 0 /* 803508D4 0034C534 90 64 00 00 */ stw r3, 0(r4) /* 803508D8 0034C538 90 04 00 04 */ stw r0, 4(r4) /* 803508DC 0034C53C 90 04 00 08 */ stw r0, 8(r4) /* 803508E0 0034C540 90 04 00 0C */ stw r0, 0xc(r4) /* 803508E4 0034C544 90 04 00 10 */ stw r0, 0x10(r4) /* 803508E8 0034C548 90 C4 00 14 */ stw r6, 0x14(r4) /* 803508EC 0034C54C 90 04 00 18 */ stw r0, 0x18(r4) /* 803508F0 0034C550 90 04 00 1C */ stw r0, 0x1c(r4) /* 803508F4 0034C554 90 04 00 20 */ stw r0, 0x20(r4) /* 803508F8 0034C558 40 9A 00 0C */ bne cr6, lbl_80350904 /* 803508FC 0034C55C 38 00 00 00 */ li r0, 0 /* 80350900 0034C560 48 00 00 38 */ b lbl_80350938 lbl_80350904: /* 80350904 0034C564 41 85 00 0C */ bgt cr1, lbl_80350910 /* 80350908 0034C568 38 00 00 00 */ li r0, 0 /* 8035090C 0034C56C 48 00 00 2C */ b lbl_80350938 lbl_80350910: /* 80350910 0034C570 7F E4 FB 78 */ mr r4, r31 /* 80350914 0034C574 38 60 00 00 */ li r3, 0 /* 80350918 0034C578 4B FE 8A 0D */ bl gsirealloc /* 8035091C 0034C57C 2C 03 00 00 */ cmpwi r3, 0 /* 80350920 0034C580 40 82 00 0C */ bne lbl_8035092C /* 80350924 0034C584 38 00 00 00 */ li r0, 0 /* 80350928 0034C588 48 00 00 10 */ b lbl_80350938 lbl_8035092C: /* 8035092C 0034C58C 90 7E 00 04 */ stw r3, 4(r30) /* 80350930 0034C590 38 00 00 01 */ li r0, 1 /* 80350934 0034C594 93 FE 00 08 */ stw r31, 8(r30) lbl_80350938: /* 80350938 0034C598 2C 00 00 00 */ cmpwi r0, 0 /* 8035093C 0034C59C 40 82 00 0C */ bne lbl_80350948 /* 80350940 0034C5A0 38 60 00 00 */ li r3, 0 /* 80350944 0034C5A4 48 00 00 14 */ b lbl_80350958 lbl_80350948: /* 80350948 0034C5A8 80 9E 00 04 */ lwz r4, 4(r30) /* 8035094C 0034C5AC 38 00 00 00 */ li r0, 0 /* 80350950 0034C5B0 38 60 00 01 */ li r3, 1 /* 80350954 0034C5B4 98 04 00 00 */ stb r0, 0(r4) lbl_80350958: /* 80350958 0034C5B8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8035095C 0034C5BC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80350960 0034C5C0 83 C1 00 08 */ lwz r30, 8(r1) /* 80350964 0034C5C4 7C 08 03 A6 */ mtlr r0 /* 80350968 0034C5C8 38 21 00 10 */ addi r1, r1, 0x10 /* 8035096C 0034C5CC 4E 80 00 20 */ blr .global ghiInitFixedBuffer ghiInitFixedBuffer: /* 80350970 0034C5D0 2C 03 00 00 */ cmpwi r3, 0 /* 80350974 0034C5D4 40 82 00 0C */ bne lbl_80350980 /* 80350978 0034C5D8 38 60 00 00 */ li r3, 0 /* 8035097C 0034C5DC 4E 80 00 20 */ blr lbl_80350980: /* 80350980 0034C5E0 2C 04 00 00 */ cmpwi r4, 0 /* 80350984 0034C5E4 40 82 00 0C */ bne lbl_80350990 /* 80350988 0034C5E8 38 60 00 00 */ li r3, 0 /* 8035098C 0034C5EC 4E 80 00 20 */ blr lbl_80350990: /* 80350990 0034C5F0 2C 05 00 00 */ cmpwi r5, 0 /* 80350994 0034C5F4 40 82 00 0C */ bne lbl_803509A0 /* 80350998 0034C5F8 38 60 00 00 */ li r3, 0 /* 8035099C 0034C5FC 4E 80 00 20 */ blr lbl_803509A0: /* 803509A0 0034C600 2C 06 00 00 */ cmpwi r6, 0 /* 803509A4 0034C604 41 81 00 0C */ bgt lbl_803509B0 /* 803509A8 0034C608 38 60 00 00 */ li r3, 0 /* 803509AC 0034C60C 4E 80 00 20 */ blr lbl_803509B0: /* 803509B0 0034C610 38 E0 00 00 */ li r7, 0 /* 803509B4 0034C614 38 00 00 01 */ li r0, 1 /* 803509B8 0034C618 90 64 00 00 */ stw r3, 0(r4) /* 803509BC 0034C61C 38 60 00 01 */ li r3, 1 /* 803509C0 0034C620 90 A4 00 04 */ stw r5, 4(r4) /* 803509C4 0034C624 90 C4 00 08 */ stw r6, 8(r4) /* 803509C8 0034C628 90 E4 00 0C */ stw r7, 0xc(r4) /* 803509CC 0034C62C 90 E4 00 10 */ stw r7, 0x10(r4) /* 803509D0 0034C630 90 E4 00 14 */ stw r7, 0x14(r4) /* 803509D4 0034C634 90 04 00 18 */ stw r0, 0x18(r4) /* 803509D8 0034C638 90 04 00 1C */ stw r0, 0x1c(r4) /* 803509DC 0034C63C 90 E4 00 20 */ stw r7, 0x20(r4) /* 803509E0 0034C640 98 E5 00 00 */ stb r7, 0(r5) /* 803509E4 0034C644 4E 80 00 20 */ blr .global ghiInitReadOnlyBuffer ghiInitReadOnlyBuffer: /* 803509E8 0034C648 2C 03 00 00 */ cmpwi r3, 0 /* 803509EC 0034C64C 40 82 00 0C */ bne lbl_803509F8 /* 803509F0 0034C650 38 60 00 00 */ li r3, 0 /* 803509F4 0034C654 4E 80 00 20 */ blr lbl_803509F8: /* 803509F8 0034C658 2C 04 00 00 */ cmpwi r4, 0 /* 803509FC 0034C65C 40 82 00 0C */ bne lbl_80350A08 /* 80350A00 0034C660 38 60 00 00 */ li r3, 0 /* 80350A04 0034C664 4E 80 00 20 */ blr lbl_80350A08: /* 80350A08 0034C668 2C 05 00 00 */ cmpwi r5, 0 /* 80350A0C 0034C66C 40 82 00 0C */ bne lbl_80350A18 /* 80350A10 0034C670 38 60 00 00 */ li r3, 0 /* 80350A14 0034C674 4E 80 00 20 */ blr lbl_80350A18: /* 80350A18 0034C678 2C 06 00 00 */ cmpwi r6, 0 /* 80350A1C 0034C67C 41 81 00 0C */ bgt lbl_80350A28 /* 80350A20 0034C680 38 60 00 00 */ li r3, 0 /* 80350A24 0034C684 4E 80 00 20 */ blr lbl_80350A28: /* 80350A28 0034C688 38 00 00 01 */ li r0, 1 /* 80350A2C 0034C68C 38 E0 00 00 */ li r7, 0 /* 80350A30 0034C690 90 64 00 00 */ stw r3, 0(r4) /* 80350A34 0034C694 38 60 00 01 */ li r3, 1 /* 80350A38 0034C698 90 A4 00 04 */ stw r5, 4(r4) /* 80350A3C 0034C69C 90 C4 00 08 */ stw r6, 8(r4) /* 80350A40 0034C6A0 90 E4 00 10 */ stw r7, 0x10(r4) /* 80350A44 0034C6A4 90 E4 00 14 */ stw r7, 0x14(r4) /* 80350A48 0034C6A8 90 04 00 18 */ stw r0, 0x18(r4) /* 80350A4C 0034C6AC 90 04 00 1C */ stw r0, 0x1c(r4) /* 80350A50 0034C6B0 90 04 00 20 */ stw r0, 0x20(r4) /* 80350A54 0034C6B4 90 C4 00 0C */ stw r6, 0xc(r4) /* 80350A58 0034C6B8 4E 80 00 20 */ blr .global ghiFreeBuffer ghiFreeBuffer: /* 80350A5C 0034C6BC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80350A60 0034C6C0 7C 08 02 A6 */ mflr r0 /* 80350A64 0034C6C4 2C 03 00 00 */ cmpwi r3, 0 /* 80350A68 0034C6C8 90 01 00 14 */ stw r0, 0x14(r1) /* 80350A6C 0034C6CC 93 E1 00 0C */ stw r31, 0xc(r1) /* 80350A70 0034C6D0 7C 7F 1B 78 */ mr r31, r3 /* 80350A74 0034C6D4 41 82 00 34 */ beq lbl_80350AA8 /* 80350A78 0034C6D8 80 83 00 04 */ lwz r4, 4(r3) /* 80350A7C 0034C6DC 2C 04 00 00 */ cmpwi r4, 0 /* 80350A80 0034C6E0 41 82 00 28 */ beq lbl_80350AA8 /* 80350A84 0034C6E4 80 03 00 1C */ lwz r0, 0x1c(r3) /* 80350A88 0034C6E8 2C 00 00 00 */ cmpwi r0, 0 /* 80350A8C 0034C6EC 40 82 00 0C */ bne lbl_80350A98 /* 80350A90 0034C6F0 7C 83 23 78 */ mr r3, r4 /* 80350A94 0034C6F4 4B FE 88 A5 */ bl gsifree lbl_80350A98: /* 80350A98 0034C6F8 7F E3 FB 78 */ mr r3, r31 /* 80350A9C 0034C6FC 38 80 00 00 */ li r4, 0 /* 80350AA0 0034C700 38 A0 00 24 */ li r5, 0x24 /* 80350AA4 0034C704 4B CB 36 61 */ bl memset lbl_80350AA8: /* 80350AA8 0034C708 80 01 00 14 */ lwz r0, 0x14(r1) /* 80350AAC 0034C70C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80350AB0 0034C710 7C 08 03 A6 */ mtlr r0 /* 80350AB4 0034C714 38 21 00 10 */ addi r1, r1, 0x10 /* 80350AB8 0034C718 4E 80 00 20 */ blr .global ghiAppendDataToBuffer ghiAppendDataToBuffer: /* 80350ABC 0034C71C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80350AC0 0034C720 7C 08 02 A6 */ mflr r0 /* 80350AC4 0034C724 90 01 00 24 */ stw r0, 0x24(r1) /* 80350AC8 0034C728 39 61 00 20 */ addi r11, r1, 0x20 /* 80350ACC 0034C72C 4B E7 66 5D */ bl _savegpr_27 /* 80350AD0 0034C730 2C 03 00 00 */ cmpwi r3, 0 /* 80350AD4 0034C734 7C 7F 1B 78 */ mr r31, r3 /* 80350AD8 0034C738 7C 9B 23 78 */ mr r27, r4 /* 80350ADC 0034C73C 7C BC 2B 78 */ mr r28, r5 /* 80350AE0 0034C740 40 82 00 0C */ bne lbl_80350AEC /* 80350AE4 0034C744 38 60 00 00 */ li r3, 0 /* 80350AE8 0034C748 48 00 01 2C */ b lbl_80350C14 lbl_80350AEC: /* 80350AEC 0034C74C 2C 04 00 00 */ cmpwi r4, 0 /* 80350AF0 0034C750 40 82 00 0C */ bne lbl_80350AFC /* 80350AF4 0034C754 38 60 00 00 */ li r3, 0 /* 80350AF8 0034C758 48 00 01 1C */ b lbl_80350C14 lbl_80350AFC: /* 80350AFC 0034C75C 2C 85 00 00 */ cmpwi cr1, r5, 0 /* 80350B00 0034C760 40 84 00 0C */ bge cr1, lbl_80350B0C /* 80350B04 0034C764 38 60 00 00 */ li r3, 0 /* 80350B08 0034C768 48 00 01 0C */ b lbl_80350C14 lbl_80350B0C: /* 80350B0C 0034C76C 80 03 00 20 */ lwz r0, 0x20(r3) /* 80350B10 0034C770 2C 00 00 00 */ cmpwi r0, 0 /* 80350B14 0034C774 41 82 00 0C */ beq lbl_80350B20 /* 80350B18 0034C778 38 60 00 00 */ li r3, 0 /* 80350B1C 0034C77C 48 00 00 F8 */ b lbl_80350C14 lbl_80350B20: /* 80350B20 0034C780 40 86 00 10 */ bne cr1, lbl_80350B30 /* 80350B24 0034C784 7F 63 DB 78 */ mr r3, r27 /* 80350B28 0034C788 4B E7 60 3D */ bl strlen /* 80350B2C 0034C78C 7C 7C 1B 78 */ mr r28, r3 lbl_80350B30: /* 80350B30 0034C790 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80350B34 0034C794 7F A0 E2 14 */ add r29, r0, r28 /* 80350B38 0034C798 48 00 00 A4 */ b lbl_80350BDC lbl_80350B3C: /* 80350B3C 0034C79C 80 1F 00 18 */ lwz r0, 0x18(r31) /* 80350B40 0034C7A0 2C 00 00 00 */ cmpwi r0, 0 /* 80350B44 0034C7A4 41 82 00 24 */ beq lbl_80350B68 /* 80350B48 0034C7A8 80 9F 00 00 */ lwz r4, 0(r31) /* 80350B4C 0034C7AC 38 A0 00 01 */ li r5, 1 /* 80350B50 0034C7B0 38 00 00 02 */ li r0, 2 /* 80350B54 0034C7B4 38 60 00 00 */ li r3, 0 /* 80350B58 0034C7B8 90 A4 01 20 */ stw r5, 0x120(r4) /* 80350B5C 0034C7BC 80 9F 00 00 */ lwz r4, 0(r31) /* 80350B60 0034C7C0 90 04 00 3C */ stw r0, 0x3c(r4) /* 80350B64 0034C7C4 48 00 00 B0 */ b lbl_80350C14 lbl_80350B68: /* 80350B68 0034C7C8 2C 1F 00 00 */ cmpwi r31, 0 /* 80350B6C 0034C7CC 80 1F 00 14 */ lwz r0, 0x14(r31) /* 80350B70 0034C7D0 40 82 00 0C */ bne lbl_80350B7C /* 80350B74 0034C7D4 38 00 00 00 */ li r0, 0 /* 80350B78 0034C7D8 48 00 00 40 */ b lbl_80350BB8 lbl_80350B7C: /* 80350B7C 0034C7DC 2C 00 00 00 */ cmpwi r0, 0 /* 80350B80 0034C7E0 41 81 00 0C */ bgt lbl_80350B8C /* 80350B84 0034C7E4 38 00 00 00 */ li r0, 0 /* 80350B88 0034C7E8 48 00 00 30 */ b lbl_80350BB8 lbl_80350B8C: /* 80350B8C 0034C7EC 7F C3 02 14 */ add r30, r3, r0 /* 80350B90 0034C7F0 80 7F 00 04 */ lwz r3, 4(r31) /* 80350B94 0034C7F4 7F C4 F3 78 */ mr r4, r30 /* 80350B98 0034C7F8 4B FE 87 8D */ bl gsirealloc /* 80350B9C 0034C7FC 2C 03 00 00 */ cmpwi r3, 0 /* 80350BA0 0034C800 40 82 00 0C */ bne lbl_80350BAC /* 80350BA4 0034C804 38 00 00 00 */ li r0, 0 /* 80350BA8 0034C808 48 00 00 10 */ b lbl_80350BB8 lbl_80350BAC: /* 80350BAC 0034C80C 90 7F 00 04 */ stw r3, 4(r31) /* 80350BB0 0034C810 38 00 00 01 */ li r0, 1 /* 80350BB4 0034C814 93 DF 00 08 */ stw r30, 8(r31) lbl_80350BB8: /* 80350BB8 0034C818 2C 00 00 00 */ cmpwi r0, 0 /* 80350BBC 0034C81C 40 82 00 20 */ bne lbl_80350BDC /* 80350BC0 0034C820 80 9F 00 00 */ lwz r4, 0(r31) /* 80350BC4 0034C824 38 00 00 01 */ li r0, 1 /* 80350BC8 0034C828 38 60 00 00 */ li r3, 0 /* 80350BCC 0034C82C 90 04 01 20 */ stw r0, 0x120(r4) /* 80350BD0 0034C830 80 9F 00 00 */ lwz r4, 0(r31) /* 80350BD4 0034C834 90 04 00 3C */ stw r0, 0x3c(r4) /* 80350BD8 0034C838 48 00 00 3C */ b lbl_80350C14 lbl_80350BDC: /* 80350BDC 0034C83C 80 7F 00 08 */ lwz r3, 8(r31) /* 80350BE0 0034C840 7C 1D 18 00 */ cmpw r29, r3 /* 80350BE4 0034C844 40 80 FF 58 */ bge lbl_80350B3C /* 80350BE8 0034C848 80 7F 00 04 */ lwz r3, 4(r31) /* 80350BEC 0034C84C 7F 64 DB 78 */ mr r4, r27 /* 80350BF0 0034C850 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80350BF4 0034C854 7F 85 E3 78 */ mr r5, r28 /* 80350BF8 0034C858 7C 63 02 14 */ add r3, r3, r0 /* 80350BFC 0034C85C 4B CB 34 05 */ bl memcpy /* 80350C00 0034C860 93 BF 00 0C */ stw r29, 0xc(r31) /* 80350C04 0034C864 38 00 00 00 */ li r0, 0 /* 80350C08 0034C868 80 9F 00 04 */ lwz r4, 4(r31) /* 80350C0C 0034C86C 38 60 00 01 */ li r3, 1 /* 80350C10 0034C870 7C 04 E9 AE */ stbx r0, r4, r29 lbl_80350C14: /* 80350C14 0034C874 39 61 00 20 */ addi r11, r1, 0x20 /* 80350C18 0034C878 4B E7 65 5D */ bl _restgpr_27 /* 80350C1C 0034C87C 80 01 00 24 */ lwz r0, 0x24(r1) /* 80350C20 0034C880 7C 08 03 A6 */ mtlr r0 /* 80350C24 0034C884 38 21 00 20 */ addi r1, r1, 0x20 /* 80350C28 0034C888 4E 80 00 20 */ blr .global ghiEncryptDataToBuffer ghiEncryptDataToBuffer: /* 80350C2C 0034C88C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80350C30 0034C890 7C 08 02 A6 */ mflr r0 /* 80350C34 0034C894 90 01 00 34 */ stw r0, 0x34(r1) /* 80350C38 0034C898 39 61 00 30 */ addi r11, r1, 0x30 /* 80350C3C 0034C89C 4B E7 64 ED */ bl _savegpr_27 /* 80350C40 0034C8A0 38 00 00 00 */ li r0, 0 /* 80350C44 0034C8A4 2C 03 00 00 */ cmpwi r3, 0 /* 80350C48 0034C8A8 90 01 00 08 */ stw r0, 8(r1) /* 80350C4C 0034C8AC 7C 7C 1B 78 */ mr r28, r3 /* 80350C50 0034C8B0 7C 9D 23 78 */ mr r29, r4 /* 80350C54 0034C8B4 7C BE 2B 78 */ mr r30, r5 /* 80350C58 0034C8B8 3B E0 00 00 */ li r31, 0 /* 80350C5C 0034C8BC 40 82 00 0C */ bne lbl_80350C68 /* 80350C60 0034C8C0 38 60 00 00 */ li r3, 0 /* 80350C64 0034C8C4 48 00 01 88 */ b lbl_80350DEC lbl_80350C68: /* 80350C68 0034C8C8 2C 04 00 00 */ cmpwi r4, 0 /* 80350C6C 0034C8CC 40 82 00 0C */ bne lbl_80350C78 /* 80350C70 0034C8D0 38 60 00 00 */ li r3, 0 /* 80350C74 0034C8D4 48 00 01 78 */ b lbl_80350DEC lbl_80350C78: /* 80350C78 0034C8D8 2C 85 00 00 */ cmpwi cr1, r5, 0 /* 80350C7C 0034C8DC 40 84 00 0C */ bge cr1, lbl_80350C88 /* 80350C80 0034C8E0 38 60 00 00 */ li r3, 0 /* 80350C84 0034C8E4 48 00 01 68 */ b lbl_80350DEC lbl_80350C88: /* 80350C88 0034C8E8 80 03 00 20 */ lwz r0, 0x20(r3) /* 80350C8C 0034C8EC 2C 00 00 00 */ cmpwi r0, 0 /* 80350C90 0034C8F0 41 82 00 0C */ beq lbl_80350C9C /* 80350C94 0034C8F4 38 60 00 00 */ li r3, 0 /* 80350C98 0034C8F8 48 00 01 54 */ b lbl_80350DEC lbl_80350C9C: /* 80350C9C 0034C8FC 80 63 00 00 */ lwz r3, 0(r3) /* 80350CA0 0034C900 80 03 01 94 */ lwz r0, 0x194(r3) /* 80350CA4 0034C904 2C 00 00 00 */ cmpwi r0, 0 /* 80350CA8 0034C908 41 82 00 10 */ beq lbl_80350CB8 /* 80350CAC 0034C90C 80 03 01 9C */ lwz r0, 0x19c(r3) /* 80350CB0 0034C910 2C 00 00 00 */ cmpwi r0, 0 /* 80350CB4 0034C914 40 82 00 18 */ bne lbl_80350CCC lbl_80350CB8: /* 80350CB8 0034C918 7F 83 E3 78 */ mr r3, r28 /* 80350CBC 0034C91C 7F A4 EB 78 */ mr r4, r29 /* 80350CC0 0034C920 7F C5 F3 78 */ mr r5, r30 /* 80350CC4 0034C924 4B FF FD F9 */ bl ghiAppendDataToBuffer /* 80350CC8 0034C928 48 00 01 24 */ b lbl_80350DEC lbl_80350CCC: /* 80350CCC 0034C92C 40 86 00 10 */ bne cr1, lbl_80350CDC /* 80350CD0 0034C930 7F A3 EB 78 */ mr r3, r29 /* 80350CD4 0034C934 4B E7 5E 91 */ bl strlen /* 80350CD8 0034C938 7C 7E 1B 78 */ mr r30, r3 lbl_80350CDC: /* 80350CDC 0034C93C 2C 1E 00 00 */ cmpwi r30, 0 /* 80350CE0 0034C940 40 82 00 0C */ bne lbl_80350CEC /* 80350CE4 0034C944 38 60 00 01 */ li r3, 1 /* 80350CE8 0034C948 48 00 01 04 */ b lbl_80350DEC lbl_80350CEC: /* 80350CEC 0034C94C 80 7C 00 0C */ lwz r3, 0xc(r28) /* 80350CF0 0034C950 80 1C 00 08 */ lwz r0, 8(r28) /* 80350CF4 0034C954 7C 03 00 50 */ subf r0, r3, r0 /* 80350CF8 0034C958 90 01 00 08 */ stw r0, 8(r1) lbl_80350CFC: /* 80350CFC 0034C95C 2C 1E 3F 01 */ cmpwi r30, 0x3f01 /* 80350D00 0034C960 3B 60 3F 01 */ li r27, 0x3f01 /* 80350D04 0034C964 40 80 00 08 */ bge lbl_80350D0C /* 80350D08 0034C968 7F DB F3 78 */ mr r27, r30 lbl_80350D0C: /* 80350D0C 0034C96C 80 7C 00 00 */ lwz r3, 0(r28) /* 80350D10 0034C970 7F C6 F3 78 */ mr r6, r30 /* 80350D14 0034C974 80 FC 00 04 */ lwz r7, 4(r28) /* 80350D18 0034C978 7C BD FA 14 */ add r5, r29, r31 /* 80350D1C 0034C97C 80 1C 00 0C */ lwz r0, 0xc(r28) /* 80350D20 0034C980 38 83 01 90 */ addi r4, r3, 0x190 /* 80350D24 0034C984 81 83 01 A8 */ lwz r12, 0x1a8(r3) /* 80350D28 0034C988 39 01 00 08 */ addi r8, r1, 8 /* 80350D2C 0034C98C 7C E7 02 14 */ add r7, r7, r0 /* 80350D30 0034C990 7D 89 03 A6 */ mtctr r12 /* 80350D34 0034C994 4E 80 04 21 */ bctrl /* 80350D38 0034C998 2C 03 00 02 */ cmpwi r3, 2 /* 80350D3C 0034C99C 40 82 00 7C */ bne lbl_80350DB8 /* 80350D40 0034C9A0 2C 1C 00 00 */ cmpwi r28, 0 /* 80350D44 0034C9A4 80 9C 00 14 */ lwz r4, 0x14(r28) /* 80350D48 0034C9A8 40 82 00 0C */ bne lbl_80350D54 /* 80350D4C 0034C9AC 38 00 00 00 */ li r0, 0 /* 80350D50 0034C9B0 48 00 00 44 */ b lbl_80350D94 lbl_80350D54: /* 80350D54 0034C9B4 2C 04 00 00 */ cmpwi r4, 0 /* 80350D58 0034C9B8 41 81 00 0C */ bgt lbl_80350D64 /* 80350D5C 0034C9BC 38 00 00 00 */ li r0, 0 /* 80350D60 0034C9C0 48 00 00 34 */ b lbl_80350D94 lbl_80350D64: /* 80350D64 0034C9C4 80 1C 00 08 */ lwz r0, 8(r28) /* 80350D68 0034C9C8 80 7C 00 04 */ lwz r3, 4(r28) /* 80350D6C 0034C9CC 7F 60 22 14 */ add r27, r0, r4 /* 80350D70 0034C9D0 7F 64 DB 78 */ mr r4, r27 /* 80350D74 0034C9D4 4B FE 85 B1 */ bl gsirealloc /* 80350D78 0034C9D8 2C 03 00 00 */ cmpwi r3, 0 /* 80350D7C 0034C9DC 40 82 00 0C */ bne lbl_80350D88 /* 80350D80 0034C9E0 38 00 00 00 */ li r0, 0 /* 80350D84 0034C9E4 48 00 00 10 */ b lbl_80350D94 lbl_80350D88: /* 80350D88 0034C9E8 90 7C 00 04 */ stw r3, 4(r28) /* 80350D8C 0034C9EC 38 00 00 01 */ li r0, 1 /* 80350D90 0034C9F0 93 7C 00 08 */ stw r27, 8(r28) lbl_80350D94: /* 80350D94 0034C9F4 2C 00 00 00 */ cmpwi r0, 0 /* 80350D98 0034C9F8 40 82 00 0C */ bne lbl_80350DA4 /* 80350D9C 0034C9FC 38 60 00 00 */ li r3, 0 /* 80350DA0 0034CA00 48 00 00 4C */ b lbl_80350DEC lbl_80350DA4: /* 80350DA4 0034CA04 80 7C 00 0C */ lwz r3, 0xc(r28) /* 80350DA8 0034CA08 80 1C 00 08 */ lwz r0, 8(r28) /* 80350DAC 0034CA0C 7C 03 00 50 */ subf r0, r3, r0 /* 80350DB0 0034CA10 90 01 00 08 */ stw r0, 8(r1) /* 80350DB4 0034CA14 48 00 00 2C */ b lbl_80350DE0 lbl_80350DB8: /* 80350DB8 0034CA18 2C 03 00 01 */ cmpwi r3, 1 /* 80350DBC 0034CA1C 40 82 00 1C */ bne lbl_80350DD8 /* 80350DC0 0034CA20 80 61 00 08 */ lwz r3, 8(r1) /* 80350DC4 0034CA24 7F FF DA 14 */ add r31, r31, r27 /* 80350DC8 0034CA28 80 1C 00 08 */ lwz r0, 8(r28) /* 80350DCC 0034CA2C 7C 03 00 50 */ subf r0, r3, r0 /* 80350DD0 0034CA30 90 1C 00 0C */ stw r0, 0xc(r28) /* 80350DD4 0034CA34 48 00 00 0C */ b lbl_80350DE0 lbl_80350DD8: /* 80350DD8 0034CA38 38 60 00 00 */ li r3, 0 /* 80350DDC 0034CA3C 48 00 00 10 */ b lbl_80350DEC lbl_80350DE0: /* 80350DE0 0034CA40 7C 1F F0 00 */ cmpw r31, r30 /* 80350DE4 0034CA44 41 80 FF 18 */ blt lbl_80350CFC /* 80350DE8 0034CA48 38 60 00 01 */ li r3, 1 lbl_80350DEC: /* 80350DEC 0034CA4C 39 61 00 30 */ addi r11, r1, 0x30 /* 80350DF0 0034CA50 4B E7 63 85 */ bl _restgpr_27 /* 80350DF4 0034CA54 80 01 00 34 */ lwz r0, 0x34(r1) /* 80350DF8 0034CA58 7C 08 03 A6 */ mtlr r0 /* 80350DFC 0034CA5C 38 21 00 30 */ addi r1, r1, 0x30 /* 80350E00 0034CA60 4E 80 00 20 */ blr .global ghiAppendHeaderToBuffer ghiAppendHeaderToBuffer: /* 80350E04 0034CA64 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80350E08 0034CA68 7C 08 02 A6 */ mflr r0 /* 80350E0C 0034CA6C 90 01 00 14 */ stw r0, 0x14(r1) /* 80350E10 0034CA70 93 E1 00 0C */ stw r31, 0xc(r1) /* 80350E14 0034CA74 7C BF 2B 78 */ mr r31, r5 /* 80350E18 0034CA78 38 A0 00 00 */ li r5, 0 /* 80350E1C 0034CA7C 93 C1 00 08 */ stw r30, 8(r1) /* 80350E20 0034CA80 7C 7E 1B 78 */ mr r30, r3 /* 80350E24 0034CA84 4B FF FC 99 */ bl ghiAppendDataToBuffer /* 80350E28 0034CA88 2C 03 00 00 */ cmpwi r3, 0 /* 80350E2C 0034CA8C 40 82 00 0C */ bne lbl_80350E38 /* 80350E30 0034CA90 38 60 00 00 */ li r3, 0 /* 80350E34 0034CA94 48 00 00 60 */ b lbl_80350E94 lbl_80350E38: /* 80350E38 0034CA98 7F C3 F3 78 */ mr r3, r30 /* 80350E3C 0034CA9C 38 8D 93 80 */ addi r4, r13, lbl_8063E640-_SDA_BASE_ /* 80350E40 0034CAA0 38 A0 00 02 */ li r5, 2 /* 80350E44 0034CAA4 4B FF FC 79 */ bl ghiAppendDataToBuffer /* 80350E48 0034CAA8 2C 03 00 00 */ cmpwi r3, 0 /* 80350E4C 0034CAAC 40 82 00 0C */ bne lbl_80350E58 /* 80350E50 0034CAB0 38 60 00 00 */ li r3, 0 /* 80350E54 0034CAB4 48 00 00 40 */ b lbl_80350E94 lbl_80350E58: /* 80350E58 0034CAB8 7F C3 F3 78 */ mr r3, r30 /* 80350E5C 0034CABC 7F E4 FB 78 */ mr r4, r31 /* 80350E60 0034CAC0 38 A0 00 00 */ li r5, 0 /* 80350E64 0034CAC4 4B FF FC 59 */ bl ghiAppendDataToBuffer /* 80350E68 0034CAC8 2C 03 00 00 */ cmpwi r3, 0 /* 80350E6C 0034CACC 40 82 00 0C */ bne lbl_80350E78 /* 80350E70 0034CAD0 38 60 00 00 */ li r3, 0 /* 80350E74 0034CAD4 48 00 00 20 */ b lbl_80350E94 lbl_80350E78: /* 80350E78 0034CAD8 7F C3 F3 78 */ mr r3, r30 /* 80350E7C 0034CADC 38 8D 93 84 */ addi r4, r13, lbl_8063E644-_SDA_BASE_ /* 80350E80 0034CAE0 38 A0 00 02 */ li r5, 2 /* 80350E84 0034CAE4 4B FF FC 39 */ bl ghiAppendDataToBuffer /* 80350E88 0034CAE8 7C 03 00 D0 */ neg r0, r3 /* 80350E8C 0034CAEC 7C 00 1B 78 */ or r0, r0, r3 /* 80350E90 0034CAF0 54 03 0F FE */ srwi r3, r0, 0x1f lbl_80350E94: /* 80350E94 0034CAF4 80 01 00 14 */ lwz r0, 0x14(r1) /* 80350E98 0034CAF8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80350E9C 0034CAFC 83 C1 00 08 */ lwz r30, 8(r1) /* 80350EA0 0034CB00 7C 08 03 A6 */ mtlr r0 /* 80350EA4 0034CB04 38 21 00 10 */ addi r1, r1, 0x10 /* 80350EA8 0034CB08 4E 80 00 20 */ blr .global ghiAppendCharToBuffer ghiAppendCharToBuffer: /* 80350EAC 0034CB0C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80350EB0 0034CB10 7C 08 02 A6 */ mflr r0 /* 80350EB4 0034CB14 2C 83 00 00 */ cmpwi cr1, r3, 0 /* 80350EB8 0034CB18 90 01 00 24 */ stw r0, 0x24(r1) /* 80350EBC 0034CB1C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80350EC0 0034CB20 7C 7F 1B 78 */ mr r31, r3 /* 80350EC4 0034CB24 93 C1 00 18 */ stw r30, 0x18(r1) /* 80350EC8 0034CB28 93 A1 00 14 */ stw r29, 0x14(r1) /* 80350ECC 0034CB2C 7C 9D 23 78 */ mr r29, r4 /* 80350ED0 0034CB30 40 86 00 0C */ bne cr1, lbl_80350EDC /* 80350ED4 0034CB34 38 60 00 00 */ li r3, 0 /* 80350ED8 0034CB38 48 00 00 F0 */ b lbl_80350FC8 lbl_80350EDC: /* 80350EDC 0034CB3C 80 03 00 20 */ lwz r0, 0x20(r3) /* 80350EE0 0034CB40 2C 00 00 00 */ cmpwi r0, 0 /* 80350EE4 0034CB44 41 82 00 0C */ beq lbl_80350EF0 /* 80350EE8 0034CB48 38 60 00 00 */ li r3, 0 /* 80350EEC 0034CB4C 48 00 00 DC */ b lbl_80350FC8 lbl_80350EF0: /* 80350EF0 0034CB50 80 83 00 0C */ lwz r4, 0xc(r3) /* 80350EF4 0034CB54 80 A3 00 08 */ lwz r5, 8(r3) /* 80350EF8 0034CB58 38 04 00 01 */ addi r0, r4, 1 /* 80350EFC 0034CB5C 7C 00 28 00 */ cmpw r0, r5 /* 80350F00 0034CB60 41 80 00 A0 */ blt lbl_80350FA0 /* 80350F04 0034CB64 80 03 00 18 */ lwz r0, 0x18(r3) /* 80350F08 0034CB68 2C 00 00 00 */ cmpwi r0, 0 /* 80350F0C 0034CB6C 41 82 00 24 */ beq lbl_80350F30 /* 80350F10 0034CB70 80 83 00 00 */ lwz r4, 0(r3) /* 80350F14 0034CB74 38 A0 00 01 */ li r5, 1 /* 80350F18 0034CB78 38 00 00 02 */ li r0, 2 /* 80350F1C 0034CB7C 90 A4 01 20 */ stw r5, 0x120(r4) /* 80350F20 0034CB80 80 83 00 00 */ lwz r4, 0(r3) /* 80350F24 0034CB84 38 60 00 00 */ li r3, 0 /* 80350F28 0034CB88 90 04 00 3C */ stw r0, 0x3c(r4) /* 80350F2C 0034CB8C 48 00 00 9C */ b lbl_80350FC8 lbl_80350F30: /* 80350F30 0034CB90 80 03 00 14 */ lwz r0, 0x14(r3) /* 80350F34 0034CB94 40 86 00 0C */ bne cr1, lbl_80350F40 /* 80350F38 0034CB98 38 00 00 00 */ li r0, 0 /* 80350F3C 0034CB9C 48 00 00 40 */ b lbl_80350F7C lbl_80350F40: /* 80350F40 0034CBA0 2C 00 00 00 */ cmpwi r0, 0 /* 80350F44 0034CBA4 41 81 00 0C */ bgt lbl_80350F50 /* 80350F48 0034CBA8 38 00 00 00 */ li r0, 0 /* 80350F4C 0034CBAC 48 00 00 30 */ b lbl_80350F7C lbl_80350F50: /* 80350F50 0034CBB0 7F C5 02 14 */ add r30, r5, r0 /* 80350F54 0034CBB4 80 63 00 04 */ lwz r3, 4(r3) /* 80350F58 0034CBB8 7F C4 F3 78 */ mr r4, r30 /* 80350F5C 0034CBBC 4B FE 83 C9 */ bl gsirealloc /* 80350F60 0034CBC0 2C 03 00 00 */ cmpwi r3, 0 /* 80350F64 0034CBC4 40 82 00 0C */ bne lbl_80350F70 /* 80350F68 0034CBC8 38 00 00 00 */ li r0, 0 /* 80350F6C 0034CBCC 48 00 00 10 */ b lbl_80350F7C lbl_80350F70: /* 80350F70 0034CBD0 90 7F 00 04 */ stw r3, 4(r31) /* 80350F74 0034CBD4 38 00 00 01 */ li r0, 1 /* 80350F78 0034CBD8 93 DF 00 08 */ stw r30, 8(r31) lbl_80350F7C: /* 80350F7C 0034CBDC 2C 00 00 00 */ cmpwi r0, 0 /* 80350F80 0034CBE0 40 82 00 20 */ bne lbl_80350FA0 /* 80350F84 0034CBE4 80 9F 00 00 */ lwz r4, 0(r31) /* 80350F88 0034CBE8 38 00 00 01 */ li r0, 1 /* 80350F8C 0034CBEC 38 60 00 00 */ li r3, 0 /* 80350F90 0034CBF0 90 04 01 20 */ stw r0, 0x120(r4) /* 80350F94 0034CBF4 80 9F 00 00 */ lwz r4, 0(r31) /* 80350F98 0034CBF8 90 04 00 3C */ stw r0, 0x3c(r4) /* 80350F9C 0034CBFC 48 00 00 2C */ b lbl_80350FC8 lbl_80350FA0: /* 80350FA0 0034CC00 80 BF 00 04 */ lwz r5, 4(r31) /* 80350FA4 0034CC04 38 00 00 00 */ li r0, 0 /* 80350FA8 0034CC08 80 9F 00 0C */ lwz r4, 0xc(r31) /* 80350FAC 0034CC0C 38 60 00 01 */ li r3, 1 /* 80350FB0 0034CC10 7F A5 21 AE */ stbx r29, r5, r4 /* 80350FB4 0034CC14 80 BF 00 0C */ lwz r5, 0xc(r31) /* 80350FB8 0034CC18 80 9F 00 04 */ lwz r4, 4(r31) /* 80350FBC 0034CC1C 38 A5 00 01 */ addi r5, r5, 1 /* 80350FC0 0034CC20 90 BF 00 0C */ stw r5, 0xc(r31) /* 80350FC4 0034CC24 7C 04 29 AE */ stbx r0, r4, r5 lbl_80350FC8: /* 80350FC8 0034CC28 80 01 00 24 */ lwz r0, 0x24(r1) /* 80350FCC 0034CC2C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80350FD0 0034CC30 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80350FD4 0034CC34 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80350FD8 0034CC38 7C 08 03 A6 */ mtlr r0 /* 80350FDC 0034CC3C 38 21 00 20 */ addi r1, r1, 0x20 /* 80350FE0 0034CC40 4E 80 00 20 */ blr .global ghiAppendIntToBuffer ghiAppendIntToBuffer: /* 80350FE4 0034CC44 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80350FE8 0034CC48 7C 08 02 A6 */ mflr r0 /* 80350FEC 0034CC4C 7C 85 23 78 */ mr r5, r4 /* 80350FF0 0034CC50 38 8D 93 88 */ addi r4, r13, lbl_8063E648-_SDA_BASE_ /* 80350FF4 0034CC54 90 01 00 24 */ stw r0, 0x24(r1) /* 80350FF8 0034CC58 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80350FFC 0034CC5C 7C 7F 1B 78 */ mr r31, r3 /* 80351000 0034CC60 38 61 00 08 */ addi r3, r1, 8 /* 80351004 0034CC64 4C C6 31 82 */ crclr 6 /* 80351008 0034CC68 4B E7 BA F5 */ bl sprintf /* 8035100C 0034CC6C 7F E3 FB 78 */ mr r3, r31 /* 80351010 0034CC70 38 81 00 08 */ addi r4, r1, 8 /* 80351014 0034CC74 38 A0 00 00 */ li r5, 0 /* 80351018 0034CC78 4B FF FA A5 */ bl ghiAppendDataToBuffer /* 8035101C 0034CC7C 80 01 00 24 */ lwz r0, 0x24(r1) /* 80351020 0034CC80 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80351024 0034CC84 7C 08 03 A6 */ mtlr r0 /* 80351028 0034CC88 38 21 00 20 */ addi r1, r1, 0x20 /* 8035102C 0034CC8C 4E 80 00 20 */ blr .global ghiResetBuffer ghiResetBuffer: /* 80351030 0034CC90 80 03 00 20 */ lwz r0, 0x20(r3) /* 80351034 0034CC94 38 80 00 00 */ li r4, 0 /* 80351038 0034CC98 90 83 00 0C */ stw r4, 0xc(r3) /* 8035103C 0034CC9C 2C 00 00 00 */ cmpwi r0, 0 /* 80351040 0034CCA0 90 83 00 10 */ stw r4, 0x10(r3) /* 80351044 0034CCA4 4C 82 00 20 */ bnelr /* 80351048 0034CCA8 80 63 00 04 */ lwz r3, 4(r3) /* 8035104C 0034CCAC 98 83 00 00 */ stb r4, 0(r3) /* 80351050 0034CCB0 4E 80 00 20 */ blr .global ghiSendBufferedData ghiSendBufferedData: /* 80351054 0034CCB4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80351058 0034CCB8 7C 08 02 A6 */ mflr r0 /* 8035105C 0034CCBC 90 01 00 24 */ stw r0, 0x24(r1) /* 80351060 0034CCC0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80351064 0034CCC4 7C 7F 1B 78 */ mr r31, r3 lbl_80351068: /* 80351068 0034CCC8 80 7F 00 4C */ lwz r3, 0x4c(r31) /* 8035106C 0034CCCC 38 A1 00 0C */ addi r5, r1, 0xc /* 80351070 0034CCD0 38 C1 00 08 */ addi r6, r1, 8 /* 80351074 0034CCD4 38 80 00 00 */ li r4, 0 /* 80351078 0034CCD8 4B FE 6F 39 */ bl GSISocketSelect /* 8035107C 0034CCDC 2C 03 FF FF */ cmpwi r3, -1 /* 80351080 0034CCE0 41 82 00 18 */ beq lbl_80351098 /* 80351084 0034CCE4 2C 03 00 01 */ cmpwi r3, 1 /* 80351088 0034CCE8 40 82 00 48 */ bne lbl_803510D0 /* 8035108C 0034CCEC 80 01 00 08 */ lwz r0, 8(r1) /* 80351090 0034CCF0 2C 00 00 00 */ cmpwi r0, 0 /* 80351094 0034CCF4 41 82 00 3C */ beq lbl_803510D0 lbl_80351098: /* 80351098 0034CCF8 38 80 00 01 */ li r4, 1 /* 8035109C 0034CCFC 38 00 00 05 */ li r0, 5 /* 803510A0 0034CD00 2C 03 FF FF */ cmpwi r3, -1 /* 803510A4 0034CD04 90 9F 01 20 */ stw r4, 0x120(r31) /* 803510A8 0034CD08 90 1F 00 3C */ stw r0, 0x3c(r31) /* 803510AC 0034CD0C 40 82 00 14 */ bne lbl_803510C0 /* 803510B0 0034CD10 80 7F 00 4C */ lwz r3, 0x4c(r31) /* 803510B4 0034CD14 4B FE 6E F5 */ bl GOAGetLastError /* 803510B8 0034CD18 90 7F 00 50 */ stw r3, 0x50(r31) /* 803510BC 0034CD1C 48 00 00 0C */ b lbl_803510C8 lbl_803510C0: /* 803510C0 0034CD20 38 00 00 00 */ li r0, 0 /* 803510C4 0034CD24 90 1F 00 50 */ stw r0, 0x50(r31) lbl_803510C8: /* 803510C8 0034CD28 38 60 00 00 */ li r3, 0 /* 803510CC 0034CD2C 48 00 00 68 */ b lbl_80351134 lbl_803510D0: /* 803510D0 0034CD30 2C 03 00 01 */ cmpwi r3, 1 /* 803510D4 0034CD34 41 80 00 10 */ blt lbl_803510E4 /* 803510D8 0034CD38 80 01 00 0C */ lwz r0, 0xc(r1) /* 803510DC 0034CD3C 2C 00 00 00 */ cmpwi r0, 0 /* 803510E0 0034CD40 40 82 00 0C */ bne lbl_803510EC lbl_803510E4: /* 803510E4 0034CD44 38 60 00 01 */ li r3, 1 /* 803510E8 0034CD48 48 00 00 4C */ b lbl_80351134 lbl_803510EC: /* 803510EC 0034CD4C 80 BF 00 64 */ lwz r5, 0x64(r31) /* 803510F0 0034CD50 7F E3 FB 78 */ mr r3, r31 /* 803510F4 0034CD54 80 9F 00 58 */ lwz r4, 0x58(r31) /* 803510F8 0034CD58 80 1F 00 60 */ lwz r0, 0x60(r31) /* 803510FC 0034CD5C 7C 84 2A 14 */ add r4, r4, r5 /* 80351100 0034CD60 7C A5 00 50 */ subf r5, r5, r0 /* 80351104 0034CD64 48 00 04 79 */ bl ghiDoSend /* 80351108 0034CD68 2C 03 FF FF */ cmpwi r3, -1 /* 8035110C 0034CD6C 40 82 00 0C */ bne lbl_80351118 /* 80351110 0034CD70 38 60 00 00 */ li r3, 0 /* 80351114 0034CD74 48 00 00 20 */ b lbl_80351134 lbl_80351118: /* 80351118 0034CD78 80 9F 00 64 */ lwz r4, 0x64(r31) /* 8035111C 0034CD7C 80 1F 00 60 */ lwz r0, 0x60(r31) /* 80351120 0034CD80 7C 64 1A 14 */ add r3, r4, r3 /* 80351124 0034CD84 7C 03 00 00 */ cmpw r3, r0 /* 80351128 0034CD88 90 7F 00 64 */ stw r3, 0x64(r31) /* 8035112C 0034CD8C 41 80 FF 3C */ blt lbl_80351068 /* 80351130 0034CD90 38 60 00 01 */ li r3, 1 lbl_80351134: /* 80351134 0034CD94 80 01 00 24 */ lwz r0, 0x24(r1) /* 80351138 0034CD98 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8035113C 0034CD9C 7C 08 03 A6 */ mtlr r0 /* 80351140 0034CDA0 38 21 00 20 */ addi r1, r1, 0x20 /* 80351144 0034CDA4 4E 80 00 20 */ blr .global ghiReadDataFromBufferFixed ghiReadDataFromBufferFixed: /* 80351148 0034CDA8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8035114C 0034CDAC 7C 08 02 A6 */ mflr r0 /* 80351150 0034CDB0 2C 05 00 00 */ cmpwi r5, 0 /* 80351154 0034CDB4 90 01 00 14 */ stw r0, 0x14(r1) /* 80351158 0034CDB8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8035115C 0034CDBC 7C BF 2B 78 */ mr r31, r5 /* 80351160 0034CDC0 93 C1 00 08 */ stw r30, 8(r1) /* 80351164 0034CDC4 7C 7E 1B 78 */ mr r30, r3 /* 80351168 0034CDC8 40 82 00 0C */ bne lbl_80351174 /* 8035116C 0034CDCC 38 60 00 01 */ li r3, 1 /* 80351170 0034CDD0 48 00 00 3C */ b lbl_803511AC lbl_80351174: /* 80351174 0034CDD4 80 03 00 0C */ lwz r0, 0xc(r3) /* 80351178 0034CDD8 7C 00 28 00 */ cmpw r0, r5 /* 8035117C 0034CDDC 40 80 00 0C */ bge lbl_80351188 /* 80351180 0034CDE0 38 60 00 00 */ li r3, 0 /* 80351184 0034CDE4 48 00 00 28 */ b lbl_803511AC lbl_80351188: /* 80351188 0034CDE8 80 DE 00 04 */ lwz r6, 4(r30) /* 8035118C 0034CDEC 7C 83 23 78 */ mr r3, r4 /* 80351190 0034CDF0 80 1E 00 10 */ lwz r0, 0x10(r30) /* 80351194 0034CDF4 7C 86 02 14 */ add r4, r6, r0 /* 80351198 0034CDF8 4B CB 2E 69 */ bl memcpy /* 8035119C 0034CDFC 80 1E 00 10 */ lwz r0, 0x10(r30) /* 803511A0 0034CE00 38 60 00 01 */ li r3, 1 /* 803511A4 0034CE04 7C 00 FA 14 */ add r0, r0, r31 /* 803511A8 0034CE08 90 1E 00 10 */ stw r0, 0x10(r30) lbl_803511AC: /* 803511AC 0034CE0C 80 01 00 14 */ lwz r0, 0x14(r1) /* 803511B0 0034CE10 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803511B4 0034CE14 83 C1 00 08 */ lwz r30, 8(r1) /* 803511B8 0034CE18 7C 08 03 A6 */ mtlr r0 /* 803511BC 0034CE1C 38 21 00 10 */ addi r1, r1, 0x10 /* 803511C0 0034CE20 4E 80 00 20 */ blr