diff options
Diffstat (limited to 'asm/gt2Connection.s')
-rw-r--r-- | asm/gt2Connection.s | 517 |
1 files changed, 517 insertions, 0 deletions
diff --git a/asm/gt2Connection.s b/asm/gt2Connection.s new file mode 100644 index 0000000..c1f7e8b --- /dev/null +++ b/asm/gt2Connection.s @@ -0,0 +1,517 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global gti2NewOutgoingConnection
+gti2NewOutgoingConnection:
+/* 8034931C 00344F7C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80349320 00344F80 7C 08 02 A6 */ mflr r0
+/* 80349324 00344F84 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80349328 00344F88 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8034932C 00344F8C 7C 9F 23 78 */ mr r31, r4
+/* 80349330 00344F90 48 00 3F D9 */ bl func_8034D308
+/* 80349334 00344F94 2C 03 00 00 */ cmpwi r3, 0
+/* 80349338 00344F98 41 82 00 08 */ beq lbl_80349340
+/* 8034933C 00344F9C 48 00 00 20 */ b lbl_8034935C
+lbl_80349340:
+/* 80349340 00344FA0 80 9F 00 00 */ lwz r4, 0(r31)
+/* 80349344 00344FA4 38 A0 00 00 */ li r5, 0
+/* 80349348 00344FA8 38 00 00 01 */ li r0, 1
+/* 8034934C 00344FAC 38 60 00 00 */ li r3, 0
+/* 80349350 00344FB0 90 A4 00 0C */ stw r5, 0xc(r4)
+/* 80349354 00344FB4 80 9F 00 00 */ lwz r4, 0(r31)
+/* 80349358 00344FB8 90 04 00 10 */ stw r0, 0x10(r4)
+lbl_8034935C:
+/* 8034935C 00344FBC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80349360 00344FC0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80349364 00344FC4 7C 08 03 A6 */ mtlr r0
+/* 80349368 00344FC8 38 21 00 10 */ addi r1, r1, 0x10
+/* 8034936C 00344FCC 4E 80 00 20 */ blr
+
+.global gti2NewIncomingConnection
+gti2NewIncomingConnection:
+/* 80349370 00344FD0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80349374 00344FD4 7C 08 02 A6 */ mflr r0
+/* 80349378 00344FD8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8034937C 00344FDC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80349380 00344FE0 7C 9F 23 78 */ mr r31, r4
+/* 80349384 00344FE4 48 00 3F 85 */ bl func_8034D308
+/* 80349388 00344FE8 2C 03 00 00 */ cmpwi r3, 0
+/* 8034938C 00344FEC 41 82 00 08 */ beq lbl_80349394
+/* 80349390 00344FF0 48 00 00 20 */ b lbl_803493B0
+lbl_80349394:
+/* 80349394 00344FF4 80 9F 00 00 */ lwz r4, 0(r31)
+/* 80349398 00344FF8 38 A0 00 02 */ li r5, 2
+/* 8034939C 00344FFC 38 00 00 00 */ li r0, 0
+/* 803493A0 00345000 38 60 00 00 */ li r3, 0
+/* 803493A4 00345004 90 A4 00 0C */ stw r5, 0xc(r4)
+/* 803493A8 00345008 80 9F 00 00 */ lwz r4, 0(r31)
+/* 803493AC 0034500C 90 04 00 10 */ stw r0, 0x10(r4)
+lbl_803493B0:
+/* 803493B0 00345010 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803493B4 00345014 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 803493B8 00345018 7C 08 03 A6 */ mtlr r0
+/* 803493BC 0034501C 38 21 00 10 */ addi r1, r1, 0x10
+/* 803493C0 00345020 4E 80 00 20 */ blr
+
+.global gti2StartConnectionAttempt
+gti2StartConnectionAttempt:
+/* 803493C4 00345024 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 803493C8 00345028 7C 08 02 A6 */ mflr r0
+/* 803493CC 0034502C 90 01 00 44 */ stw r0, 0x44(r1)
+/* 803493D0 00345030 93 E1 00 3C */ stw r31, 0x3c(r1)
+/* 803493D4 00345034 7C DF 33 78 */ mr r31, r6
+/* 803493D8 00345038 93 C1 00 38 */ stw r30, 0x38(r1)
+/* 803493DC 0034503C 7C 7E 1B 78 */ mr r30, r3
+/* 803493E0 00345040 38 61 00 08 */ addi r3, r1, 8
+/* 803493E4 00345044 90 81 00 08 */ stw r4, 8(r1)
+/* 803493E8 00345048 38 81 00 0C */ addi r4, r1, 0xc
+/* 803493EC 0034504C 90 A1 00 0C */ stw r5, 0xc(r1)
+/* 803493F0 00345050 48 00 49 E5 */ bl func_8034DDD4
+/* 803493F4 00345054 80 61 00 0C */ lwz r3, 0xc(r1)
+/* 803493F8 00345058 2C 03 00 00 */ cmpwi r3, 0
+/* 803493FC 0034505C 40 81 00 30 */ ble lbl_8034942C
+/* 80349400 00345060 4B FE FF 15 */ bl gsimalloc
+/* 80349404 00345064 2C 03 00 00 */ cmpwi r3, 0
+/* 80349408 00345068 90 7E 00 38 */ stw r3, 0x38(r30)
+/* 8034940C 0034506C 40 82 00 0C */ bne lbl_80349418
+/* 80349410 00345070 38 60 00 01 */ li r3, 1
+/* 80349414 00345074 48 00 00 6C */ b lbl_80349480
+lbl_80349418:
+/* 80349418 00345078 80 81 00 08 */ lwz r4, 8(r1)
+/* 8034941C 0034507C 80 A1 00 0C */ lwz r5, 0xc(r1)
+/* 80349420 00345080 4B CB AB E1 */ bl memcpy
+/* 80349424 00345084 80 01 00 0C */ lwz r0, 0xc(r1)
+/* 80349428 00345088 90 1E 00 3C */ stw r0, 0x3c(r30)
+lbl_8034942C:
+/* 8034942C 0034508C 2C 1F 00 00 */ cmpwi r31, 0
+/* 80349430 00345090 41 82 00 24 */ beq lbl_80349454
+/* 80349434 00345094 80 7F 00 00 */ lwz r3, 0(r31)
+/* 80349438 00345098 80 1F 00 04 */ lwz r0, 4(r31)
+/* 8034943C 0034509C 90 7E 00 28 */ stw r3, 0x28(r30)
+/* 80349440 003450A0 90 1E 00 2C */ stw r0, 0x2c(r30)
+/* 80349444 003450A4 80 7F 00 08 */ lwz r3, 8(r31)
+/* 80349448 003450A8 80 1F 00 0C */ lwz r0, 0xc(r31)
+/* 8034944C 003450AC 90 7E 00 30 */ stw r3, 0x30(r30)
+/* 80349450 003450B0 90 1E 00 34 */ stw r0, 0x34(r30)
+lbl_80349454:
+/* 80349454 003450B4 38 61 00 10 */ addi r3, r1, 0x10
+/* 80349458 003450B8 4B FF F0 DD */ bl gti2GetChallenge
+/* 8034945C 003450BC 38 7E 00 68 */ addi r3, r30, 0x68
+/* 80349460 003450C0 38 81 00 10 */ addi r4, r1, 0x10
+/* 80349464 003450C4 4B FF F1 E1 */ bl gti2GetResponse
+/* 80349468 003450C8 7F C3 F3 78 */ mr r3, r30
+/* 8034946C 003450CC 38 81 00 10 */ addi r4, r1, 0x10
+/* 80349470 003450D0 48 00 30 E9 */ bl func_8034C558
+/* 80349474 003450D4 38 00 00 00 */ li r0, 0
+/* 80349478 003450D8 38 60 00 00 */ li r3, 0
+/* 8034947C 003450DC 90 1E 00 0C */ stw r0, 0xc(r30)
+lbl_80349480:
+/* 80349480 003450E0 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 80349484 003450E4 83 E1 00 3C */ lwz r31, 0x3c(r1)
+/* 80349488 003450E8 83 C1 00 38 */ lwz r30, 0x38(r1)
+/* 8034948C 003450EC 7C 08 03 A6 */ mtlr r0
+/* 80349490 003450F0 38 21 00 40 */ addi r1, r1, 0x40
+/* 80349494 003450F4 4E 80 00 20 */ blr
+
+.global gti2AcceptConnection
+gti2AcceptConnection:
+/* 80349498 003450F8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8034949C 003450FC 7C 08 02 A6 */ mflr r0
+/* 803494A0 00345100 90 01 00 14 */ stw r0, 0x14(r1)
+/* 803494A4 00345104 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 803494A8 00345108 7C 9F 23 78 */ mr r31, r4
+/* 803494AC 0034510C 93 C1 00 08 */ stw r30, 8(r1)
+/* 803494B0 00345110 7C 7E 1B 78 */ mr r30, r3
+/* 803494B4 00345114 80 03 00 14 */ lwz r0, 0x14(r3)
+/* 803494B8 00345118 2C 00 00 00 */ cmpwi r0, 0
+/* 803494BC 0034511C 41 82 00 14 */ beq lbl_803494D0
+/* 803494C0 00345120 38 00 00 00 */ li r0, 0
+/* 803494C4 00345124 90 03 00 14 */ stw r0, 0x14(r3)
+/* 803494C8 00345128 38 60 00 00 */ li r3, 0
+/* 803494CC 0034512C 48 00 00 58 */ b lbl_80349524
+lbl_803494D0:
+/* 803494D0 00345130 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 803494D4 00345134 38 80 00 00 */ li r4, 0
+/* 803494D8 00345138 90 83 00 14 */ stw r4, 0x14(r3)
+/* 803494DC 0034513C 2C 00 00 04 */ cmpwi r0, 4
+/* 803494E0 00345140 41 82 00 0C */ beq lbl_803494EC
+/* 803494E4 00345144 38 60 00 00 */ li r3, 0
+/* 803494E8 00345148 48 00 00 3C */ b lbl_80349524
+lbl_803494EC:
+/* 803494EC 0034514C 48 00 31 51 */ bl func_8034C63C
+/* 803494F0 00345150 38 00 00 05 */ li r0, 5
+/* 803494F4 00345154 2C 1F 00 00 */ cmpwi r31, 0
+/* 803494F8 00345158 90 1E 00 0C */ stw r0, 0xc(r30)
+/* 803494FC 0034515C 41 82 00 24 */ beq lbl_80349520
+/* 80349500 00345160 80 7F 00 00 */ lwz r3, 0(r31)
+/* 80349504 00345164 80 1F 00 04 */ lwz r0, 4(r31)
+/* 80349508 00345168 90 7E 00 28 */ stw r3, 0x28(r30)
+/* 8034950C 0034516C 90 1E 00 2C */ stw r0, 0x2c(r30)
+/* 80349510 00345170 80 7F 00 08 */ lwz r3, 8(r31)
+/* 80349514 00345174 80 1F 00 0C */ lwz r0, 0xc(r31)
+/* 80349518 00345178 90 7E 00 30 */ stw r3, 0x30(r30)
+/* 8034951C 0034517C 90 1E 00 34 */ stw r0, 0x34(r30)
+lbl_80349520:
+/* 80349520 00345180 38 60 00 01 */ li r3, 1
+lbl_80349524:
+/* 80349524 00345184 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80349528 00345188 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8034952C 0034518C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80349530 00345190 7C 08 03 A6 */ mtlr r0
+/* 80349534 00345194 38 21 00 10 */ addi r1, r1, 0x10
+/* 80349538 00345198 4E 80 00 20 */ blr
+
+.global gti2RejectConnection
+gti2RejectConnection:
+/* 8034953C 0034519C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80349540 003451A0 7C 08 02 A6 */ mflr r0
+/* 80349544 003451A4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80349548 003451A8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8034954C 003451AC 7C 7F 1B 78 */ mr r31, r3
+/* 80349550 003451B0 90 81 00 08 */ stw r4, 8(r1)
+/* 80349554 003451B4 38 80 00 00 */ li r4, 0
+/* 80349558 003451B8 90 A1 00 0C */ stw r5, 0xc(r1)
+/* 8034955C 003451BC 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 80349560 003451C0 90 83 00 14 */ stw r4, 0x14(r3)
+/* 80349564 003451C4 2C 00 00 04 */ cmpwi r0, 4
+/* 80349568 003451C8 40 82 00 28 */ bne lbl_80349590
+/* 8034956C 003451CC 38 61 00 08 */ addi r3, r1, 8
+/* 80349570 003451D0 38 81 00 0C */ addi r4, r1, 0xc
+/* 80349574 003451D4 48 00 48 61 */ bl func_8034DDD4
+/* 80349578 003451D8 80 81 00 08 */ lwz r4, 8(r1)
+/* 8034957C 003451DC 7F E3 FB 78 */ mr r3, r31
+/* 80349580 003451E0 80 A1 00 0C */ lwz r5, 0xc(r1)
+/* 80349584 003451E4 48 00 31 81 */ bl func_8034C704
+/* 80349588 003451E8 38 00 00 06 */ li r0, 6
+/* 8034958C 003451EC 90 1F 00 0C */ stw r0, 0xc(r31)
+lbl_80349590:
+/* 80349590 003451F0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80349594 003451F4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80349598 003451F8 7C 08 03 A6 */ mtlr r0
+/* 8034959C 003451FC 38 21 00 20 */ addi r1, r1, 0x20
+/* 803495A0 00345200 4E 80 00 20 */ blr
+
+.global gti2ConnectionSendData
+gti2ConnectionSendData:
+/* 803495A4 00345204 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 803495A8 00345208 7C 08 02 A6 */ mflr r0
+/* 803495AC 0034520C 7C 86 23 78 */ mr r6, r4
+/* 803495B0 00345210 7C A7 2B 78 */ mr r7, r5
+/* 803495B4 00345214 90 01 00 14 */ stw r0, 0x14(r1)
+/* 803495B8 00345218 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 803495BC 0034521C 7C 7F 1B 78 */ mr r31, r3
+/* 803495C0 00345220 80 63 00 08 */ lwz r3, 8(r3)
+/* 803495C4 00345224 80 9F 00 00 */ lwz r4, 0(r31)
+/* 803495C8 00345228 A0 BF 00 04 */ lhz r5, 4(r31)
+/* 803495CC 0034522C 48 00 40 7D */ bl func_8034D648
+/* 803495D0 00345230 2C 03 00 00 */ cmpwi r3, 0
+/* 803495D4 00345234 40 82 00 0C */ bne lbl_803495E0
+/* 803495D8 00345238 38 60 00 00 */ li r3, 0
+/* 803495DC 0034523C 48 00 00 10 */ b lbl_803495EC
+lbl_803495E0:
+/* 803495E0 00345240 4B FE F9 F9 */ bl current_time
+/* 803495E4 00345244 90 7F 00 88 */ stw r3, 0x88(r31)
+/* 803495E8 00345248 38 60 00 01 */ li r3, 1
+lbl_803495EC:
+/* 803495EC 0034524C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803495F0 00345250 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 803495F4 00345254 7C 08 03 A6 */ mtlr r0
+/* 803495F8 00345258 38 21 00 10 */ addi r1, r1, 0x10
+/* 803495FC 0034525C 4E 80 00 20 */ blr
+
+.global gti2CheckTimeout
+gti2CheckTimeout:
+/* 80349600 00345260 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80349604 00345264 7C 08 02 A6 */ mflr r0
+/* 80349608 00345268 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8034960C 0034526C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80349610 00345270 7C 7F 1B 78 */ mr r31, r3
+/* 80349614 00345274 80 A3 00 0C */ lwz r5, 0xc(r3)
+/* 80349618 00345278 2C 05 00 05 */ cmpwi r5, 5
+/* 8034961C 0034527C 40 80 00 C8 */ bge lbl_803496E4
+/* 80349620 00345280 80 03 00 10 */ lwz r0, 0x10(r3)
+/* 80349624 00345284 38 C0 00 00 */ li r6, 0
+/* 80349628 00345288 2C 00 00 00 */ cmpwi r0, 0
+/* 8034962C 0034528C 41 82 00 28 */ beq lbl_80349654
+/* 80349630 00345290 80 A3 00 20 */ lwz r5, 0x20(r3)
+/* 80349634 00345294 2C 05 00 00 */ cmpwi r5, 0
+/* 80349638 00345298 41 82 00 38 */ beq lbl_80349670
+/* 8034963C 0034529C 80 03 00 1C */ lwz r0, 0x1c(r3)
+/* 80349640 003452A0 7C 00 20 50 */ subf r0, r0, r4
+/* 80349644 003452A4 7C 00 28 40 */ cmplw r0, r5
+/* 80349648 003452A8 40 81 00 28 */ ble lbl_80349670
+/* 8034964C 003452AC 38 C0 00 01 */ li r6, 1
+/* 80349650 003452B0 48 00 00 20 */ b lbl_80349670
+lbl_80349654:
+/* 80349654 003452B4 2C 05 00 04 */ cmpwi r5, 4
+/* 80349658 003452B8 40 80 00 18 */ bge lbl_80349670
+/* 8034965C 003452BC 80 03 00 1C */ lwz r0, 0x1c(r3)
+/* 80349660 003452C0 7C 00 20 50 */ subf r0, r0, r4
+/* 80349664 003452C4 28 00 EA 60 */ cmplwi r0, 0xea60
+/* 80349668 003452C8 40 81 00 08 */ ble lbl_80349670
+/* 8034966C 003452CC 38 C0 00 01 */ li r6, 1
+lbl_80349670:
+/* 80349670 003452D0 2C 06 00 00 */ cmpwi r6, 0
+/* 80349674 003452D4 41 82 00 70 */ beq lbl_803496E4
+/* 80349678 003452D8 7F E3 FB 78 */ mr r3, r31
+/* 8034967C 003452DC 48 00 36 D9 */ bl func_8034CD54
+/* 80349680 003452E0 93 E1 00 08 */ stw r31, 8(r1)
+/* 80349684 003452E4 80 1F 00 0C */ lwz r0, 0xc(r31)
+/* 80349688 003452E8 2C 00 00 07 */ cmpwi r0, 7
+/* 8034968C 003452EC 41 82 00 34 */ beq lbl_803496C0
+/* 80349690 003452F0 38 00 00 07 */ li r0, 7
+/* 80349694 003452F4 38 81 00 08 */ addi r4, r1, 8
+/* 80349698 003452F8 90 1F 00 0C */ stw r0, 0xc(r31)
+/* 8034969C 003452FC 80 61 00 08 */ lwz r3, 8(r1)
+/* 803496A0 00345300 80 63 00 08 */ lwz r3, 8(r3)
+/* 803496A4 00345304 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 803496A8 00345308 4B FE D3 D1 */ bl TableRemove
+/* 803496AC 0034530C 80 61 00 08 */ lwz r3, 8(r1)
+/* 803496B0 00345310 38 81 00 08 */ addi r4, r1, 8
+/* 803496B4 00345314 80 63 00 08 */ lwz r3, 8(r3)
+/* 803496B8 00345318 80 63 00 10 */ lwz r3, 0x10(r3)
+/* 803496BC 0034531C 4B FE C8 65 */ bl ArrayAppend
+lbl_803496C0:
+/* 803496C0 00345320 7F E3 FB 78 */ mr r3, r31
+/* 803496C4 00345324 38 80 00 06 */ li r4, 6
+/* 803496C8 00345328 38 A0 00 00 */ li r5, 0
+/* 803496CC 0034532C 38 C0 00 00 */ li r6, 0
+/* 803496D0 00345330 4B FF F5 49 */ bl gti2ConnectedCallback
+/* 803496D4 00345334 2C 03 00 00 */ cmpwi r3, 0
+/* 803496D8 00345338 40 82 00 0C */ bne lbl_803496E4
+/* 803496DC 0034533C 38 60 00 00 */ li r3, 0
+/* 803496E0 00345340 48 00 00 08 */ b lbl_803496E8
+lbl_803496E4:
+/* 803496E4 00345344 38 60 00 01 */ li r3, 1
+lbl_803496E8:
+/* 803496E8 00345348 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 803496EC 0034534C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 803496F0 00345350 7C 08 03 A6 */ mtlr r0
+/* 803496F4 00345354 38 21 00 20 */ addi r1, r1, 0x20
+/* 803496F8 00345358 4E 80 00 20 */ blr
+
+.global gti2ConnectionThink
+gti2ConnectionThink:
+/* 803496FC 0034535C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80349700 00345360 7C 08 02 A6 */ mflr r0
+/* 80349704 00345364 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80349708 00345368 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8034970C 0034536C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80349710 00345370 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80349714 00345374 7C 9D 23 78 */ mr r29, r4
+/* 80349718 00345378 93 81 00 10 */ stw r28, 0x10(r1)
+/* 8034971C 0034537C 7C 7C 1B 78 */ mr r28, r3
+/* 80349720 00345380 4B FF FE E1 */ bl gti2CheckTimeout
+/* 80349724 00345384 2C 03 00 00 */ cmpwi r3, 0
+/* 80349728 00345388 40 82 00 0C */ bne lbl_80349734
+/* 8034972C 0034538C 38 60 00 00 */ li r3, 0
+/* 80349730 00345390 48 00 00 F8 */ b lbl_80349828
+lbl_80349734:
+/* 80349734 00345394 80 1C 00 88 */ lwz r0, 0x88(r28)
+/* 80349738 00345398 7C 00 E8 50 */ subf r0, r0, r29
+/* 8034973C 0034539C 28 00 75 30 */ cmplwi r0, 0x7530
+/* 80349740 003453A0 40 81 00 1C */ ble lbl_8034975C
+/* 80349744 003453A4 7F 83 E3 78 */ mr r3, r28
+/* 80349748 003453A8 48 00 31 79 */ bl func_8034C8C0
+/* 8034974C 003453AC 2C 03 00 00 */ cmpwi r3, 0
+/* 80349750 003453B0 40 82 00 0C */ bne lbl_8034975C
+/* 80349754 003453B4 38 00 00 00 */ li r0, 0
+/* 80349758 003453B8 48 00 00 08 */ b lbl_80349760
+lbl_8034975C:
+/* 8034975C 003453BC 38 00 00 01 */ li r0, 1
+lbl_80349760:
+/* 80349760 003453C0 2C 00 00 00 */ cmpwi r0, 0
+/* 80349764 003453C4 40 82 00 0C */ bne lbl_80349770
+/* 80349768 003453C8 38 60 00 00 */ li r3, 0
+/* 8034976C 003453CC 48 00 00 BC */ b lbl_80349828
+lbl_80349770:
+/* 80349770 003453D0 80 7C 00 60 */ lwz r3, 0x60(r28)
+/* 80349774 003453D4 4B FE C7 75 */ bl ArrayLength
+/* 80349778 003453D8 7C 7F 1B 78 */ mr r31, r3
+/* 8034977C 003453DC 3B C0 00 00 */ li r30, 0
+/* 80349780 003453E0 48 00 00 40 */ b lbl_803497C0
+lbl_80349784:
+/* 80349784 003453E4 80 7C 00 60 */ lwz r3, 0x60(r28)
+/* 80349788 003453E8 7F C4 F3 78 */ mr r4, r30
+/* 8034978C 003453EC 4B FE C7 65 */ bl ArrayNth
+/* 80349790 003453F0 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 80349794 003453F4 7C 64 1B 78 */ mr r4, r3
+/* 80349798 003453F8 7C 00 E8 50 */ subf r0, r0, r29
+/* 8034979C 003453FC 28 00 03 E8 */ cmplwi r0, 0x3e8
+/* 803497A0 00345400 40 81 00 1C */ ble lbl_803497BC
+/* 803497A4 00345404 7F 83 E3 78 */ mr r3, r28
+/* 803497A8 00345408 48 00 36 65 */ bl func_8034CE0C
+/* 803497AC 0034540C 2C 03 00 00 */ cmpwi r3, 0
+/* 803497B0 00345410 40 82 00 0C */ bne lbl_803497BC
+/* 803497B4 00345414 38 00 00 00 */ li r0, 0
+/* 803497B8 00345418 48 00 00 14 */ b lbl_803497CC
+lbl_803497BC:
+/* 803497BC 0034541C 3B DE 00 01 */ addi r30, r30, 1
+lbl_803497C0:
+/* 803497C0 00345420 7C 1E F8 00 */ cmpw r30, r31
+/* 803497C4 00345424 41 80 FF C0 */ blt lbl_80349784
+/* 803497C8 00345428 38 00 00 01 */ li r0, 1
+lbl_803497CC:
+/* 803497CC 0034542C 2C 00 00 00 */ cmpwi r0, 0
+/* 803497D0 00345430 40 82 00 0C */ bne lbl_803497DC
+/* 803497D4 00345434 38 60 00 00 */ li r3, 0
+/* 803497D8 00345438 48 00 00 50 */ b lbl_80349828
+lbl_803497DC:
+/* 803497DC 0034543C 80 1C 00 90 */ lwz r0, 0x90(r28)
+/* 803497E0 00345440 2C 00 00 00 */ cmpwi r0, 0
+/* 803497E4 00345444 40 82 00 0C */ bne lbl_803497F0
+/* 803497E8 00345448 38 60 00 01 */ li r3, 1
+/* 803497EC 0034544C 48 00 00 30 */ b lbl_8034981C
+lbl_803497F0:
+/* 803497F0 00345450 80 1C 00 94 */ lwz r0, 0x94(r28)
+/* 803497F4 00345454 7C 00 E8 50 */ subf r0, r0, r29
+/* 803497F8 00345458 28 00 00 64 */ cmplwi r0, 0x64
+/* 803497FC 0034545C 40 81 00 1C */ ble lbl_80349818
+/* 80349800 00345460 7F 83 E3 78 */ mr r3, r28
+/* 80349804 00345464 48 00 32 B1 */ bl func_8034CAB4
+/* 80349808 00345468 2C 03 00 00 */ cmpwi r3, 0
+/* 8034980C 0034546C 40 82 00 0C */ bne lbl_80349818
+/* 80349810 00345470 38 60 00 00 */ li r3, 0
+/* 80349814 00345474 48 00 00 08 */ b lbl_8034981C
+lbl_80349818:
+/* 80349818 00345478 38 60 00 01 */ li r3, 1
+lbl_8034981C:
+/* 8034981C 0034547C 7C 03 00 D0 */ neg r0, r3
+/* 80349820 00345480 7C 00 1B 78 */ or r0, r0, r3
+/* 80349824 00345484 54 03 0F FE */ srwi r3, r0, 0x1f
+lbl_80349828:
+/* 80349828 00345488 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8034982C 0034548C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80349830 00345490 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80349834 00345494 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80349838 00345498 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 8034983C 0034549C 7C 08 03 A6 */ mtlr r0
+/* 80349840 003454A0 38 21 00 20 */ addi r1, r1, 0x20
+/* 80349844 003454A4 4E 80 00 20 */ blr
+
+.global func_80349848
+func_80349848:
+/* 80349848 003454A8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8034984C 003454AC 7C 08 02 A6 */ mflr r0
+/* 80349850 003454B0 2C 04 00 00 */ cmpwi r4, 0
+/* 80349854 003454B4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80349858 003454B8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8034985C 003454BC 7C 7F 1B 78 */ mr r31, r3
+/* 80349860 003454C0 41 82 00 70 */ beq lbl_803498D0
+/* 80349864 003454C4 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 80349868 003454C8 2C 00 00 07 */ cmpwi r0, 7
+/* 8034986C 003454CC 40 80 00 70 */ bge lbl_803498DC
+/* 80349870 003454D0 90 61 00 08 */ stw r3, 8(r1)
+/* 80349874 003454D4 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 80349878 003454D8 2C 00 00 07 */ cmpwi r0, 7
+/* 8034987C 003454DC 41 82 00 34 */ beq lbl_803498B0
+/* 80349880 003454E0 38 00 00 07 */ li r0, 7
+/* 80349884 003454E4 38 81 00 08 */ addi r4, r1, 8
+/* 80349888 003454E8 90 03 00 0C */ stw r0, 0xc(r3)
+/* 8034988C 003454EC 80 61 00 08 */ lwz r3, 8(r1)
+/* 80349890 003454F0 80 63 00 08 */ lwz r3, 8(r3)
+/* 80349894 003454F4 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 80349898 003454F8 4B FE D1 E1 */ bl TableRemove
+/* 8034989C 003454FC 80 61 00 08 */ lwz r3, 8(r1)
+/* 803498A0 00345500 38 81 00 08 */ addi r4, r1, 8
+/* 803498A4 00345504 80 63 00 08 */ lwz r3, 8(r3)
+/* 803498A8 00345508 80 63 00 10 */ lwz r3, 0x10(r3)
+/* 803498AC 0034550C 4B FE C6 75 */ bl ArrayAppend
+lbl_803498B0:
+/* 803498B0 00345510 7F E3 FB 78 */ mr r3, r31
+/* 803498B4 00345514 48 00 34 A1 */ bl func_8034CD54
+/* 803498B8 00345518 7F E3 FB 78 */ mr r3, r31
+/* 803498BC 0034551C 38 80 00 00 */ li r4, 0
+/* 803498C0 00345520 4B FF F5 0D */ bl gti2ClosedCallback
+/* 803498C4 00345524 7F E3 FB 78 */ mr r3, r31
+/* 803498C8 00345528 48 00 3C B5 */ bl func_8034D57C
+/* 803498CC 0034552C 48 00 00 10 */ b lbl_803498DC
+lbl_803498D0:
+/* 803498D0 00345530 38 00 00 06 */ li r0, 6
+/* 803498D4 00345534 90 03 00 0C */ stw r0, 0xc(r3)
+/* 803498D8 00345538 48 00 2F 21 */ bl func_8034C7F8
+lbl_803498DC:
+/* 803498DC 0034553C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 803498E0 00345540 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 803498E4 00345544 7C 08 03 A6 */ mtlr r0
+/* 803498E8 00345548 38 21 00 20 */ addi r1, r1, 0x20
+/* 803498EC 0034554C 4E 80 00 20 */ blr
+
+.global gti2ConnectionClosed
+gti2ConnectionClosed:
+/* 803498F0 00345550 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 803498F4 00345554 7C 08 02 A6 */ mflr r0
+/* 803498F8 00345558 90 01 00 14 */ stw r0, 0x14(r1)
+/* 803498FC 0034555C 90 61 00 08 */ stw r3, 8(r1)
+/* 80349900 00345560 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 80349904 00345564 2C 00 00 07 */ cmpwi r0, 7
+/* 80349908 00345568 41 82 00 34 */ beq lbl_8034993C
+/* 8034990C 0034556C 38 00 00 07 */ li r0, 7
+/* 80349910 00345570 38 81 00 08 */ addi r4, r1, 8
+/* 80349914 00345574 90 03 00 0C */ stw r0, 0xc(r3)
+/* 80349918 00345578 80 61 00 08 */ lwz r3, 8(r1)
+/* 8034991C 0034557C 80 63 00 08 */ lwz r3, 8(r3)
+/* 80349920 00345580 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 80349924 00345584 4B FE D1 55 */ bl TableRemove
+/* 80349928 00345588 80 61 00 08 */ lwz r3, 8(r1)
+/* 8034992C 0034558C 38 81 00 08 */ addi r4, r1, 8
+/* 80349930 00345590 80 63 00 08 */ lwz r3, 8(r3)
+/* 80349934 00345594 80 63 00 10 */ lwz r3, 0x10(r3)
+/* 80349938 00345598 4B FE C5 E9 */ bl ArrayAppend
+lbl_8034993C:
+/* 8034993C 0034559C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80349940 003455A0 7C 08 03 A6 */ mtlr r0
+/* 80349944 003455A4 38 21 00 10 */ addi r1, r1, 0x10
+/* 80349948 003455A8 4E 80 00 20 */ blr
+
+.global gti2ConnectionCleanup
+gti2ConnectionCleanup:
+/* 8034994C 003455AC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80349950 003455B0 7C 08 02 A6 */ mflr r0
+/* 80349954 003455B4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80349958 003455B8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8034995C 003455BC 7C 7F 1B 78 */ mr r31, r3
+/* 80349960 003455C0 80 03 00 38 */ lwz r0, 0x38(r3)
+/* 80349964 003455C4 2C 00 00 00 */ cmpwi r0, 0
+/* 80349968 003455C8 41 82 00 0C */ beq lbl_80349974
+/* 8034996C 003455CC 7C 03 03 78 */ mr r3, r0
+/* 80349970 003455D0 4B FE F9 C9 */ bl gsifree
+lbl_80349974:
+/* 80349974 003455D4 80 7F 00 44 */ lwz r3, 0x44(r31)
+/* 80349978 003455D8 2C 03 00 00 */ cmpwi r3, 0
+/* 8034997C 003455DC 41 82 00 08 */ beq lbl_80349984
+/* 80349980 003455E0 4B FE F9 B9 */ bl gsifree
+lbl_80349984:
+/* 80349984 003455E4 80 7F 00 50 */ lwz r3, 0x50(r31)
+/* 80349988 003455E8 2C 03 00 00 */ cmpwi r3, 0
+/* 8034998C 003455EC 41 82 00 08 */ beq lbl_80349994
+/* 80349990 003455F0 4B FE F9 A9 */ bl gsifree
+lbl_80349994:
+/* 80349994 003455F4 80 7F 00 5C */ lwz r3, 0x5c(r31)
+/* 80349998 003455F8 2C 03 00 00 */ cmpwi r3, 0
+/* 8034999C 003455FC 41 82 00 08 */ beq lbl_803499A4
+/* 803499A0 00345600 4B FE C4 B5 */ bl ArrayFree
+lbl_803499A4:
+/* 803499A4 00345604 80 7F 00 60 */ lwz r3, 0x60(r31)
+/* 803499A8 00345608 2C 03 00 00 */ cmpwi r3, 0
+/* 803499AC 0034560C 41 82 00 08 */ beq lbl_803499B4
+/* 803499B0 00345610 4B FE C4 A5 */ bl ArrayFree
+lbl_803499B4:
+/* 803499B4 00345614 80 7F 00 98 */ lwz r3, 0x98(r31)
+/* 803499B8 00345618 2C 03 00 00 */ cmpwi r3, 0
+/* 803499BC 0034561C 41 82 00 08 */ beq lbl_803499C4
+/* 803499C0 00345620 4B FE C4 95 */ bl ArrayFree
+lbl_803499C4:
+/* 803499C4 00345624 80 7F 00 9C */ lwz r3, 0x9c(r31)
+/* 803499C8 00345628 2C 03 00 00 */ cmpwi r3, 0
+/* 803499CC 0034562C 41 82 00 08 */ beq lbl_803499D4
+/* 803499D0 00345630 4B FE C4 85 */ bl ArrayFree
+lbl_803499D4:
+/* 803499D4 00345634 7F E3 FB 78 */ mr r3, r31
+/* 803499D8 00345638 4B FE F9 61 */ bl gsifree
+/* 803499DC 0034563C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803499E0 00345640 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 803499E4 00345644 7C 08 03 A6 */ mtlr r0
+/* 803499E8 00345648 38 21 00 10 */ addi r1, r1, 0x10
+/* 803499EC 0034564C 4E 80 00 20 */ blr
|