diff options
Diffstat (limited to 'asm/GameSpy/gpiPeer.s')
-rw-r--r-- | asm/GameSpy/gpiPeer.s | 1391 |
1 files changed, 1391 insertions, 0 deletions
diff --git a/asm/GameSpy/gpiPeer.s b/asm/GameSpy/gpiPeer.s new file mode 100644 index 0000000..2851a5f --- /dev/null +++ b/asm/GameSpy/gpiPeer.s @@ -0,0 +1,1391 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global gpiProcessPeerInitiatingConnection
+gpiProcessPeerInitiatingConnection:
+/* 803441E4 0033FE44 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 803441E8 0033FE48 7C 08 02 A6 */ mflr r0
+/* 803441EC 0033FE4C 90 01 00 44 */ stw r0, 0x44(r1)
+/* 803441F0 0033FE50 39 61 00 40 */ addi r11, r1, 0x40
+/* 803441F4 0033FE54 4B E8 2F 35 */ bl _savegpr_27
+/* 803441F8 0033FE58 80 04 00 00 */ lwz r0, 0(r4)
+/* 803441FC 0033FE5C 3F A0 80 45 */ lis r29, lbl_8044AF50@ha
+/* 80344200 0033FE60 83 83 00 00 */ lwz r28, 0(r3)
+/* 80344204 0033FE64 7C 7E 1B 78 */ mr r30, r3
+/* 80344208 0033FE68 2C 00 00 67 */ cmpwi r0, 0x67
+/* 8034420C 0033FE6C 7C 9F 23 78 */ mr r31, r4
+/* 80344210 0033FE70 3B BD AF 50 */ addi r29, r29, lbl_8044AF50@l
+/* 80344214 0033FE74 41 82 00 34 */ beq lbl_80344248
+/* 80344218 0033FE78 40 80 00 14 */ bge lbl_8034422C
+/* 8034421C 0033FE7C 2C 00 00 65 */ cmpwi r0, 0x65
+/* 80344220 0033FE80 41 82 02 C4 */ beq lbl_803444E4
+/* 80344224 0033FE84 40 80 00 14 */ bge lbl_80344238
+/* 80344228 0033FE88 48 00 02 BC */ b lbl_803444E4
+lbl_8034422C:
+/* 8034422C 0033FE8C 2C 00 00 69 */ cmpwi r0, 0x69
+/* 80344230 0033FE90 40 80 02 B4 */ bge lbl_803444E4
+/* 80344234 0033FE94 48 00 01 8C */ b lbl_803443C0
+lbl_80344238:
+/* 80344238 0033FE98 48 00 0E 61 */ bl gpiPeerStartConnect
+/* 8034423C 0033FE9C 2C 03 00 00 */ cmpwi r3, 0
+/* 80344240 0033FEA0 41 82 02 A4 */ beq lbl_803444E4
+/* 80344244 0033FEA4 48 00 02 E8 */ b lbl_8034452C
+lbl_80344248:
+/* 80344248 0033FEA8 80 84 00 08 */ lwz r4, 8(r4)
+/* 8034424C 0033FEAC 38 A1 00 18 */ addi r5, r1, 0x18
+/* 80344250 0033FEB0 48 00 3E E9 */ bl gpiCheckSocketConnect
+/* 80344254 0033FEB4 2C 03 00 00 */ cmpwi r3, 0
+/* 80344258 0033FEB8 41 82 00 08 */ beq lbl_80344260
+/* 8034425C 0033FEBC 48 00 02 D0 */ b lbl_8034452C
+lbl_80344260:
+/* 80344260 0033FEC0 80 01 00 18 */ lwz r0, 0x18(r1)
+/* 80344264 0033FEC4 2C 00 00 04 */ cmpwi r0, 4
+/* 80344268 0033FEC8 40 82 00 18 */ bne lbl_80344280
+/* 8034426C 0033FECC 7F C3 F3 78 */ mr r3, r30
+/* 80344270 0033FED0 38 9D 00 00 */ addi r4, r29, 0
+/* 80344274 0033FED4 48 00 41 E5 */ bl gpiSetErrorString
+/* 80344278 0033FED8 38 60 00 03 */ li r3, 3
+/* 8034427C 0033FEDC 48 00 02 B0 */ b lbl_8034452C
+lbl_80344280:
+/* 80344280 0033FEE0 2C 00 00 03 */ cmpwi r0, 3
+/* 80344284 0033FEE4 40 82 02 60 */ bne lbl_803444E4
+/* 80344288 0033FEE8 80 9F 00 0C */ lwz r4, 0xc(r31)
+/* 8034428C 0033FEEC 7F C3 F3 78 */ mr r3, r30
+/* 80344290 0033FEF0 38 A1 00 0C */ addi r5, r1, 0xc
+/* 80344294 0033FEF4 3B 60 00 01 */ li r27, 1
+/* 80344298 0033FEF8 48 00 16 39 */ bl gpiGetProfile
+/* 8034429C 0033FEFC 2C 03 00 00 */ cmpwi r3, 0
+/* 803442A0 0033FF00 40 82 00 18 */ bne lbl_803442B8
+/* 803442A4 0033FF04 7F C3 F3 78 */ mr r3, r30
+/* 803442A8 0033FF08 38 9D 00 00 */ addi r4, r29, 0
+/* 803442AC 0033FF0C 48 00 41 AD */ bl gpiSetErrorString
+/* 803442B0 0033FF10 38 60 00 03 */ li r3, 3
+/* 803442B4 0033FF14 48 00 02 78 */ b lbl_8034452C
+lbl_803442B8:
+/* 803442B8 0033FF18 7F C3 F3 78 */ mr r3, r30
+/* 803442BC 0033FF1C 38 9F 00 2C */ addi r4, r31, 0x2c
+/* 803442C0 0033FF20 38 AD 91 40 */ addi r5, r13, lbl_8063E400-_SDA_BASE_
+/* 803442C4 0033FF24 4B FF B1 DD */ bl gpiAppendStringToBuffer
+/* 803442C8 0033FF28 7F C3 F3 78 */ mr r3, r30
+/* 803442CC 0033FF2C 38 9F 00 2C */ addi r4, r31, 0x2c
+/* 803442D0 0033FF30 38 AD 91 48 */ addi r5, r13, lbl_8063E408-_SDA_BASE_
+/* 803442D4 0033FF34 4B FF B1 CD */ bl gpiAppendStringToBuffer
+/* 803442D8 0033FF38 80 BC 01 A0 */ lwz r5, 0x1a0(r28)
+/* 803442DC 0033FF3C 7F C3 F3 78 */ mr r3, r30
+/* 803442E0 0033FF40 38 9F 00 2C */ addi r4, r31, 0x2c
+/* 803442E4 0033FF44 4B FF B2 19 */ bl gpiAppendIntToBuffer
+/* 803442E8 0033FF48 7F C3 F3 78 */ mr r3, r30
+/* 803442EC 0033FF4C 38 9F 00 2C */ addi r4, r31, 0x2c
+/* 803442F0 0033FF50 38 AD 91 50 */ addi r5, r13, lbl_8063E410-_SDA_BASE_
+/* 803442F4 0033FF54 4B FF B1 AD */ bl gpiAppendStringToBuffer
+/* 803442F8 0033FF58 7F C3 F3 78 */ mr r3, r30
+/* 803442FC 0033FF5C 38 9F 00 2C */ addi r4, r31, 0x2c
+/* 80344300 0033FF60 38 BC 01 10 */ addi r5, r28, 0x110
+/* 80344304 0033FF64 4B FF B1 9D */ bl gpiAppendStringToBuffer
+/* 80344308 0033FF68 7F C3 F3 78 */ mr r3, r30
+/* 8034430C 0033FF6C 38 9F 00 2C */ addi r4, r31, 0x2c
+/* 80344310 0033FF70 38 AD 91 58 */ addi r5, r13, lbl_8063E418-_SDA_BASE_
+/* 80344314 0033FF74 4B FF B1 8D */ bl gpiAppendStringToBuffer
+/* 80344318 0033FF78 80 A1 00 0C */ lwz r5, 0xc(r1)
+/* 8034431C 0033FF7C 7F C3 F3 78 */ mr r3, r30
+/* 80344320 0033FF80 38 9F 00 2C */ addi r4, r31, 0x2c
+/* 80344324 0033FF84 80 A5 00 18 */ lwz r5, 0x18(r5)
+/* 80344328 0033FF88 4B FF B1 79 */ bl gpiAppendStringToBuffer
+/* 8034432C 0033FF8C 7F C3 F3 78 */ mr r3, r30
+/* 80344330 0033FF90 38 9F 00 2C */ addi r4, r31, 0x2c
+/* 80344334 0033FF94 38 AD 91 60 */ addi r5, r13, lbl_8063E420-_SDA_BASE_
+/* 80344338 0033FF98 4B FF B1 69 */ bl gpiAppendStringToBuffer
+/* 8034433C 0033FF9C 80 9C 04 50 */ lwz r4, 0x450(r28)
+/* 80344340 0033FFA0 48 00 00 30 */ b lbl_80344370
+lbl_80344344:
+/* 80344344 0033FFA4 80 64 00 0C */ lwz r3, 0xc(r4)
+/* 80344348 0033FFA8 80 1F 00 0C */ lwz r0, 0xc(r31)
+/* 8034434C 0033FFAC 7C 03 00 00 */ cmpw r3, r0
+/* 80344350 0033FFB0 40 82 00 1C */ bne lbl_8034436C
+/* 80344354 0033FFB4 7C 04 F8 40 */ cmplw r4, r31
+/* 80344358 0033FFB8 41 82 00 14 */ beq lbl_8034436C
+/* 8034435C 0033FFBC 80 04 00 00 */ lwz r0, 0(r4)
+/* 80344360 0033FFC0 2C 00 00 67 */ cmpwi r0, 0x67
+/* 80344364 0033FFC4 41 81 00 08 */ bgt lbl_8034436C
+/* 80344368 0033FFC8 3B 60 00 00 */ li r27, 0
+lbl_8034436C:
+/* 8034436C 0033FFCC 80 84 00 40 */ lwz r4, 0x40(r4)
+lbl_80344370:
+/* 80344370 0033FFD0 2C 04 00 00 */ cmpwi r4, 0
+/* 80344374 0033FFD4 40 82 FF D0 */ bne lbl_80344344
+/* 80344378 0033FFD8 2C 1B 00 00 */ cmpwi r27, 0
+/* 8034437C 0033FFDC 41 82 00 38 */ beq lbl_803443B4
+/* 80344380 0033FFE0 80 61 00 0C */ lwz r3, 0xc(r1)
+/* 80344384 0033FFE4 80 63 00 18 */ lwz r3, 0x18(r3)
+/* 80344388 0033FFE8 4B FF 4F B1 */ bl gsifree
+/* 8034438C 0033FFEC 80 61 00 0C */ lwz r3, 0xc(r1)
+/* 80344390 0033FFF0 38 00 00 00 */ li r0, 0
+/* 80344394 0033FFF4 90 03 00 18 */ stw r0, 0x18(r3)
+/* 80344398 0033FFF8 80 61 00 0C */ lwz r3, 0xc(r1)
+/* 8034439C 0033FFFC 48 00 19 29 */ bl gpiCanFreeProfile
+/* 803443A0 00340000 2C 03 00 00 */ cmpwi r3, 0
+/* 803443A4 00340004 41 82 00 10 */ beq lbl_803443B4
+/* 803443A8 00340008 80 81 00 0C */ lwz r4, 0xc(r1)
+/* 803443AC 0034000C 7F C3 F3 78 */ mr r3, r30
+/* 803443B0 00340010 48 00 17 01 */ bl gpiRemoveProfile
+lbl_803443B4:
+/* 803443B4 00340014 38 00 00 68 */ li r0, 0x68
+/* 803443B8 00340018 90 1F 00 00 */ stw r0, 0(r31)
+/* 803443BC 0034001C 48 00 01 28 */ b lbl_803444E4
+lbl_803443C0:
+/* 803443C0 00340020 80 84 00 08 */ lwz r4, 8(r4)
+/* 803443C4 00340024 38 BF 00 1C */ addi r5, r31, 0x1c
+/* 803443C8 00340028 38 C1 00 14 */ addi r6, r1, 0x14
+/* 803443CC 0034002C 38 E1 00 10 */ addi r7, r1, 0x10
+/* 803443D0 00340030 39 0D 91 68 */ addi r8, r13, lbl_8063E428-_SDA_BASE_
+/* 803443D4 00340034 4B FF B4 81 */ bl gpiRecvToBuffer
+/* 803443D8 00340038 2C 03 00 00 */ cmpwi r3, 0
+/* 803443DC 0034003C 41 82 00 08 */ beq lbl_803443E4
+/* 803443E0 00340040 48 00 01 4C */ b lbl_8034452C
+lbl_803443E4:
+/* 803443E4 00340044 80 7F 00 1C */ lwz r3, 0x1c(r31)
+/* 803443E8 00340048 38 8D 91 60 */ addi r4, r13, lbl_8063E420-_SDA_BASE_
+/* 803443EC 0034004C 4B E8 A3 B5 */ bl func_801CE7A0
+/* 803443F0 00340050 2C 03 00 00 */ cmpwi r3, 0
+/* 803443F4 00340054 41 82 00 F0 */ beq lbl_803444E4
+/* 803443F8 00340058 38 00 00 00 */ li r0, 0
+/* 803443FC 0034005C 38 8D 91 70 */ addi r4, r13, lbl_8063E430-_SDA_BASE_
+/* 80344400 00340060 98 03 00 00 */ stb r0, 0(r3)
+/* 80344404 00340064 38 A0 00 07 */ li r5, 7
+/* 80344408 00340068 83 9F 00 1C */ lwz r28, 0x1c(r31)
+/* 8034440C 0034006C 7F 83 E3 78 */ mr r3, r28
+/* 80344410 00340070 4B E8 A1 59 */ bl func_801CE568
+/* 80344414 00340074 2C 03 00 00 */ cmpwi r3, 0
+/* 80344418 00340078 40 82 00 90 */ bne lbl_803444A8
+/* 8034441C 0034007C 80 7F 00 18 */ lwz r3, 0x18(r31)
+/* 80344420 00340080 38 03 00 01 */ addi r0, r3, 1
+/* 80344424 00340084 2C 00 00 01 */ cmpwi r0, 1
+/* 80344428 00340088 90 1F 00 18 */ stw r0, 0x18(r31)
+/* 8034442C 0034008C 40 81 00 18 */ ble lbl_80344444
+/* 80344430 00340090 7F C3 F3 78 */ mr r3, r30
+/* 80344434 00340094 38 9D 00 1C */ addi r4, r29, 0x1c
+/* 80344438 00340098 48 00 40 21 */ bl gpiSetErrorString
+/* 8034443C 0034009C 38 60 00 03 */ li r3, 3
+/* 80344440 003400A0 48 00 00 EC */ b lbl_8034452C
+lbl_80344444:
+/* 80344444 003400A4 7F C3 F3 78 */ mr r3, r30
+/* 80344448 003400A8 38 C1 00 08 */ addi r6, r1, 8
+/* 8034444C 003400AC 38 80 00 02 */ li r4, 2
+/* 80344450 003400B0 38 A0 00 00 */ li r5, 0
+/* 80344454 003400B4 38 E0 00 00 */ li r7, 0
+/* 80344458 003400B8 39 00 00 00 */ li r8, 0
+/* 8034445C 003400BC 39 20 00 00 */ li r9, 0
+/* 80344460 003400C0 4B FF FA 7D */ bl gpiAddOperation
+/* 80344464 003400C4 2C 03 00 00 */ cmpwi r3, 0
+/* 80344468 003400C8 41 82 00 08 */ beq lbl_80344470
+/* 8034446C 003400CC 48 00 00 30 */ b lbl_8034449C
+lbl_80344470:
+/* 80344470 003400D0 80 A1 00 08 */ lwz r5, 8(r1)
+/* 80344474 003400D4 7F C3 F3 78 */ mr r3, r30
+/* 80344478 003400D8 80 9F 00 0C */ lwz r4, 0xc(r31)
+/* 8034447C 003400DC 80 A5 00 18 */ lwz r5, 0x18(r5)
+/* 80344480 003400E0 4B FF F3 11 */ bl gpiSendGetInfo
+/* 80344484 003400E4 2C 03 00 00 */ cmpwi r3, 0
+/* 80344488 003400E8 41 82 00 08 */ beq lbl_80344490
+/* 8034448C 003400EC 48 00 00 10 */ b lbl_8034449C
+lbl_80344490:
+/* 80344490 003400F0 38 00 00 65 */ li r0, 0x65
+/* 80344494 003400F4 38 60 00 00 */ li r3, 0
+/* 80344498 003400F8 90 1F 00 00 */ stw r0, 0(r31)
+lbl_8034449C:
+/* 8034449C 003400FC 2C 03 00 00 */ cmpwi r3, 0
+/* 803444A0 00340100 41 82 00 34 */ beq lbl_803444D4
+/* 803444A4 00340104 48 00 00 88 */ b lbl_8034452C
+lbl_803444A8:
+/* 803444A8 00340108 7F 83 E3 78 */ mr r3, r28
+/* 803444AC 0034010C 38 8D 91 78 */ addi r4, r13, lbl_8063E438-_SDA_BASE_
+/* 803444B0 00340110 38 A0 00 06 */ li r5, 6
+/* 803444B4 00340114 4B E8 A0 B5 */ bl func_801CE568
+/* 803444B8 00340118 2C 03 00 00 */ cmpwi r3, 0
+/* 803444BC 0034011C 41 82 00 18 */ beq lbl_803444D4
+/* 803444C0 00340120 7F C3 F3 78 */ mr r3, r30
+/* 803444C4 00340124 38 9D 00 40 */ addi r4, r29, 0x40
+/* 803444C8 00340128 48 00 3F 91 */ bl gpiSetErrorString
+/* 803444CC 0034012C 38 60 00 03 */ li r3, 3
+/* 803444D0 00340130 48 00 00 5C */ b lbl_8034452C
+lbl_803444D4:
+/* 803444D4 00340134 38 60 00 69 */ li r3, 0x69
+/* 803444D8 00340138 38 00 00 00 */ li r0, 0
+/* 803444DC 0034013C 90 7F 00 00 */ stw r3, 0(r31)
+/* 803444E0 00340140 90 1F 00 24 */ stw r0, 0x24(r31)
+lbl_803444E4:
+/* 803444E4 00340144 80 1F 00 34 */ lwz r0, 0x34(r31)
+/* 803444E8 00340148 2C 00 00 00 */ cmpwi r0, 0
+/* 803444EC 0034014C 40 81 00 3C */ ble lbl_80344528
+/* 803444F0 00340150 80 9F 00 08 */ lwz r4, 8(r31)
+/* 803444F4 00340154 7F C3 F3 78 */ mr r3, r30
+/* 803444F8 00340158 38 BF 00 2C */ addi r5, r31, 0x2c
+/* 803444FC 0034015C 38 C1 00 10 */ addi r6, r1, 0x10
+/* 80344500 00340160 38 E0 00 01 */ li r7, 1
+/* 80344504 00340164 39 0D 91 68 */ addi r8, r13, lbl_8063E428-_SDA_BASE_
+/* 80344508 00340168 4B FF B4 8D */ bl gpiSendFromBuffer
+/* 8034450C 0034016C 80 01 00 10 */ lwz r0, 0x10(r1)
+/* 80344510 00340170 2C 00 00 00 */ cmpwi r0, 0
+/* 80344514 00340174 40 82 00 0C */ bne lbl_80344520
+/* 80344518 00340178 2C 03 00 00 */ cmpwi r3, 0
+/* 8034451C 0034017C 41 82 00 0C */ beq lbl_80344528
+lbl_80344520:
+/* 80344520 00340180 38 00 00 6A */ li r0, 0x6a
+/* 80344524 00340184 90 1F 00 00 */ stw r0, 0(r31)
+lbl_80344528:
+/* 80344528 00340188 38 60 00 00 */ li r3, 0
+lbl_8034452C:
+/* 8034452C 0034018C 39 61 00 40 */ addi r11, r1, 0x40
+/* 80344530 00340190 4B E8 2C 45 */ bl _restgpr_27
+/* 80344534 00340194 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 80344538 00340198 7C 08 03 A6 */ mtlr r0
+/* 8034453C 0034019C 38 21 00 40 */ addi r1, r1, 0x40
+/* 80344540 003401A0 4E 80 00 20 */ blr
+
+.global gpiProcessPeerAcceptingConnection
+gpiProcessPeerAcceptingConnection:
+/* 80344544 003401A4 94 21 FE 60 */ stwu r1, -0x1a0(r1)
+/* 80344548 003401A8 7C 08 02 A6 */ mflr r0
+/* 8034454C 003401AC 90 01 01 A4 */ stw r0, 0x1a4(r1)
+/* 80344550 003401B0 39 61 01 A0 */ addi r11, r1, 0x1a0
+/* 80344554 003401B4 4B E8 2B D5 */ bl _savegpr_27
+/* 80344558 003401B8 7C 9C 23 78 */ mr r28, r4
+/* 8034455C 003401BC 83 A3 00 00 */ lwz r29, 0(r3)
+/* 80344560 003401C0 80 84 00 08 */ lwz r4, 8(r4)
+/* 80344564 003401C4 7C 7B 1B 78 */ mr r27, r3
+/* 80344568 003401C8 38 BC 00 1C */ addi r5, r28, 0x1c
+/* 8034456C 003401CC 38 C1 00 0C */ addi r6, r1, 0xc
+/* 80344570 003401D0 38 E1 00 08 */ addi r7, r1, 8
+/* 80344574 003401D4 39 0D 91 68 */ addi r8, r13, lbl_8063E428-_SDA_BASE_
+/* 80344578 003401D8 4B FF B2 DD */ bl gpiRecvToBuffer
+/* 8034457C 003401DC 2C 03 00 00 */ cmpwi r3, 0
+/* 80344580 003401E0 41 82 00 08 */ beq lbl_80344588
+/* 80344584 003401E4 48 00 01 A8 */ b lbl_8034472C
+lbl_80344588:
+/* 80344588 003401E8 80 01 00 08 */ lwz r0, 8(r1)
+/* 8034458C 003401EC 2C 00 00 00 */ cmpwi r0, 0
+/* 80344590 003401F0 41 82 00 14 */ beq lbl_803445A4
+/* 80344594 003401F4 38 00 00 6A */ li r0, 0x6a
+/* 80344598 003401F8 38 60 00 00 */ li r3, 0
+/* 8034459C 003401FC 90 1C 00 00 */ stw r0, 0(r28)
+/* 803445A0 00340200 48 00 01 8C */ b lbl_8034472C
+lbl_803445A4:
+/* 803445A4 00340204 80 7C 00 1C */ lwz r3, 0x1c(r28)
+/* 803445A8 00340208 38 8D 91 60 */ addi r4, r13, lbl_8063E420-_SDA_BASE_
+/* 803445AC 0034020C 4B E8 A1 F5 */ bl func_801CE7A0
+/* 803445B0 00340210 2C 03 00 00 */ cmpwi r3, 0
+/* 803445B4 00340214 41 82 01 74 */ beq lbl_80344728
+/* 803445B8 00340218 3B E0 00 00 */ li r31, 0
+/* 803445BC 0034021C 38 8D 91 40 */ addi r4, r13, lbl_8063E400-_SDA_BASE_
+/* 803445C0 00340220 9B E3 00 00 */ stb r31, 0(r3)
+/* 803445C4 00340224 38 A0 00 06 */ li r5, 6
+/* 803445C8 00340228 83 DC 00 1C */ lwz r30, 0x1c(r28)
+/* 803445CC 0034022C 7F C3 F3 78 */ mr r3, r30
+/* 803445D0 00340230 4B E8 9F 99 */ bl func_801CE568
+/* 803445D4 00340234 2C 03 00 00 */ cmpwi r3, 0
+/* 803445D8 00340238 40 82 01 3C */ bne lbl_80344714
+/* 803445DC 0034023C 7F C3 F3 78 */ mr r3, r30
+/* 803445E0 00340240 38 A1 00 10 */ addi r5, r1, 0x10
+/* 803445E4 00340244 38 8D 91 48 */ addi r4, r13, lbl_8063E408-_SDA_BASE_
+/* 803445E8 00340248 38 C0 00 10 */ li r6, 0x10
+/* 803445EC 0034024C 48 00 3A A1 */ bl gpiValueForKey
+/* 803445F0 00340250 2C 03 00 00 */ cmpwi r3, 0
+/* 803445F4 00340254 40 82 00 14 */ bne lbl_80344608
+/* 803445F8 00340258 38 00 00 6A */ li r0, 0x6a
+/* 803445FC 0034025C 38 60 00 00 */ li r3, 0
+/* 80344600 00340260 90 1C 00 00 */ stw r0, 0(r28)
+/* 80344604 00340264 48 00 01 28 */ b lbl_8034472C
+lbl_80344608:
+/* 80344608 00340268 38 61 00 10 */ addi r3, r1, 0x10
+/* 8034460C 0034026C 4B E8 C1 01 */ bl func_801D070C
+/* 80344610 00340270 7C 7E 1B 78 */ mr r30, r3
+/* 80344614 00340274 80 7C 00 1C */ lwz r3, 0x1c(r28)
+/* 80344618 00340278 38 A1 00 20 */ addi r5, r1, 0x20
+/* 8034461C 0034027C 38 8D 91 50 */ addi r4, r13, lbl_8063E410-_SDA_BASE_
+/* 80344620 00340280 38 C0 00 1F */ li r6, 0x1f
+/* 80344624 00340284 48 00 3A 69 */ bl gpiValueForKey
+/* 80344628 00340288 2C 03 00 00 */ cmpwi r3, 0
+/* 8034462C 0034028C 40 82 00 14 */ bne lbl_80344640
+/* 80344630 00340290 38 00 00 6A */ li r0, 0x6a
+/* 80344634 00340294 38 60 00 00 */ li r3, 0
+/* 80344638 00340298 90 1C 00 00 */ stw r0, 0(r28)
+/* 8034463C 0034029C 48 00 00 F0 */ b lbl_8034472C
+lbl_80344640:
+/* 80344640 003402A0 80 7C 00 1C */ lwz r3, 0x1c(r28)
+/* 80344644 003402A4 38 A1 00 64 */ addi r5, r1, 0x64
+/* 80344648 003402A8 38 8D 91 58 */ addi r4, r13, lbl_8063E418-_SDA_BASE_
+/* 8034464C 003402AC 38 C0 00 21 */ li r6, 0x21
+/* 80344650 003402B0 48 00 3A 3D */ bl gpiValueForKey
+/* 80344654 003402B4 2C 03 00 00 */ cmpwi r3, 0
+/* 80344658 003402B8 40 82 00 14 */ bne lbl_8034466C
+/* 8034465C 003402BC 38 00 00 6A */ li r0, 0x6a
+/* 80344660 003402C0 38 60 00 00 */ li r3, 0
+/* 80344664 003402C4 90 1C 00 00 */ stw r0, 0(r28)
+/* 80344668 003402C8 48 00 00 C4 */ b lbl_8034472C
+lbl_8034466C:
+/* 8034466C 003402CC 80 DD 01 A0 */ lwz r6, 0x1a0(r29)
+/* 80344670 003402D0 7F C7 F3 78 */ mr r7, r30
+/* 80344674 003402D4 38 61 00 88 */ addi r3, r1, 0x88
+/* 80344678 003402D8 38 BD 01 77 */ addi r5, r29, 0x177
+/* 8034467C 003402DC 38 8D 91 80 */ addi r4, r13, lbl_8063E440-_SDA_BASE_
+/* 80344680 003402E0 4C C6 31 82 */ crclr 6
+/* 80344684 003402E4 4B E8 84 79 */ bl func_801CCAFC
+/* 80344688 003402E8 38 61 00 88 */ addi r3, r1, 0x88
+/* 8034468C 003402EC 4B E8 24 D9 */ bl strlen
+/* 80344690 003402F0 7C 64 1B 78 */ mr r4, r3
+/* 80344694 003402F4 38 61 00 88 */ addi r3, r1, 0x88
+/* 80344698 003402F8 38 A1 00 40 */ addi r5, r1, 0x40
+/* 8034469C 003402FC 4B FF 33 71 */ bl MD5Digest
+/* 803446A0 00340300 38 61 00 64 */ addi r3, r1, 0x64
+/* 803446A4 00340304 38 81 00 40 */ addi r4, r1, 0x40
+/* 803446A8 00340308 4B E8 9D A5 */ bl func_801CE44C
+/* 803446AC 0034030C 2C 03 00 00 */ cmpwi r3, 0
+/* 803446B0 00340310 41 82 00 34 */ beq lbl_803446E4
+/* 803446B4 00340314 7F 63 DB 78 */ mr r3, r27
+/* 803446B8 00340318 38 9C 00 2C */ addi r4, r28, 0x2c
+/* 803446BC 0034031C 38 AD 91 70 */ addi r5, r13, lbl_8063E430-_SDA_BASE_
+/* 803446C0 00340320 4B FF AD E1 */ bl gpiAppendStringToBuffer
+/* 803446C4 00340324 7F 63 DB 78 */ mr r3, r27
+/* 803446C8 00340328 38 9C 00 2C */ addi r4, r28, 0x2c
+/* 803446CC 0034032C 38 AD 91 60 */ addi r5, r13, lbl_8063E420-_SDA_BASE_
+/* 803446D0 00340330 4B FF AD D1 */ bl gpiAppendStringToBuffer
+/* 803446D4 00340334 38 00 00 6A */ li r0, 0x6a
+/* 803446D8 00340338 38 60 00 00 */ li r3, 0
+/* 803446DC 0034033C 90 1C 00 00 */ stw r0, 0(r28)
+/* 803446E0 00340340 48 00 00 4C */ b lbl_8034472C
+lbl_803446E4:
+/* 803446E4 00340344 7F 63 DB 78 */ mr r3, r27
+/* 803446E8 00340348 38 9C 00 2C */ addi r4, r28, 0x2c
+/* 803446EC 0034034C 38 AD 91 78 */ addi r5, r13, lbl_8063E438-_SDA_BASE_
+/* 803446F0 00340350 4B FF AD B1 */ bl gpiAppendStringToBuffer
+/* 803446F4 00340354 7F 63 DB 78 */ mr r3, r27
+/* 803446F8 00340358 38 9C 00 2C */ addi r4, r28, 0x2c
+/* 803446FC 0034035C 38 AD 91 60 */ addi r5, r13, lbl_8063E420-_SDA_BASE_
+/* 80344700 00340360 4B FF AD A1 */ bl gpiAppendStringToBuffer
+/* 80344704 00340364 38 00 00 69 */ li r0, 0x69
+/* 80344708 00340368 93 DC 00 0C */ stw r30, 0xc(r28)
+/* 8034470C 0034036C 90 1C 00 00 */ stw r0, 0(r28)
+/* 80344710 00340370 48 00 00 14 */ b lbl_80344724
+lbl_80344714:
+/* 80344714 00340374 38 00 00 6A */ li r0, 0x6a
+/* 80344718 00340378 38 60 00 00 */ li r3, 0
+/* 8034471C 0034037C 90 1C 00 00 */ stw r0, 0(r28)
+/* 80344720 00340380 48 00 00 0C */ b lbl_8034472C
+lbl_80344724:
+/* 80344724 00340384 93 FC 00 24 */ stw r31, 0x24(r28)
+lbl_80344728:
+/* 80344728 00340388 38 60 00 00 */ li r3, 0
+lbl_8034472C:
+/* 8034472C 0034038C 39 61 01 A0 */ addi r11, r1, 0x1a0
+/* 80344730 00340390 4B E8 2A 45 */ bl _restgpr_27
+/* 80344734 00340394 80 01 01 A4 */ lwz r0, 0x1a4(r1)
+/* 80344738 00340398 7C 08 03 A6 */ mtlr r0
+/* 8034473C 0034039C 38 21 01 A0 */ addi r1, r1, 0x1a0
+/* 80344740 003403A0 4E 80 00 20 */ blr
+
+.global gpiProcessPeerConnected
+gpiProcessPeerConnected:
+/* 80344744 003403A4 94 21 FF B0 */ stwu r1, -0x50(r1)
+/* 80344748 003403A8 7C 08 02 A6 */ mflr r0
+/* 8034474C 003403AC 90 01 00 54 */ stw r0, 0x54(r1)
+/* 80344750 003403B0 93 E1 00 4C */ stw r31, 0x4c(r1)
+/* 80344754 003403B4 93 C1 00 48 */ stw r30, 0x48(r1)
+/* 80344758 003403B8 7C 9E 23 78 */ mr r30, r4
+/* 8034475C 003403BC 93 A1 00 44 */ stw r29, 0x44(r1)
+/* 80344760 003403C0 7C 7D 1B 78 */ mr r29, r3
+/* 80344764 003403C4 93 81 00 40 */ stw r28, 0x40(r1)
+/* 80344768 003403C8 80 04 00 34 */ lwz r0, 0x34(r4)
+/* 8034476C 003403CC 83 E3 00 00 */ lwz r31, 0(r3)
+/* 80344770 003403D0 2C 00 00 00 */ cmpwi r0, 0
+/* 80344774 003403D4 41 82 00 40 */ beq lbl_803447B4
+/* 80344778 003403D8 80 84 00 08 */ lwz r4, 8(r4)
+/* 8034477C 003403DC 38 BE 00 2C */ addi r5, r30, 0x2c
+/* 80344780 003403E0 38 C1 00 18 */ addi r6, r1, 0x18
+/* 80344784 003403E4 38 E0 00 01 */ li r7, 1
+/* 80344788 003403E8 39 0D 91 68 */ addi r8, r13, lbl_8063E428-_SDA_BASE_
+/* 8034478C 003403EC 4B FF B2 09 */ bl gpiSendFromBuffer
+/* 80344790 003403F0 80 01 00 18 */ lwz r0, 0x18(r1)
+/* 80344794 003403F4 2C 00 00 00 */ cmpwi r0, 0
+/* 80344798 003403F8 40 82 00 0C */ bne lbl_803447A4
+/* 8034479C 003403FC 2C 03 00 00 */ cmpwi r3, 0
+/* 803447A0 00340400 41 82 00 14 */ beq lbl_803447B4
+lbl_803447A4:
+/* 803447A4 00340404 38 00 00 6A */ li r0, 0x6a
+/* 803447A8 00340408 38 60 00 00 */ li r3, 0
+/* 803447AC 0034040C 90 1E 00 00 */ stw r0, 0(r30)
+/* 803447B0 00340410 48 00 03 1C */ b lbl_80344ACC
+lbl_803447B4:
+/* 803447B4 00340414 80 1E 00 34 */ lwz r0, 0x34(r30)
+/* 803447B8 00340418 2C 00 00 00 */ cmpwi r0, 0
+/* 803447BC 0034041C 40 82 00 B4 */ bne lbl_80344870
+/* 803447C0 00340420 41 82 00 7C */ beq lbl_8034483C
+/* 803447C4 00340424 38 60 00 00 */ li r3, 0
+/* 803447C8 00340428 48 00 00 88 */ b lbl_80344850
+/* 803447CC 0034042C 48 00 00 70 */ b lbl_8034483C
+lbl_803447D0:
+/* 803447D0 00340430 80 7E 00 3C */ lwz r3, 0x3c(r30)
+/* 803447D4 00340434 38 80 00 00 */ li r4, 0
+/* 803447D8 00340438 4B FF 17 19 */ bl ArrayNth
+/* 803447DC 0034043C 7C 7C 1B 78 */ mr r28, r3
+/* 803447E0 00340440 80 9E 00 08 */ lwz r4, 8(r30)
+/* 803447E4 00340444 7F A3 EB 78 */ mr r3, r29
+/* 803447E8 00340448 38 C1 00 08 */ addi r6, r1, 8
+/* 803447EC 0034044C 7F 85 E3 78 */ mr r5, r28
+/* 803447F0 00340450 38 E0 00 00 */ li r7, 0
+/* 803447F4 00340454 39 0D 91 68 */ addi r8, r13, lbl_8063E428-_SDA_BASE_
+/* 803447F8 00340458 4B FF B1 9D */ bl gpiSendFromBuffer
+/* 803447FC 0034045C 80 01 00 08 */ lwz r0, 8(r1)
+/* 80344800 00340460 2C 00 00 00 */ cmpwi r0, 0
+/* 80344804 00340464 40 82 00 0C */ bne lbl_80344810
+/* 80344808 00340468 2C 03 00 00 */ cmpwi r3, 0
+/* 8034480C 0034046C 41 82 00 14 */ beq lbl_80344820
+lbl_80344810:
+/* 80344810 00340470 38 00 00 6A */ li r0, 0x6a
+/* 80344814 00340474 38 60 00 00 */ li r3, 0
+/* 80344818 00340478 90 1E 00 00 */ stw r0, 0(r30)
+/* 8034481C 0034047C 48 00 00 34 */ b lbl_80344850
+lbl_80344820:
+/* 80344820 00340480 80 7C 00 0C */ lwz r3, 0xc(r28)
+/* 80344824 00340484 80 1C 00 08 */ lwz r0, 8(r28)
+/* 80344828 00340488 7C 03 00 00 */ cmpw r3, r0
+/* 8034482C 0034048C 40 82 00 20 */ bne lbl_8034484C
+/* 80344830 00340490 80 7E 00 3C */ lwz r3, 0x3c(r30)
+/* 80344834 00340494 38 80 00 00 */ li r4, 0
+/* 80344838 00340498 4B FF 1A 39 */ bl ArrayDeleteAt
+lbl_8034483C:
+/* 8034483C 0034049C 80 7E 00 3C */ lwz r3, 0x3c(r30)
+/* 80344840 003404A0 4B FF 16 A9 */ bl ArrayLength
+/* 80344844 003404A4 2C 03 00 00 */ cmpwi r3, 0
+/* 80344848 003404A8 40 82 FF 88 */ bne lbl_803447D0
+lbl_8034484C:
+/* 8034484C 003404AC 38 60 00 00 */ li r3, 0
+lbl_80344850:
+/* 80344850 003404B0 2C 03 00 00 */ cmpwi r3, 0
+/* 80344854 003404B4 41 82 00 08 */ beq lbl_8034485C
+/* 80344858 003404B8 48 00 02 74 */ b lbl_80344ACC
+lbl_8034485C:
+/* 8034485C 003404BC 80 1E 00 00 */ lwz r0, 0(r30)
+/* 80344860 003404C0 2C 00 00 6A */ cmpwi r0, 0x6a
+/* 80344864 003404C4 40 82 00 0C */ bne lbl_80344870
+/* 80344868 003404C8 38 60 00 00 */ li r3, 0
+/* 8034486C 003404CC 48 00 02 60 */ b lbl_80344ACC
+lbl_80344870:
+/* 80344870 003404D0 80 9E 00 08 */ lwz r4, 8(r30)
+/* 80344874 003404D4 7F A3 EB 78 */ mr r3, r29
+/* 80344878 003404D8 38 BE 00 1C */ addi r5, r30, 0x1c
+/* 8034487C 003404DC 38 C1 00 1C */ addi r6, r1, 0x1c
+/* 80344880 003404E0 38 E1 00 18 */ addi r7, r1, 0x18
+/* 80344884 003404E4 39 0D 91 68 */ addi r8, r13, lbl_8063E428-_SDA_BASE_
+/* 80344888 003404E8 4B FF AF CD */ bl gpiRecvToBuffer
+/* 8034488C 003404EC 2C 03 00 00 */ cmpwi r3, 0
+/* 80344890 003404F0 41 82 00 14 */ beq lbl_803448A4
+/* 80344894 003404F4 38 00 00 6A */ li r0, 0x6a
+/* 80344898 003404F8 38 60 00 00 */ li r3, 0
+/* 8034489C 003404FC 90 1E 00 00 */ stw r0, 0(r30)
+/* 803448A0 00340500 48 00 02 2C */ b lbl_80344ACC
+lbl_803448A4:
+/* 803448A4 00340504 80 01 00 1C */ lwz r0, 0x1c(r1)
+/* 803448A8 00340508 2C 00 00 00 */ cmpwi r0, 0
+/* 803448AC 0034050C 40 81 00 24 */ ble lbl_803448D0
+/* 803448B0 00340510 38 60 00 00 */ li r3, 0
+/* 803448B4 00340514 4B FF 42 55 */ bl gsiTimeInSec
+/* 803448B8 00340518 38 A0 01 2C */ li r5, 0x12c
+/* 803448BC 0034051C 38 00 00 00 */ li r0, 0
+/* 803448C0 00340520 7C 84 28 14 */ addc r4, r4, r5
+/* 803448C4 00340524 7C 03 01 14 */ adde r0, r3, r0
+/* 803448C8 00340528 90 9E 00 14 */ stw r4, 0x14(r30)
+/* 803448CC 0034052C 90 1E 00 10 */ stw r0, 0x10(r30)
+lbl_803448D0:
+/* 803448D0 00340530 7F A3 EB 78 */ mr r3, r29
+/* 803448D4 00340534 38 9E 00 1C */ addi r4, r30, 0x1c
+/* 803448D8 00340538 38 A1 00 14 */ addi r5, r1, 0x14
+/* 803448DC 0034053C 38 C1 00 10 */ addi r6, r1, 0x10
+/* 803448E0 00340540 38 E1 00 0C */ addi r7, r1, 0xc
+/* 803448E4 00340544 4B FF B1 B1 */ bl gpiReadMessageFromBuffer
+/* 803448E8 00340548 2C 03 00 00 */ cmpwi r3, 0
+/* 803448EC 0034054C 41 82 00 08 */ beq lbl_803448F4
+/* 803448F0 00340550 48 00 01 DC */ b lbl_80344ACC
+lbl_803448F4:
+/* 803448F4 00340554 80 E1 00 14 */ lwz r7, 0x14(r1)
+/* 803448F8 00340558 2C 07 00 00 */ cmpwi r7, 0
+/* 803448FC 0034055C 41 82 01 AC */ beq lbl_80344AA8
+/* 80344900 00340560 80 A1 00 10 */ lwz r5, 0x10(r1)
+/* 80344904 00340564 2C 05 00 66 */ cmpwi r5, 0x66
+/* 80344908 00340568 41 82 01 64 */ beq lbl_80344A6C
+/* 8034490C 0034056C 40 80 00 1C */ bge lbl_80344928
+/* 80344910 00340570 2C 05 00 05 */ cmpwi r5, 5
+/* 80344914 00340574 41 82 00 C0 */ beq lbl_803449D4
+/* 80344918 00340578 40 80 01 84 */ bge lbl_80344A9C
+/* 8034491C 0034057C 2C 05 00 01 */ cmpwi r5, 1
+/* 80344920 00340580 41 82 00 1C */ beq lbl_8034493C
+/* 80344924 00340584 48 00 01 78 */ b lbl_80344A9C
+lbl_80344928:
+/* 80344928 00340588 2C 05 00 D1 */ cmpwi r5, 0xd1
+/* 8034492C 0034058C 40 80 01 70 */ bge lbl_80344A9C
+/* 80344930 00340590 2C 05 00 C8 */ cmpwi r5, 0xc8
+/* 80344934 00340594 40 80 01 54 */ bge lbl_80344A88
+/* 80344938 00340598 48 00 01 64 */ b lbl_80344A9C
+lbl_8034493C:
+/* 8034493C 0034059C 80 7F 01 C0 */ lwz r3, 0x1c0(r31)
+/* 80344940 003405A0 80 1F 01 C4 */ lwz r0, 0x1c4(r31)
+/* 80344944 003405A4 2C 03 00 00 */ cmpwi r3, 0
+/* 80344948 003405A8 90 61 00 38 */ stw r3, 0x38(r1)
+/* 8034494C 003405AC 90 01 00 3C */ stw r0, 0x3c(r1)
+/* 80344950 003405B0 41 82 01 4C */ beq lbl_80344A9C
+/* 80344954 003405B4 38 60 00 0C */ li r3, 0xc
+/* 80344958 003405B8 4B FF 49 BD */ bl gsimalloc
+/* 8034495C 003405BC 2C 03 00 00 */ cmpwi r3, 0
+/* 80344960 003405C0 7C 7C 1B 78 */ mr r28, r3
+/* 80344964 003405C4 40 82 00 1C */ bne lbl_80344980
+/* 80344968 003405C8 3C 80 80 45 */ lis r4, lbl_8044AFB0@ha
+/* 8034496C 003405CC 7F A3 EB 78 */ mr r3, r29
+/* 80344970 003405D0 38 84 AF B0 */ addi r4, r4, lbl_8044AFB0@l
+/* 80344974 003405D4 48 00 3A E5 */ bl gpiSetErrorString
+/* 80344978 003405D8 38 60 00 01 */ li r3, 1
+/* 8034497C 003405DC 48 00 01 50 */ b lbl_80344ACC
+lbl_80344980:
+/* 80344980 003405E0 80 1E 00 0C */ lwz r0, 0xc(r30)
+/* 80344984 003405E4 90 03 00 00 */ stw r0, 0(r3)
+/* 80344988 003405E8 80 61 00 14 */ lwz r3, 0x14(r1)
+/* 8034498C 003405EC 4B FF 45 79 */ bl goastrdup
+/* 80344990 003405F0 90 7C 00 08 */ stw r3, 8(r28)
+/* 80344994 003405F4 38 60 00 00 */ li r3, 0
+/* 80344998 003405F8 4B FF 41 71 */ bl gsiTimeInSec
+/* 8034499C 003405FC 90 9C 00 04 */ stw r4, 4(r28)
+/* 803449A0 00340600 7F A3 EB 78 */ mr r3, r29
+/* 803449A4 00340604 80 C1 00 38 */ lwz r6, 0x38(r1)
+/* 803449A8 00340608 7F 85 E3 78 */ mr r5, r28
+/* 803449AC 0034060C 80 01 00 3C */ lwz r0, 0x3c(r1)
+/* 803449B0 00340610 38 81 00 30 */ addi r4, r1, 0x30
+/* 803449B4 00340614 90 C1 00 30 */ stw r6, 0x30(r1)
+/* 803449B8 00340618 38 C0 00 00 */ li r6, 0
+/* 803449BC 0034061C 38 E0 00 02 */ li r7, 2
+/* 803449C0 00340620 90 01 00 34 */ stw r0, 0x34(r1)
+/* 803449C4 00340624 4B FF B3 65 */ bl gpiAddCallback
+/* 803449C8 00340628 2C 03 00 00 */ cmpwi r3, 0
+/* 803449CC 0034062C 41 82 00 D0 */ beq lbl_80344A9C
+/* 803449D0 00340630 48 00 00 FC */ b lbl_80344ACC
+lbl_803449D4:
+/* 803449D4 00340634 80 7F 01 C8 */ lwz r3, 0x1c8(r31)
+/* 803449D8 00340638 80 1F 01 CC */ lwz r0, 0x1cc(r31)
+/* 803449DC 0034063C 2C 03 00 00 */ cmpwi r3, 0
+/* 803449E0 00340640 90 61 00 20 */ stw r3, 0x20(r1)
+/* 803449E4 00340644 90 01 00 24 */ stw r0, 0x24(r1)
+/* 803449E8 00340648 41 82 00 B4 */ beq lbl_80344A9C
+/* 803449EC 0034064C 38 60 00 0C */ li r3, 0xc
+/* 803449F0 00340650 4B FF 49 25 */ bl gsimalloc
+/* 803449F4 00340654 2C 03 00 00 */ cmpwi r3, 0
+/* 803449F8 00340658 7C 7C 1B 78 */ mr r28, r3
+/* 803449FC 0034065C 40 82 00 1C */ bne lbl_80344A18
+/* 80344A00 00340660 3C 80 80 45 */ lis r4, lbl_8044AFB0@ha
+/* 80344A04 00340664 7F A3 EB 78 */ mr r3, r29
+/* 80344A08 00340668 38 84 AF B0 */ addi r4, r4, lbl_8044AFB0@l
+/* 80344A0C 0034066C 48 00 3A 4D */ bl gpiSetErrorString
+/* 80344A10 00340670 38 60 00 01 */ li r3, 1
+/* 80344A14 00340674 48 00 00 B8 */ b lbl_80344ACC
+lbl_80344A18:
+/* 80344A18 00340678 80 1E 00 0C */ lwz r0, 0xc(r30)
+/* 80344A1C 0034067C 90 03 00 00 */ stw r0, 0(r3)
+/* 80344A20 00340680 80 61 00 14 */ lwz r3, 0x14(r1)
+/* 80344A24 00340684 4B FF 44 E1 */ bl goastrdup
+/* 80344A28 00340688 90 7C 00 08 */ stw r3, 8(r28)
+/* 80344A2C 0034068C 38 60 00 00 */ li r3, 0
+/* 80344A30 00340690 4B FF 40 D9 */ bl gsiTimeInSec
+/* 80344A34 00340694 90 9C 00 04 */ stw r4, 4(r28)
+/* 80344A38 00340698 7F A3 EB 78 */ mr r3, r29
+/* 80344A3C 0034069C 80 C1 00 20 */ lwz r6, 0x20(r1)
+/* 80344A40 003406A0 7F 85 E3 78 */ mr r5, r28
+/* 80344A44 003406A4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80344A48 003406A8 38 81 00 28 */ addi r4, r1, 0x28
+/* 80344A4C 003406AC 90 C1 00 28 */ stw r6, 0x28(r1)
+/* 80344A50 003406B0 38 C0 00 00 */ li r6, 0
+/* 80344A54 003406B4 38 E0 00 02 */ li r7, 2
+/* 80344A58 003406B8 90 01 00 2C */ stw r0, 0x2c(r1)
+/* 80344A5C 003406BC 4B FF B2 CD */ bl gpiAddCallback
+/* 80344A60 003406C0 2C 03 00 00 */ cmpwi r3, 0
+/* 80344A64 003406C4 41 82 00 38 */ beq lbl_80344A9C
+/* 80344A68 003406C8 48 00 00 64 */ b lbl_80344ACC
+lbl_80344A6C:
+/* 80344A6C 003406CC 80 9E 00 0C */ lwz r4, 0xc(r30)
+/* 80344A70 003406D0 7F A3 EB 78 */ mr r3, r29
+/* 80344A74 003406D4 38 A0 00 67 */ li r5, 0x67
+/* 80344A78 003406D8 38 CD 91 88 */ addi r6, r13, lbl_8063E448-_SDA_BASE_
+/* 80344A7C 003406DC 38 E0 00 00 */ li r7, 0
+/* 80344A80 003406E0 4B FF A4 51 */ bl gpiSendBuddyMessage
+/* 80344A84 003406E4 48 00 00 18 */ b lbl_80344A9C
+lbl_80344A88:
+/* 80344A88 003406E8 80 DE 00 1C */ lwz r6, 0x1c(r30)
+/* 80344A8C 003406EC 7F A3 EB 78 */ mr r3, r29
+/* 80344A90 003406F0 81 01 00 0C */ lwz r8, 0xc(r1)
+/* 80344A94 003406F4 7F C4 F3 78 */ mr r4, r30
+/* 80344A98 003406F8 48 00 32 A5 */ bl gpiHandleTransferMessage
+lbl_80344A9C:
+/* 80344A9C 003406FC 7F A3 EB 78 */ mr r3, r29
+/* 80344AA0 00340700 38 9E 00 1C */ addi r4, r30, 0x1c
+/* 80344AA4 00340704 4B FF B1 45 */ bl gpiClipBufferToPosition
+lbl_80344AA8:
+/* 80344AA8 00340708 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80344AAC 0034070C 2C 00 00 00 */ cmpwi r0, 0
+/* 80344AB0 00340710 40 82 FE 20 */ bne lbl_803448D0
+/* 80344AB4 00340714 80 01 00 18 */ lwz r0, 0x18(r1)
+/* 80344AB8 00340718 2C 00 00 00 */ cmpwi r0, 0
+/* 80344ABC 0034071C 41 82 00 0C */ beq lbl_80344AC8
+/* 80344AC0 00340720 38 00 00 6A */ li r0, 0x6a
+/* 80344AC4 00340724 90 1E 00 00 */ stw r0, 0(r30)
+lbl_80344AC8:
+/* 80344AC8 00340728 38 60 00 00 */ li r3, 0
+lbl_80344ACC:
+/* 80344ACC 0034072C 80 01 00 54 */ lwz r0, 0x54(r1)
+/* 80344AD0 00340730 83 E1 00 4C */ lwz r31, 0x4c(r1)
+/* 80344AD4 00340734 83 C1 00 48 */ lwz r30, 0x48(r1)
+/* 80344AD8 00340738 83 A1 00 44 */ lwz r29, 0x44(r1)
+/* 80344ADC 0034073C 83 81 00 40 */ lwz r28, 0x40(r1)
+/* 80344AE0 00340740 7C 08 03 A6 */ mtlr r0
+/* 80344AE4 00340744 38 21 00 50 */ addi r1, r1, 0x50
+/* 80344AE8 00340748 4E 80 00 20 */ blr
+
+.global gpiDestroyPeer
+gpiDestroyPeer:
+/* 80344AEC 0034074C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80344AF0 00340750 7C 08 02 A6 */ mflr r0
+/* 80344AF4 00340754 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80344AF8 00340758 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80344AFC 0034075C 93 C1 00 08 */ stw r30, 8(r1)
+/* 80344B00 00340760 7C 9E 23 78 */ mr r30, r4
+/* 80344B04 00340764 80 64 00 08 */ lwz r3, 8(r4)
+/* 80344B08 00340768 38 80 00 02 */ li r4, 2
+/* 80344B0C 0034076C 4B FF 31 25 */ bl shutdown
+/* 80344B10 00340770 80 7E 00 08 */ lwz r3, 8(r30)
+/* 80344B14 00340774 4B FF 30 E9 */ bl closesocket
+/* 80344B18 00340778 80 7E 00 1C */ lwz r3, 0x1c(r30)
+/* 80344B1C 0034077C 4B FF 48 1D */ bl gsifree
+/* 80344B20 00340780 3B E0 00 00 */ li r31, 0
+/* 80344B24 00340784 80 7E 00 2C */ lwz r3, 0x2c(r30)
+/* 80344B28 00340788 93 FE 00 1C */ stw r31, 0x1c(r30)
+/* 80344B2C 0034078C 4B FF 48 0D */ bl gsifree
+/* 80344B30 00340790 80 7E 00 3C */ lwz r3, 0x3c(r30)
+/* 80344B34 00340794 93 FE 00 2C */ stw r31, 0x2c(r30)
+/* 80344B38 00340798 2C 03 00 00 */ cmpwi r3, 0
+/* 80344B3C 0034079C 41 82 00 0C */ beq lbl_80344B48
+/* 80344B40 003407A0 4B FF 13 15 */ bl ArrayFree
+/* 80344B44 003407A4 93 FE 00 3C */ stw r31, 0x3c(r30)
+lbl_80344B48:
+/* 80344B48 003407A8 7F C3 F3 78 */ mr r3, r30
+/* 80344B4C 003407AC 4B FF 47 ED */ bl gsifree
+/* 80344B50 003407B0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80344B54 003407B4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80344B58 003407B8 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80344B5C 003407BC 7C 08 03 A6 */ mtlr r0
+/* 80344B60 003407C0 38 21 00 10 */ addi r1, r1, 0x10
+/* 80344B64 003407C4 4E 80 00 20 */ blr
+
+.global gpiRemovePeer
+gpiRemovePeer:
+/* 80344B68 003407C8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80344B6C 003407CC 7C 08 02 A6 */ mflr r0
+/* 80344B70 003407D0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80344B74 003407D4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80344B78 003407D8 7C 7F 1B 78 */ mr r31, r3
+/* 80344B7C 003407DC 93 C1 00 08 */ stw r30, 8(r1)
+/* 80344B80 003407E0 7C 9E 23 78 */ mr r30, r4
+/* 80344B84 003407E4 80 A3 00 00 */ lwz r5, 0(r3)
+/* 80344B88 003407E8 80 65 04 50 */ lwz r3, 0x450(r5)
+/* 80344B8C 003407EC 7C 03 20 40 */ cmplw r3, r4
+/* 80344B90 003407F0 40 82 00 20 */ bne lbl_80344BB0
+/* 80344B94 003407F4 80 04 00 40 */ lwz r0, 0x40(r4)
+/* 80344B98 003407F8 90 05 04 50 */ stw r0, 0x450(r5)
+/* 80344B9C 003407FC 48 00 00 6C */ b lbl_80344C08
+/* 80344BA0 00340800 48 00 00 10 */ b lbl_80344BB0
+lbl_80344BA4:
+/* 80344BA4 00340804 2C 00 00 00 */ cmpwi r0, 0
+/* 80344BA8 00340808 41 82 00 BC */ beq lbl_80344C64
+/* 80344BAC 0034080C 7C 03 03 78 */ mr r3, r0
+lbl_80344BB0:
+/* 80344BB0 00340810 80 03 00 40 */ lwz r0, 0x40(r3)
+/* 80344BB4 00340814 7C 00 20 40 */ cmplw r0, r4
+/* 80344BB8 00340818 40 82 FF EC */ bne lbl_80344BA4
+/* 80344BBC 0034081C 80 04 00 40 */ lwz r0, 0x40(r4)
+/* 80344BC0 00340820 90 03 00 40 */ stw r0, 0x40(r3)
+/* 80344BC4 00340824 48 00 00 44 */ b lbl_80344C08
+lbl_80344BC8:
+/* 80344BC8 00340828 80 7E 00 3C */ lwz r3, 0x3c(r30)
+/* 80344BCC 0034082C 38 80 00 00 */ li r4, 0
+/* 80344BD0 00340830 4B FF 13 21 */ bl ArrayNth
+/* 80344BD4 00340834 80 A3 00 10 */ lwz r5, 0x10(r3)
+/* 80344BD8 00340838 7C 64 1B 78 */ mr r4, r3
+/* 80344BDC 0034083C 2C 05 00 64 */ cmpwi r5, 0x64
+/* 80344BE0 00340840 40 80 00 1C */ bge lbl_80344BFC
+/* 80344BE4 00340844 80 C4 00 00 */ lwz r6, 0(r4)
+/* 80344BE8 00340848 7F E3 FB 78 */ mr r3, r31
+/* 80344BEC 0034084C 80 04 00 14 */ lwz r0, 0x14(r4)
+/* 80344BF0 00340850 80 9E 00 0C */ lwz r4, 0xc(r30)
+/* 80344BF4 00340854 7C C6 02 14 */ add r6, r6, r0
+/* 80344BF8 00340858 4B FF A1 E5 */ bl gpiSendServerBuddyMessage
+lbl_80344BFC:
+/* 80344BFC 0034085C 80 7E 00 3C */ lwz r3, 0x3c(r30)
+/* 80344C00 00340860 38 80 00 00 */ li r4, 0
+/* 80344C04 00340864 4B FF 16 6D */ bl ArrayDeleteAt
+lbl_80344C08:
+/* 80344C08 00340868 80 7E 00 3C */ lwz r3, 0x3c(r30)
+/* 80344C0C 0034086C 4B FF 12 DD */ bl ArrayLength
+/* 80344C10 00340870 2C 03 00 00 */ cmpwi r3, 0
+/* 80344C14 00340874 40 82 FF B4 */ bne lbl_80344BC8
+/* 80344C18 00340878 80 7E 00 08 */ lwz r3, 8(r30)
+/* 80344C1C 0034087C 38 80 00 02 */ li r4, 2
+/* 80344C20 00340880 4B FF 30 11 */ bl shutdown
+/* 80344C24 00340884 80 7E 00 08 */ lwz r3, 8(r30)
+/* 80344C28 00340888 4B FF 2F D5 */ bl closesocket
+/* 80344C2C 0034088C 80 7E 00 1C */ lwz r3, 0x1c(r30)
+/* 80344C30 00340890 4B FF 47 09 */ bl gsifree
+/* 80344C34 00340894 3B E0 00 00 */ li r31, 0
+/* 80344C38 00340898 80 7E 00 2C */ lwz r3, 0x2c(r30)
+/* 80344C3C 0034089C 93 FE 00 1C */ stw r31, 0x1c(r30)
+/* 80344C40 003408A0 4B FF 46 F9 */ bl gsifree
+/* 80344C44 003408A4 80 7E 00 3C */ lwz r3, 0x3c(r30)
+/* 80344C48 003408A8 93 FE 00 2C */ stw r31, 0x2c(r30)
+/* 80344C4C 003408AC 2C 03 00 00 */ cmpwi r3, 0
+/* 80344C50 003408B0 41 82 00 0C */ beq lbl_80344C5C
+/* 80344C54 003408B4 4B FF 12 01 */ bl ArrayFree
+/* 80344C58 003408B8 93 FE 00 3C */ stw r31, 0x3c(r30)
+lbl_80344C5C:
+/* 80344C5C 003408BC 7F C3 F3 78 */ mr r3, r30
+/* 80344C60 003408C0 4B FF 46 D9 */ bl gsifree
+lbl_80344C64:
+/* 80344C64 003408C4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80344C68 003408C8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80344C6C 003408CC 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80344C70 003408D0 7C 08 03 A6 */ mtlr r0
+/* 80344C74 003408D4 38 21 00 10 */ addi r1, r1, 0x10
+/* 80344C78 003408D8 4E 80 00 20 */ blr
+
+.global gpiProcessPeers
+gpiProcessPeers:
+/* 80344C7C 003408DC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80344C80 003408E0 7C 08 02 A6 */ mflr r0
+/* 80344C84 003408E4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80344C88 003408E8 39 61 00 20 */ addi r11, r1, 0x20
+/* 80344C8C 003408EC 4B E8 24 99 */ bl _savegpr_26
+/* 80344C90 003408F0 83 63 00 00 */ lwz r27, 0(r3)
+/* 80344C94 003408F4 7C 7F 1B 78 */ mr r31, r3
+/* 80344C98 003408F8 80 7B 02 20 */ lwz r3, 0x220(r27)
+/* 80344C9C 003408FC 2C 03 FF FF */ cmpwi r3, -1
+/* 80344CA0 00340900 41 82 01 58 */ beq lbl_80344DF8
+/* 80344CA4 00340904 4B FF 3B A9 */ bl CanReceiveOnSocket
+/* 80344CA8 00340908 2C 03 00 00 */ cmpwi r3, 0
+/* 80344CAC 0034090C 41 82 01 4C */ beq lbl_80344DF8
+/* 80344CB0 00340910 80 7B 02 20 */ lwz r3, 0x220(r27)
+/* 80344CB4 00340914 38 80 00 00 */ li r4, 0
+/* 80344CB8 00340918 38 A0 00 00 */ li r5, 0
+/* 80344CBC 0034091C 4B FF 30 B9 */ bl accept
+/* 80344CC0 00340920 2C 03 FF FF */ cmpwi r3, -1
+/* 80344CC4 00340924 7C 7A 1B 78 */ mr r26, r3
+/* 80344CC8 00340928 41 82 01 30 */ beq lbl_80344DF8
+/* 80344CCC 0034092C 83 BF 00 00 */ lwz r29, 0(r31)
+/* 80344CD0 00340930 38 60 00 48 */ li r3, 0x48
+/* 80344CD4 00340934 4B FF 46 41 */ bl gsimalloc
+/* 80344CD8 00340938 2C 03 00 00 */ cmpwi r3, 0
+/* 80344CDC 0034093C 7C 7C 1B 78 */ mr r28, r3
+/* 80344CE0 00340940 40 82 00 0C */ bne lbl_80344CEC
+/* 80344CE4 00340944 3B 80 00 00 */ li r28, 0
+/* 80344CE8 00340948 48 00 00 6C */ b lbl_80344D54
+lbl_80344CEC:
+/* 80344CEC 0034094C 38 80 00 00 */ li r4, 0
+/* 80344CF0 00340950 38 A0 00 48 */ li r5, 0x48
+/* 80344CF4 00340954 4B CB F4 11 */ bl memset
+/* 80344CF8 00340958 38 00 00 64 */ li r0, 0x64
+/* 80344CFC 0034095C 3B C0 00 00 */ li r30, 0
+/* 80344D00 00340960 90 1C 00 00 */ stw r0, 0(r28)
+/* 80344D04 00340964 38 00 FF FF */ li r0, -1
+/* 80344D08 00340968 38 60 00 00 */ li r3, 0
+/* 80344D0C 0034096C 93 DC 00 04 */ stw r30, 4(r28)
+/* 80344D10 00340970 90 1C 00 08 */ stw r0, 8(r28)
+/* 80344D14 00340974 90 1C 00 0C */ stw r0, 0xc(r28)
+/* 80344D18 00340978 4B FF 3D F1 */ bl gsiTimeInSec
+/* 80344D1C 0034097C 38 00 01 2C */ li r0, 0x12c
+/* 80344D20 00340980 3C A0 80 34 */ lis r5, gpiFreeMessage@ha
+/* 80344D24 00340984 7C 04 00 14 */ addc r0, r4, r0
+/* 80344D28 00340988 38 80 00 00 */ li r4, 0
+/* 80344D2C 0034098C 90 1C 00 14 */ stw r0, 0x14(r28)
+/* 80344D30 00340990 7C 03 F1 14 */ adde r0, r3, r30
+/* 80344D34 00340994 38 A5 4F 08 */ addi r5, r5, gpiFreeMessage@l
+/* 80344D38 00340998 38 60 00 18 */ li r3, 0x18
+/* 80344D3C 0034099C 90 1C 00 10 */ stw r0, 0x10(r28)
+/* 80344D40 003409A0 80 1D 04 50 */ lwz r0, 0x450(r29)
+/* 80344D44 003409A4 90 1C 00 40 */ stw r0, 0x40(r28)
+/* 80344D48 003409A8 4B FF 10 71 */ bl ArrayNew
+/* 80344D4C 003409AC 90 7C 00 3C */ stw r3, 0x3c(r28)
+/* 80344D50 003409B0 93 9D 04 50 */ stw r28, 0x450(r29)
+lbl_80344D54:
+/* 80344D54 003409B4 2C 1C 00 00 */ cmpwi r28, 0
+/* 80344D58 003409B8 41 82 00 98 */ beq lbl_80344DF0
+/* 80344D5C 003409BC 38 00 00 68 */ li r0, 0x68
+/* 80344D60 003409C0 7F 43 D3 78 */ mr r3, r26
+/* 80344D64 003409C4 90 1C 00 00 */ stw r0, 0(r28)
+/* 80344D68 003409C8 38 80 00 00 */ li r4, 0
+/* 80344D6C 003409CC 93 5C 00 08 */ stw r26, 8(r28)
+/* 80344D70 003409D0 4B FF 38 E5 */ bl SetSockBlocking
+/* 80344D74 003409D4 83 9C 00 08 */ lwz r28, 8(r28)
+/* 80344D78 003409D8 38 80 40 00 */ li r4, 0x4000
+/* 80344D7C 003409DC 7F 83 E3 78 */ mr r3, r28
+/* 80344D80 003409E0 4B FF 39 4D */ bl SetReceiveBufferSize
+/* 80344D84 003409E4 3F C0 00 01 */ lis r30, 0x00008000@ha
+/* 80344D88 003409E8 7F 83 E3 78 */ mr r3, r28
+/* 80344D8C 003409EC 38 9E 80 00 */ addi r4, r30, 0x00008000@l
+/* 80344D90 003409F0 4B FF 39 3D */ bl SetReceiveBufferSize
+/* 80344D94 003409F4 7F 83 E3 78 */ mr r3, r28
+/* 80344D98 003409F8 3C 80 00 01 */ lis r4, 1
+/* 80344D9C 003409FC 4B FF 39 31 */ bl SetReceiveBufferSize
+/* 80344DA0 00340A00 7F 83 E3 78 */ mr r3, r28
+/* 80344DA4 00340A04 3C 80 00 02 */ lis r4, 2
+/* 80344DA8 00340A08 4B FF 39 25 */ bl SetReceiveBufferSize
+/* 80344DAC 00340A0C 7F 83 E3 78 */ mr r3, r28
+/* 80344DB0 00340A10 3C 80 00 04 */ lis r4, 4
+/* 80344DB4 00340A14 4B FF 39 19 */ bl SetReceiveBufferSize
+/* 80344DB8 00340A18 7F 83 E3 78 */ mr r3, r28
+/* 80344DBC 00340A1C 38 80 40 00 */ li r4, 0x4000
+/* 80344DC0 00340A20 4B FF 39 69 */ bl SetSendBufferSize
+/* 80344DC4 00340A24 7F 83 E3 78 */ mr r3, r28
+/* 80344DC8 00340A28 38 9E 80 00 */ addi r4, r30, -32768
+/* 80344DCC 00340A2C 4B FF 39 5D */ bl SetSendBufferSize
+/* 80344DD0 00340A30 7F 83 E3 78 */ mr r3, r28
+/* 80344DD4 00340A34 3C 80 00 01 */ lis r4, 1
+/* 80344DD8 00340A38 4B FF 39 51 */ bl SetSendBufferSize
+/* 80344DDC 00340A3C 7F 83 E3 78 */ mr r3, r28
+/* 80344DE0 00340A40 4B FF 39 A5 */ bl GetReceiveBufferSize
+/* 80344DE4 00340A44 7F 83 E3 78 */ mr r3, r28
+/* 80344DE8 00340A48 4B FF 3A 01 */ bl GetSendBufferSize
+/* 80344DEC 00340A4C 48 00 00 0C */ b lbl_80344DF8
+lbl_80344DF0:
+/* 80344DF0 00340A50 7F 43 D3 78 */ mr r3, r26
+/* 80344DF4 00340A54 4B FF 2E 09 */ bl closesocket
+lbl_80344DF8:
+/* 80344DF8 00340A58 83 9B 04 50 */ lwz r28, 0x450(r27)
+/* 80344DFC 00340A5C 48 00 00 B0 */ b lbl_80344EAC
+lbl_80344E00:
+/* 80344E00 00340A60 80 1C 00 00 */ lwz r0, 0(r28)
+/* 80344E04 00340A64 38 60 00 00 */ li r3, 0
+/* 80344E08 00340A68 83 7C 00 40 */ lwz r27, 0x40(r28)
+/* 80344E0C 00340A6C 2C 00 00 69 */ cmpwi r0, 0x69
+/* 80344E10 00340A70 41 82 00 2C */ beq lbl_80344E3C
+/* 80344E14 00340A74 80 1C 00 04 */ lwz r0, 4(r28)
+/* 80344E18 00340A78 2C 00 00 00 */ cmpwi r0, 0
+/* 80344E1C 00340A7C 41 82 00 14 */ beq lbl_80344E30
+/* 80344E20 00340A80 7F E3 FB 78 */ mr r3, r31
+/* 80344E24 00340A84 7F 84 E3 78 */ mr r4, r28
+/* 80344E28 00340A88 4B FF F3 BD */ bl gpiProcessPeerInitiatingConnection
+/* 80344E2C 00340A8C 48 00 00 10 */ b lbl_80344E3C
+lbl_80344E30:
+/* 80344E30 00340A90 7F E3 FB 78 */ mr r3, r31
+/* 80344E34 00340A94 7F 84 E3 78 */ mr r4, r28
+/* 80344E38 00340A98 4B FF F7 0D */ bl gpiProcessPeerAcceptingConnection
+lbl_80344E3C:
+/* 80344E3C 00340A9C 2C 03 00 00 */ cmpwi r3, 0
+/* 80344E40 00340AA0 40 82 00 1C */ bne lbl_80344E5C
+/* 80344E44 00340AA4 80 1C 00 00 */ lwz r0, 0(r28)
+/* 80344E48 00340AA8 2C 00 00 69 */ cmpwi r0, 0x69
+/* 80344E4C 00340AAC 40 82 00 10 */ bne lbl_80344E5C
+/* 80344E50 00340AB0 7F E3 FB 78 */ mr r3, r31
+/* 80344E54 00340AB4 7F 84 E3 78 */ mr r4, r28
+/* 80344E58 00340AB8 4B FF F8 ED */ bl gpiProcessPeerConnected
+lbl_80344E5C:
+/* 80344E5C 00340ABC 80 1C 00 00 */ lwz r0, 0(r28)
+/* 80344E60 00340AC0 2C 00 00 6A */ cmpwi r0, 0x6a
+/* 80344E64 00340AC4 41 82 00 38 */ beq lbl_80344E9C
+/* 80344E68 00340AC8 2C 03 00 00 */ cmpwi r3, 0
+/* 80344E6C 00340ACC 40 82 00 30 */ bne lbl_80344E9C
+/* 80344E70 00340AD0 38 60 00 00 */ li r3, 0
+/* 80344E74 00340AD4 4B FF 3C 95 */ bl gsiTimeInSec
+/* 80344E78 00340AD8 80 1C 00 10 */ lwz r0, 0x10(r28)
+/* 80344E7C 00340ADC 6C 65 80 00 */ xoris r5, r3, 0x8000
+/* 80344E80 00340AE0 80 7C 00 14 */ lwz r3, 0x14(r28)
+/* 80344E84 00340AE4 6C 00 80 00 */ xoris r0, r0, 0x8000
+/* 80344E88 00340AE8 7C 64 18 10 */ subfc r3, r4, r3
+/* 80344E8C 00340AEC 7C A5 01 10 */ subfe r5, r5, r0
+/* 80344E90 00340AF0 7C A0 01 10 */ subfe r5, r0, r0
+/* 80344E94 00340AF4 7C A5 00 D1 */ neg. r5, r5
+/* 80344E98 00340AF8 41 82 00 10 */ beq lbl_80344EA8
+lbl_80344E9C:
+/* 80344E9C 00340AFC 7F E3 FB 78 */ mr r3, r31
+/* 80344EA0 00340B00 7F 84 E3 78 */ mr r4, r28
+/* 80344EA4 00340B04 4B FF FC C5 */ bl gpiRemovePeer
+lbl_80344EA8:
+/* 80344EA8 00340B08 7F 7C DB 78 */ mr r28, r27
+lbl_80344EAC:
+/* 80344EAC 00340B0C 2C 1C 00 00 */ cmpwi r28, 0
+/* 80344EB0 00340B10 40 82 FF 50 */ bne lbl_80344E00
+/* 80344EB4 00340B14 39 61 00 20 */ addi r11, r1, 0x20
+/* 80344EB8 00340B18 38 60 00 00 */ li r3, 0
+/* 80344EBC 00340B1C 4B E8 22 B5 */ bl func_801C7170
+/* 80344EC0 00340B20 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80344EC4 00340B24 7C 08 03 A6 */ mtlr r0
+/* 80344EC8 00340B28 38 21 00 20 */ addi r1, r1, 0x20
+/* 80344ECC 00340B2C 4E 80 00 20 */ blr
+
+.global gpiGetConnectedPeer
+gpiGetConnectedPeer:
+/* 80344ED0 00340B30 80 63 00 00 */ lwz r3, 0(r3)
+/* 80344ED4 00340B34 80 63 04 50 */ lwz r3, 0x450(r3)
+/* 80344ED8 00340B38 48 00 00 20 */ b lbl_80344EF8
+lbl_80344EDC:
+/* 80344EDC 00340B3C 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 80344EE0 00340B40 7C 00 20 00 */ cmpw r0, r4
+/* 80344EE4 00340B44 40 82 00 10 */ bne lbl_80344EF4
+/* 80344EE8 00340B48 80 03 00 00 */ lwz r0, 0(r3)
+/* 80344EEC 00340B4C 2C 00 00 69 */ cmpwi r0, 0x69
+/* 80344EF0 00340B50 4D 82 00 20 */ beqlr
+lbl_80344EF4:
+/* 80344EF4 00340B54 80 63 00 40 */ lwz r3, 0x40(r3)
+lbl_80344EF8:
+/* 80344EF8 00340B58 2C 03 00 00 */ cmpwi r3, 0
+/* 80344EFC 00340B5C 40 82 FF E0 */ bne lbl_80344EDC
+/* 80344F00 00340B60 38 60 00 00 */ li r3, 0
+/* 80344F04 00340B64 4E 80 00 20 */ blr
+
+.global gpiFreeMessage
+gpiFreeMessage:
+/* 80344F08 00340B68 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80344F0C 00340B6C 7C 08 02 A6 */ mflr r0
+/* 80344F10 00340B70 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80344F14 00340B74 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80344F18 00340B78 7C 7F 1B 78 */ mr r31, r3
+/* 80344F1C 00340B7C 80 63 00 00 */ lwz r3, 0(r3)
+/* 80344F20 00340B80 4B FF 44 19 */ bl gsifree
+/* 80344F24 00340B84 38 00 00 00 */ li r0, 0
+/* 80344F28 00340B88 90 1F 00 00 */ stw r0, 0(r31)
+/* 80344F2C 00340B8C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80344F30 00340B90 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80344F34 00340B94 7C 08 03 A6 */ mtlr r0
+/* 80344F38 00340B98 38 21 00 10 */ addi r1, r1, 0x10
+/* 80344F3C 00340B9C 4E 80 00 20 */ blr
+
+.global gpiAddPeer
+gpiAddPeer:
+/* 80344F40 00340BA0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80344F44 00340BA4 7C 08 02 A6 */ mflr r0
+/* 80344F48 00340BA8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80344F4C 00340BAC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80344F50 00340BB0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80344F54 00340BB4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80344F58 00340BB8 7C BD 2B 78 */ mr r29, r5
+/* 80344F5C 00340BBC 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80344F60 00340BC0 7C 9C 23 78 */ mr r28, r4
+/* 80344F64 00340BC4 83 C3 00 00 */ lwz r30, 0(r3)
+/* 80344F68 00340BC8 38 60 00 48 */ li r3, 0x48
+/* 80344F6C 00340BCC 4B FF 43 A9 */ bl gsimalloc
+/* 80344F70 00340BD0 2C 03 00 00 */ cmpwi r3, 0
+/* 80344F74 00340BD4 7C 7F 1B 78 */ mr r31, r3
+/* 80344F78 00340BD8 40 82 00 0C */ bne lbl_80344F84
+/* 80344F7C 00340BDC 38 60 00 00 */ li r3, 0
+/* 80344F80 00340BE0 48 00 00 70 */ b lbl_80344FF0
+lbl_80344F84:
+/* 80344F84 00340BE4 38 80 00 00 */ li r4, 0
+/* 80344F88 00340BE8 38 A0 00 48 */ li r5, 0x48
+/* 80344F8C 00340BEC 4B CB F1 79 */ bl memset
+/* 80344F90 00340BF0 38 60 00 64 */ li r3, 0x64
+/* 80344F94 00340BF4 38 00 FF FF */ li r0, -1
+/* 80344F98 00340BF8 90 7F 00 00 */ stw r3, 0(r31)
+/* 80344F9C 00340BFC 38 60 00 00 */ li r3, 0
+/* 80344FA0 00340C00 93 BF 00 04 */ stw r29, 4(r31)
+/* 80344FA4 00340C04 90 1F 00 08 */ stw r0, 8(r31)
+/* 80344FA8 00340C08 93 9F 00 0C */ stw r28, 0xc(r31)
+/* 80344FAC 00340C0C 4B FF 3B 5D */ bl gsiTimeInSec
+/* 80344FB0 00340C10 38 00 01 2C */ li r0, 0x12c
+/* 80344FB4 00340C14 3C A0 80 34 */ lis r5, gpiFreeMessage@ha
+/* 80344FB8 00340C18 7C 04 00 14 */ addc r0, r4, r0
+/* 80344FBC 00340C1C 38 80 00 00 */ li r4, 0
+/* 80344FC0 00340C20 90 1F 00 14 */ stw r0, 0x14(r31)
+/* 80344FC4 00340C24 7C 03 21 14 */ adde r0, r3, r4
+/* 80344FC8 00340C28 38 A5 4F 08 */ addi r5, r5, gpiFreeMessage@l
+/* 80344FCC 00340C2C 38 60 00 18 */ li r3, 0x18
+/* 80344FD0 00340C30 90 1F 00 10 */ stw r0, 0x10(r31)
+/* 80344FD4 00340C34 38 80 00 00 */ li r4, 0
+/* 80344FD8 00340C38 80 1E 04 50 */ lwz r0, 0x450(r30)
+/* 80344FDC 00340C3C 90 1F 00 40 */ stw r0, 0x40(r31)
+/* 80344FE0 00340C40 4B FF 0D D9 */ bl ArrayNew
+/* 80344FE4 00340C44 90 7F 00 3C */ stw r3, 0x3c(r31)
+/* 80344FE8 00340C48 7F E3 FB 78 */ mr r3, r31
+/* 80344FEC 00340C4C 93 FE 04 50 */ stw r31, 0x450(r30)
+lbl_80344FF0:
+/* 80344FF0 00340C50 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80344FF4 00340C54 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80344FF8 00340C58 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80344FFC 00340C5C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80345000 00340C60 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 80345004 00340C64 7C 08 03 A6 */ mtlr r0
+/* 80345008 00340C68 38 21 00 20 */ addi r1, r1, 0x20
+/* 8034500C 00340C6C 4E 80 00 20 */ blr
+
+.global gpiPeerGetSig
+gpiPeerGetSig:
+/* 80345010 00340C70 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80345014 00340C74 7C 08 02 A6 */ mflr r0
+/* 80345018 00340C78 38 A0 00 00 */ li r5, 0
+/* 8034501C 00340C7C 38 E0 00 00 */ li r7, 0
+/* 80345020 00340C80 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80345024 00340C84 38 C1 00 08 */ addi r6, r1, 8
+/* 80345028 00340C88 39 00 00 00 */ li r8, 0
+/* 8034502C 00340C8C 39 20 00 00 */ li r9, 0
+/* 80345030 00340C90 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80345034 00340C94 7C 9F 23 78 */ mr r31, r4
+/* 80345038 00340C98 38 80 00 02 */ li r4, 2
+/* 8034503C 00340C9C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80345040 00340CA0 7C 7E 1B 78 */ mr r30, r3
+/* 80345044 00340CA4 4B FF EE 99 */ bl gpiAddOperation
+/* 80345048 00340CA8 2C 03 00 00 */ cmpwi r3, 0
+/* 8034504C 00340CAC 41 82 00 08 */ beq lbl_80345054
+/* 80345050 00340CB0 48 00 00 30 */ b lbl_80345080
+lbl_80345054:
+/* 80345054 00340CB4 80 A1 00 08 */ lwz r5, 8(r1)
+/* 80345058 00340CB8 7F C3 F3 78 */ mr r3, r30
+/* 8034505C 00340CBC 80 9F 00 0C */ lwz r4, 0xc(r31)
+/* 80345060 00340CC0 80 A5 00 18 */ lwz r5, 0x18(r5)
+/* 80345064 00340CC4 4B FF E7 2D */ bl gpiSendGetInfo
+/* 80345068 00340CC8 2C 03 00 00 */ cmpwi r3, 0
+/* 8034506C 00340CCC 41 82 00 08 */ beq lbl_80345074
+/* 80345070 00340CD0 48 00 00 10 */ b lbl_80345080
+lbl_80345074:
+/* 80345074 00340CD4 38 00 00 65 */ li r0, 0x65
+/* 80345078 00340CD8 38 60 00 00 */ li r3, 0
+/* 8034507C 00340CDC 90 1F 00 00 */ stw r0, 0(r31)
+lbl_80345080:
+/* 80345080 00340CE0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80345084 00340CE4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80345088 00340CE8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8034508C 00340CEC 7C 08 03 A6 */ mtlr r0
+/* 80345090 00340CF0 38 21 00 20 */ addi r1, r1, 0x20
+/* 80345094 00340CF4 4E 80 00 20 */ blr
+
+.global gpiPeerStartConnect
+gpiPeerStartConnect:
+/* 80345098 00340CF8 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8034509C 00340CFC 7C 08 02 A6 */ mflr r0
+/* 803450A0 00340D00 90 01 00 34 */ stw r0, 0x34(r1)
+/* 803450A4 00340D04 39 61 00 30 */ addi r11, r1, 0x30
+/* 803450A8 00340D08 4B E8 20 81 */ bl _savegpr_27
+/* 803450AC 00340D0C 7C 9C 23 78 */ mr r28, r4
+/* 803450B0 00340D10 3F C0 80 45 */ lis r30, lbl_8044AF50@ha
+/* 803450B4 00340D14 80 84 00 0C */ lwz r4, 0xc(r4)
+/* 803450B8 00340D18 7C 7B 1B 78 */ mr r27, r3
+/* 803450BC 00340D1C 3B DE AF 50 */ addi r30, r30, lbl_8044AF50@l
+/* 803450C0 00340D20 38 A1 00 08 */ addi r5, r1, 8
+/* 803450C4 00340D24 48 00 08 0D */ bl gpiGetProfile
+/* 803450C8 00340D28 2C 03 00 00 */ cmpwi r3, 0
+/* 803450CC 00340D2C 40 82 00 18 */ bne lbl_803450E4
+/* 803450D0 00340D30 7F 63 DB 78 */ mr r3, r27
+/* 803450D4 00340D34 38 9E 00 00 */ addi r4, r30, 0
+/* 803450D8 00340D38 48 00 33 81 */ bl gpiSetErrorString
+/* 803450DC 00340D3C 38 60 00 03 */ li r3, 3
+/* 803450E0 00340D40 48 00 01 98 */ b lbl_80345278
+lbl_803450E4:
+/* 803450E4 00340D44 38 60 00 02 */ li r3, 2
+/* 803450E8 00340D48 38 80 00 01 */ li r4, 1
+/* 803450EC 00340D4C 38 A0 00 00 */ li r5, 0
+/* 803450F0 00340D50 4B FF 2A D5 */ bl socket
+/* 803450F4 00340D54 2C 03 FF FF */ cmpwi r3, -1
+/* 803450F8 00340D58 90 7C 00 08 */ stw r3, 8(r28)
+/* 803450FC 00340D5C 40 82 00 2C */ bne lbl_80345128
+/* 80345100 00340D60 7F 63 DB 78 */ mr r3, r27
+/* 80345104 00340D64 38 BE 00 70 */ addi r5, r30, 0x70
+/* 80345108 00340D68 38 80 00 05 */ li r4, 5
+/* 8034510C 00340D6C 48 00 32 FD */ bl gpiSetError
+/* 80345110 00340D70 7F 63 DB 78 */ mr r3, r27
+/* 80345114 00340D74 38 80 00 03 */ li r4, 3
+/* 80345118 00340D78 38 A0 00 00 */ li r5, 0
+/* 8034511C 00340D7C 4B FF AB 4D */ bl gpiCallErrorCallback
+/* 80345120 00340D80 38 60 00 03 */ li r3, 3
+/* 80345124 00340D84 48 00 01 54 */ b lbl_80345278
+lbl_80345128:
+/* 80345128 00340D88 38 80 00 00 */ li r4, 0
+/* 8034512C 00340D8C 4B FF 35 29 */ bl SetSockBlocking
+/* 80345130 00340D90 2C 03 00 00 */ cmpwi r3, 0
+/* 80345134 00340D94 40 82 00 2C */ bne lbl_80345160
+/* 80345138 00340D98 7F 63 DB 78 */ mr r3, r27
+/* 8034513C 00340D9C 38 BE 00 98 */ addi r5, r30, 0x98
+/* 80345140 00340DA0 38 80 00 05 */ li r4, 5
+/* 80345144 00340DA4 48 00 32 C5 */ bl gpiSetError
+/* 80345148 00340DA8 7F 63 DB 78 */ mr r3, r27
+/* 8034514C 00340DAC 38 80 00 03 */ li r4, 3
+/* 80345150 00340DB0 38 A0 00 00 */ li r5, 0
+/* 80345154 00340DB4 4B FF AB 15 */ bl gpiCallErrorCallback
+/* 80345158 00340DB8 38 60 00 03 */ li r3, 3
+/* 8034515C 00340DBC 48 00 01 1C */ b lbl_80345278
+lbl_80345160:
+/* 80345160 00340DC0 83 BC 00 08 */ lwz r29, 8(r28)
+/* 80345164 00340DC4 38 80 40 00 */ li r4, 0x4000
+/* 80345168 00340DC8 7F A3 EB 78 */ mr r3, r29
+/* 8034516C 00340DCC 4B FF 35 61 */ bl SetReceiveBufferSize
+/* 80345170 00340DD0 3F E0 00 01 */ lis r31, 0x00008000@ha
+/* 80345174 00340DD4 7F A3 EB 78 */ mr r3, r29
+/* 80345178 00340DD8 38 9F 80 00 */ addi r4, r31, 0x00008000@l
+/* 8034517C 00340DDC 4B FF 35 51 */ bl SetReceiveBufferSize
+/* 80345180 00340DE0 7F A3 EB 78 */ mr r3, r29
+/* 80345184 00340DE4 3C 80 00 01 */ lis r4, 1
+/* 80345188 00340DE8 4B FF 35 45 */ bl SetReceiveBufferSize
+/* 8034518C 00340DEC 7F A3 EB 78 */ mr r3, r29
+/* 80345190 00340DF0 3C 80 00 02 */ lis r4, 2
+/* 80345194 00340DF4 4B FF 35 39 */ bl SetReceiveBufferSize
+/* 80345198 00340DF8 7F A3 EB 78 */ mr r3, r29
+/* 8034519C 00340DFC 3C 80 00 04 */ lis r4, 4
+/* 803451A0 00340E00 4B FF 35 2D */ bl SetReceiveBufferSize
+/* 803451A4 00340E04 7F A3 EB 78 */ mr r3, r29
+/* 803451A8 00340E08 38 80 40 00 */ li r4, 0x4000
+/* 803451AC 00340E0C 4B FF 35 7D */ bl SetSendBufferSize
+/* 803451B0 00340E10 7F A3 EB 78 */ mr r3, r29
+/* 803451B4 00340E14 38 9F 80 00 */ addi r4, r31, -32768
+/* 803451B8 00340E18 4B FF 35 71 */ bl SetSendBufferSize
+/* 803451BC 00340E1C 7F A3 EB 78 */ mr r3, r29
+/* 803451C0 00340E20 3C 80 00 01 */ lis r4, 1
+/* 803451C4 00340E24 4B FF 35 65 */ bl SetSendBufferSize
+/* 803451C8 00340E28 7F A3 EB 78 */ mr r3, r29
+/* 803451CC 00340E2C 4B FF 35 B9 */ bl GetReceiveBufferSize
+/* 803451D0 00340E30 7F A3 EB 78 */ mr r3, r29
+/* 803451D4 00340E34 4B FF 36 15 */ bl GetSendBufferSize
+/* 803451D8 00340E38 38 61 00 10 */ addi r3, r1, 0x10
+/* 803451DC 00340E3C 38 80 00 00 */ li r4, 0
+/* 803451E0 00340E40 38 A0 00 08 */ li r5, 8
+/* 803451E4 00340E44 4B CB EF 21 */ bl memset
+/* 803451E8 00340E48 38 00 00 02 */ li r0, 2
+/* 803451EC 00340E4C 80 C1 00 08 */ lwz r6, 8(r1)
+/* 803451F0 00340E50 98 01 00 11 */ stb r0, 0x11(r1)
+/* 803451F4 00340E54 38 81 00 10 */ addi r4, r1, 0x10
+/* 803451F8 00340E58 38 A0 00 08 */ li r5, 8
+/* 803451FC 00340E5C 80 66 00 08 */ lwz r3, 8(r6)
+/* 80345200 00340E60 80 03 00 10 */ lwz r0, 0x10(r3)
+/* 80345204 00340E64 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80345208 00340E68 80 66 00 08 */ lwz r3, 8(r6)
+/* 8034520C 00340E6C 80 03 00 14 */ lwz r0, 0x14(r3)
+/* 80345210 00340E70 B0 01 00 12 */ sth r0, 0x12(r1)
+/* 80345214 00340E74 80 7C 00 08 */ lwz r3, 8(r28)
+/* 80345218 00340E78 4B FF 2A C5 */ bl connect
+/* 8034521C 00340E7C 2C 03 FF FF */ cmpwi r3, -1
+/* 80345220 00340E80 40 82 00 4C */ bne lbl_8034526C
+/* 80345224 00340E84 80 7C 00 08 */ lwz r3, 8(r28)
+/* 80345228 00340E88 4B FF 2D 81 */ bl GOAGetLastError
+/* 8034522C 00340E8C 2C 03 FF FA */ cmpwi r3, -6
+/* 80345230 00340E90 41 82 00 3C */ beq lbl_8034526C
+/* 80345234 00340E94 2C 03 FF E6 */ cmpwi r3, -26
+/* 80345238 00340E98 41 82 00 34 */ beq lbl_8034526C
+/* 8034523C 00340E9C 2C 03 FF B4 */ cmpwi r3, -76
+/* 80345240 00340EA0 41 82 00 2C */ beq lbl_8034526C
+/* 80345244 00340EA4 7F 63 DB 78 */ mr r3, r27
+/* 80345248 00340EA8 38 BE 00 D0 */ addi r5, r30, 0xd0
+/* 8034524C 00340EAC 38 80 00 05 */ li r4, 5
+/* 80345250 00340EB0 48 00 31 B9 */ bl gpiSetError
+/* 80345254 00340EB4 7F 63 DB 78 */ mr r3, r27
+/* 80345258 00340EB8 38 80 00 03 */ li r4, 3
+/* 8034525C 00340EBC 38 A0 00 01 */ li r5, 1
+/* 80345260 00340EC0 4B FF AA 09 */ bl gpiCallErrorCallback
+/* 80345264 00340EC4 38 60 00 03 */ li r3, 3
+/* 80345268 00340EC8 48 00 00 10 */ b lbl_80345278
+lbl_8034526C:
+/* 8034526C 00340ECC 38 00 00 67 */ li r0, 0x67
+/* 80345270 00340ED0 38 60 00 00 */ li r3, 0
+/* 80345274 00340ED4 90 1C 00 00 */ stw r0, 0(r28)
+lbl_80345278:
+/* 80345278 00340ED8 39 61 00 30 */ addi r11, r1, 0x30
+/* 8034527C 00340EDC 4B E8 1E F9 */ bl _restgpr_27
+/* 80345280 00340EE0 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 80345284 00340EE4 7C 08 03 A6 */ mtlr r0
+/* 80345288 00340EE8 38 21 00 30 */ addi r1, r1, 0x30
+/* 8034528C 00340EEC 4E 80 00 20 */ blr
+
+.global gpiPeerAddMessage
+gpiPeerAddMessage:
+/* 80345290 00340EF0 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 80345294 00340EF4 7C 08 02 A6 */ mflr r0
+/* 80345298 00340EF8 90 01 00 44 */ stw r0, 0x44(r1)
+/* 8034529C 00340EFC 39 61 00 40 */ addi r11, r1, 0x40
+/* 803452A0 00340F00 4B E8 1E 89 */ bl _savegpr_27
+/* 803452A4 00340F04 7C DE 33 78 */ mr r30, r6
+/* 803452A8 00340F08 7C 7B 1B 78 */ mr r27, r3
+/* 803452AC 00340F0C 7C 9C 23 78 */ mr r28, r4
+/* 803452B0 00340F10 7C BD 2B 78 */ mr r29, r5
+/* 803452B4 00340F14 7F C3 F3 78 */ mr r3, r30
+/* 803452B8 00340F18 4B E8 18 AD */ bl strlen
+/* 803452BC 00340F1C 7C 7F 1B 78 */ mr r31, r3
+/* 803452C0 00340F20 38 61 00 08 */ addi r3, r1, 8
+/* 803452C4 00340F24 38 80 00 00 */ li r4, 0
+/* 803452C8 00340F28 38 A0 00 18 */ li r5, 0x18
+/* 803452CC 00340F2C 4B CB EE 39 */ bl memset
+/* 803452D0 00340F30 93 A1 00 18 */ stw r29, 0x18(r1)
+/* 803452D4 00340F34 7F 63 DB 78 */ mr r3, r27
+/* 803452D8 00340F38 38 81 00 08 */ addi r4, r1, 8
+/* 803452DC 00340F3C 38 AD 91 8C */ addi r5, r13, lbl_8063E44C-_SDA_BASE_
+/* 803452E0 00340F40 4B FF A1 C1 */ bl gpiAppendStringToBuffer
+/* 803452E4 00340F44 2C 03 00 00 */ cmpwi r3, 0
+/* 803452E8 00340F48 41 82 00 08 */ beq lbl_803452F0
+/* 803452EC 00340F4C 48 00 00 E8 */ b lbl_803453D4
+lbl_803452F0:
+/* 803452F0 00340F50 7F 63 DB 78 */ mr r3, r27
+/* 803452F4 00340F54 7F A5 EB 78 */ mr r5, r29
+/* 803452F8 00340F58 38 81 00 08 */ addi r4, r1, 8
+/* 803452FC 00340F5C 4B FF A2 01 */ bl gpiAppendIntToBuffer
+/* 80345300 00340F60 2C 03 00 00 */ cmpwi r3, 0
+/* 80345304 00340F64 41 82 00 08 */ beq lbl_8034530C
+/* 80345308 00340F68 48 00 00 CC */ b lbl_803453D4
+lbl_8034530C:
+/* 8034530C 00340F6C 7F 63 DB 78 */ mr r3, r27
+/* 80345310 00340F70 38 81 00 08 */ addi r4, r1, 8
+/* 80345314 00340F74 38 AD 91 90 */ addi r5, r13, lbl_8063E450-_SDA_BASE_
+/* 80345318 00340F78 4B FF A1 89 */ bl gpiAppendStringToBuffer
+/* 8034531C 00340F7C 2C 03 00 00 */ cmpwi r3, 0
+/* 80345320 00340F80 41 82 00 08 */ beq lbl_80345328
+/* 80345324 00340F84 48 00 00 B0 */ b lbl_803453D4
+lbl_80345328:
+/* 80345328 00340F88 7F 63 DB 78 */ mr r3, r27
+/* 8034532C 00340F8C 7F E5 FB 78 */ mr r5, r31
+/* 80345330 00340F90 38 81 00 08 */ addi r4, r1, 8
+/* 80345334 00340F94 4B FF A1 C9 */ bl gpiAppendIntToBuffer
+/* 80345338 00340F98 2C 03 00 00 */ cmpwi r3, 0
+/* 8034533C 00340F9C 41 82 00 08 */ beq lbl_80345344
+/* 80345340 00340FA0 48 00 00 94 */ b lbl_803453D4
+lbl_80345344:
+/* 80345344 00340FA4 7F 63 DB 78 */ mr r3, r27
+/* 80345348 00340FA8 38 81 00 08 */ addi r4, r1, 8
+/* 8034534C 00340FAC 38 AD 91 98 */ addi r5, r13, lbl_8063E458-_SDA_BASE_
+/* 80345350 00340FB0 4B FF A1 51 */ bl gpiAppendStringToBuffer
+/* 80345354 00340FB4 2C 03 00 00 */ cmpwi r3, 0
+/* 80345358 00340FB8 41 82 00 08 */ beq lbl_80345360
+/* 8034535C 00340FBC 48 00 00 78 */ b lbl_803453D4
+lbl_80345360:
+/* 80345360 00340FC0 80 01 00 10 */ lwz r0, 0x10(r1)
+/* 80345364 00340FC4 7F 63 DB 78 */ mr r3, r27
+/* 80345368 00340FC8 7F C5 F3 78 */ mr r5, r30
+/* 8034536C 00340FCC 7F E6 FB 78 */ mr r6, r31
+/* 80345370 00340FD0 90 01 00 1C */ stw r0, 0x1c(r1)
+/* 80345374 00340FD4 38 81 00 08 */ addi r4, r1, 8
+/* 80345378 00340FD8 4B FF A0 4D */ bl gpiAppendStringToBufferLen
+/* 8034537C 00340FDC 2C 03 00 00 */ cmpwi r3, 0
+/* 80345380 00340FE0 41 82 00 08 */ beq lbl_80345388
+/* 80345384 00340FE4 48 00 00 50 */ b lbl_803453D4
+lbl_80345388:
+/* 80345388 00340FE8 7F 63 DB 78 */ mr r3, r27
+/* 8034538C 00340FEC 38 81 00 08 */ addi r4, r1, 8
+/* 80345390 00340FF0 38 A0 00 00 */ li r5, 0
+/* 80345394 00340FF4 4B FF 9F 89 */ bl gpiAppendCharToBuffer
+/* 80345398 00340FF8 2C 03 00 00 */ cmpwi r3, 0
+/* 8034539C 00340FFC 41 82 00 08 */ beq lbl_803453A4
+/* 803453A0 00341000 48 00 00 34 */ b lbl_803453D4
+lbl_803453A4:
+/* 803453A4 00341004 80 7C 00 3C */ lwz r3, 0x3c(r28)
+/* 803453A8 00341008 38 81 00 08 */ addi r4, r1, 8
+/* 803453AC 0034100C 4B FF 0B 75 */ bl ArrayAppend
+/* 803453B0 00341010 38 60 00 00 */ li r3, 0
+/* 803453B4 00341014 4B FF 37 55 */ bl gsiTimeInSec
+/* 803453B8 00341018 38 A0 01 2C */ li r5, 0x12c
+/* 803453BC 0034101C 38 00 00 00 */ li r0, 0
+/* 803453C0 00341020 7C 84 28 14 */ addc r4, r4, r5
+/* 803453C4 00341024 7C 03 01 14 */ adde r0, r3, r0
+/* 803453C8 00341028 90 9C 00 14 */ stw r4, 0x14(r28)
+/* 803453CC 0034102C 38 60 00 00 */ li r3, 0
+/* 803453D0 00341030 90 1C 00 10 */ stw r0, 0x10(r28)
+lbl_803453D4:
+/* 803453D4 00341034 39 61 00 40 */ addi r11, r1, 0x40
+/* 803453D8 00341038 4B E8 1D 9D */ bl _restgpr_27
+/* 803453DC 0034103C 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 803453E0 00341040 7C 08 03 A6 */ mtlr r0
+/* 803453E4 00341044 38 21 00 40 */ addi r1, r1, 0x40
+/* 803453E8 00341048 4E 80 00 20 */ blr
+
+.global gpiPeerStartTransferMessage
+gpiPeerStartTransferMessage:
+/* 803453EC 0034104C 94 21 FF B0 */ stwu r1, -0x50(r1)
+/* 803453F0 00341050 7C 08 02 A6 */ mflr r0
+/* 803453F4 00341054 7C C8 33 78 */ mr r8, r6
+/* 803453F8 00341058 80 C6 00 00 */ lwz r6, 0(r6)
+/* 803453FC 0034105C 90 01 00 54 */ stw r0, 0x54(r1)
+/* 80345400 00341060 3D 20 80 45 */ lis r9, lbl_8044B048@ha
+/* 80345404 00341064 80 E8 00 04 */ lwz r7, 4(r8)
+/* 80345408 00341068 93 E1 00 4C */ stw r31, 0x4c(r1)
+/* 8034540C 0034106C 7C 9F 23 78 */ mr r31, r4
+/* 80345410 00341070 81 08 00 08 */ lwz r8, 8(r8)
+/* 80345414 00341074 38 89 B0 48 */ addi r4, r9, lbl_8044B048@l
+/* 80345418 00341078 93 C1 00 48 */ stw r30, 0x48(r1)
+/* 8034541C 0034107C 7C 7E 1B 78 */ mr r30, r3
+/* 80345420 00341080 38 61 00 08 */ addi r3, r1, 8
+/* 80345424 00341084 4C C6 31 82 */ crclr 6
+/* 80345428 00341088 4B E8 76 D5 */ bl func_801CCAFC
+/* 8034542C 0034108C 7F C3 F3 78 */ mr r3, r30
+/* 80345430 00341090 7F E4 FB 78 */ mr r4, r31
+/* 80345434 00341094 38 A1 00 08 */ addi r5, r1, 8
+/* 80345438 00341098 4B FF A3 C1 */ bl func_8033F7F8
+/* 8034543C 0034109C 80 01 00 54 */ lwz r0, 0x54(r1)
+/* 80345440 003410A0 83 E1 00 4C */ lwz r31, 0x4c(r1)
+/* 80345444 003410A4 83 C1 00 48 */ lwz r30, 0x48(r1)
+/* 80345448 003410A8 7C 08 03 A6 */ mtlr r0
+/* 8034544C 003410AC 38 21 00 50 */ addi r1, r1, 0x50
+/* 80345450 003410B0 4E 80 00 20 */ blr
+
+.global gpiPeerFinishTransferMessage
+gpiPeerFinishTransferMessage:
+/* 80345454 003410B4 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 80345458 003410B8 7C 08 02 A6 */ mflr r0
+/* 8034545C 003410BC 2C 05 00 00 */ cmpwi r5, 0
+/* 80345460 003410C0 90 01 00 44 */ stw r0, 0x44(r1)
+/* 80345464 003410C4 93 E1 00 3C */ stw r31, 0x3c(r1)
+/* 80345468 003410C8 7C DF 33 78 */ mr r31, r6
+/* 8034546C 003410CC 93 C1 00 38 */ stw r30, 0x38(r1)
+/* 80345470 003410D0 7C BE 2B 78 */ mr r30, r5
+/* 80345474 003410D4 93 A1 00 34 */ stw r29, 0x34(r1)
+/* 80345478 003410D8 7C 9D 23 78 */ mr r29, r4
+/* 8034547C 003410DC 93 81 00 30 */ stw r28, 0x30(r1)
+/* 80345480 003410E0 7C 7C 1B 78 */ mr r28, r3
+/* 80345484 003410E4 40 82 00 08 */ bne lbl_8034548C
+/* 80345488 003410E8 3B CD 91 A0 */ addi r30, r13, lbl_8063E460-_SDA_BASE_
+lbl_8034548C:
+/* 8034548C 003410EC 2C 06 FF FF */ cmpwi r6, -1
+/* 80345490 003410F0 40 82 00 10 */ bne lbl_803454A0
+/* 80345494 003410F4 7F C3 F3 78 */ mr r3, r30
+/* 80345498 003410F8 4B E8 16 CD */ bl strlen
+/* 8034549C 003410FC 7C 7F 1B 78 */ mr r31, r3
+lbl_803454A0:
+/* 803454A0 00341100 3C 80 80 45 */ lis r4, lbl_8044B05C@ha
+/* 803454A4 00341104 7F E5 FB 78 */ mr r5, r31
+/* 803454A8 00341108 38 61 00 08 */ addi r3, r1, 8
+/* 803454AC 0034110C 38 84 B0 5C */ addi r4, r4, lbl_8044B05C@l
+/* 803454B0 00341110 4C C6 31 82 */ crclr 6
+/* 803454B4 00341114 4B E8 76 49 */ bl func_801CCAFC
+/* 803454B8 00341118 7F 83 E3 78 */ mr r3, r28
+/* 803454BC 0034111C 7F A4 EB 78 */ mr r4, r29
+/* 803454C0 00341120 38 A1 00 08 */ addi r5, r1, 8
+/* 803454C4 00341124 4B FF A3 35 */ bl func_8033F7F8
+/* 803454C8 00341128 2C 03 00 00 */ cmpwi r3, 0
+/* 803454CC 0034112C 41 82 00 08 */ beq lbl_803454D4
+/* 803454D0 00341130 48 00 00 64 */ b lbl_80345534
+lbl_803454D4:
+/* 803454D4 00341134 7F 83 E3 78 */ mr r3, r28
+/* 803454D8 00341138 7F A4 EB 78 */ mr r4, r29
+/* 803454DC 0034113C 7F C5 F3 78 */ mr r5, r30
+/* 803454E0 00341140 7F E6 FB 78 */ mr r6, r31
+/* 803454E4 00341144 4B FF A2 29 */ bl gpiSendOrBufferStringLen
+/* 803454E8 00341148 2C 03 00 00 */ cmpwi r3, 0
+/* 803454EC 0034114C 41 82 00 08 */ beq lbl_803454F4
+/* 803454F0 00341150 48 00 00 44 */ b lbl_80345534
+lbl_803454F4:
+/* 803454F4 00341154 7F 83 E3 78 */ mr r3, r28
+/* 803454F8 00341158 7F A4 EB 78 */ mr r4, r29
+/* 803454FC 0034115C 38 A0 00 00 */ li r5, 0
+/* 80345500 00341160 4B FF A1 61 */ bl gpiSendOrBufferChar
+/* 80345504 00341164 2C 03 00 00 */ cmpwi r3, 0
+/* 80345508 00341168 41 82 00 08 */ beq lbl_80345510
+/* 8034550C 0034116C 48 00 00 28 */ b lbl_80345534
+lbl_80345510:
+/* 80345510 00341170 38 60 00 00 */ li r3, 0
+/* 80345514 00341174 4B FF 35 F5 */ bl gsiTimeInSec
+/* 80345518 00341178 38 A0 01 2C */ li r5, 0x12c
+/* 8034551C 0034117C 38 00 00 00 */ li r0, 0
+/* 80345520 00341180 7C 84 28 14 */ addc r4, r4, r5
+/* 80345524 00341184 7C 03 01 14 */ adde r0, r3, r0
+/* 80345528 00341188 90 9D 00 14 */ stw r4, 0x14(r29)
+/* 8034552C 0034118C 38 60 00 00 */ li r3, 0
+/* 80345530 00341190 90 1D 00 10 */ stw r0, 0x10(r29)
+lbl_80345534:
+/* 80345534 00341194 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 80345538 00341198 83 E1 00 3C */ lwz r31, 0x3c(r1)
+/* 8034553C 0034119C 83 C1 00 38 */ lwz r30, 0x38(r1)
+/* 80345540 003411A0 83 A1 00 34 */ lwz r29, 0x34(r1)
+/* 80345544 003411A4 83 81 00 30 */ lwz r28, 0x30(r1)
+/* 80345548 003411A8 7C 08 03 A6 */ mtlr r0
+/* 8034554C 003411AC 38 21 00 40 */ addi r1, r1, 0x40
+/* 80345550 003411B0 4E 80 00 20 */ blr
|