diff options
Diffstat (limited to 'asm/SDK/DWC/gamespy/ghttpCommon.s')
-rw-r--r-- | asm/SDK/DWC/gamespy/ghttpCommon.s | 342 |
1 files changed, 342 insertions, 0 deletions
diff --git a/asm/SDK/DWC/gamespy/ghttpCommon.s b/asm/SDK/DWC/gamespy/ghttpCommon.s new file mode 100644 index 0000000..f6b8d38 --- /dev/null +++ b/asm/SDK/DWC/gamespy/ghttpCommon.s @@ -0,0 +1,342 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global ghiCreateLock
+ghiCreateLock:
+/* 803512E4 0034CF44 4E 80 00 20 */ blr
+
+.global ghiFreeLock
+ghiFreeLock:
+/* 803512E8 0034CF48 4E 80 00 20 */ blr
+
+.global ghiLock
+ghiLock:
+/* 803512EC 0034CF4C 4E 80 00 20 */ blr
+
+.global ghiUnlock
+ghiUnlock:
+/* 803512F0 0034CF50 4E 80 00 20 */ blr
+
+.global ghiDecryptReceivedData
+ghiDecryptReceivedData:
+/* 803512F4 0034CF54 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 803512F8 0034CF58 7C 08 02 A6 */ mflr r0
+/* 803512FC 0034CF5C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80351300 0034CF60 38 00 00 00 */ li r0, 0
+/* 80351304 0034CF64 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80351308 0034CF68 7C 7F 1B 78 */ mr r31, r3
+/* 8035130C 0034CF6C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80351310 0034CF70 90 01 00 0C */ stw r0, 0xc(r1)
+/* 80351314 0034CF74 90 01 00 08 */ stw r0, 8(r1)
+lbl_80351318:
+/* 80351318 0034CF78 80 FF 00 D0 */ lwz r7, 0xd0(r31)
+/* 8035131C 0034CF7C 7F E3 FB 78 */ mr r3, r31
+/* 80351320 0034CF80 80 1F 00 CC */ lwz r0, 0xcc(r31)
+/* 80351324 0034CF84 38 9F 01 90 */ addi r4, r31, 0x190
+/* 80351328 0034CF88 80 BF 00 C4 */ lwz r5, 0xc4(r31)
+/* 8035132C 0034CF8C 38 C1 00 0C */ addi r6, r1, 0xc
+/* 80351330 0034CF90 7C 07 00 50 */ subf r0, r7, r0
+/* 80351334 0034CF94 39 01 00 08 */ addi r8, r1, 8
+/* 80351338 0034CF98 90 01 00 0C */ stw r0, 0xc(r1)
+/* 8035133C 0034CF9C 7C A5 3A 14 */ add r5, r5, r7
+/* 80351340 0034CFA0 81 3F 00 A8 */ lwz r9, 0xa8(r31)
+/* 80351344 0034CFA4 80 1F 00 A4 */ lwz r0, 0xa4(r31)
+/* 80351348 0034CFA8 80 FF 00 A0 */ lwz r7, 0xa0(r31)
+/* 8035134C 0034CFAC 7C 09 00 50 */ subf r0, r9, r0
+/* 80351350 0034CFB0 90 01 00 08 */ stw r0, 8(r1)
+/* 80351354 0034CFB4 7C E7 4A 14 */ add r7, r7, r9
+/* 80351358 0034CFB8 81 9F 01 AC */ lwz r12, 0x1ac(r31)
+/* 8035135C 0034CFBC 7D 89 03 A6 */ mtctr r12
+/* 80351360 0034CFC0 4E 80 04 21 */ bctrl
+/* 80351364 0034CFC4 2C 03 00 02 */ cmpwi r3, 2
+/* 80351368 0034CFC8 7C 7E 1B 78 */ mr r30, r3
+/* 8035136C 0034CFCC 40 82 00 20 */ bne lbl_8035138C
+/* 80351370 0034CFD0 80 9F 00 B0 */ lwz r4, 0xb0(r31)
+/* 80351374 0034CFD4 38 7F 00 9C */ addi r3, r31, 0x9c
+/* 80351378 0034CFD8 4B FF F4 7D */ bl ghiResizeBuffer
+/* 8035137C 0034CFDC 2C 03 00 00 */ cmpwi r3, 0
+/* 80351380 0034CFE0 40 82 00 1C */ bne lbl_8035139C
+/* 80351384 0034CFE4 38 60 00 00 */ li r3, 0
+/* 80351388 0034CFE8 48 00 00 A4 */ b lbl_8035142C
+lbl_8035138C:
+/* 8035138C 0034CFEC 2C 03 00 03 */ cmpwi r3, 3
+/* 80351390 0034CFF0 40 82 00 0C */ bne lbl_8035139C
+/* 80351394 0034CFF4 38 60 00 00 */ li r3, 0
+/* 80351398 0034CFF8 48 00 00 94 */ b lbl_8035142C
+lbl_8035139C:
+/* 8035139C 0034CFFC 2C 1E 00 02 */ cmpwi r30, 2
+/* 803513A0 0034D000 40 82 00 10 */ bne lbl_803513B0
+/* 803513A4 0034D004 80 01 00 08 */ lwz r0, 8(r1)
+/* 803513A8 0034D008 2C 00 00 00 */ cmpwi r0, 0
+/* 803513AC 0034D00C 41 82 FF 6C */ beq lbl_80351318
+lbl_803513B0:
+/* 803513B0 0034D010 80 81 00 0C */ lwz r4, 0xc(r1)
+/* 803513B4 0034D014 80 BF 00 CC */ lwz r5, 0xcc(r31)
+/* 803513B8 0034D018 7C 04 28 00 */ cmpw r4, r5
+/* 803513BC 0034D01C 40 81 00 0C */ ble lbl_803513C8
+/* 803513C0 0034D020 38 60 00 00 */ li r3, 0
+/* 803513C4 0034D024 48 00 00 68 */ b lbl_8035142C
+lbl_803513C8:
+/* 803513C8 0034D028 80 1F 00 D0 */ lwz r0, 0xd0(r31)
+/* 803513CC 0034D02C 80 7F 00 A8 */ lwz r3, 0xa8(r31)
+/* 803513D0 0034D030 7C 80 22 14 */ add r4, r0, r4
+/* 803513D4 0034D034 90 9F 00 D0 */ stw r4, 0xd0(r31)
+/* 803513D8 0034D038 80 01 00 08 */ lwz r0, 8(r1)
+/* 803513DC 0034D03C 7C 03 02 14 */ add r0, r3, r0
+/* 803513E0 0034D040 90 1F 00 A8 */ stw r0, 0xa8(r31)
+/* 803513E4 0034D044 80 01 00 08 */ lwz r0, 8(r1)
+/* 803513E8 0034D048 2C 00 00 00 */ cmpwi r0, 0
+/* 803513EC 0034D04C 41 81 FF 2C */ bgt lbl_80351318
+/* 803513F0 0034D050 2C 04 00 FF */ cmpwi r4, 0xff
+/* 803513F4 0034D054 40 81 00 34 */ ble lbl_80351428
+/* 803513F8 0034D058 7F C4 28 51 */ subf. r30, r4, r5
+/* 803513FC 0034D05C 40 82 00 10 */ bne lbl_8035140C
+/* 80351400 0034D060 38 7F 00 C0 */ addi r3, r31, 0xc0
+/* 80351404 0034D064 4B FF FC 2D */ bl ghiResetBuffer
+/* 80351408 0034D068 48 00 00 20 */ b lbl_80351428
+lbl_8035140C:
+/* 8035140C 0034D06C 80 7F 00 C4 */ lwz r3, 0xc4(r31)
+/* 80351410 0034D070 7F C5 F3 78 */ mr r5, r30
+/* 80351414 0034D074 7C 83 22 14 */ add r4, r3, r4
+/* 80351418 0034D078 4B E7 8E 5D */ bl memmove
+/* 8035141C 0034D07C 38 00 00 00 */ li r0, 0
+/* 80351420 0034D080 93 DF 00 CC */ stw r30, 0xcc(r31)
+/* 80351424 0034D084 90 1F 00 D0 */ stw r0, 0xd0(r31)
+lbl_80351428:
+/* 80351428 0034D088 38 60 00 01 */ li r3, 1
+lbl_8035142C:
+/* 8035142C 0034D08C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80351430 0034D090 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80351434 0034D094 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80351438 0034D098 7C 08 03 A6 */ mtlr r0
+/* 8035143C 0034D09C 38 21 00 20 */ addi r1, r1, 0x20
+/* 80351440 0034D0A0 4E 80 00 20 */ blr
+
+.global ghiDoReceive
+ghiDoReceive:
+/* 80351444 0034D0A4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80351448 0034D0A8 7C 08 02 A6 */ mflr r0
+/* 8035144C 0034D0AC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80351450 0034D0B0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80351454 0034D0B4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80351458 0034D0B8 7C BE 2B 78 */ mr r30, r5
+/* 8035145C 0034D0BC 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80351460 0034D0C0 7C 9D 23 78 */ mr r29, r4
+/* 80351464 0034D0C4 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80351468 0034D0C8 7C 7C 1B 78 */ mr r28, r3
+/* 8035146C 0034D0CC 80 03 01 58 */ lwz r0, 0x158(r3)
+/* 80351470 0034D0D0 80 65 00 00 */ lwz r3, 0(r5)
+/* 80351474 0034D0D4 2C 00 00 00 */ cmpwi r0, 0
+/* 80351478 0034D0D8 3B E3 FF FF */ addi r31, r3, -1
+/* 8035147C 0034D0DC 41 82 00 3C */ beq lbl_803514B8
+/* 80351480 0034D0E0 4B FE 7B 59 */ bl current_time
+/* 80351484 0034D0E4 80 9C 01 5C */ lwz r4, 0x15c(r28)
+/* 80351488 0034D0E8 80 0D 93 94 */ lwz r0, lbl_8063E654-_SDA_BASE_(r13)
+/* 8035148C 0034D0EC 7C 04 02 14 */ add r0, r4, r0
+/* 80351490 0034D0F0 7C 03 00 40 */ cmplw r3, r0
+/* 80351494 0034D0F4 40 80 00 0C */ bge lbl_803514A0
+/* 80351498 0034D0F8 38 60 00 01 */ li r3, 1
+/* 8035149C 0034D0FC 48 00 00 C0 */ b lbl_8035155C
+lbl_803514A0:
+/* 803514A0 0034D100 90 7C 01 5C */ stw r3, 0x15c(r28)
+/* 803514A4 0034D104 80 0D 93 90 */ lwz r0, lbl_8063E650-_SDA_BASE_(r13)
+/* 803514A8 0034D108 7C 1F 00 00 */ cmpw r31, r0
+/* 803514AC 0034D10C 40 80 00 08 */ bge lbl_803514B4
+/* 803514B0 0034D110 7F E0 FB 78 */ mr r0, r31
+lbl_803514B4:
+/* 803514B4 0034D114 7C 1F 03 78 */ mr r31, r0
+lbl_803514B8:
+/* 803514B8 0034D118 80 7C 00 4C */ lwz r3, 0x4c(r28)
+/* 803514BC 0034D11C 7F A4 EB 78 */ mr r4, r29
+/* 803514C0 0034D120 7F E5 FB 78 */ mr r5, r31
+/* 803514C4 0034D124 38 C0 00 00 */ li r6, 0
+/* 803514C8 0034D128 4B FE 69 09 */ bl recv
+/* 803514CC 0034D12C 2C 03 FF FF */ cmpwi r3, -1
+/* 803514D0 0034D130 40 82 00 64 */ bne lbl_80351534
+/* 803514D4 0034D134 80 7C 00 4C */ lwz r3, 0x4c(r28)
+/* 803514D8 0034D138 4B FE 6A D1 */ bl GOAGetLastError
+/* 803514DC 0034D13C 2C 03 FF C8 */ cmpwi r3, -56
+/* 803514E0 0034D140 40 82 00 14 */ bne lbl_803514F4
+/* 803514E4 0034D144 38 00 00 01 */ li r0, 1
+/* 803514E8 0034D148 38 60 00 02 */ li r3, 2
+/* 803514EC 0034D14C 90 1C 01 54 */ stw r0, 0x154(r28)
+/* 803514F0 0034D150 48 00 00 6C */ b lbl_8035155C
+lbl_803514F4:
+/* 803514F4 0034D154 2C 03 FF FA */ cmpwi r3, -6
+/* 803514F8 0034D158 41 82 00 14 */ beq lbl_8035150C
+/* 803514FC 0034D15C 2C 03 FF E6 */ cmpwi r3, -26
+/* 80351500 0034D160 41 82 00 0C */ beq lbl_8035150C
+/* 80351504 0034D164 2C 03 FF B4 */ cmpwi r3, -76
+/* 80351508 0034D168 40 82 00 0C */ bne lbl_80351514
+lbl_8035150C:
+/* 8035150C 0034D16C 38 60 00 01 */ li r3, 1
+/* 80351510 0034D170 48 00 00 4C */ b lbl_8035155C
+lbl_80351514:
+/* 80351514 0034D174 38 80 00 01 */ li r4, 1
+/* 80351518 0034D178 38 00 00 05 */ li r0, 5
+/* 8035151C 0034D17C 90 7C 00 50 */ stw r3, 0x50(r28)
+/* 80351520 0034D180 38 60 00 03 */ li r3, 3
+/* 80351524 0034D184 90 9C 01 20 */ stw r4, 0x120(r28)
+/* 80351528 0034D188 90 1C 00 3C */ stw r0, 0x3c(r28)
+/* 8035152C 0034D18C 90 9C 01 54 */ stw r4, 0x154(r28)
+/* 80351530 0034D190 48 00 00 2C */ b lbl_8035155C
+lbl_80351534:
+/* 80351534 0034D194 2C 03 00 00 */ cmpwi r3, 0
+/* 80351538 0034D198 40 82 00 14 */ bne lbl_8035154C
+/* 8035153C 0034D19C 38 00 00 01 */ li r0, 1
+/* 80351540 0034D1A0 38 60 00 02 */ li r3, 2
+/* 80351544 0034D1A4 90 1C 01 54 */ stw r0, 0x154(r28)
+/* 80351548 0034D1A8 48 00 00 14 */ b lbl_8035155C
+lbl_8035154C:
+/* 8035154C 0034D1AC 38 00 00 00 */ li r0, 0
+/* 80351550 0034D1B0 7C 1D 19 AE */ stbx r0, r29, r3
+/* 80351554 0034D1B4 90 7E 00 00 */ stw r3, 0(r30)
+/* 80351558 0034D1B8 38 60 00 00 */ li r3, 0
+lbl_8035155C:
+/* 8035155C 0034D1BC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80351560 0034D1C0 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80351564 0034D1C4 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80351568 0034D1C8 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8035156C 0034D1CC 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 80351570 0034D1D0 7C 08 03 A6 */ mtlr r0
+/* 80351574 0034D1D4 38 21 00 20 */ addi r1, r1, 0x20
+/* 80351578 0034D1D8 4E 80 00 20 */ blr
+
+.global ghiDoSend
+ghiDoSend:
+/* 8035157C 0034D1DC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80351580 0034D1E0 7C 08 02 A6 */ mflr r0
+/* 80351584 0034D1E4 2C 04 00 00 */ cmpwi r4, 0
+/* 80351588 0034D1E8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8035158C 0034D1EC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80351590 0034D1F0 7C 7F 1B 78 */ mr r31, r3
+/* 80351594 0034D1F4 41 82 00 0C */ beq lbl_803515A0
+/* 80351598 0034D1F8 2C 05 00 00 */ cmpwi r5, 0
+/* 8035159C 0034D1FC 40 82 00 0C */ bne lbl_803515A8
+lbl_803515A0:
+/* 803515A0 0034D200 38 60 00 00 */ li r3, 0
+/* 803515A4 0034D204 48 00 00 80 */ b lbl_80351624
+lbl_803515A8:
+/* 803515A8 0034D208 80 63 00 4C */ lwz r3, 0x4c(r3)
+/* 803515AC 0034D20C 38 C0 00 00 */ li r6, 0
+/* 803515B0 0034D210 4B FE 68 B1 */ bl send
+/* 803515B4 0034D214 2C 03 FF FF */ cmpwi r3, -1
+/* 803515B8 0034D218 40 82 00 48 */ bne lbl_80351600
+/* 803515BC 0034D21C 80 7F 00 4C */ lwz r3, 0x4c(r31)
+/* 803515C0 0034D220 4B FE 69 E9 */ bl GOAGetLastError
+/* 803515C4 0034D224 2C 03 FF FA */ cmpwi r3, -6
+/* 803515C8 0034D228 41 82 00 14 */ beq lbl_803515DC
+/* 803515CC 0034D22C 2C 03 FF E6 */ cmpwi r3, -26
+/* 803515D0 0034D230 41 82 00 0C */ beq lbl_803515DC
+/* 803515D4 0034D234 2C 03 FF B4 */ cmpwi r3, -76
+/* 803515D8 0034D238 40 82 00 0C */ bne lbl_803515E4
+lbl_803515DC:
+/* 803515DC 0034D23C 38 60 00 00 */ li r3, 0
+/* 803515E0 0034D240 48 00 00 44 */ b lbl_80351624
+lbl_803515E4:
+/* 803515E4 0034D244 38 80 00 01 */ li r4, 1
+/* 803515E8 0034D248 38 00 00 05 */ li r0, 5
+/* 803515EC 0034D24C 90 7F 00 50 */ stw r3, 0x50(r31)
+/* 803515F0 0034D250 38 60 FF FF */ li r3, -1
+/* 803515F4 0034D254 90 9F 01 20 */ stw r4, 0x120(r31)
+/* 803515F8 0034D258 90 1F 00 3C */ stw r0, 0x3c(r31)
+/* 803515FC 0034D25C 48 00 00 28 */ b lbl_80351624
+lbl_80351600:
+/* 80351600 0034D260 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 80351604 0034D264 2C 00 00 06 */ cmpwi r0, 6
+/* 80351608 0034D268 40 82 00 1C */ bne lbl_80351624
+/* 8035160C 0034D26C 80 1F 01 7C */ lwz r0, 0x17c(r31)
+/* 80351610 0034D270 2C 00 00 00 */ cmpwi r0, 0
+/* 80351614 0034D274 40 82 00 10 */ bne lbl_80351624
+/* 80351618 0034D278 80 1F 01 6C */ lwz r0, 0x16c(r31)
+/* 8035161C 0034D27C 7C 00 1A 14 */ add r0, r0, r3
+/* 80351620 0034D280 90 1F 01 6C */ stw r0, 0x16c(r31)
+lbl_80351624:
+/* 80351624 0034D284 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80351628 0034D288 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8035162C 0034D28C 7C 08 03 A6 */ mtlr r0
+/* 80351630 0034D290 38 21 00 10 */ addi r1, r1, 0x10
+/* 80351634 0034D294 4E 80 00 20 */ blr
+
+.global ghiTrySendThenBuffer
+ghiTrySendThenBuffer:
+/* 80351638 0034D298 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8035163C 0034D29C 7C 08 02 A6 */ mflr r0
+/* 80351640 0034D2A0 38 C0 00 00 */ li r6, 0
+/* 80351644 0034D2A4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80351648 0034D2A8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8035164C 0034D2AC 7C BF 2B 78 */ mr r31, r5
+/* 80351650 0034D2B0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80351654 0034D2B4 7C 9E 23 78 */ mr r30, r4
+/* 80351658 0034D2B8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8035165C 0034D2BC 7C 7D 1B 78 */ mr r29, r3
+/* 80351660 0034D2C0 80 03 01 94 */ lwz r0, 0x194(r3)
+/* 80351664 0034D2C4 2C 00 00 00 */ cmpwi r0, 0
+/* 80351668 0034D2C8 41 82 00 68 */ beq lbl_803516D0
+/* 8035166C 0034D2CC 80 03 01 9C */ lwz r0, 0x19c(r3)
+/* 80351670 0034D2D0 2C 00 00 01 */ cmpwi r0, 1
+/* 80351674 0034D2D4 40 82 00 5C */ bne lbl_803516D0
+/* 80351678 0034D2D8 38 63 00 54 */ addi r3, r3, 0x54
+/* 8035167C 0034D2DC 4B FF F5 B1 */ bl ghiEncryptDataToBuffer
+/* 80351680 0034D2E0 2C 03 00 00 */ cmpwi r3, 0
+/* 80351684 0034D2E4 40 82 00 0C */ bne lbl_80351690
+/* 80351688 0034D2E8 38 60 00 00 */ li r3, 0
+/* 8035168C 0034D2EC 48 00 00 AC */ b lbl_80351738
+lbl_80351690:
+/* 80351690 0034D2F0 7F A3 EB 78 */ mr r3, r29
+/* 80351694 0034D2F4 4B FF F9 C1 */ bl ghiSendBufferedData
+/* 80351698 0034D2F8 2C 03 00 00 */ cmpwi r3, 0
+/* 8035169C 0034D2FC 40 82 00 0C */ bne lbl_803516A8
+/* 803516A0 0034D300 38 60 00 00 */ li r3, 0
+/* 803516A4 0034D304 48 00 00 94 */ b lbl_80351738
+lbl_803516A8:
+/* 803516A8 0034D308 80 7D 00 64 */ lwz r3, 0x64(r29)
+/* 803516AC 0034D30C 80 1D 00 60 */ lwz r0, 0x60(r29)
+/* 803516B0 0034D310 7C 03 00 00 */ cmpw r3, r0
+/* 803516B4 0034D314 41 80 00 14 */ blt lbl_803516C8
+/* 803516B8 0034D318 38 7D 00 54 */ addi r3, r29, 0x54
+/* 803516BC 0034D31C 4B FF F9 75 */ bl ghiResetBuffer
+/* 803516C0 0034D320 38 60 00 01 */ li r3, 1
+/* 803516C4 0034D324 48 00 00 74 */ b lbl_80351738
+lbl_803516C8:
+/* 803516C8 0034D328 38 60 00 02 */ li r3, 2
+/* 803516CC 0034D32C 48 00 00 6C */ b lbl_80351738
+lbl_803516D0:
+/* 803516D0 0034D330 80 83 00 64 */ lwz r4, 0x64(r3)
+/* 803516D4 0034D334 80 03 00 60 */ lwz r0, 0x60(r3)
+/* 803516D8 0034D338 7C 04 00 00 */ cmpw r4, r0
+/* 803516DC 0034D33C 41 80 00 38 */ blt lbl_80351714
+/* 803516E0 0034D340 7F A3 EB 78 */ mr r3, r29
+/* 803516E4 0034D344 7F C4 F3 78 */ mr r4, r30
+/* 803516E8 0034D348 7F E5 FB 78 */ mr r5, r31
+/* 803516EC 0034D34C 4B FF FE 91 */ bl ghiDoSend
+/* 803516F0 0034D350 2C 03 FF FF */ cmpwi r3, -1
+/* 803516F4 0034D354 7C 66 1B 78 */ mr r6, r3
+/* 803516F8 0034D358 40 82 00 0C */ bne lbl_80351704
+/* 803516FC 0034D35C 38 60 00 00 */ li r3, 0
+/* 80351700 0034D360 48 00 00 38 */ b lbl_80351738
+lbl_80351704:
+/* 80351704 0034D364 7C 03 F8 00 */ cmpw r3, r31
+/* 80351708 0034D368 40 82 00 0C */ bne lbl_80351714
+/* 8035170C 0034D36C 38 60 00 01 */ li r3, 1
+/* 80351710 0034D370 48 00 00 28 */ b lbl_80351738
+lbl_80351714:
+/* 80351714 0034D374 38 7D 00 54 */ addi r3, r29, 0x54
+/* 80351718 0034D378 7C 9E 32 14 */ add r4, r30, r6
+/* 8035171C 0034D37C 7C A6 F8 50 */ subf r5, r6, r31
+/* 80351720 0034D380 4B FF F3 9D */ bl ghiAppendDataToBuffer
+/* 80351724 0034D384 2C 03 00 00 */ cmpwi r3, 0
+/* 80351728 0034D388 40 82 00 0C */ bne lbl_80351734
+/* 8035172C 0034D38C 38 60 00 00 */ li r3, 0
+/* 80351730 0034D390 48 00 00 08 */ b lbl_80351738
+lbl_80351734:
+/* 80351734 0034D394 38 60 00 02 */ li r3, 2
+lbl_80351738:
+/* 80351738 0034D398 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8035173C 0034D39C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80351740 0034D3A0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80351744 0034D3A4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80351748 0034D3A8 7C 08 03 A6 */ mtlr r0
+/* 8035174C 0034D3AC 38 21 00 20 */ addi r1, r1, 0x20
+/* 80351750 0034D3B0 4E 80 00 20 */ blr
|