.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global gti2AllocateBuffer gti2AllocateBuffer: /* 803488F8 00344558 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803488FC 0034455C 7C 08 02 A6 */ mflr r0 /* 80348900 00344560 90 01 00 14 */ stw r0, 0x14(r1) /* 80348904 00344564 93 E1 00 0C */ stw r31, 0xc(r1) /* 80348908 00344568 7C 9F 23 78 */ mr r31, r4 /* 8034890C 0034456C 93 C1 00 08 */ stw r30, 8(r1) /* 80348910 00344570 7C 7E 1B 78 */ mr r30, r3 /* 80348914 00344574 7F E3 FB 78 */ mr r3, r31 /* 80348918 00344578 4B FF 09 FD */ bl gsimalloc /* 8034891C 0034457C 2C 03 00 00 */ cmpwi r3, 0 /* 80348920 00344580 90 7E 00 00 */ stw r3, 0(r30) /* 80348924 00344584 40 82 00 0C */ bne lbl_80348930 /* 80348928 00344588 38 60 00 00 */ li r3, 0 /* 8034892C 0034458C 48 00 00 0C */ b lbl_80348938 lbl_80348930: /* 80348930 00344590 93 FE 00 04 */ stw r31, 4(r30) /* 80348934 00344594 38 60 00 01 */ li r3, 1 lbl_80348938: /* 80348938 00344598 80 01 00 14 */ lwz r0, 0x14(r1) /* 8034893C 0034459C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80348940 003445A0 83 C1 00 08 */ lwz r30, 8(r1) /* 80348944 003445A4 7C 08 03 A6 */ mtlr r0 /* 80348948 003445A8 38 21 00 10 */ addi r1, r1, 0x10 /* 8034894C 003445AC 4E 80 00 20 */ blr .global gti2GetBufferFreeSpace gti2GetBufferFreeSpace: /* 80348950 003445B0 80 83 00 08 */ lwz r4, 8(r3) /* 80348954 003445B4 80 03 00 04 */ lwz r0, 4(r3) /* 80348958 003445B8 7C 64 00 50 */ subf r3, r4, r0 /* 8034895C 003445BC 4E 80 00 20 */ blr .global gti2BufferWriteByte gti2BufferWriteByte: /* 80348960 003445C0 80 A3 00 08 */ lwz r5, 8(r3) /* 80348964 003445C4 80 C3 00 00 */ lwz r6, 0(r3) /* 80348968 003445C8 38 05 00 01 */ addi r0, r5, 1 /* 8034896C 003445CC 7C 86 29 AE */ stbx r4, r6, r5 /* 80348970 003445D0 90 03 00 08 */ stw r0, 8(r3) /* 80348974 003445D4 4E 80 00 20 */ blr .global gti2BufferWriteUShort gti2BufferWriteUShort: /* 80348978 003445D8 80 A3 00 08 */ lwz r5, 8(r3) /* 8034897C 003445DC 54 80 C6 3E */ rlwinm r0, r4, 0x18, 0x18, 0x1f /* 80348980 003445E0 80 E3 00 00 */ lwz r7, 0(r3) /* 80348984 003445E4 38 C5 00 01 */ addi r6, r5, 1 /* 80348988 003445E8 7C 07 29 AE */ stbx r0, r7, r5 /* 8034898C 003445EC 38 06 00 01 */ addi r0, r6, 1 /* 80348990 003445F0 90 C3 00 08 */ stw r6, 8(r3) /* 80348994 003445F4 80 A3 00 00 */ lwz r5, 0(r3) /* 80348998 003445F8 7C 85 31 AE */ stbx r4, r5, r6 /* 8034899C 003445FC 90 03 00 08 */ stw r0, 8(r3) /* 803489A0 00344600 4E 80 00 20 */ blr .global gti2BufferWriteData gti2BufferWriteData: /* 803489A4 00344604 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803489A8 00344608 7C 08 02 A6 */ mflr r0 /* 803489AC 0034460C 2C 04 00 00 */ cmpwi r4, 0 /* 803489B0 00344610 90 01 00 24 */ stw r0, 0x24(r1) /* 803489B4 00344614 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803489B8 00344618 7C BF 2B 78 */ mr r31, r5 /* 803489BC 0034461C 93 C1 00 18 */ stw r30, 0x18(r1) /* 803489C0 00344620 7C 9E 23 78 */ mr r30, r4 /* 803489C4 00344624 93 A1 00 14 */ stw r29, 0x14(r1) /* 803489C8 00344628 7C 7D 1B 78 */ mr r29, r3 /* 803489CC 0034462C 41 82 00 48 */ beq lbl_80348A14 /* 803489D0 00344630 2C 05 00 00 */ cmpwi r5, 0 /* 803489D4 00344634 40 82 00 08 */ bne lbl_803489DC /* 803489D8 00344638 48 00 00 3C */ b lbl_80348A14 lbl_803489DC: /* 803489DC 0034463C 2C 05 FF FF */ cmpwi r5, -1 /* 803489E0 00344640 40 82 00 10 */ bne lbl_803489F0 /* 803489E4 00344644 7F C3 F3 78 */ mr r3, r30 /* 803489E8 00344648 4B E7 E1 7D */ bl strlen /* 803489EC 0034464C 7C 7F 1B 78 */ mr r31, r3 lbl_803489F0: /* 803489F0 00344650 80 7D 00 00 */ lwz r3, 0(r29) /* 803489F4 00344654 7F C4 F3 78 */ mr r4, r30 /* 803489F8 00344658 80 1D 00 08 */ lwz r0, 8(r29) /* 803489FC 0034465C 7F E5 FB 78 */ mr r5, r31 /* 80348A00 00344660 7C 63 02 14 */ add r3, r3, r0 /* 80348A04 00344664 4B CB B5 FD */ bl memcpy /* 80348A08 00344668 80 1D 00 08 */ lwz r0, 8(r29) /* 80348A0C 0034466C 7C 00 FA 14 */ add r0, r0, r31 /* 80348A10 00344670 90 1D 00 08 */ stw r0, 8(r29) lbl_80348A14: /* 80348A14 00344674 80 01 00 24 */ lwz r0, 0x24(r1) /* 80348A18 00344678 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80348A1C 0034467C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80348A20 00344680 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80348A24 00344684 7C 08 03 A6 */ mtlr r0 /* 80348A28 00344688 38 21 00 20 */ addi r1, r1, 0x20 /* 80348A2C 0034468C 4E 80 00 20 */ blr .global gti2BufferShorten gti2BufferShorten: /* 80348A30 00344690 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80348A34 00344694 7C 08 02 A6 */ mflr r0 /* 80348A38 00344698 2C 04 FF FF */ cmpwi r4, -1 /* 80348A3C 0034469C 90 01 00 14 */ stw r0, 0x14(r1) /* 80348A40 003446A0 93 E1 00 0C */ stw r31, 0xc(r1) /* 80348A44 003446A4 7C BF 2B 78 */ mr r31, r5 /* 80348A48 003446A8 93 C1 00 08 */ stw r30, 8(r1) /* 80348A4C 003446AC 7C 7E 1B 78 */ mr r30, r3 /* 80348A50 003446B0 40 82 00 0C */ bne lbl_80348A5C /* 80348A54 003446B4 80 03 00 08 */ lwz r0, 8(r3) /* 80348A58 003446B8 7C 85 00 50 */ subf r4, r5, r0 lbl_80348A5C: /* 80348A5C 003446BC 80 63 00 00 */ lwz r3, 0(r3) /* 80348A60 003446C0 80 1E 00 08 */ lwz r0, 8(r30) /* 80348A64 003446C4 7C 63 22 14 */ add r3, r3, r4 /* 80348A68 003446C8 7C 04 00 50 */ subf r0, r4, r0 /* 80348A6C 003446CC 7C 83 2A 14 */ add r4, r3, r5 /* 80348A70 003446D0 7C A5 00 50 */ subf r5, r5, r0 /* 80348A74 003446D4 4B E8 18 01 */ bl memmove /* 80348A78 003446D8 80 1E 00 08 */ lwz r0, 8(r30) /* 80348A7C 003446DC 7C 1F 00 50 */ subf r0, r31, r0 /* 80348A80 003446E0 90 1E 00 08 */ stw r0, 8(r30) /* 80348A84 003446E4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80348A88 003446E8 83 C1 00 08 */ lwz r30, 8(r1) /* 80348A8C 003446EC 80 01 00 14 */ lwz r0, 0x14(r1) /* 80348A90 003446F0 7C 08 03 A6 */ mtlr r0 /* 80348A94 003446F4 38 21 00 10 */ addi r1, r1, 0x10 /* 80348A98 003446F8 4E 80 00 20 */ blr