donut-decomp/asm/bte/rfc_ts_frames.s

1766 lines
79 KiB
ArmAsm
Raw Normal View History

2022-10-16 16:05:58 +00:00
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
2022-10-16 16:31:36 +00:00
.global rfc_send_sabme
rfc_send_sabme:
2022-10-16 16:05:58 +00:00
/* 8009A968 000967A8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8009A96C 000967AC 7C 08 02 A6 */ mflr r0
/* 8009A970 000967B0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8009A974 000967B4 39 61 00 20 */ addi r11, r1, 0x20
/* 8009A978 000967B8 4B F6 C9 C5 */ bl lbl_8000733C
/* 8009A97C 000967BC 88 03 00 6D */ lbz r0, 0x6d(r3)
/* 8009A980 000967C0 7C 7B 1B 78 */ mr r27, r3
/* 8009A984 000967C4 7C 9C 23 78 */ mr r28, r4
/* 8009A988 000967C8 38 60 00 01 */ li r3, 0x1
/* 8009A98C 000967CC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8009A990 000967D0 40 82 00 08 */ bne lbl_8009A998
/* 8009A994 000967D4 38 60 00 00 */ li r3, 0x0
.global lbl_8009A998
lbl_8009A998:
/* 8009A998 000967D8 54 7D 0E 3C */ rlwinm r29, r3, 1, 24, 30
/* 8009A99C 000967DC 38 60 00 02 */ li r3, 0x2
2022-10-16 16:31:36 +00:00
/* 8009A9A0 000967E0 4B FD A4 81 */ bl GKI_getpoolbuf
2022-10-16 16:05:58 +00:00
/* 8009A9A4 000967E4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009A9A8 000967E8 7C 7E 1B 78 */ mr r30, r3
/* 8009A9AC 000967EC 41 82 00 54 */ beq lbl_8009AA00
/* 8009A9B0 000967F0 38 00 00 09 */ li r0, 0x9
/* 8009A9B4 000967F4 3B E3 00 11 */ addi r31, r3, 0x11
/* 8009A9B8 000967F8 B0 03 00 04 */ sth r0, 0x4(r3)
/* 8009A9BC 000967FC 63 A3 00 01 */ ori r3, r29, 0x1
/* 8009A9C0 00096800 57 80 15 BA */ rlwinm r0, r28, 2, 22, 29
/* 8009A9C4 00096804 38 A0 00 3F */ li r5, 0x3f
/* 8009A9C8 00096808 7C 63 03 78 */ or r3, r3, r0
/* 8009A9CC 0009680C 7F E4 FB 78 */ mr r4, r31
/* 8009A9D0 00096810 98 7F 00 00 */ stb r3, 0x0(r31)
/* 8009A9D4 00096814 38 00 00 01 */ li r0, 0x1
/* 8009A9D8 00096818 38 60 00 03 */ li r3, 0x3
/* 8009A9DC 0009681C 98 BF 00 01 */ stb r5, 0x1(r31)
/* 8009A9E0 00096820 98 1F 00 02 */ stb r0, 0x2(r31)
2022-10-16 16:31:36 +00:00
/* 8009A9E4 00096824 48 00 15 CD */ bl rfc_calc_fcs
2022-10-16 16:05:58 +00:00
/* 8009A9E8 00096828 98 7F 00 03 */ stb r3, 0x3(r31)
/* 8009A9EC 0009682C 38 00 00 04 */ li r0, 0x4
/* 8009A9F0 00096830 7F 63 DB 78 */ mr r3, r27
/* 8009A9F4 00096834 7F C4 F3 78 */ mr r4, r30
/* 8009A9F8 00096838 B0 1E 00 02 */ sth r0, 0x2(r30)
2022-10-16 16:31:36 +00:00
/* 8009A9FC 0009683C 48 00 1D 31 */ bl rfc_check_send_cmd
2022-10-16 16:05:58 +00:00
.global lbl_8009AA00
lbl_8009AA00:
/* 8009AA00 00096840 39 61 00 20 */ addi r11, r1, 0x20
/* 8009AA04 00096844 4B F6 C9 85 */ bl lbl_80007388
/* 8009AA08 00096848 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8009AA0C 0009684C 7C 08 03 A6 */ mtlr r0
/* 8009AA10 00096850 38 21 00 20 */ addi r1, r1, 0x20
/* 8009AA14 00096854 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global rfc_send_ua
rfc_send_ua:
2022-10-16 16:05:58 +00:00
/* 8009AA18 00096858 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8009AA1C 0009685C 7C 08 02 A6 */ mflr r0
/* 8009AA20 00096860 90 01 00 24 */ stw r0, 0x24(r1)
/* 8009AA24 00096864 39 61 00 20 */ addi r11, r1, 0x20
/* 8009AA28 00096868 4B F6 C9 15 */ bl lbl_8000733C
/* 8009AA2C 0009686C 88 03 00 6D */ lbz r0, 0x6d(r3)
/* 8009AA30 00096870 7C 7B 1B 78 */ mr r27, r3
/* 8009AA34 00096874 7C 9C 23 78 */ mr r28, r4
/* 8009AA38 00096878 38 60 00 01 */ li r3, 0x1
/* 8009AA3C 0009687C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8009AA40 00096880 41 82 00 08 */ beq lbl_8009AA48
/* 8009AA44 00096884 38 60 00 00 */ li r3, 0x0
.global lbl_8009AA48
lbl_8009AA48:
/* 8009AA48 00096888 54 7D 0E 3C */ rlwinm r29, r3, 1, 24, 30
/* 8009AA4C 0009688C 38 60 00 02 */ li r3, 0x2
2022-10-16 16:31:36 +00:00
/* 8009AA50 00096890 4B FD A3 D1 */ bl GKI_getpoolbuf
2022-10-16 16:05:58 +00:00
/* 8009AA54 00096894 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009AA58 00096898 7C 7E 1B 78 */ mr r30, r3
/* 8009AA5C 0009689C 41 82 00 54 */ beq lbl_8009AAB0
/* 8009AA60 000968A0 38 00 00 09 */ li r0, 0x9
/* 8009AA64 000968A4 3B E3 00 11 */ addi r31, r3, 0x11
/* 8009AA68 000968A8 B0 03 00 04 */ sth r0, 0x4(r3)
/* 8009AA6C 000968AC 63 A3 00 01 */ ori r3, r29, 0x1
/* 8009AA70 000968B0 57 80 15 BA */ rlwinm r0, r28, 2, 22, 29
/* 8009AA74 000968B4 38 A0 00 73 */ li r5, 0x73
/* 8009AA78 000968B8 7C 63 03 78 */ or r3, r3, r0
/* 8009AA7C 000968BC 7F E4 FB 78 */ mr r4, r31
/* 8009AA80 000968C0 98 7F 00 00 */ stb r3, 0x0(r31)
/* 8009AA84 000968C4 38 00 00 01 */ li r0, 0x1
/* 8009AA88 000968C8 38 60 00 03 */ li r3, 0x3
/* 8009AA8C 000968CC 98 BF 00 01 */ stb r5, 0x1(r31)
/* 8009AA90 000968D0 98 1F 00 02 */ stb r0, 0x2(r31)
2022-10-16 16:31:36 +00:00
/* 8009AA94 000968D4 48 00 15 1D */ bl rfc_calc_fcs
2022-10-16 16:05:58 +00:00
/* 8009AA98 000968D8 98 7F 00 03 */ stb r3, 0x3(r31)
/* 8009AA9C 000968DC 38 00 00 04 */ li r0, 0x4
/* 8009AAA0 000968E0 7F 63 DB 78 */ mr r3, r27
/* 8009AAA4 000968E4 7F C4 F3 78 */ mr r4, r30
/* 8009AAA8 000968E8 B0 1E 00 02 */ sth r0, 0x2(r30)
2022-10-16 16:31:36 +00:00
/* 8009AAAC 000968EC 48 00 1C 81 */ bl rfc_check_send_cmd
2022-10-16 16:05:58 +00:00
.global lbl_8009AAB0
lbl_8009AAB0:
/* 8009AAB0 000968F0 39 61 00 20 */ addi r11, r1, 0x20
/* 8009AAB4 000968F4 4B F6 C8 D5 */ bl lbl_80007388
/* 8009AAB8 000968F8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8009AABC 000968FC 7C 08 03 A6 */ mtlr r0
/* 8009AAC0 00096900 38 21 00 20 */ addi r1, r1, 0x20
/* 8009AAC4 00096904 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global rfc_send_dm
rfc_send_dm:
2022-10-16 16:05:58 +00:00
/* 8009AAC8 00096908 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8009AACC 0009690C 7C 08 02 A6 */ mflr r0
/* 8009AAD0 00096910 90 01 00 24 */ stw r0, 0x24(r1)
/* 8009AAD4 00096914 39 61 00 20 */ addi r11, r1, 0x20
/* 8009AAD8 00096918 4B F6 C8 65 */ bl lbl_8000733C
/* 8009AADC 0009691C 88 03 00 6D */ lbz r0, 0x6d(r3)
/* 8009AAE0 00096920 7C 7F 1B 78 */ mr r31, r3
/* 8009AAE4 00096924 7C 9B 23 78 */ mr r27, r4
/* 8009AAE8 00096928 7C BE 2B 78 */ mr r30, r5
/* 8009AAEC 0009692C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8009AAF0 00096930 38 00 00 01 */ li r0, 0x1
/* 8009AAF4 00096934 41 82 00 08 */ beq lbl_8009AAFC
/* 8009AAF8 00096938 38 00 00 00 */ li r0, 0x0
.global lbl_8009AAFC
lbl_8009AAFC:
/* 8009AAFC 0009693C 54 1C 0E 3C */ rlwinm r28, r0, 1, 24, 30
/* 8009AB00 00096940 38 60 00 02 */ li r3, 0x2
2022-10-16 16:31:36 +00:00
/* 8009AB04 00096944 4B FD A3 1D */ bl GKI_getpoolbuf
2022-10-16 16:05:58 +00:00
/* 8009AB08 00096948 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009AB0C 0009694C 7C 7D 1B 78 */ mr r29, r3
/* 8009AB10 00096950 41 82 00 64 */ beq lbl_8009AB74
/* 8009AB14 00096954 7C 1E 00 D0 */ neg r0, r30
/* 8009AB18 00096958 38 80 00 09 */ li r4, 0x9
/* 8009AB1C 0009695C 7C 00 F3 78 */ or r0, r0, r30
/* 8009AB20 00096960 B0 83 00 04 */ sth r4, 0x4(r3)
/* 8009AB24 00096964 3B C3 00 11 */ addi r30, r3, 0x11
/* 8009AB28 00096968 63 85 00 01 */ ori r5, r28, 0x1
/* 8009AB2C 0009696C 7C 03 FE 70 */ srawi r3, r0, 31
/* 8009AB30 00096970 57 64 15 BA */ rlwinm r4, r27, 2, 22, 29
/* 8009AB34 00096974 7C A4 23 78 */ or r4, r5, r4
/* 8009AB38 00096978 38 00 00 01 */ li r0, 0x1
/* 8009AB3C 0009697C 54 63 06 F6 */ rlwinm r3, r3, 0, 27, 27
/* 8009AB40 00096980 98 9E 00 00 */ stb r4, 0x0(r30)
/* 8009AB44 00096984 60 63 00 0F */ ori r3, r3, 0xf
/* 8009AB48 00096988 7F C4 F3 78 */ mr r4, r30
/* 8009AB4C 0009698C 98 7E 00 01 */ stb r3, 0x1(r30)
/* 8009AB50 00096990 38 60 00 03 */ li r3, 0x3
/* 8009AB54 00096994 98 1E 00 02 */ stb r0, 0x2(r30)
2022-10-16 16:31:36 +00:00
/* 8009AB58 00096998 48 00 14 59 */ bl rfc_calc_fcs
2022-10-16 16:05:58 +00:00
/* 8009AB5C 0009699C 98 7E 00 03 */ stb r3, 0x3(r30)
/* 8009AB60 000969A0 38 00 00 04 */ li r0, 0x4
/* 8009AB64 000969A4 7F E3 FB 78 */ mr r3, r31
/* 8009AB68 000969A8 7F A4 EB 78 */ mr r4, r29
/* 8009AB6C 000969AC B0 1D 00 02 */ sth r0, 0x2(r29)
2022-10-16 16:31:36 +00:00
/* 8009AB70 000969B0 48 00 1B BD */ bl rfc_check_send_cmd
2022-10-16 16:05:58 +00:00
.global lbl_8009AB74
lbl_8009AB74:
/* 8009AB74 000969B4 39 61 00 20 */ addi r11, r1, 0x20
/* 8009AB78 000969B8 4B F6 C8 11 */ bl lbl_80007388
/* 8009AB7C 000969BC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8009AB80 000969C0 7C 08 03 A6 */ mtlr r0
/* 8009AB84 000969C4 38 21 00 20 */ addi r1, r1, 0x20
/* 8009AB88 000969C8 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global rfc_send_disc
rfc_send_disc:
2022-10-16 16:05:58 +00:00
/* 8009AB8C 000969CC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8009AB90 000969D0 7C 08 02 A6 */ mflr r0
/* 8009AB94 000969D4 90 01 00 24 */ stw r0, 0x24(r1)
/* 8009AB98 000969D8 39 61 00 20 */ addi r11, r1, 0x20
/* 8009AB9C 000969DC 4B F6 C7 A1 */ bl lbl_8000733C
/* 8009ABA0 000969E0 88 03 00 6D */ lbz r0, 0x6d(r3)
/* 8009ABA4 000969E4 7C 7B 1B 78 */ mr r27, r3
/* 8009ABA8 000969E8 7C 9C 23 78 */ mr r28, r4
/* 8009ABAC 000969EC 38 60 00 01 */ li r3, 0x1
/* 8009ABB0 000969F0 2C 00 00 00 */ cmpwi r0, 0x0
/* 8009ABB4 000969F4 40 82 00 08 */ bne lbl_8009ABBC
/* 8009ABB8 000969F8 38 60 00 00 */ li r3, 0x0
.global lbl_8009ABBC
lbl_8009ABBC:
/* 8009ABBC 000969FC 54 7D 0E 3C */ rlwinm r29, r3, 1, 24, 30
/* 8009ABC0 00096A00 38 60 00 02 */ li r3, 0x2
2022-10-16 16:31:36 +00:00
/* 8009ABC4 00096A04 4B FD A2 5D */ bl GKI_getpoolbuf
2022-10-16 16:05:58 +00:00
/* 8009ABC8 00096A08 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009ABCC 00096A0C 7C 7E 1B 78 */ mr r30, r3
/* 8009ABD0 00096A10 41 82 00 54 */ beq lbl_8009AC24
/* 8009ABD4 00096A14 38 00 00 09 */ li r0, 0x9
/* 8009ABD8 00096A18 3B E3 00 11 */ addi r31, r3, 0x11
/* 8009ABDC 00096A1C B0 03 00 04 */ sth r0, 0x4(r3)
/* 8009ABE0 00096A20 63 A3 00 01 */ ori r3, r29, 0x1
/* 8009ABE4 00096A24 57 80 15 BA */ rlwinm r0, r28, 2, 22, 29
/* 8009ABE8 00096A28 38 A0 00 53 */ li r5, 0x53
/* 8009ABEC 00096A2C 7C 63 03 78 */ or r3, r3, r0
/* 8009ABF0 00096A30 7F E4 FB 78 */ mr r4, r31
/* 8009ABF4 00096A34 98 7F 00 00 */ stb r3, 0x0(r31)
/* 8009ABF8 00096A38 38 00 00 01 */ li r0, 0x1
/* 8009ABFC 00096A3C 38 60 00 03 */ li r3, 0x3
/* 8009AC00 00096A40 98 BF 00 01 */ stb r5, 0x1(r31)
/* 8009AC04 00096A44 98 1F 00 02 */ stb r0, 0x2(r31)
2022-10-16 16:31:36 +00:00
/* 8009AC08 00096A48 48 00 13 A9 */ bl rfc_calc_fcs
2022-10-16 16:05:58 +00:00
/* 8009AC0C 00096A4C 98 7F 00 03 */ stb r3, 0x3(r31)
/* 8009AC10 00096A50 38 00 00 04 */ li r0, 0x4
/* 8009AC14 00096A54 7F 63 DB 78 */ mr r3, r27
/* 8009AC18 00096A58 7F C4 F3 78 */ mr r4, r30
/* 8009AC1C 00096A5C B0 1E 00 02 */ sth r0, 0x2(r30)
2022-10-16 16:31:36 +00:00
/* 8009AC20 00096A60 48 00 1B 0D */ bl rfc_check_send_cmd
2022-10-16 16:05:58 +00:00
.global lbl_8009AC24
lbl_8009AC24:
/* 8009AC24 00096A64 39 61 00 20 */ addi r11, r1, 0x20
/* 8009AC28 00096A68 4B F6 C7 61 */ bl lbl_80007388
/* 8009AC2C 00096A6C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8009AC30 00096A70 7C 08 03 A6 */ mtlr r0
/* 8009AC34 00096A74 38 21 00 20 */ addi r1, r1, 0x20
/* 8009AC38 00096A78 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global rfc_send_buf_uih
rfc_send_buf_uih:
2022-10-16 16:05:58 +00:00
/* 8009AC3C 00096A7C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8009AC40 00096A80 7C 08 02 A6 */ mflr r0
/* 8009AC44 00096A84 90 01 00 24 */ stw r0, 0x24(r1)
/* 8009AC48 00096A88 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8009AC4C 00096A8C 7C BF 2B 78 */ mr r31, r5
/* 8009AC50 00096A90 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8009AC54 00096A94 7C 9E 23 78 */ mr r30, r4
/* 8009AC58 00096A98 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8009AC5C 00096A9C 7C 7D 1B 78 */ mr r29, r3
/* 8009AC60 00096AA0 93 81 00 10 */ stw r28, 0x10(r1)
/* 8009AC64 00096AA4 88 03 00 6D */ lbz r0, 0x6d(r3)
/* 8009AC68 00096AA8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8009AC6C 00096AAC 38 00 00 01 */ li r0, 0x1
/* 8009AC70 00096AB0 40 82 00 08 */ bne lbl_8009AC78
/* 8009AC74 00096AB4 38 00 00 00 */ li r0, 0x0
.global lbl_8009AC78
lbl_8009AC78:
/* 8009AC78 00096AB8 A0 65 00 04 */ lhz r3, 0x4(r5)
/* 8009AC7C 00096ABC 54 06 0E 3C */ rlwinm r6, r0, 1, 24, 30
/* 8009AC80 00096AC0 A0 05 00 02 */ lhz r0, 0x2(r5)
/* 8009AC84 00096AC4 38 63 FF FD */ addi r3, r3, -0x3
/* 8009AC88 00096AC8 28 00 00 7F */ cmplwi r0, 0x7f
/* 8009AC8C 00096ACC B0 65 00 04 */ sth r3, 0x4(r5)
/* 8009AC90 00096AD0 40 81 00 10 */ ble lbl_8009ACA0
/* 8009AC94 00096AD4 54 63 04 3E */ clrlwi r3, r3, 16
/* 8009AC98 00096AD8 38 03 FF FF */ addi r0, r3, -0x1
/* 8009AC9C 00096ADC B0 05 00 04 */ sth r0, 0x4(r5)
.global lbl_8009ACA0
lbl_8009ACA0:
/* 8009ACA0 00096AE0 2C 04 00 00 */ cmpwi r4, 0x0
/* 8009ACA4 00096AE4 41 82 00 10 */ beq lbl_8009ACB4
/* 8009ACA8 00096AE8 A0 05 00 06 */ lhz r0, 0x6(r5)
/* 8009ACAC 00096AEC 54 00 06 3E */ clrlwi r0, r0, 24
/* 8009ACB0 00096AF0 48 00 00 08 */ b lbl_8009ACB8
.global lbl_8009ACB4
lbl_8009ACB4:
/* 8009ACB4 00096AF4 38 00 00 00 */ li r0, 0x0
.global lbl_8009ACB8
lbl_8009ACB8:
/* 8009ACB8 00096AF8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8009ACBC 00096AFC 41 82 00 10 */ beq lbl_8009ACCC
/* 8009ACC0 00096B00 A0 65 00 04 */ lhz r3, 0x4(r5)
/* 8009ACC4 00096B04 38 63 FF FF */ addi r3, r3, -0x1
/* 8009ACC8 00096B08 B0 65 00 04 */ sth r3, 0x4(r5)
.global lbl_8009ACCC
lbl_8009ACCC:
/* 8009ACCC 00096B0C 7C 60 00 D0 */ neg r3, r0
/* 8009ACD0 00096B10 A0 E5 00 04 */ lhz r7, 0x4(r5)
/* 8009ACD4 00096B14 7C 63 03 78 */ or r3, r3, r0
/* 8009ACD8 00096B18 60 C6 00 01 */ ori r6, r6, 0x1
/* 8009ACDC 00096B1C 54 84 15 BA */ rlwinm r4, r4, 2, 22, 29
/* 8009ACE0 00096B20 7C E5 3A 14 */ add r7, r5, r7
/* 8009ACE4 00096B24 7C C4 23 78 */ or r4, r6, r4
/* 8009ACE8 00096B28 7C 63 FE 70 */ srawi r3, r3, 31
/* 8009ACEC 00096B2C 54 63 06 F6 */ rlwinm r3, r3, 0, 27, 27
/* 8009ACF0 00096B30 98 87 00 08 */ stb r4, 0x8(r7)
/* 8009ACF4 00096B34 60 63 00 EF */ ori r3, r3, 0xef
/* 8009ACF8 00096B38 38 87 00 0A */ addi r4, r7, 0xa
/* 8009ACFC 00096B3C 98 67 00 09 */ stb r3, 0x9(r7)
/* 8009AD00 00096B40 A0 65 00 02 */ lhz r3, 0x2(r5)
/* 8009AD04 00096B44 28 03 00 7F */ cmplwi r3, 0x7f
/* 8009AD08 00096B48 41 81 00 24 */ bgt lbl_8009AD2C
/* 8009AD0C 00096B4C 54 63 0B FC */ rlwinm r3, r3, 1, 15, 30
/* 8009AD10 00096B50 60 63 00 01 */ ori r3, r3, 0x1
/* 8009AD14 00096B54 98 64 00 00 */ stb r3, 0x0(r4)
/* 8009AD18 00096B58 38 84 00 01 */ addi r4, r4, 0x1
/* 8009AD1C 00096B5C A0 65 00 02 */ lhz r3, 0x2(r5)
/* 8009AD20 00096B60 38 63 00 03 */ addi r3, r3, 0x3
/* 8009AD24 00096B64 B0 65 00 02 */ sth r3, 0x2(r5)
/* 8009AD28 00096B68 48 00 00 28 */ b lbl_8009AD50
.global lbl_8009AD2C
lbl_8009AD2C:
/* 8009AD2C 00096B6C 54 63 0E 3C */ rlwinm r3, r3, 1, 24, 30
/* 8009AD30 00096B70 98 64 00 00 */ stb r3, 0x0(r4)
/* 8009AD34 00096B74 A0 65 00 02 */ lhz r3, 0x2(r5)
/* 8009AD38 00096B78 7C 63 3E 70 */ srawi r3, r3, 7
/* 8009AD3C 00096B7C 98 64 00 01 */ stb r3, 0x1(r4)
/* 8009AD40 00096B80 38 84 00 02 */ addi r4, r4, 0x2
/* 8009AD44 00096B84 A0 65 00 02 */ lhz r3, 0x2(r5)
/* 8009AD48 00096B88 38 63 00 04 */ addi r3, r3, 0x4
/* 8009AD4C 00096B8C B0 65 00 02 */ sth r3, 0x2(r5)
.global lbl_8009AD50
lbl_8009AD50:
/* 8009AD50 00096B90 2C 00 00 00 */ cmpwi r0, 0x0
/* 8009AD54 00096B94 41 82 00 14 */ beq lbl_8009AD68
/* 8009AD58 00096B98 98 04 00 00 */ stb r0, 0x0(r4)
/* 8009AD5C 00096B9C A0 65 00 02 */ lhz r3, 0x2(r5)
/* 8009AD60 00096BA0 38 03 00 01 */ addi r0, r3, 0x1
/* 8009AD64 00096BA4 B0 05 00 02 */ sth r0, 0x2(r5)
.global lbl_8009AD68
lbl_8009AD68:
/* 8009AD68 00096BA8 A0 85 00 02 */ lhz r4, 0x2(r5)
/* 8009AD6C 00096BAC 38 60 00 02 */ li r3, 0x2
/* 8009AD70 00096BB0 A0 C5 00 04 */ lhz r6, 0x4(r5)
/* 8009AD74 00096BB4 38 04 00 01 */ addi r0, r4, 0x1
/* 8009AD78 00096BB8 7C C5 32 14 */ add r6, r5, r6
/* 8009AD7C 00096BBC B0 05 00 02 */ sth r0, 0x2(r5)
/* 8009AD80 00096BC0 7F 86 22 14 */ add r28, r6, r4
/* 8009AD84 00096BC4 38 86 00 08 */ addi r4, r6, 0x8
2022-10-16 16:31:36 +00:00
/* 8009AD88 00096BC8 48 00 12 29 */ bl rfc_calc_fcs
2022-10-16 16:05:58 +00:00
/* 8009AD8C 00096BCC 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8009AD90 00096BD0 98 7C 00 08 */ stb r3, 0x8(r28)
/* 8009AD94 00096BD4 40 82 00 14 */ bne lbl_8009ADA8
/* 8009AD98 00096BD8 7F A3 EB 78 */ mr r3, r29
/* 8009AD9C 00096BDC 7F E4 FB 78 */ mr r4, r31
2022-10-16 16:31:36 +00:00
/* 8009ADA0 00096BE0 48 00 19 8D */ bl rfc_check_send_cmd
2022-10-16 16:05:58 +00:00
/* 8009ADA4 00096BE4 48 00 00 10 */ b lbl_8009ADB4
.global lbl_8009ADA8
lbl_8009ADA8:
/* 8009ADA8 00096BE8 A0 7D 00 68 */ lhz r3, 0x68(r29)
/* 8009ADAC 00096BEC 7F E4 FB 78 */ mr r4, r31
2022-10-16 16:31:36 +00:00
/* 8009ADB0 00096BF0 4B FF 5C F1 */ bl L2CA_DataWrite
2022-10-16 16:05:58 +00:00
.global lbl_8009ADB4
lbl_8009ADB4:
/* 8009ADB4 00096BF4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8009ADB8 00096BF8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8009ADBC 00096BFC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8009ADC0 00096C00 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8009ADC4 00096C04 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8009ADC8 00096C08 7C 08 03 A6 */ mtlr r0
/* 8009ADCC 00096C0C 38 21 00 20 */ addi r1, r1, 0x20
/* 8009ADD0 00096C10 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global rfc_send_pn
rfc_send_pn:
2022-10-16 16:05:58 +00:00
/* 8009ADD4 00096C14 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8009ADD8 00096C18 7C 08 02 A6 */ mflr r0
/* 8009ADDC 00096C1C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8009ADE0 00096C20 39 61 00 20 */ addi r11, r1, 0x20
/* 8009ADE4 00096C24 4B F6 C5 55 */ bl lbl_80007338
/* 8009ADE8 00096C28 7C 7E 1B 78 */ mr r30, r3
/* 8009ADEC 00096C2C 7C 9A 23 78 */ mr r26, r4
/* 8009ADF0 00096C30 7C BB 2B 78 */ mr r27, r5
/* 8009ADF4 00096C34 7C DF 33 78 */ mr r31, r6
/* 8009ADF8 00096C38 7C FC 3B 78 */ mr r28, r7
/* 8009ADFC 00096C3C 7D 1D 43 78 */ mr r29, r8
/* 8009AE00 00096C40 38 60 00 02 */ li r3, 0x2
2022-10-16 16:31:36 +00:00
/* 8009AE04 00096C44 4B FD A0 1D */ bl GKI_getpoolbuf
2022-10-16 16:05:58 +00:00
/* 8009AE08 00096C48 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009AE0C 00096C4C 41 82 00 98 */ beq lbl_8009AEA4
/* 8009AE10 00096C50 7C 1B 00 D0 */ neg r0, r27
/* 8009AE14 00096C54 38 80 00 0C */ li r4, 0xc
/* 8009AE18 00096C58 7C 00 DB 78 */ or r0, r0, r27
/* 8009AE1C 00096C5C B0 83 00 04 */ sth r4, 0x4(r3)
/* 8009AE20 00096C60 7C 04 FE 70 */ srawi r4, r0, 31
/* 8009AE24 00096C64 2C 1B 00 00 */ cmpwi r27, 0x0
/* 8009AE28 00096C68 54 84 07 BC */ rlwinm r4, r4, 0, 30, 30
/* 8009AE2C 00096C6C 38 00 00 11 */ li r0, 0x11
/* 8009AE30 00096C70 60 84 00 81 */ ori r4, r4, 0x81
/* 8009AE34 00096C74 39 03 00 18 */ addi r8, r3, 0x18
/* 8009AE38 00096C78 98 83 00 14 */ stb r4, 0x14(r3)
/* 8009AE3C 00096C7C 98 03 00 15 */ stb r0, 0x15(r3)
/* 8009AE40 00096C80 9B 43 00 16 */ stb r26, 0x16(r3)
/* 8009AE44 00096C84 9B 83 00 17 */ stb r28, 0x17(r3)
/* 8009AE48 00096C88 41 82 00 14 */ beq lbl_8009AE5C
/* 8009AE4C 00096C8C 38 00 00 00 */ li r0, 0x0
/* 8009AE50 00096C90 98 08 00 00 */ stb r0, 0x0(r8)
/* 8009AE54 00096C94 39 08 00 01 */ addi r8, r8, 0x1
/* 8009AE58 00096C98 48 00 00 18 */ b lbl_8009AE70
.global lbl_8009AE5C
lbl_8009AE5C:
2022-10-16 16:31:36 +00:00
/* 8009AE5C 00096C9C 3C 80 80 50 */ lis r4, rfc_cb@ha
/* 8009AE60 00096CA0 38 84 98 08 */ addi r4, r4, rfc_cb@l
2022-10-16 16:05:58 +00:00
/* 8009AE64 00096CA4 88 04 00 0B */ lbz r0, 0xb(r4)
/* 8009AE68 00096CA8 98 08 00 00 */ stb r0, 0x0(r8)
/* 8009AE6C 00096CAC 39 08 00 01 */ addi r8, r8, 0x1
.global lbl_8009AE70
lbl_8009AE70:
/* 8009AE70 00096CB0 38 E0 00 00 */ li r7, 0x0
/* 8009AE74 00096CB4 57 E6 C6 3E */ extrwi r6, r31, 8, 16
/* 8009AE78 00096CB8 98 E8 00 00 */ stb r7, 0x0(r8)
/* 8009AE7C 00096CBC 38 00 00 0A */ li r0, 0xa
/* 8009AE80 00096CC0 7C 65 1B 78 */ mr r5, r3
/* 8009AE84 00096CC4 38 80 00 00 */ li r4, 0x0
/* 8009AE88 00096CC8 9B E8 00 01 */ stb r31, 0x1(r8)
/* 8009AE8C 00096CCC 98 C8 00 02 */ stb r6, 0x2(r8)
/* 8009AE90 00096CD0 98 E8 00 03 */ stb r7, 0x3(r8)
/* 8009AE94 00096CD4 9B A8 00 04 */ stb r29, 0x4(r8)
/* 8009AE98 00096CD8 B0 03 00 02 */ sth r0, 0x2(r3)
/* 8009AE9C 00096CDC 7F C3 F3 78 */ mr r3, r30
2022-10-16 16:31:36 +00:00
/* 8009AEA0 00096CE0 4B FF FD 9D */ bl rfc_send_buf_uih
2022-10-16 16:05:58 +00:00
.global lbl_8009AEA4
lbl_8009AEA4:
/* 8009AEA4 00096CE4 39 61 00 20 */ addi r11, r1, 0x20
/* 8009AEA8 00096CE8 4B F6 C4 DD */ bl lbl_80007384
/* 8009AEAC 00096CEC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8009AEB0 00096CF0 7C 08 03 A6 */ mtlr r0
/* 8009AEB4 00096CF4 38 21 00 20 */ addi r1, r1, 0x20
/* 8009AEB8 00096CF8 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global rfc_send_fcon
rfc_send_fcon:
2022-10-16 16:05:58 +00:00
/* 8009AEBC 00096CFC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8009AEC0 00096D00 7C 08 02 A6 */ mflr r0
/* 8009AEC4 00096D04 90 01 00 14 */ stw r0, 0x14(r1)
/* 8009AEC8 00096D08 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8009AECC 00096D0C 7C 9F 23 78 */ mr r31, r4
/* 8009AED0 00096D10 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8009AED4 00096D14 7C 7E 1B 78 */ mr r30, r3
/* 8009AED8 00096D18 38 60 00 02 */ li r3, 0x2
2022-10-16 16:31:36 +00:00
/* 8009AEDC 00096D1C 4B FD 9F 45 */ bl GKI_getpoolbuf
2022-10-16 16:05:58 +00:00
/* 8009AEE0 00096D20 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009AEE4 00096D24 41 82 00 44 */ beq lbl_8009AF28
/* 8009AEE8 00096D28 7C 1F 00 D0 */ neg r0, r31
/* 8009AEEC 00096D2C 38 80 00 0C */ li r4, 0xc
/* 8009AEF0 00096D30 7C 00 FB 78 */ or r0, r0, r31
/* 8009AEF4 00096D34 B0 83 00 04 */ sth r4, 0x4(r3)
/* 8009AEF8 00096D38 7C 04 FE 70 */ srawi r4, r0, 31
/* 8009AEFC 00096D3C 38 C0 00 02 */ li r6, 0x2
/* 8009AF00 00096D40 54 84 07 BC */ rlwinm r4, r4, 0, 30, 30
/* 8009AF04 00096D44 38 00 00 01 */ li r0, 0x1
/* 8009AF08 00096D48 60 84 00 A1 */ ori r4, r4, 0xa1
/* 8009AF0C 00096D4C 7C 65 1B 78 */ mr r5, r3
/* 8009AF10 00096D50 98 83 00 14 */ stb r4, 0x14(r3)
/* 8009AF14 00096D54 38 80 00 00 */ li r4, 0x0
/* 8009AF18 00096D58 98 03 00 15 */ stb r0, 0x15(r3)
/* 8009AF1C 00096D5C B0 C3 00 02 */ sth r6, 0x2(r3)
/* 8009AF20 00096D60 7F C3 F3 78 */ mr r3, r30
2022-10-16 16:31:36 +00:00
/* 8009AF24 00096D64 4B FF FD 19 */ bl rfc_send_buf_uih
2022-10-16 16:05:58 +00:00
.global lbl_8009AF28
lbl_8009AF28:
/* 8009AF28 00096D68 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8009AF2C 00096D6C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8009AF30 00096D70 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8009AF34 00096D74 7C 08 03 A6 */ mtlr r0
/* 8009AF38 00096D78 38 21 00 10 */ addi r1, r1, 0x10
/* 8009AF3C 00096D7C 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global rfc_send_fcoff
rfc_send_fcoff:
2022-10-16 16:05:58 +00:00
/* 8009AF40 00096D80 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8009AF44 00096D84 7C 08 02 A6 */ mflr r0
/* 8009AF48 00096D88 90 01 00 14 */ stw r0, 0x14(r1)
/* 8009AF4C 00096D8C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8009AF50 00096D90 7C 9F 23 78 */ mr r31, r4
/* 8009AF54 00096D94 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8009AF58 00096D98 7C 7E 1B 78 */ mr r30, r3
/* 8009AF5C 00096D9C 38 60 00 02 */ li r3, 0x2
2022-10-16 16:31:36 +00:00
/* 8009AF60 00096DA0 4B FD 9E C1 */ bl GKI_getpoolbuf
2022-10-16 16:05:58 +00:00
/* 8009AF64 00096DA4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009AF68 00096DA8 41 82 00 44 */ beq lbl_8009AFAC
/* 8009AF6C 00096DAC 7C 1F 00 D0 */ neg r0, r31
/* 8009AF70 00096DB0 38 80 00 0C */ li r4, 0xc
/* 8009AF74 00096DB4 7C 00 FB 78 */ or r0, r0, r31
/* 8009AF78 00096DB8 B0 83 00 04 */ sth r4, 0x4(r3)
/* 8009AF7C 00096DBC 7C 04 FE 70 */ srawi r4, r0, 31
/* 8009AF80 00096DC0 38 C0 00 02 */ li r6, 0x2
/* 8009AF84 00096DC4 54 84 07 BC */ rlwinm r4, r4, 0, 30, 30
/* 8009AF88 00096DC8 38 00 00 01 */ li r0, 0x1
/* 8009AF8C 00096DCC 60 84 00 61 */ ori r4, r4, 0x61
/* 8009AF90 00096DD0 7C 65 1B 78 */ mr r5, r3
/* 8009AF94 00096DD4 98 83 00 14 */ stb r4, 0x14(r3)
/* 8009AF98 00096DD8 38 80 00 00 */ li r4, 0x0
/* 8009AF9C 00096DDC 98 03 00 15 */ stb r0, 0x15(r3)
/* 8009AFA0 00096DE0 B0 C3 00 02 */ sth r6, 0x2(r3)
/* 8009AFA4 00096DE4 7F C3 F3 78 */ mr r3, r30
2022-10-16 16:31:36 +00:00
/* 8009AFA8 00096DE8 4B FF FC 95 */ bl rfc_send_buf_uih
2022-10-16 16:05:58 +00:00
.global lbl_8009AFAC
lbl_8009AFAC:
/* 8009AFAC 00096DEC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8009AFB0 00096DF0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8009AFB4 00096DF4 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8009AFB8 00096DF8 7C 08 03 A6 */ mtlr r0
/* 8009AFBC 00096DFC 38 21 00 10 */ addi r1, r1, 0x10
/* 8009AFC0 00096E00 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global rfc_send_msc
rfc_send_msc:
2022-10-16 16:05:58 +00:00
/* 8009AFC4 00096E04 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8009AFC8 00096E08 7C 08 02 A6 */ mflr r0
/* 8009AFCC 00096E0C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8009AFD0 00096E10 39 61 00 20 */ addi r11, r1, 0x20
/* 8009AFD4 00096E14 4B F6 C3 65 */ bl lbl_80007338
/* 8009AFD8 00096E18 8B E6 00 00 */ lbz r31, 0x0(r6)
/* 8009AFDC 00096E1C 7C 7C 1B 78 */ mr r28, r3
/* 8009AFE0 00096E20 8B C6 00 01 */ lbz r30, 0x1(r6)
/* 8009AFE4 00096E24 7C 9A 23 78 */ mr r26, r4
/* 8009AFE8 00096E28 7C BB 2B 78 */ mr r27, r5
/* 8009AFEC 00096E2C 7C DD 33 78 */ mr r29, r6
/* 8009AFF0 00096E30 38 60 00 02 */ li r3, 0x2
2022-10-16 16:31:36 +00:00
/* 8009AFF4 00096E34 4B FD 9E 2D */ bl GKI_getpoolbuf
2022-10-16 16:05:58 +00:00
/* 8009AFF8 00096E38 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009AFFC 00096E3C 41 82 00 D0 */ beq lbl_8009B0CC
/* 8009B000 00096E40 7C 1B 00 D0 */ neg r0, r27
/* 8009B004 00096E44 7C 9E 00 D0 */ neg r4, r30
/* 8009B008 00096E48 7C 00 DB 78 */ or r0, r0, r27
/* 8009B00C 00096E4C 38 C0 00 0C */ li r6, 0xc
/* 8009B010 00096E50 7C 85 F3 78 */ or r5, r4, r30
/* 8009B014 00096E54 B0 C3 00 04 */ sth r6, 0x4(r3)
/* 8009B018 00096E58 7C 00 FE 70 */ srawi r0, r0, 31
/* 8009B01C 00096E5C 57 44 15 BA */ rlwinm r4, r26, 2, 22, 29
/* 8009B020 00096E60 54 00 07 BC */ rlwinm r0, r0, 0, 30, 30
/* 8009B024 00096E64 54 A5 0F FE */ srwi r5, r5, 31
/* 8009B028 00096E68 60 00 00 E1 */ ori r0, r0, 0xe1
/* 8009B02C 00096E6C 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8009B030 00096E70 39 25 00 02 */ addi r9, r5, 0x2
/* 8009B034 00096E74 98 03 00 14 */ stb r0, 0x14(r3)
/* 8009B038 00096E78 55 25 0D FC */ rlwinm r5, r9, 1, 23, 30
/* 8009B03C 00096E7C 57 E0 07 FE */ clrlwi r0, r31, 31
/* 8009B040 00096E80 60 A6 00 01 */ ori r6, r5, 0x1
/* 8009B044 00096E84 60 85 00 03 */ ori r5, r4, 0x3
/* 8009B048 00096E88 98 C3 00 15 */ stb r6, 0x15(r3)
/* 8009B04C 00096E8C 57 E4 FF FE */ extrwi r4, r31, 1, 30
/* 8009B050 00096E90 7D 00 00 D0 */ neg r8, r0
/* 8009B054 00096E94 98 A3 00 16 */ stb r5, 0x16(r3)
/* 8009B058 00096E98 7C 84 00 D0 */ neg r4, r4
/* 8009B05C 00096E9C 57 E0 F7 FE */ extrwi r0, r31, 1, 29
/* 8009B060 00096EA0 88 FD 00 04 */ lbz r7, 0x4(r29)
/* 8009B064 00096EA4 54 8A 07 38 */ rlwinm r10, r4, 0, 28, 28
/* 8009B068 00096EA8 7C C0 00 D0 */ neg r6, r0
/* 8009B06C 00096EAC 57 E0 EF FE */ extrwi r0, r31, 1, 28
/* 8009B070 00096EB0 7C 87 00 D0 */ neg r4, r7
/* 8009B074 00096EB4 7C 84 3B 78 */ or r4, r4, r7
/* 8009B078 00096EB8 7C A0 00 D0 */ neg r5, r0
/* 8009B07C 00096EBC 7C 84 FE 70 */ srawi r4, r4, 31
/* 8009B080 00096EC0 61 40 00 01 */ ori r0, r10, 0x1
/* 8009B084 00096EC4 54 84 07 BC */ rlwinm r4, r4, 0, 30, 30
/* 8009B088 00096EC8 38 E3 00 18 */ addi r7, r3, 0x18
/* 8009B08C 00096ECC 51 04 07 7A */ rlwimi r4, r8, 0, 29, 29
/* 8009B090 00096ED0 50 C4 06 72 */ rlwimi r4, r6, 0, 25, 25
/* 8009B094 00096ED4 50 A4 06 30 */ rlwimi r4, r5, 0, 24, 24
/* 8009B098 00096ED8 7C 80 03 78 */ or r0, r4, r0
/* 8009B09C 00096EDC 98 03 00 17 */ stb r0, 0x17(r3)
/* 8009B0A0 00096EE0 41 82 00 10 */ beq lbl_8009B0B0
/* 8009B0A4 00096EE4 57 C0 25 36 */ rlwinm r0, r30, 4, 20, 27
/* 8009B0A8 00096EE8 60 00 00 03 */ ori r0, r0, 0x3
/* 8009B0AC 00096EEC 98 07 00 00 */ stb r0, 0x0(r7)
.global lbl_8009B0B0
lbl_8009B0B0:
/* 8009B0B0 00096EF0 55 24 06 3E */ clrlwi r4, r9, 24
/* 8009B0B4 00096EF4 7C 65 1B 78 */ mr r5, r3
/* 8009B0B8 00096EF8 38 04 00 02 */ addi r0, r4, 0x2
/* 8009B0BC 00096EFC B0 03 00 02 */ sth r0, 0x2(r3)
/* 8009B0C0 00096F00 38 80 00 00 */ li r4, 0x0
/* 8009B0C4 00096F04 7F 83 E3 78 */ mr r3, r28
2022-10-16 16:31:36 +00:00
/* 8009B0C8 00096F08 4B FF FB 75 */ bl rfc_send_buf_uih
2022-10-16 16:05:58 +00:00
.global lbl_8009B0CC
lbl_8009B0CC:
/* 8009B0CC 00096F0C 39 61 00 20 */ addi r11, r1, 0x20
/* 8009B0D0 00096F10 4B F6 C2 B5 */ bl lbl_80007384
/* 8009B0D4 00096F14 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8009B0D8 00096F18 7C 08 03 A6 */ mtlr r0
/* 8009B0DC 00096F1C 38 21 00 20 */ addi r1, r1, 0x20
/* 8009B0E0 00096F20 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global rfc_send_rls
rfc_send_rls:
2022-10-16 16:05:58 +00:00
/* 8009B0E4 00096F24 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8009B0E8 00096F28 7C 08 02 A6 */ mflr r0
/* 8009B0EC 00096F2C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8009B0F0 00096F30 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8009B0F4 00096F34 7C DF 33 78 */ mr r31, r6
/* 8009B0F8 00096F38 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8009B0FC 00096F3C 7C BE 2B 78 */ mr r30, r5
/* 8009B100 00096F40 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8009B104 00096F44 7C 9D 23 78 */ mr r29, r4
/* 8009B108 00096F48 93 81 00 10 */ stw r28, 0x10(r1)
/* 8009B10C 00096F4C 7C 7C 1B 78 */ mr r28, r3
/* 8009B110 00096F50 38 60 00 02 */ li r3, 0x2
2022-10-16 16:31:36 +00:00
/* 8009B114 00096F54 4B FD 9D 0D */ bl GKI_getpoolbuf
2022-10-16 16:05:58 +00:00
/* 8009B118 00096F58 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009B11C 00096F5C 41 82 00 58 */ beq lbl_8009B174
/* 8009B120 00096F60 7C 1E 00 D0 */ neg r0, r30
/* 8009B124 00096F64 38 A0 00 0C */ li r5, 0xc
/* 8009B128 00096F68 7C 04 F3 78 */ or r4, r0, r30
/* 8009B12C 00096F6C B0 A3 00 04 */ sth r5, 0x4(r3)
/* 8009B130 00096F70 7C 84 FE 70 */ srawi r4, r4, 31
/* 8009B134 00096F74 57 A0 15 BA */ rlwinm r0, r29, 2, 22, 29
/* 8009B138 00096F78 54 85 07 BC */ rlwinm r5, r4, 0, 30, 30
/* 8009B13C 00096F7C 63 E6 00 01 */ ori r6, r31, 0x1
/* 8009B140 00096F80 60 A5 00 51 */ ori r5, r5, 0x51
/* 8009B144 00096F84 60 07 00 03 */ ori r7, r0, 0x3
/* 8009B148 00096F88 98 A3 00 14 */ stb r5, 0x14(r3)
/* 8009B14C 00096F8C 38 80 00 05 */ li r4, 0x5
/* 8009B150 00096F90 38 00 00 04 */ li r0, 0x4
/* 8009B154 00096F94 7C 65 1B 78 */ mr r5, r3
/* 8009B158 00096F98 98 83 00 15 */ stb r4, 0x15(r3)
/* 8009B15C 00096F9C 38 80 00 00 */ li r4, 0x0
/* 8009B160 00096FA0 98 E3 00 16 */ stb r7, 0x16(r3)
/* 8009B164 00096FA4 98 C3 00 17 */ stb r6, 0x17(r3)
/* 8009B168 00096FA8 B0 03 00 02 */ sth r0, 0x2(r3)
/* 8009B16C 00096FAC 7F 83 E3 78 */ mr r3, r28
2022-10-16 16:31:36 +00:00
/* 8009B170 00096FB0 4B FF FA CD */ bl rfc_send_buf_uih
2022-10-16 16:05:58 +00:00
.global lbl_8009B174
lbl_8009B174:
/* 8009B174 00096FB4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8009B178 00096FB8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8009B17C 00096FBC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8009B180 00096FC0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8009B184 00096FC4 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8009B188 00096FC8 7C 08 03 A6 */ mtlr r0
/* 8009B18C 00096FCC 38 21 00 20 */ addi r1, r1, 0x20
/* 8009B190 00096FD0 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global rfc_send_rpn
rfc_send_rpn:
2022-10-16 16:05:58 +00:00
/* 8009B194 00096FD4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8009B198 00096FD8 7C 08 02 A6 */ mflr r0
/* 8009B19C 00096FDC 90 01 00 24 */ stw r0, 0x24(r1)
/* 8009B1A0 00096FE0 39 61 00 20 */ addi r11, r1, 0x20
/* 8009B1A4 00096FE4 4B F6 C1 99 */ bl lbl_8000733C
/* 8009B1A8 00096FE8 7C 7D 1B 78 */ mr r29, r3
/* 8009B1AC 00096FEC 7C 9B 23 78 */ mr r27, r4
/* 8009B1B0 00096FF0 7C BC 2B 78 */ mr r28, r5
/* 8009B1B4 00096FF4 7C DE 33 78 */ mr r30, r6
/* 8009B1B8 00096FF8 7C FF 3B 78 */ mr r31, r7
/* 8009B1BC 00096FFC 38 60 00 02 */ li r3, 0x2
2022-10-16 16:31:36 +00:00
/* 8009B1C0 00097000 4B FD 9C 61 */ bl GKI_getpoolbuf
2022-10-16 16:05:58 +00:00
/* 8009B1C4 00097004 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009B1C8 00097008 7C 65 1B 78 */ mr r5, r3
/* 8009B1CC 0009700C 41 82 00 CC */ beq lbl_8009B298
/* 8009B1D0 00097010 7C 1C 00 D0 */ neg r0, r28
/* 8009B1D4 00097014 38 80 00 0C */ li r4, 0xc
/* 8009B1D8 00097018 7C 00 E3 78 */ or r0, r0, r28
/* 8009B1DC 0009701C B0 83 00 04 */ sth r4, 0x4(r3)
/* 8009B1E0 00097020 7C 00 FE 70 */ srawi r0, r0, 31
/* 8009B1E4 00097024 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8009B1E8 00097028 54 00 07 BC */ rlwinm r0, r0, 0, 30, 30
/* 8009B1EC 0009702C 38 83 00 15 */ addi r4, r3, 0x15
/* 8009B1F0 00097030 60 00 00 91 */ ori r0, r0, 0x91
/* 8009B1F4 00097034 98 03 00 14 */ stb r0, 0x14(r3)
/* 8009B1F8 00097038 40 82 00 20 */ bne lbl_8009B218
/* 8009B1FC 0009703C 38 C0 00 03 */ li r6, 0x3
/* 8009B200 00097040 57 60 15 BA */ rlwinm r0, r27, 2, 22, 29
/* 8009B204 00097044 98 C4 00 00 */ stb r6, 0x0(r4)
/* 8009B208 00097048 60 00 00 03 */ ori r0, r0, 0x3
/* 8009B20C 0009704C 98 04 00 01 */ stb r0, 0x1(r4)
/* 8009B210 00097050 B0 C3 00 02 */ sth r6, 0x2(r3)
/* 8009B214 00097054 48 00 00 78 */ b lbl_8009B28C
.global lbl_8009B218
lbl_8009B218:
/* 8009B218 00097058 38 C0 00 11 */ li r6, 0x11
/* 8009B21C 0009705C 57 60 15 BA */ rlwinm r0, r27, 2, 22, 29
/* 8009B220 00097060 98 C4 00 00 */ stb r6, 0x0(r4)
/* 8009B224 00097064 60 07 00 03 */ ori r7, r0, 0x3
/* 8009B228 00097068 57 E6 C6 3E */ extrwi r6, r31, 8, 16
/* 8009B22C 0009706C 38 00 00 0A */ li r0, 0xa
/* 8009B230 00097070 98 E4 00 01 */ stb r7, 0x1(r4)
/* 8009B234 00097074 88 FE 00 00 */ lbz r7, 0x0(r30)
/* 8009B238 00097078 98 E4 00 02 */ stb r7, 0x2(r4)
/* 8009B23C 0009707C 88 FE 00 02 */ lbz r7, 0x2(r30)
/* 8009B240 00097080 89 3E 00 03 */ lbz r9, 0x3(r30)
/* 8009B244 00097084 89 5E 00 04 */ lbz r10, 0x4(r30)
/* 8009B248 00097088 54 E7 10 3A */ slwi r7, r7, 2
/* 8009B24C 0009708C 89 1E 00 01 */ lbz r8, 0x1(r30)
/* 8009B250 00097090 55 29 18 38 */ slwi r9, r9, 3
/* 8009B254 00097094 55 4A 20 36 */ slwi r10, r10, 4
/* 8009B258 00097098 7D 07 3B 78 */ or r7, r8, r7
/* 8009B25C 0009709C 7D 27 3B 78 */ or r7, r9, r7
/* 8009B260 000970A0 7D 47 3B 78 */ or r7, r10, r7
/* 8009B264 000970A4 98 E4 00 03 */ stb r7, 0x3(r4)
/* 8009B268 000970A8 88 FE 00 05 */ lbz r7, 0x5(r30)
/* 8009B26C 000970AC 98 E4 00 04 */ stb r7, 0x4(r4)
/* 8009B270 000970B0 88 FE 00 07 */ lbz r7, 0x7(r30)
/* 8009B274 000970B4 98 E4 00 05 */ stb r7, 0x5(r4)
/* 8009B278 000970B8 88 FE 00 08 */ lbz r7, 0x8(r30)
/* 8009B27C 000970BC 98 E4 00 06 */ stb r7, 0x6(r4)
/* 8009B280 000970C0 9B E4 00 07 */ stb r31, 0x7(r4)
/* 8009B284 000970C4 98 C4 00 08 */ stb r6, 0x8(r4)
/* 8009B288 000970C8 B0 03 00 02 */ sth r0, 0x2(r3)
.global lbl_8009B28C
lbl_8009B28C:
/* 8009B28C 000970CC 7F A3 EB 78 */ mr r3, r29
/* 8009B290 000970D0 38 80 00 00 */ li r4, 0x0
2022-10-16 16:31:36 +00:00
/* 8009B294 000970D4 4B FF F9 A9 */ bl rfc_send_buf_uih
2022-10-16 16:05:58 +00:00
.global lbl_8009B298
lbl_8009B298:
/* 8009B298 000970D8 39 61 00 20 */ addi r11, r1, 0x20
/* 8009B29C 000970DC 4B F6 C0 ED */ bl lbl_80007388
/* 8009B2A0 000970E0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8009B2A4 000970E4 7C 08 03 A6 */ mtlr r0
/* 8009B2A8 000970E8 38 21 00 20 */ addi r1, r1, 0x20
/* 8009B2AC 000970EC 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global rfc_send_test
rfc_send_test:
2022-10-16 16:05:58 +00:00
/* 8009B2B0 000970F0 A0 05 00 04 */ lhz r0, 0x4(r5)
/* 8009B2B4 000970F4 28 00 00 10 */ cmplwi r0, 0x10
/* 8009B2B8 000970F8 40 80 00 50 */ bge lbl_8009B308
/* 8009B2BC 000970FC A0 C5 00 02 */ lhz r6, 0x2(r5)
/* 8009B2C0 00097100 7C 05 02 14 */ add r0, r5, r0
/* 8009B2C4 00097104 39 00 00 00 */ li r8, 0x0
/* 8009B2C8 00097108 7C E0 32 14 */ add r7, r0, r6
/* 8009B2CC 0009710C 7C C5 32 14 */ add r6, r5, r6
/* 8009B2D0 00097110 38 E7 00 07 */ addi r7, r7, 0x7
/* 8009B2D4 00097114 39 26 00 17 */ addi r9, r6, 0x17
/* 8009B2D8 00097118 48 00 00 18 */ b lbl_8009B2F0
.global lbl_8009B2DC
lbl_8009B2DC:
/* 8009B2DC 0009711C 88 07 00 00 */ lbz r0, 0x0(r7)
/* 8009B2E0 00097120 39 08 00 01 */ addi r8, r8, 0x1
/* 8009B2E4 00097124 38 E7 FF FF */ addi r7, r7, -0x1
/* 8009B2E8 00097128 98 09 00 00 */ stb r0, 0x0(r9)
/* 8009B2EC 0009712C 39 29 FF FF */ addi r9, r9, -0x1
.global lbl_8009B2F0
lbl_8009B2F0:
/* 8009B2F0 00097130 A0 05 00 02 */ lhz r0, 0x2(r5)
/* 8009B2F4 00097134 55 06 04 3E */ clrlwi r6, r8, 16
/* 8009B2F8 00097138 7C 06 00 40 */ cmplw r6, r0
/* 8009B2FC 0009713C 41 80 FF E0 */ blt lbl_8009B2DC
/* 8009B300 00097140 38 00 00 10 */ li r0, 0x10
/* 8009B304 00097144 B0 05 00 04 */ sth r0, 0x4(r5)
.global lbl_8009B308
lbl_8009B308:
/* 8009B308 00097148 7C 04 00 D0 */ neg r0, r4
/* 8009B30C 0009714C A0 C5 00 04 */ lhz r6, 0x4(r5)
/* 8009B310 00097150 7C 00 23 78 */ or r0, r0, r4
/* 8009B314 00097154 38 86 FF FE */ addi r4, r6, -0x2
/* 8009B318 00097158 7C 00 FE 70 */ srawi r0, r0, 31
/* 8009B31C 0009715C B0 85 00 04 */ sth r4, 0x4(r5)
/* 8009B320 00097160 54 86 04 3E */ clrlwi r6, r4, 16
/* 8009B324 00097164 38 80 00 00 */ li r4, 0x0
/* 8009B328 00097168 54 00 07 BC */ rlwinm r0, r0, 0, 30, 30
/* 8009B32C 0009716C 7C C5 32 14 */ add r6, r5, r6
/* 8009B330 00097170 60 00 00 21 */ ori r0, r0, 0x21
/* 8009B334 00097174 98 06 00 08 */ stb r0, 0x8(r6)
/* 8009B338 00097178 A0 05 00 02 */ lhz r0, 0x2(r5)
/* 8009B33C 0009717C 54 00 08 3C */ slwi r0, r0, 1
/* 8009B340 00097180 60 00 00 01 */ ori r0, r0, 0x1
/* 8009B344 00097184 98 06 00 09 */ stb r0, 0x9(r6)
/* 8009B348 00097188 A0 C5 00 02 */ lhz r6, 0x2(r5)
/* 8009B34C 0009718C 38 06 00 02 */ addi r0, r6, 0x2
/* 8009B350 00097190 B0 05 00 02 */ sth r0, 0x2(r5)
2022-10-16 16:31:36 +00:00
/* 8009B354 00097194 4B FF F8 E8 */ b rfc_send_buf_uih
.global rfc_send_credit
rfc_send_credit:
2022-10-16 16:05:58 +00:00
/* 8009B358 00097198 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8009B35C 0009719C 7C 08 02 A6 */ mflr r0
/* 8009B360 000971A0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8009B364 000971A4 39 61 00 20 */ addi r11, r1, 0x20
/* 8009B368 000971A8 4B F6 BF D5 */ bl lbl_8000733C
/* 8009B36C 000971AC 88 03 00 6D */ lbz r0, 0x6d(r3)
/* 8009B370 000971B0 7C 7B 1B 78 */ mr r27, r3
/* 8009B374 000971B4 7C 9C 23 78 */ mr r28, r4
/* 8009B378 000971B8 7C BD 2B 78 */ mr r29, r5
/* 8009B37C 000971BC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8009B380 000971C0 38 00 00 01 */ li r0, 0x1
/* 8009B384 000971C4 40 82 00 08 */ bne lbl_8009B38C
/* 8009B388 000971C8 38 00 00 00 */ li r0, 0x0
.global lbl_8009B38C
lbl_8009B38C:
/* 8009B38C 000971CC 54 1E 0E 3C */ rlwinm r30, r0, 1, 24, 30
/* 8009B390 000971D0 38 60 00 02 */ li r3, 0x2
2022-10-16 16:31:36 +00:00
/* 8009B394 000971D4 4B FD 9A 8D */ bl GKI_getpoolbuf
2022-10-16 16:05:58 +00:00
/* 8009B398 000971D8 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009B39C 000971DC 7C 7F 1B 78 */ mr r31, r3
/* 8009B3A0 000971E0 41 82 00 60 */ beq lbl_8009B400
/* 8009B3A4 000971E4 38 A0 00 09 */ li r5, 0x9
/* 8009B3A8 000971E8 63 C4 00 01 */ ori r4, r30, 0x1
/* 8009B3AC 000971EC 57 80 15 BA */ rlwinm r0, r28, 2, 22, 29
/* 8009B3B0 000971F0 B0 A3 00 04 */ sth r5, 0x4(r3)
/* 8009B3B4 000971F4 7C 80 03 78 */ or r0, r4, r0
/* 8009B3B8 000971F8 38 80 00 FF */ li r4, 0xff
/* 8009B3BC 000971FC 98 03 00 11 */ stb r0, 0x11(r3)
/* 8009B3C0 00097200 38 00 00 01 */ li r0, 0x1
/* 8009B3C4 00097204 3B DF 00 15 */ addi r30, r31, 0x15
/* 8009B3C8 00097208 98 83 00 12 */ stb r4, 0x12(r3)
/* 8009B3CC 0009720C 98 03 00 13 */ stb r0, 0x13(r3)
/* 8009B3D0 00097210 9B A3 00 14 */ stb r29, 0x14(r3)
/* 8009B3D4 00097214 38 60 00 02 */ li r3, 0x2
/* 8009B3D8 00097218 A0 1F 00 04 */ lhz r0, 0x4(r31)
/* 8009B3DC 0009721C 7C 9F 02 14 */ add r4, r31, r0
/* 8009B3E0 00097220 38 84 00 08 */ addi r4, r4, 0x8
2022-10-16 16:31:36 +00:00
/* 8009B3E4 00097224 48 00 0B CD */ bl rfc_calc_fcs
2022-10-16 16:05:58 +00:00
/* 8009B3E8 00097228 98 7E 00 00 */ stb r3, 0x0(r30)
/* 8009B3EC 0009722C 38 00 00 05 */ li r0, 0x5
/* 8009B3F0 00097230 7F 63 DB 78 */ mr r3, r27
/* 8009B3F4 00097234 7F E4 FB 78 */ mr r4, r31
/* 8009B3F8 00097238 B0 1F 00 02 */ sth r0, 0x2(r31)
2022-10-16 16:31:36 +00:00
/* 8009B3FC 0009723C 48 00 13 31 */ bl rfc_check_send_cmd
2022-10-16 16:05:58 +00:00
.global lbl_8009B400
lbl_8009B400:
/* 8009B400 00097240 39 61 00 20 */ addi r11, r1, 0x20
/* 8009B404 00097244 4B F6 BF 85 */ bl lbl_80007388
/* 8009B408 00097248 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8009B40C 0009724C 7C 08 03 A6 */ mtlr r0
/* 8009B410 00097250 38 21 00 20 */ addi r1, r1, 0x20
/* 8009B414 00097254 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global rfc_parse_data
rfc_parse_data:
2022-10-16 16:05:58 +00:00
/* 8009B418 00097258 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8009B41C 0009725C 7C 08 02 A6 */ mflr r0
/* 8009B420 00097260 90 01 00 24 */ stw r0, 0x24(r1)
/* 8009B424 00097264 93 E1 00 1C */ stw r31, 0x1c(r1)
2022-10-16 16:31:36 +00:00
/* 8009B428 00097268 3F E0 80 44 */ lis r31, "@1168"@ha
/* 8009B42C 0009726C 3B FF F7 E8 */ addi r31, r31, "@1168"@l
2022-10-16 16:05:58 +00:00
/* 8009B430 00097270 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8009B434 00097274 7C 9E 23 78 */ mr r30, r4
/* 8009B438 00097278 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8009B43C 0009727C 7C 7D 1B 78 */ mr r29, r3
/* 8009B440 00097280 A0 05 00 04 */ lhz r0, 0x4(r5)
/* 8009B444 00097284 A1 05 00 02 */ lhz r8, 0x2(r5)
/* 8009B448 00097288 7C C5 02 14 */ add r6, r5, r0
/* 8009B44C 0009728C 38 E6 00 08 */ addi r7, r6, 0x8
/* 8009B450 00097290 28 08 00 03 */ cmplwi r8, 0x3
/* 8009B454 00097294 7C E0 3B 78 */ mr r0, r7
/* 8009B458 00097298 40 80 00 30 */ bge lbl_8009B488
2022-10-16 16:31:36 +00:00
/* 8009B45C 0009729C 3C 60 80 50 */ lis r3, rfc_cb@ha
/* 8009B460 000972A0 38 63 98 08 */ addi r3, r3, rfc_cb@l
2022-10-16 16:05:58 +00:00
/* 8009B464 000972A4 88 03 04 14 */ lbz r0, 0x414(r3)
/* 8009B468 000972A8 28 00 00 01 */ cmplwi r0, 0x1
/* 8009B46C 000972AC 41 80 00 14 */ blt lbl_8009B480
/* 8009B470 000972B0 7D 05 43 78 */ mr r5, r8
/* 8009B474 000972B4 38 9F 00 00 */ addi r4, r31, 0x0
/* 8009B478 000972B8 3C 60 00 09 */ lis r3, 0x9
2022-10-16 16:31:36 +00:00
/* 8009B47C 000972BC 4B FD C4 E5 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8009B480
lbl_8009B480:
/* 8009B480 000972C0 38 60 00 32 */ li r3, 0x32
/* 8009B484 000972C4 48 00 04 EC */ b lbl_8009B970
.global lbl_8009B488
lbl_8009B488:
/* 8009B488 000972C8 89 07 00 00 */ lbz r8, 0x0(r7)
/* 8009B48C 000972CC 55 06 07 BC */ rlwinm r6, r8, 0, 30, 30
/* 8009B490 000972D0 55 09 07 FF */ clrlwi. r9, r8, 31
/* 8009B494 000972D4 7C C6 0E 70 */ srawi r6, r6, 1
/* 8009B498 000972D8 98 C4 00 02 */ stb r6, 0x2(r4)
/* 8009B49C 000972DC 88 C7 00 00 */ lbz r6, 0x0(r7)
/* 8009B4A0 000972E0 38 E7 00 01 */ addi r7, r7, 0x1
/* 8009B4A4 000972E4 7C C8 16 70 */ srawi r8, r6, 2
/* 8009B4A8 000972E8 99 04 00 00 */ stb r8, 0x0(r4)
/* 8009B4AC 000972EC 40 82 00 1C */ bne lbl_8009B4C8
/* 8009B4B0 000972F0 88 C7 00 00 */ lbz r6, 0x0(r7)
/* 8009B4B4 000972F4 55 08 06 3E */ clrlwi r8, r8, 24
/* 8009B4B8 000972F8 38 E7 00 01 */ addi r7, r7, 0x1
/* 8009B4BC 000972FC 54 C6 30 32 */ slwi r6, r6, 6
/* 8009B4C0 00097300 7C C8 32 14 */ add r6, r8, r6
/* 8009B4C4 00097304 98 C4 00 00 */ stb r6, 0x0(r4)
.global lbl_8009B4C8
lbl_8009B4C8:
/* 8009B4C8 00097308 88 C7 00 00 */ lbz r6, 0x0(r7)
/* 8009B4CC 0009730C 54 C6 07 34 */ rlwinm r6, r6, 0, 28, 26
/* 8009B4D0 00097310 98 C4 00 01 */ stb r6, 0x1(r4)
/* 8009B4D4 00097314 88 C7 00 00 */ lbz r6, 0x0(r7)
/* 8009B4D8 00097318 54 C6 06 F6 */ rlwinm r6, r6, 0, 27, 27
/* 8009B4DC 0009731C 7C C6 26 70 */ srawi r6, r6, 4
/* 8009B4E0 00097320 98 C4 00 04 */ stb r6, 0x4(r4)
/* 8009B4E4 00097324 88 C7 00 01 */ lbz r6, 0x1(r7)
/* 8009B4E8 00097328 38 E7 00 02 */ addi r7, r7, 0x2
/* 8009B4EC 0009732C 54 CA 07 FF */ clrlwi. r10, r6, 31
/* 8009B4F0 00097330 7C C8 0E 70 */ srawi r8, r6, 1
/* 8009B4F4 00097334 40 82 00 18 */ bne lbl_8009B50C
/* 8009B4F8 00097338 88 C7 00 00 */ lbz r6, 0x0(r7)
/* 8009B4FC 0009733C 38 E7 00 01 */ addi r7, r7, 0x1
/* 8009B500 00097340 54 C6 38 30 */ slwi r6, r6, 7
/* 8009B504 00097344 7C C8 32 14 */ add r6, r8, r6
/* 8009B508 00097348 54 C8 04 3E */ clrlwi r8, r6, 16
.global lbl_8009B50C
lbl_8009B50C:
/* 8009B50C 0009734C 7D 46 00 34 */ cntlzw r6, r10
/* 8009B510 00097350 7D 29 00 34 */ cntlzw r9, r9
/* 8009B514 00097354 54 CB D9 7E */ srwi r11, r6, 5
/* 8009B518 00097358 A0 C5 00 04 */ lhz r6, 0x4(r5)
/* 8009B51C 0009735C 55 2A D9 7E */ srwi r10, r9, 5
/* 8009B520 00097360 A1 25 00 02 */ lhz r9, 0x2(r5)
/* 8009B524 00097364 7D 6A 5A 14 */ add r11, r10, r11
/* 8009B528 00097368 39 4B 00 04 */ addi r10, r11, 0x4
/* 8009B52C 0009736C 7C CB 32 14 */ add r6, r11, r6
/* 8009B530 00097370 7D 2A 48 50 */ subf r9, r10, r9
/* 8009B534 00097374 38 C6 00 03 */ addi r6, r6, 0x3
/* 8009B538 00097378 B1 25 00 02 */ sth r9, 0x2(r5)
/* 8009B53C 0009737C B0 C5 00 04 */ sth r6, 0x4(r5)
/* 8009B540 00097380 88 C3 00 72 */ lbz r6, 0x72(r3)
/* 8009B544 00097384 28 06 00 02 */ cmplwi r6, 0x2
/* 8009B548 00097388 40 82 00 50 */ bne lbl_8009B598
/* 8009B54C 0009738C 88 C4 00 01 */ lbz r6, 0x1(r4)
/* 8009B550 00097390 28 06 00 EF */ cmplwi r6, 0xef
/* 8009B554 00097394 40 82 00 44 */ bne lbl_8009B598
/* 8009B558 00097398 88 C4 00 00 */ lbz r6, 0x0(r4)
/* 8009B55C 0009739C 2C 06 00 00 */ cmpwi r6, 0x0
/* 8009B560 000973A0 41 82 00 38 */ beq lbl_8009B598
/* 8009B564 000973A4 88 C4 00 04 */ lbz r6, 0x4(r4)
/* 8009B568 000973A8 28 06 00 01 */ cmplwi r6, 0x1
/* 8009B56C 000973AC 40 82 00 2C */ bne lbl_8009B598
/* 8009B570 000973B0 88 C7 00 00 */ lbz r6, 0x0(r7)
/* 8009B574 000973B4 38 E7 00 01 */ addi r7, r7, 0x1
/* 8009B578 000973B8 98 C4 00 05 */ stb r6, 0x5(r4)
/* 8009B57C 000973BC A1 25 00 02 */ lhz r9, 0x2(r5)
/* 8009B580 000973C0 A0 C5 00 04 */ lhz r6, 0x4(r5)
/* 8009B584 000973C4 39 29 FF FF */ addi r9, r9, -0x1
/* 8009B588 000973C8 38 C6 00 01 */ addi r6, r6, 0x1
/* 8009B58C 000973CC B1 25 00 02 */ sth r9, 0x2(r5)
/* 8009B590 000973D0 B0 C5 00 04 */ sth r6, 0x4(r5)
/* 8009B594 000973D4 48 00 00 0C */ b lbl_8009B5A0
.global lbl_8009B598
lbl_8009B598:
/* 8009B598 000973D8 38 C0 00 00 */ li r6, 0x0
/* 8009B59C 000973DC 98 C4 00 05 */ stb r6, 0x5(r4)
.global lbl_8009B5A0
lbl_8009B5A0:
/* 8009B5A0 000973E0 A0 A5 00 02 */ lhz r5, 0x2(r5)
/* 8009B5A4 000973E4 55 06 04 3E */ clrlwi r6, r8, 16
/* 8009B5A8 000973E8 7C 05 30 40 */ cmplw r5, r6
/* 8009B5AC 000973EC 41 82 00 2C */ beq lbl_8009B5D8
2022-10-16 16:31:36 +00:00
/* 8009B5B0 000973F0 3C 60 80 50 */ lis r3, rfc_cb@ha
/* 8009B5B4 000973F4 38 63 98 08 */ addi r3, r3, rfc_cb@l
2022-10-16 16:05:58 +00:00
/* 8009B5B8 000973F8 88 03 04 14 */ lbz r0, 0x414(r3)
/* 8009B5BC 000973FC 28 00 00 01 */ cmplwi r0, 0x1
/* 8009B5C0 00097400 41 80 00 10 */ blt lbl_8009B5D0
/* 8009B5C4 00097404 38 9F 00 10 */ addi r4, r31, 0x10
/* 8009B5C8 00097408 3C 60 00 09 */ lis r3, 0x9
2022-10-16 16:31:36 +00:00
/* 8009B5CC 0009740C 4B FD C3 95 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8009B5D0
lbl_8009B5D0:
/* 8009B5D0 00097410 38 60 00 32 */ li r3, 0x32
/* 8009B5D4 00097414 48 00 03 9C */ b lbl_8009B970
.global lbl_8009B5D8
lbl_8009B5D8:
/* 8009B5D8 00097418 89 24 00 01 */ lbz r9, 0x1(r4)
/* 8009B5DC 0009741C 7C A7 30 AE */ lbzx r5, r7, r6
/* 8009B5E0 00097420 2C 09 00 43 */ cmpwi r9, 0x43
/* 8009B5E4 00097424 41 82 02 0C */ beq lbl_8009B7F0
/* 8009B5E8 00097428 40 80 00 1C */ bge lbl_8009B604
/* 8009B5EC 0009742C 2C 09 00 2F */ cmpwi r9, 0x2f
/* 8009B5F0 00097430 41 82 00 2C */ beq lbl_8009B61C
/* 8009B5F4 00097434 40 80 03 78 */ bge lbl_8009B96C
/* 8009B5F8 00097438 2C 09 00 0F */ cmpwi r9, 0xf
/* 8009B5FC 0009743C 41 82 01 60 */ beq lbl_8009B75C
/* 8009B600 00097440 48 00 03 6C */ b lbl_8009B96C
.global lbl_8009B604
lbl_8009B604:
/* 8009B604 00097444 2C 09 00 EF */ cmpwi r9, 0xef
/* 8009B608 00097448 41 82 02 88 */ beq lbl_8009B890
/* 8009B60C 0009744C 40 80 03 60 */ bge lbl_8009B96C
/* 8009B610 00097450 2C 09 00 63 */ cmpwi r9, 0x63
/* 8009B614 00097454 41 82 00 A8 */ beq lbl_8009B6BC
/* 8009B618 00097458 48 00 03 54 */ b lbl_8009B96C
.global lbl_8009B61C
lbl_8009B61C:
/* 8009B61C 0009745C 88 C3 00 6D */ lbz r6, 0x6d(r3)
/* 8009B620 00097460 2C 06 00 00 */ cmpwi r6, 0x0
/* 8009B624 00097464 41 82 00 10 */ beq lbl_8009B634
/* 8009B628 00097468 88 64 00 02 */ lbz r3, 0x2(r4)
/* 8009B62C 0009746C 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009B630 00097470 40 82 00 5C */ bne lbl_8009B68C
.global lbl_8009B634
lbl_8009B634:
/* 8009B634 00097474 2C 06 00 00 */ cmpwi r6, 0x0
/* 8009B638 00097478 40 82 00 10 */ bne lbl_8009B648
/* 8009B63C 0009747C 88 64 00 02 */ lbz r3, 0x2(r4)
/* 8009B640 00097480 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009B644 00097484 41 82 00 48 */ beq lbl_8009B68C
.global lbl_8009B648
lbl_8009B648:
/* 8009B648 00097488 88 64 00 04 */ lbz r3, 0x4(r4)
/* 8009B64C 0009748C 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009B650 00097490 41 82 00 3C */ beq lbl_8009B68C
/* 8009B654 00097494 55 03 04 3F */ clrlwi. r3, r8, 16
/* 8009B658 00097498 40 82 00 34 */ bne lbl_8009B68C
/* 8009B65C 0009749C 88 64 00 00 */ lbz r3, 0x0(r4)
/* 8009B660 000974A0 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009B664 000974A4 41 82 00 14 */ beq lbl_8009B678
/* 8009B668 000974A8 28 03 00 02 */ cmplwi r3, 0x2
/* 8009B66C 000974AC 41 80 00 20 */ blt lbl_8009B68C
/* 8009B670 000974B0 28 03 00 3D */ cmplwi r3, 0x3d
/* 8009B674 000974B4 41 81 00 18 */ bgt lbl_8009B68C
.global lbl_8009B678
lbl_8009B678:
/* 8009B678 000974B8 7C 04 03 78 */ mr r4, r0
/* 8009B67C 000974BC 38 60 00 03 */ li r3, 0x3
2022-10-16 16:31:36 +00:00
/* 8009B680 000974C0 48 00 09 69 */ bl rfc_check_fcs
2022-10-16 16:05:58 +00:00
/* 8009B684 000974C4 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8009B688 000974C8 40 82 00 2C */ bne lbl_8009B6B4
.global lbl_8009B68C
lbl_8009B68C:
2022-10-16 16:31:36 +00:00
/* 8009B68C 000974CC 3C 60 80 50 */ lis r3, rfc_cb@ha
/* 8009B690 000974D0 38 63 98 08 */ addi r3, r3, rfc_cb@l
2022-10-16 16:05:58 +00:00
/* 8009B694 000974D4 88 03 04 14 */ lbz r0, 0x414(r3)
/* 8009B698 000974D8 28 00 00 01 */ cmplwi r0, 0x1
/* 8009B69C 000974DC 41 80 00 10 */ blt lbl_8009B6AC
/* 8009B6A0 000974E0 38 9F 00 24 */ addi r4, r31, 0x24
/* 8009B6A4 000974E4 3C 60 00 09 */ lis r3, 0x9
2022-10-16 16:31:36 +00:00
/* 8009B6A8 000974E8 4B FD C2 B9 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8009B6AC
lbl_8009B6AC:
/* 8009B6AC 000974EC 38 60 00 32 */ li r3, 0x32
/* 8009B6B0 000974F0 48 00 02 C0 */ b lbl_8009B970
.global lbl_8009B6B4
lbl_8009B6B4:
/* 8009B6B4 000974F4 38 60 00 00 */ li r3, 0x0
/* 8009B6B8 000974F8 48 00 02 B8 */ b lbl_8009B970
.global lbl_8009B6BC
lbl_8009B6BC:
/* 8009B6BC 000974FC 88 C3 00 6D */ lbz r6, 0x6d(r3)
/* 8009B6C0 00097500 2C 06 00 00 */ cmpwi r6, 0x0
/* 8009B6C4 00097504 41 82 00 10 */ beq lbl_8009B6D4
/* 8009B6C8 00097508 88 64 00 02 */ lbz r3, 0x2(r4)
/* 8009B6CC 0009750C 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009B6D0 00097510 41 82 00 5C */ beq lbl_8009B72C
.global lbl_8009B6D4
lbl_8009B6D4:
/* 8009B6D4 00097514 2C 06 00 00 */ cmpwi r6, 0x0
/* 8009B6D8 00097518 40 82 00 10 */ bne lbl_8009B6E8
/* 8009B6DC 0009751C 88 64 00 02 */ lbz r3, 0x2(r4)
/* 8009B6E0 00097520 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009B6E4 00097524 40 82 00 48 */ bne lbl_8009B72C
.global lbl_8009B6E8
lbl_8009B6E8:
/* 8009B6E8 00097528 88 64 00 04 */ lbz r3, 0x4(r4)
/* 8009B6EC 0009752C 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009B6F0 00097530 41 82 00 3C */ beq lbl_8009B72C
/* 8009B6F4 00097534 55 03 04 3F */ clrlwi. r3, r8, 16
/* 8009B6F8 00097538 40 82 00 34 */ bne lbl_8009B72C
/* 8009B6FC 0009753C 88 64 00 00 */ lbz r3, 0x0(r4)
/* 8009B700 00097540 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009B704 00097544 41 82 00 14 */ beq lbl_8009B718
/* 8009B708 00097548 28 03 00 02 */ cmplwi r3, 0x2
/* 8009B70C 0009754C 41 80 00 20 */ blt lbl_8009B72C
/* 8009B710 00097550 28 03 00 3D */ cmplwi r3, 0x3d
/* 8009B714 00097554 41 81 00 18 */ bgt lbl_8009B72C
.global lbl_8009B718
lbl_8009B718:
/* 8009B718 00097558 7C 04 03 78 */ mr r4, r0
/* 8009B71C 0009755C 38 60 00 03 */ li r3, 0x3
2022-10-16 16:31:36 +00:00
/* 8009B720 00097560 48 00 08 C9 */ bl rfc_check_fcs
2022-10-16 16:05:58 +00:00
/* 8009B724 00097564 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8009B728 00097568 40 82 00 2C */ bne lbl_8009B754
.global lbl_8009B72C
lbl_8009B72C:
2022-10-16 16:31:36 +00:00
/* 8009B72C 0009756C 3C 60 80 50 */ lis r3, rfc_cb@ha
/* 8009B730 00097570 38 63 98 08 */ addi r3, r3, rfc_cb@l
2022-10-16 16:05:58 +00:00
/* 8009B734 00097574 88 03 04 14 */ lbz r0, 0x414(r3)
/* 8009B738 00097578 28 00 00 01 */ cmplwi r0, 0x1
/* 8009B73C 0009757C 41 80 00 10 */ blt lbl_8009B74C
/* 8009B740 00097580 3C 60 00 09 */ lis r3, 0x9
2022-10-16 16:31:36 +00:00
/* 8009B744 00097584 38 8D 85 10 */ addi r4, r13, "@1171"@sda21
/* 8009B748 00097588 4B FD C2 19 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8009B74C
lbl_8009B74C:
/* 8009B74C 0009758C 38 60 00 32 */ li r3, 0x32
/* 8009B750 00097590 48 00 02 20 */ b lbl_8009B970
.global lbl_8009B754
lbl_8009B754:
/* 8009B754 00097594 38 60 00 01 */ li r3, 0x1
/* 8009B758 00097598 48 00 02 18 */ b lbl_8009B970
.global lbl_8009B75C
lbl_8009B75C:
/* 8009B75C 0009759C 88 C3 00 6D */ lbz r6, 0x6d(r3)
/* 8009B760 000975A0 2C 06 00 00 */ cmpwi r6, 0x0
/* 8009B764 000975A4 41 82 00 10 */ beq lbl_8009B774
/* 8009B768 000975A8 88 64 00 02 */ lbz r3, 0x2(r4)
/* 8009B76C 000975AC 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009B770 000975B0 41 82 00 50 */ beq lbl_8009B7C0
.global lbl_8009B774
lbl_8009B774:
/* 8009B774 000975B4 2C 06 00 00 */ cmpwi r6, 0x0
/* 8009B778 000975B8 40 82 00 10 */ bne lbl_8009B788
/* 8009B77C 000975BC 88 64 00 02 */ lbz r3, 0x2(r4)
/* 8009B780 000975C0 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009B784 000975C4 40 82 00 3C */ bne lbl_8009B7C0
.global lbl_8009B788
lbl_8009B788:
/* 8009B788 000975C8 55 03 04 3F */ clrlwi. r3, r8, 16
/* 8009B78C 000975CC 40 82 00 34 */ bne lbl_8009B7C0
/* 8009B790 000975D0 88 64 00 00 */ lbz r3, 0x0(r4)
/* 8009B794 000975D4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009B798 000975D8 41 82 00 14 */ beq lbl_8009B7AC
/* 8009B79C 000975DC 28 03 00 02 */ cmplwi r3, 0x2
/* 8009B7A0 000975E0 41 80 00 20 */ blt lbl_8009B7C0
/* 8009B7A4 000975E4 28 03 00 3D */ cmplwi r3, 0x3d
/* 8009B7A8 000975E8 41 81 00 18 */ bgt lbl_8009B7C0
.global lbl_8009B7AC
lbl_8009B7AC:
/* 8009B7AC 000975EC 7C 04 03 78 */ mr r4, r0
/* 8009B7B0 000975F0 38 60 00 03 */ li r3, 0x3
2022-10-16 16:31:36 +00:00
/* 8009B7B4 000975F4 48 00 08 35 */ bl rfc_check_fcs
2022-10-16 16:05:58 +00:00
/* 8009B7B8 000975F8 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8009B7BC 000975FC 40 82 00 2C */ bne lbl_8009B7E8
.global lbl_8009B7C0
lbl_8009B7C0:
2022-10-16 16:31:36 +00:00
/* 8009B7C0 00097600 3C 60 80 50 */ lis r3, rfc_cb@ha
/* 8009B7C4 00097604 38 63 98 08 */ addi r3, r3, rfc_cb@l
2022-10-16 16:05:58 +00:00
/* 8009B7C8 00097608 88 03 04 14 */ lbz r0, 0x414(r3)
/* 8009B7CC 0009760C 28 00 00 01 */ cmplwi r0, 0x1
/* 8009B7D0 00097610 41 80 00 10 */ blt lbl_8009B7E0
/* 8009B7D4 00097614 3C 60 00 09 */ lis r3, 0x9
2022-10-16 16:31:36 +00:00
/* 8009B7D8 00097618 38 8D 85 18 */ addi r4, r13, "@1172_80556938"@sda21
/* 8009B7DC 0009761C 4B FD C1 85 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8009B7E0
lbl_8009B7E0:
/* 8009B7E0 00097620 38 60 00 32 */ li r3, 0x32
/* 8009B7E4 00097624 48 00 01 8C */ b lbl_8009B970
.global lbl_8009B7E8
lbl_8009B7E8:
/* 8009B7E8 00097628 38 60 00 02 */ li r3, 0x2
/* 8009B7EC 0009762C 48 00 01 84 */ b lbl_8009B970
.global lbl_8009B7F0
lbl_8009B7F0:
/* 8009B7F0 00097630 88 C3 00 6D */ lbz r6, 0x6d(r3)
/* 8009B7F4 00097634 2C 06 00 00 */ cmpwi r6, 0x0
/* 8009B7F8 00097638 41 82 00 10 */ beq lbl_8009B808
/* 8009B7FC 0009763C 88 64 00 02 */ lbz r3, 0x2(r4)
/* 8009B800 00097640 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009B804 00097644 40 82 00 5C */ bne lbl_8009B860
.global lbl_8009B808
lbl_8009B808:
/* 8009B808 00097648 2C 06 00 00 */ cmpwi r6, 0x0
/* 8009B80C 0009764C 40 82 00 10 */ bne lbl_8009B81C
/* 8009B810 00097650 88 64 00 02 */ lbz r3, 0x2(r4)
/* 8009B814 00097654 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009B818 00097658 41 82 00 48 */ beq lbl_8009B860
.global lbl_8009B81C
lbl_8009B81C:
/* 8009B81C 0009765C 88 64 00 04 */ lbz r3, 0x4(r4)
/* 8009B820 00097660 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009B824 00097664 41 82 00 3C */ beq lbl_8009B860
/* 8009B828 00097668 55 03 04 3F */ clrlwi. r3, r8, 16
/* 8009B82C 0009766C 40 82 00 34 */ bne lbl_8009B860
/* 8009B830 00097670 88 64 00 00 */ lbz r3, 0x0(r4)
/* 8009B834 00097674 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009B838 00097678 41 82 00 14 */ beq lbl_8009B84C
/* 8009B83C 0009767C 28 03 00 02 */ cmplwi r3, 0x2
/* 8009B840 00097680 41 80 00 20 */ blt lbl_8009B860
/* 8009B844 00097684 28 03 00 3D */ cmplwi r3, 0x3d
/* 8009B848 00097688 41 81 00 18 */ bgt lbl_8009B860
.global lbl_8009B84C
lbl_8009B84C:
/* 8009B84C 0009768C 7C 04 03 78 */ mr r4, r0
/* 8009B850 00097690 38 60 00 03 */ li r3, 0x3
2022-10-16 16:31:36 +00:00
/* 8009B854 00097694 48 00 07 95 */ bl rfc_check_fcs
2022-10-16 16:05:58 +00:00
/* 8009B858 00097698 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8009B85C 0009769C 40 82 00 2C */ bne lbl_8009B888
.global lbl_8009B860
lbl_8009B860:
2022-10-16 16:31:36 +00:00
/* 8009B860 000976A0 3C 60 80 50 */ lis r3, rfc_cb@ha
/* 8009B864 000976A4 38 63 98 08 */ addi r3, r3, rfc_cb@l
2022-10-16 16:05:58 +00:00
/* 8009B868 000976A8 88 03 04 14 */ lbz r0, 0x414(r3)
/* 8009B86C 000976AC 28 00 00 01 */ cmplwi r0, 0x1
/* 8009B870 000976B0 41 80 00 10 */ blt lbl_8009B880
/* 8009B874 000976B4 38 9F 00 30 */ addi r4, r31, 0x30
/* 8009B878 000976B8 3C 60 00 09 */ lis r3, 0x9
2022-10-16 16:31:36 +00:00
/* 8009B87C 000976BC 4B FD C0 E5 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8009B880
lbl_8009B880:
/* 8009B880 000976C0 38 60 00 32 */ li r3, 0x32
/* 8009B884 000976C4 48 00 00 EC */ b lbl_8009B970
.global lbl_8009B888
lbl_8009B888:
/* 8009B888 000976C8 38 60 00 03 */ li r3, 0x3
/* 8009B88C 000976CC 48 00 00 E4 */ b lbl_8009B970
.global lbl_8009B890
lbl_8009B890:
/* 8009B890 000976D0 88 64 00 00 */ lbz r3, 0x0(r4)
/* 8009B894 000976D4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009B898 000976D8 41 82 00 3C */ beq lbl_8009B8D4
/* 8009B89C 000976DC 28 03 00 02 */ cmplwi r3, 0x2
/* 8009B8A0 000976E0 41 80 00 0C */ blt lbl_8009B8AC
/* 8009B8A4 000976E4 28 03 00 3D */ cmplwi r3, 0x3d
/* 8009B8A8 000976E8 40 81 00 2C */ ble lbl_8009B8D4
.global lbl_8009B8AC
lbl_8009B8AC:
2022-10-16 16:31:36 +00:00
/* 8009B8AC 000976EC 3C 60 80 50 */ lis r3, rfc_cb@ha
/* 8009B8B0 000976F0 38 63 98 08 */ addi r3, r3, rfc_cb@l
2022-10-16 16:05:58 +00:00
/* 8009B8B4 000976F4 88 03 04 14 */ lbz r0, 0x414(r3)
/* 8009B8B8 000976F8 28 00 00 01 */ cmplwi r0, 0x1
/* 8009B8BC 000976FC 41 80 00 10 */ blt lbl_8009B8CC
/* 8009B8C0 00097700 38 9F 00 3C */ addi r4, r31, 0x3c
/* 8009B8C4 00097704 3C 60 00 09 */ lis r3, 0x9
2022-10-16 16:31:36 +00:00
/* 8009B8C8 00097708 4B FD C0 99 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8009B8CC
lbl_8009B8CC:
/* 8009B8CC 0009770C 38 60 00 32 */ li r3, 0x32
/* 8009B8D0 00097710 48 00 00 A0 */ b lbl_8009B970
.global lbl_8009B8D4
lbl_8009B8D4:
/* 8009B8D4 00097714 7C 04 03 78 */ mr r4, r0
/* 8009B8D8 00097718 38 60 00 02 */ li r3, 0x2
2022-10-16 16:31:36 +00:00
/* 8009B8DC 0009771C 48 00 07 0D */ bl rfc_check_fcs
2022-10-16 16:05:58 +00:00
/* 8009B8E0 00097720 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8009B8E4 00097724 40 82 00 2C */ bne lbl_8009B910
2022-10-16 16:31:36 +00:00
/* 8009B8E8 00097728 3C 60 80 50 */ lis r3, rfc_cb@ha
/* 8009B8EC 0009772C 38 63 98 08 */ addi r3, r3, rfc_cb@l
2022-10-16 16:05:58 +00:00
/* 8009B8F0 00097730 88 03 04 14 */ lbz r0, 0x414(r3)
/* 8009B8F4 00097734 28 00 00 01 */ cmplwi r0, 0x1
/* 8009B8F8 00097738 41 80 00 10 */ blt lbl_8009B908
/* 8009B8FC 0009773C 38 9F 00 54 */ addi r4, r31, 0x54
/* 8009B900 00097740 3C 60 00 09 */ lis r3, 0x9
2022-10-16 16:31:36 +00:00
/* 8009B904 00097744 4B FD C0 5D */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8009B908
lbl_8009B908:
/* 8009B908 00097748 38 60 00 32 */ li r3, 0x32
/* 8009B90C 0009774C 48 00 00 64 */ b lbl_8009B970
.global lbl_8009B910
lbl_8009B910:
/* 8009B910 00097750 88 7D 00 6D */ lbz r3, 0x6d(r29)
/* 8009B914 00097754 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009B918 00097758 41 82 00 10 */ beq lbl_8009B928
/* 8009B91C 0009775C 88 1E 00 02 */ lbz r0, 0x2(r30)
/* 8009B920 00097760 2C 00 00 00 */ cmpwi r0, 0x0
/* 8009B924 00097764 40 82 00 18 */ bne lbl_8009B93C
.global lbl_8009B928
lbl_8009B928:
/* 8009B928 00097768 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009B92C 0009776C 40 82 00 38 */ bne lbl_8009B964
/* 8009B930 00097770 88 1E 00 02 */ lbz r0, 0x2(r30)
/* 8009B934 00097774 2C 00 00 00 */ cmpwi r0, 0x0
/* 8009B938 00097778 40 82 00 2C */ bne lbl_8009B964
.global lbl_8009B93C
lbl_8009B93C:
2022-10-16 16:31:36 +00:00
/* 8009B93C 0009777C 3C 60 80 50 */ lis r3, rfc_cb@ha
/* 8009B940 00097780 38 63 98 08 */ addi r3, r3, rfc_cb@l
2022-10-16 16:05:58 +00:00
/* 8009B944 00097784 88 03 04 14 */ lbz r0, 0x414(r3)
/* 8009B948 00097788 28 00 00 01 */ cmplwi r0, 0x1
/* 8009B94C 0009778C 41 80 00 10 */ blt lbl_8009B95C
/* 8009B950 00097790 38 9F 00 64 */ addi r4, r31, 0x64
/* 8009B954 00097794 3C 60 00 09 */ lis r3, 0x9
2022-10-16 16:31:36 +00:00
/* 8009B958 00097798 4B FD C0 09 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8009B95C
lbl_8009B95C:
/* 8009B95C 0009779C 38 60 00 04 */ li r3, 0x4
/* 8009B960 000977A0 48 00 00 10 */ b lbl_8009B970
.global lbl_8009B964
lbl_8009B964:
/* 8009B964 000977A4 38 60 00 04 */ li r3, 0x4
/* 8009B968 000977A8 48 00 00 08 */ b lbl_8009B970
.global lbl_8009B96C
lbl_8009B96C:
/* 8009B96C 000977AC 38 60 00 32 */ li r3, 0x32
.global lbl_8009B970
lbl_8009B970:
/* 8009B970 000977B0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8009B974 000977B4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8009B978 000977B8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8009B97C 000977BC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8009B980 000977C0 7C 08 03 A6 */ mtlr r0
/* 8009B984 000977C4 38 21 00 20 */ addi r1, r1, 0x20
/* 8009B988 000977C8 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global rfc_process_mx_message
rfc_process_mx_message:
2022-10-16 16:05:58 +00:00
/* 8009B98C 000977CC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8009B990 000977D0 7C 08 02 A6 */ mflr r0
2022-10-16 16:31:36 +00:00
/* 8009B994 000977D4 3C E0 80 44 */ lis r7, "@1168"@ha
2022-10-16 16:05:58 +00:00
/* 8009B998 000977D8 90 01 00 24 */ stw r0, 0x24(r1)
2022-10-16 16:31:36 +00:00
/* 8009B99C 000977DC 38 E7 F7 E8 */ addi r7, r7, "@1168"@l
2022-10-16 16:05:58 +00:00
/* 8009B9A0 000977E0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8009B9A4 000977E4 93 C1 00 18 */ stw r30, 0x18(r1)
2022-10-16 16:31:36 +00:00
/* 8009B9A8 000977E8 3F C0 80 50 */ lis r30, rfc_cb@ha
/* 8009B9AC 000977EC 3B DE 98 08 */ addi r30, r30, rfc_cb@l
2022-10-16 16:05:58 +00:00
/* 8009B9B0 000977F0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8009B9B4 000977F4 7C 9D 23 78 */ mr r29, r4
/* 8009B9B8 000977F8 93 81 00 10 */ stw r28, 0x10(r1)
/* 8009B9BC 000977FC 7C 7C 1B 78 */ mr r28, r3
/* 8009B9C0 00097800 A0 04 00 04 */ lhz r0, 0x4(r4)
/* 8009B9C4 00097804 A0 C4 00 02 */ lhz r6, 0x2(r4)
/* 8009B9C8 00097808 7C A4 02 14 */ add r5, r4, r0
/* 8009B9CC 0009780C 88 05 00 08 */ lbz r0, 0x8(r5)
/* 8009B9D0 00097810 54 00 07 FF */ clrlwi. r0, r0, 31
/* 8009B9D4 00097814 98 1E 00 03 */ stb r0, 0x3(r30)
/* 8009B9D8 00097818 88 05 00 08 */ lbz r0, 0x8(r5)
/* 8009B9DC 0009781C 54 1F FF FE */ extrwi r31, r0, 1, 30
/* 8009B9E0 00097820 9B FE 00 02 */ stb r31, 0x2(r30)
/* 8009B9E4 00097824 88 05 00 08 */ lbz r0, 0x8(r5)
/* 8009B9E8 00097828 54 00 06 3A */ rlwinm r0, r0, 0, 24, 29
/* 8009B9EC 0009782C 98 1E 00 01 */ stb r0, 0x1(r30)
/* 8009B9F0 00097830 41 82 00 0C */ beq lbl_8009B9FC
/* 8009B9F4 00097834 2C 06 00 00 */ cmpwi r6, 0x0
/* 8009B9F8 00097838 40 82 00 34 */ bne lbl_8009BA2C
.global lbl_8009B9FC
lbl_8009B9FC:
2022-10-16 16:31:36 +00:00
/* 8009B9FC 0009783C 3C 60 80 50 */ lis r3, rfc_cb@ha
/* 8009BA00 00097840 38 63 98 08 */ addi r3, r3, rfc_cb@l
2022-10-16 16:05:58 +00:00
/* 8009BA04 00097844 88 03 04 14 */ lbz r0, 0x414(r3)
/* 8009BA08 00097848 28 00 00 01 */ cmplwi r0, 0x1
/* 8009BA0C 0009784C 41 80 00 14 */ blt lbl_8009BA20
/* 8009BA10 00097850 88 BE 00 03 */ lbz r5, 0x3(r30)
/* 8009BA14 00097854 38 87 00 78 */ addi r4, r7, 0x78
/* 8009BA18 00097858 3C 60 00 09 */ lis r3, 0x9
2022-10-16 16:31:36 +00:00
/* 8009BA1C 0009785C 4B FD BF 45 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8009BA20
lbl_8009BA20:
/* 8009BA20 00097860 7F A3 EB 78 */ mr r3, r29
2022-10-16 16:31:36 +00:00
/* 8009BA24 00097864 4B FD 94 ED */ bl GKI_freebuf
2022-10-16 16:05:58 +00:00
/* 8009BA28 00097868 48 00 05 68 */ b lbl_8009BF90
.global lbl_8009BA2C
lbl_8009BA2C:
/* 8009BA2C 0009786C 88 65 00 09 */ lbz r3, 0x9(r5)
/* 8009BA30 00097870 3C C6 00 01 */ addis r6, r6, 0x1
/* 8009BA34 00097874 38 A5 00 0A */ addi r5, r5, 0xa
/* 8009BA38 00097878 54 60 07 FF */ clrlwi. r0, r3, 31
/* 8009BA3C 0009787C 7C 68 0E 70 */ srawi r8, r3, 1
/* 8009BA40 00097880 38 C6 FF FE */ addi r6, r6, -0x2
/* 8009BA44 00097884 40 82 00 1C */ bne lbl_8009BA60
/* 8009BA48 00097888 88 05 00 00 */ lbz r0, 0x0(r5)
/* 8009BA4C 0009788C 38 C6 FF FF */ addi r6, r6, -0x1
/* 8009BA50 00097890 38 A5 00 01 */ addi r5, r5, 0x1
/* 8009BA54 00097894 54 00 38 30 */ slwi r0, r0, 7
/* 8009BA58 00097898 7C 08 02 14 */ add r0, r8, r0
/* 8009BA5C 0009789C 54 08 06 3E */ clrlwi r8, r0, 24
.global lbl_8009BA60
lbl_8009BA60:
/* 8009BA60 000978A0 55 00 06 3E */ clrlwi r0, r8, 24
/* 8009BA64 000978A4 54 C3 04 3E */ clrlwi r3, r6, 16
/* 8009BA68 000978A8 7C 00 18 00 */ cmpw r0, r3
/* 8009BA6C 000978AC 41 82 00 30 */ beq lbl_8009BA9C
2022-10-16 16:31:36 +00:00
/* 8009BA70 000978B0 3C 60 80 50 */ lis r3, rfc_cb@ha
/* 8009BA74 000978B4 38 63 98 08 */ addi r3, r3, rfc_cb@l
2022-10-16 16:05:58 +00:00
/* 8009BA78 000978B8 88 03 04 14 */ lbz r0, 0x414(r3)
/* 8009BA7C 000978BC 28 00 00 01 */ cmplwi r0, 0x1
/* 8009BA80 000978C0 41 80 00 10 */ blt lbl_8009BA90
/* 8009BA84 000978C4 38 87 00 98 */ addi r4, r7, 0x98
/* 8009BA88 000978C8 3C 60 00 09 */ lis r3, 0x9
2022-10-16 16:31:36 +00:00
/* 8009BA8C 000978CC 4B FD BE D5 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
.global lbl_8009BA90
lbl_8009BA90:
/* 8009BA90 000978D0 7F A3 EB 78 */ mr r3, r29
2022-10-16 16:31:36 +00:00
/* 8009BA94 000978D4 4B FD 94 7D */ bl GKI_freebuf
2022-10-16 16:05:58 +00:00
/* 8009BA98 000978D8 48 00 04 F8 */ b lbl_8009BF90
.global lbl_8009BA9C
lbl_8009BA9C:
/* 8009BA9C 000978DC 88 1E 00 01 */ lbz r0, 0x1(r30)
/* 8009BAA0 000978E0 2C 00 00 80 */ cmpwi r0, 0x80
/* 8009BAA4 000978E4 41 82 00 5C */ beq lbl_8009BB00
/* 8009BAA8 000978E8 40 80 00 34 */ bge lbl_8009BADC
/* 8009BAAC 000978EC 2C 00 00 50 */ cmpwi r0, 0x50
/* 8009BAB0 000978F0 41 82 03 DC */ beq lbl_8009BE8C
/* 8009BAB4 000978F4 40 80 00 1C */ bge lbl_8009BAD0
/* 8009BAB8 000978F8 2C 00 00 20 */ cmpwi r0, 0x20
/* 8009BABC 000978FC 41 82 01 18 */ beq lbl_8009BBD4
/* 8009BAC0 00097900 40 80 04 60 */ bge lbl_8009BF20
/* 8009BAC4 00097904 2C 00 00 10 */ cmpwi r0, 0x10
/* 8009BAC8 00097908 41 82 02 5C */ beq lbl_8009BD24
/* 8009BACC 0009790C 48 00 04 54 */ b lbl_8009BF20
.global lbl_8009BAD0
lbl_8009BAD0:
/* 8009BAD0 00097910 2C 00 00 60 */ cmpwi r0, 0x60
/* 8009BAD4 00097914 41 82 01 74 */ beq lbl_8009BC48
/* 8009BAD8 00097918 48 00 04 48 */ b lbl_8009BF20
.global lbl_8009BADC
lbl_8009BADC:
/* 8009BADC 0009791C 2C 00 00 A0 */ cmpwi r0, 0xa0
/* 8009BAE0 00097920 41 82 01 48 */ beq lbl_8009BC28
/* 8009BAE4 00097924 40 80 00 10 */ bge lbl_8009BAF4
/* 8009BAE8 00097928 2C 00 00 90 */ cmpwi r0, 0x90
/* 8009BAEC 0009792C 41 82 02 88 */ beq lbl_8009BD74
/* 8009BAF0 00097930 48 00 04 30 */ b lbl_8009BF20
.global lbl_8009BAF4
lbl_8009BAF4:
/* 8009BAF4 00097934 2C 00 00 E0 */ cmpwi r0, 0xe0
/* 8009BAF8 00097938 41 82 01 70 */ beq lbl_8009BC68
/* 8009BAFC 0009793C 48 00 04 24 */ b lbl_8009BF20
.global lbl_8009BB00
lbl_8009BB00:
/* 8009BB00 00097940 28 03 00 08 */ cmplwi r3, 0x8
/* 8009BB04 00097944 40 82 04 1C */ bne lbl_8009BF20
/* 8009BB08 00097948 88 05 00 00 */ lbz r0, 0x0(r5)
/* 8009BB0C 0009794C 54 04 06 BF */ clrlwi. r4, r0, 26
/* 8009BB10 00097950 98 9E 00 00 */ stb r4, 0x0(r30)
/* 8009BB14 00097954 88 05 00 01 */ lbz r0, 0x1(r5)
/* 8009BB18 00097958 54 00 07 3E */ clrlwi r0, r0, 28
/* 8009BB1C 0009795C 98 1E 00 09 */ stb r0, 0x9(r30)
/* 8009BB20 00097960 88 05 00 01 */ lbz r0, 0x1(r5)
/* 8009BB24 00097964 54 00 06 36 */ rlwinm r0, r0, 0, 24, 27
/* 8009BB28 00097968 98 1E 00 0A */ stb r0, 0xa(r30)
/* 8009BB2C 0009796C 88 05 00 02 */ lbz r0, 0x2(r5)
/* 8009BB30 00097970 54 00 06 BE */ clrlwi r0, r0, 26
/* 8009BB34 00097974 98 1E 00 0B */ stb r0, 0xb(r30)
/* 8009BB38 00097978 88 05 00 03 */ lbz r0, 0x3(r5)
/* 8009BB3C 0009797C 98 1E 00 0C */ stb r0, 0xc(r30)
/* 8009BB40 00097980 88 05 00 05 */ lbz r0, 0x5(r5)
/* 8009BB44 00097984 88 65 00 04 */ lbz r3, 0x4(r5)
/* 8009BB48 00097988 54 00 40 2E */ slwi r0, r0, 8
/* 8009BB4C 0009798C 7C 03 02 14 */ add r0, r3, r0
/* 8009BB50 00097990 B0 1E 00 0E */ sth r0, 0xe(r30)
/* 8009BB54 00097994 88 05 00 06 */ lbz r0, 0x6(r5)
/* 8009BB58 00097998 98 1E 00 10 */ stb r0, 0x10(r30)
/* 8009BB5C 0009799C 88 05 00 07 */ lbz r0, 0x7(r5)
/* 8009BB60 000979A0 54 00 07 7E */ clrlwi r0, r0, 29
/* 8009BB64 000979A4 98 1E 00 11 */ stb r0, 0x11(r30)
/* 8009BB68 000979A8 41 82 00 2C */ beq lbl_8009BB94
/* 8009BB6C 000979AC 41 82 00 14 */ beq lbl_8009BB80
/* 8009BB70 000979B0 28 04 00 02 */ cmplwi r4, 0x2
/* 8009BB74 000979B4 41 80 00 20 */ blt lbl_8009BB94
/* 8009BB78 000979B8 28 04 00 3D */ cmplwi r4, 0x3d
/* 8009BB7C 000979BC 41 81 00 18 */ bgt lbl_8009BB94
.global lbl_8009BB80
lbl_8009BB80:
/* 8009BB80 000979C0 A0 1E 00 0E */ lhz r0, 0xe(r30)
/* 8009BB84 000979C4 28 00 00 17 */ cmplwi r0, 0x17
/* 8009BB88 000979C8 41 80 00 0C */ blt lbl_8009BB94
/* 8009BB8C 000979CC 28 00 7F FF */ cmplwi r0, 0x7fff
/* 8009BB90 000979D0 40 81 00 28 */ ble lbl_8009BBB8
.global lbl_8009BB94
lbl_8009BB94:
2022-10-16 16:31:36 +00:00
/* 8009BB94 000979D4 3C 60 80 50 */ lis r3, rfc_cb@ha
/* 8009BB98 000979D8 38 63 98 08 */ addi r3, r3, rfc_cb@l
2022-10-16 16:05:58 +00:00
/* 8009BB9C 000979DC 88 03 04 14 */ lbz r0, 0x414(r3)
/* 8009BBA0 000979E0 28 00 00 01 */ cmplwi r0, 0x1
/* 8009BBA4 000979E4 41 80 03 7C */ blt lbl_8009BF20
/* 8009BBA8 000979E8 38 87 00 A8 */ addi r4, r7, 0xa8
/* 8009BBAC 000979EC 3C 60 00 09 */ lis r3, 0x9
2022-10-16 16:31:36 +00:00
/* 8009BBB0 000979F0 4B FD BD B1 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
/* 8009BBB4 000979F4 48 00 03 6C */ b lbl_8009BF20
.global lbl_8009BBB8
lbl_8009BBB8:
/* 8009BBB8 000979F8 7F A3 EB 78 */ mr r3, r29
2022-10-16 16:31:36 +00:00
/* 8009BBBC 000979FC 4B FD 93 55 */ bl GKI_freebuf
2022-10-16 16:05:58 +00:00
/* 8009BBC0 00097A00 7F 83 E3 78 */ mr r3, r28
/* 8009BBC4 00097A04 7F E4 FB 78 */ mr r4, r31
/* 8009BBC8 00097A08 7F C5 F3 78 */ mr r5, r30
2022-10-16 16:31:36 +00:00
/* 8009BBCC 00097A0C 4B FF E0 89 */ bl rfc_process_pn
2022-10-16 16:05:58 +00:00
/* 8009BBD0 00097A10 48 00 03 C0 */ b lbl_8009BF90
.global lbl_8009BBD4
lbl_8009BBD4:
/* 8009BBD4 00097A14 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009BBD8 00097A18 41 82 03 48 */ beq lbl_8009BF20
/* 8009BBDC 00097A1C 90 BE 00 08 */ stw r5, 0x8(r30)
/* 8009BBE0 00097A20 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8009BBE4 00097A24 B0 DE 00 0C */ sth r6, 0xc(r30)
/* 8009BBE8 00097A28 A0 A4 00 04 */ lhz r5, 0x4(r4)
/* 8009BBEC 00097A2C A0 64 00 02 */ lhz r3, 0x2(r4)
/* 8009BBF0 00097A30 38 A5 00 02 */ addi r5, r5, 0x2
/* 8009BBF4 00097A34 38 03 FF FE */ addi r0, r3, -0x2
/* 8009BBF8 00097A38 B0 A4 00 04 */ sth r5, 0x4(r4)
/* 8009BBFC 00097A3C B0 04 00 02 */ sth r0, 0x2(r4)
/* 8009BC00 00097A40 41 82 00 18 */ beq lbl_8009BC18
/* 8009BC04 00097A44 7F 83 E3 78 */ mr r3, r28
/* 8009BC08 00097A48 7F A5 EB 78 */ mr r5, r29
/* 8009BC0C 00097A4C 38 80 00 00 */ li r4, 0x0
2022-10-16 16:31:36 +00:00
/* 8009BC10 00097A50 4B FF F6 A1 */ bl rfc_send_test
2022-10-16 16:05:58 +00:00
/* 8009BC14 00097A54 48 00 03 7C */ b lbl_8009BF90
.global lbl_8009BC18
lbl_8009BC18:
/* 8009BC18 00097A58 7F 83 E3 78 */ mr r3, r28
/* 8009BC1C 00097A5C 7F A4 EB 78 */ mr r4, r29
2022-10-16 16:31:36 +00:00
/* 8009BC20 00097A60 4B FF E6 21 */ bl rfc_process_test_rsp
2022-10-16 16:05:58 +00:00
/* 8009BC24 00097A64 48 00 03 6C */ b lbl_8009BF90
.global lbl_8009BC28
lbl_8009BC28:
/* 8009BC28 00097A68 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009BC2C 00097A6C 40 82 02 F4 */ bne lbl_8009BF20
/* 8009BC30 00097A70 7F A3 EB 78 */ mr r3, r29
2022-10-16 16:31:36 +00:00
/* 8009BC34 00097A74 4B FD 92 DD */ bl GKI_freebuf
2022-10-16 16:05:58 +00:00
/* 8009BC38 00097A78 7F 83 E3 78 */ mr r3, r28
/* 8009BC3C 00097A7C 7F E4 FB 78 */ mr r4, r31
2022-10-16 16:31:36 +00:00
/* 8009BC40 00097A80 4B FF E6 09 */ bl rfc_process_fcon
2022-10-16 16:05:58 +00:00
/* 8009BC44 00097A84 48 00 03 4C */ b lbl_8009BF90
.global lbl_8009BC48
lbl_8009BC48:
/* 8009BC48 00097A88 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009BC4C 00097A8C 40 82 02 D4 */ bne lbl_8009BF20
/* 8009BC50 00097A90 7F A3 EB 78 */ mr r3, r29
2022-10-16 16:31:36 +00:00
/* 8009BC54 00097A94 4B FD 92 BD */ bl GKI_freebuf
2022-10-16 16:05:58 +00:00
/* 8009BC58 00097A98 7F 83 E3 78 */ mr r3, r28
/* 8009BC5C 00097A9C 7F E4 FB 78 */ mr r4, r31
2022-10-16 16:31:36 +00:00
/* 8009BC60 00097AA0 4B FF E6 4D */ bl rfc_process_fcoff
2022-10-16 16:05:58 +00:00
/* 8009BC64 00097AA4 48 00 03 2C */ b lbl_8009BF90
.global lbl_8009BC68
lbl_8009BC68:
/* 8009BC68 00097AA8 88 85 00 00 */ lbz r4, 0x0(r5)
/* 8009BC6C 00097AAC 54 83 07 BC */ rlwinm r3, r4, 0, 30, 30
/* 8009BC70 00097AB0 54 80 07 FF */ clrlwi. r0, r4, 31
/* 8009BC74 00097AB4 7C 60 0E 70 */ srawi r0, r3, 1
/* 8009BC78 00097AB8 7C 83 16 70 */ srawi r3, r4, 2
/* 8009BC7C 00097ABC 98 7E 00 00 */ stb r3, 0x0(r30)
/* 8009BC80 00097AC0 41 82 00 28 */ beq lbl_8009BCA8
/* 8009BC84 00097AC4 54 00 06 3F */ clrlwi. r0, r0, 24
/* 8009BC88 00097AC8 41 82 00 20 */ beq lbl_8009BCA8
/* 8009BC8C 00097ACC 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8009BC90 00097AD0 41 82 00 18 */ beq lbl_8009BCA8
/* 8009BC94 00097AD4 41 82 00 38 */ beq lbl_8009BCCC
/* 8009BC98 00097AD8 28 00 00 02 */ cmplwi r0, 0x2
/* 8009BC9C 00097ADC 41 80 00 0C */ blt lbl_8009BCA8
/* 8009BCA0 00097AE0 28 00 00 3D */ cmplwi r0, 0x3d
/* 8009BCA4 00097AE4 40 81 00 28 */ ble lbl_8009BCCC
.global lbl_8009BCA8
lbl_8009BCA8:
2022-10-16 16:31:36 +00:00
/* 8009BCA8 00097AE8 3C 60 80 50 */ lis r3, rfc_cb@ha
/* 8009BCAC 00097AEC 38 63 98 08 */ addi r3, r3, rfc_cb@l
2022-10-16 16:05:58 +00:00
/* 8009BCB0 00097AF0 88 03 04 14 */ lbz r0, 0x414(r3)
/* 8009BCB4 00097AF4 28 00 00 01 */ cmplwi r0, 0x1
/* 8009BCB8 00097AF8 41 80 02 68 */ blt lbl_8009BF20
/* 8009BCBC 00097AFC 38 87 00 B8 */ addi r4, r7, 0xb8
/* 8009BCC0 00097B00 3C 60 00 09 */ lis r3, 0x9
2022-10-16 16:31:36 +00:00
/* 8009BCC4 00097B04 4B FD BC 9D */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
/* 8009BCC8 00097B08 48 00 02 58 */ b lbl_8009BF20
.global lbl_8009BCCC
lbl_8009BCCC:
/* 8009BCCC 00097B0C 55 00 06 3E */ clrlwi r0, r8, 24
/* 8009BCD0 00097B10 88 65 00 01 */ lbz r3, 0x1(r5)
/* 8009BCD4 00097B14 28 00 00 03 */ cmplwi r0, 0x3
/* 8009BCD8 00097B18 98 7E 00 09 */ stb r3, 0x9(r30)
/* 8009BCDC 00097B1C 40 82 00 20 */ bne lbl_8009BCFC
/* 8009BCE0 00097B20 88 05 00 02 */ lbz r0, 0x2(r5)
/* 8009BCE4 00097B24 54 00 07 BC */ rlwinm r0, r0, 0, 30, 30
/* 8009BCE8 00097B28 98 1E 00 0A */ stb r0, 0xa(r30)
/* 8009BCEC 00097B2C 88 05 00 02 */ lbz r0, 0x2(r5)
/* 8009BCF0 00097B30 54 00 E7 3E */ extrwi r0, r0, 4, 24
/* 8009BCF4 00097B34 98 1E 00 0B */ stb r0, 0xb(r30)
/* 8009BCF8 00097B38 48 00 00 10 */ b lbl_8009BD08
.global lbl_8009BCFC
lbl_8009BCFC:
/* 8009BCFC 00097B3C 38 00 00 00 */ li r0, 0x0
/* 8009BD00 00097B40 98 1E 00 0A */ stb r0, 0xa(r30)
/* 8009BD04 00097B44 98 1E 00 0B */ stb r0, 0xb(r30)
.global lbl_8009BD08
lbl_8009BD08:
/* 8009BD08 00097B48 7F A3 EB 78 */ mr r3, r29
2022-10-16 16:31:36 +00:00
/* 8009BD0C 00097B4C 4B FD 92 05 */ bl GKI_freebuf
2022-10-16 16:05:58 +00:00
/* 8009BD10 00097B50 7F 83 E3 78 */ mr r3, r28
/* 8009BD14 00097B54 7F E4 FB 78 */ mr r4, r31
/* 8009BD18 00097B58 7F C5 F3 78 */ mr r5, r30
2022-10-16 16:31:36 +00:00
/* 8009BD1C 00097B5C 4B FF E3 2D */ bl rfc_process_msc
2022-10-16 16:05:58 +00:00
/* 8009BD20 00097B60 48 00 02 70 */ b lbl_8009BF90
.global lbl_8009BD24
lbl_8009BD24:
/* 8009BD24 00097B64 28 03 00 01 */ cmplwi r3, 0x1
/* 8009BD28 00097B68 40 82 01 F8 */ bne lbl_8009BF20
/* 8009BD2C 00097B6C 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8009BD30 00097B70 41 82 01 F0 */ beq lbl_8009BF20
/* 8009BD34 00097B74 88 05 00 00 */ lbz r0, 0x0(r5)
/* 8009BD38 00097B78 7F A3 EB 78 */ mr r3, r29
/* 8009BD3C 00097B7C 54 00 07 FE */ clrlwi r0, r0, 31
/* 8009BD40 00097B80 98 1E 00 08 */ stb r0, 0x8(r30)
/* 8009BD44 00097B84 88 05 00 00 */ lbz r0, 0x0(r5)
/* 8009BD48 00097B88 54 00 07 BC */ rlwinm r0, r0, 0, 30, 30
/* 8009BD4C 00097B8C 7C 00 0E 70 */ srawi r0, r0, 1
/* 8009BD50 00097B90 98 1E 00 09 */ stb r0, 0x9(r30)
/* 8009BD54 00097B94 88 05 00 00 */ lbz r0, 0x0(r5)
/* 8009BD58 00097B98 7C 00 16 70 */ srawi r0, r0, 2
/* 8009BD5C 00097B9C 98 1E 00 0A */ stb r0, 0xa(r30)
2022-10-16 16:31:36 +00:00
/* 8009BD60 00097BA0 4B FD 91 B1 */ bl GKI_freebuf
2022-10-16 16:05:58 +00:00
/* 8009BD64 00097BA4 7F 83 E3 78 */ mr r3, r28
/* 8009BD68 00097BA8 7F C4 F3 78 */ mr r4, r30
2022-10-16 16:31:36 +00:00
/* 8009BD6C 00097BAC 4B F8 87 35 */ bl DefaultSwitchThreadCallback
2022-10-16 16:05:58 +00:00
/* 8009BD70 00097BB0 48 00 02 20 */ b lbl_8009BF90
.global lbl_8009BD74
lbl_8009BD74:
/* 8009BD74 00097BB4 28 03 00 01 */ cmplwi r3, 0x1
/* 8009BD78 00097BB8 41 82 00 0C */ beq lbl_8009BD84
/* 8009BD7C 00097BBC 28 03 00 08 */ cmplwi r3, 0x8
/* 8009BD80 00097BC0 40 82 01 A0 */ bne lbl_8009BF20
.global lbl_8009BD84
lbl_8009BD84:
/* 8009BD84 00097BC4 88 85 00 00 */ lbz r4, 0x0(r5)
/* 8009BD88 00097BC8 54 83 07 BC */ rlwinm r3, r4, 0, 30, 30
/* 8009BD8C 00097BCC 54 80 07 FF */ clrlwi. r0, r4, 31
/* 8009BD90 00097BD0 7C 60 0E 70 */ srawi r0, r3, 1
/* 8009BD94 00097BD4 7C 83 16 70 */ srawi r3, r4, 2
/* 8009BD98 00097BD8 98 7E 00 00 */ stb r3, 0x0(r30)
/* 8009BD9C 00097BDC 41 82 00 28 */ beq lbl_8009BDC4
/* 8009BDA0 00097BE0 54 00 06 3F */ clrlwi. r0, r0, 24
/* 8009BDA4 00097BE4 41 82 00 20 */ beq lbl_8009BDC4
/* 8009BDA8 00097BE8 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8009BDAC 00097BEC 41 82 00 18 */ beq lbl_8009BDC4
/* 8009BDB0 00097BF0 41 82 00 38 */ beq lbl_8009BDE8
/* 8009BDB4 00097BF4 28 00 00 02 */ cmplwi r0, 0x2
/* 8009BDB8 00097BF8 41 80 00 0C */ blt lbl_8009BDC4
/* 8009BDBC 00097BFC 28 00 00 3D */ cmplwi r0, 0x3d
/* 8009BDC0 00097C00 40 81 00 28 */ ble lbl_8009BDE8
.global lbl_8009BDC4
lbl_8009BDC4:
2022-10-16 16:31:36 +00:00
/* 8009BDC4 00097C04 3C 60 80 50 */ lis r3, rfc_cb@ha
/* 8009BDC8 00097C08 38 63 98 08 */ addi r3, r3, rfc_cb@l
2022-10-16 16:05:58 +00:00
/* 8009BDCC 00097C0C 88 03 04 14 */ lbz r0, 0x414(r3)
/* 8009BDD0 00097C10 28 00 00 01 */ cmplwi r0, 0x1
/* 8009BDD4 00097C14 41 80 01 4C */ blt lbl_8009BF20
/* 8009BDD8 00097C18 38 87 00 C8 */ addi r4, r7, 0xc8
/* 8009BDDC 00097C1C 3C 60 00 09 */ lis r3, 0x9
2022-10-16 16:31:36 +00:00
/* 8009BDE0 00097C20 4B FD BB 81 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
/* 8009BDE4 00097C24 48 00 01 3C */ b lbl_8009BF20
.global lbl_8009BDE8
lbl_8009BDE8:
/* 8009BDE8 00097C28 54 C3 04 3E */ clrlwi r3, r6, 16
/* 8009BDEC 00097C2C 38 03 FF FF */ addi r0, r3, -0x1
/* 8009BDF0 00097C30 7C 00 00 34 */ cntlzw r0, r0
/* 8009BDF4 00097C34 54 00 DE 3F */ extrwi. r0, r0, 8, 19
/* 8009BDF8 00097C38 98 1E 00 09 */ stb r0, 0x9(r30)
/* 8009BDFC 00097C3C 40 82 00 70 */ bne lbl_8009BE6C
/* 8009BE00 00097C40 88 05 00 01 */ lbz r0, 0x1(r5)
/* 8009BE04 00097C44 98 1E 00 0A */ stb r0, 0xa(r30)
/* 8009BE08 00097C48 88 05 00 02 */ lbz r0, 0x2(r5)
/* 8009BE0C 00097C4C 54 00 07 BE */ clrlwi r0, r0, 30
/* 8009BE10 00097C50 98 1E 00 0B */ stb r0, 0xb(r30)
/* 8009BE14 00097C54 88 05 00 02 */ lbz r0, 0x2(r5)
/* 8009BE18 00097C58 54 00 F7 FE */ extrwi r0, r0, 1, 29
/* 8009BE1C 00097C5C 98 1E 00 0C */ stb r0, 0xc(r30)
/* 8009BE20 00097C60 88 05 00 02 */ lbz r0, 0x2(r5)
/* 8009BE24 00097C64 54 00 EF FE */ extrwi r0, r0, 1, 28
/* 8009BE28 00097C68 98 1E 00 0D */ stb r0, 0xd(r30)
/* 8009BE2C 00097C6C 88 05 00 02 */ lbz r0, 0x2(r5)
/* 8009BE30 00097C70 54 00 E7 BE */ extrwi r0, r0, 2, 26
/* 8009BE34 00097C74 98 1E 00 0E */ stb r0, 0xe(r30)
/* 8009BE38 00097C78 88 05 00 03 */ lbz r0, 0x3(r5)
/* 8009BE3C 00097C7C 54 00 06 BE */ clrlwi r0, r0, 26
/* 8009BE40 00097C80 98 1E 00 0F */ stb r0, 0xf(r30)
/* 8009BE44 00097C84 88 05 00 04 */ lbz r0, 0x4(r5)
/* 8009BE48 00097C88 98 1E 00 10 */ stb r0, 0x10(r30)
/* 8009BE4C 00097C8C 88 05 00 05 */ lbz r0, 0x5(r5)
/* 8009BE50 00097C90 98 1E 00 11 */ stb r0, 0x11(r30)
/* 8009BE54 00097C94 88 05 00 07 */ lbz r0, 0x7(r5)
/* 8009BE58 00097C98 88 65 00 06 */ lbz r3, 0x6(r5)
/* 8009BE5C 00097C9C 54 00 40 2E */ slwi r0, r0, 8
/* 8009BE60 00097CA0 7C 03 02 14 */ add r0, r3, r0
/* 8009BE64 00097CA4 70 00 3F 7F */ andi. r0, r0, 0x3f7f
/* 8009BE68 00097CA8 B0 1E 00 12 */ sth r0, 0x12(r30)
.global lbl_8009BE6C
lbl_8009BE6C:
/* 8009BE6C 00097CAC 7F A3 EB 78 */ mr r3, r29
2022-10-16 16:31:36 +00:00
/* 8009BE70 00097CB0 4B FD 90 A1 */ bl GKI_freebuf
2022-10-16 16:05:58 +00:00
/* 8009BE74 00097CB4 88 BE 00 09 */ lbz r5, 0x9(r30)
/* 8009BE78 00097CB8 7F 83 E3 78 */ mr r3, r28
/* 8009BE7C 00097CBC 7F E4 FB 78 */ mr r4, r31
/* 8009BE80 00097CC0 7F C6 F3 78 */ mr r6, r30
2022-10-16 16:31:36 +00:00
/* 8009BE84 00097CC4 4B FF DE B9 */ bl rfc_process_rpn
2022-10-16 16:05:58 +00:00
/* 8009BE88 00097CC8 48 00 01 08 */ b lbl_8009BF90
.global lbl_8009BE8C
lbl_8009BE8C:
/* 8009BE8C 00097CCC 28 03 00 02 */ cmplwi r3, 0x2
/* 8009BE90 00097CD0 40 82 00 90 */ bne lbl_8009BF20
/* 8009BE94 00097CD4 88 C5 00 00 */ lbz r6, 0x0(r5)
/* 8009BE98 00097CD8 54 C3 07 BC */ rlwinm r3, r6, 0, 30, 30
/* 8009BE9C 00097CDC 54 C0 07 FF */ clrlwi. r0, r6, 31
/* 8009BEA0 00097CE0 7C 64 0E 70 */ srawi r4, r3, 1
/* 8009BEA4 00097CE4 7C C3 16 70 */ srawi r3, r6, 2
/* 8009BEA8 00097CE8 98 7E 00 00 */ stb r3, 0x0(r30)
/* 8009BEAC 00097CEC 88 05 00 01 */ lbz r0, 0x1(r5)
/* 8009BEB0 00097CF0 54 00 06 3C */ rlwinm r0, r0, 0, 24, 30
/* 8009BEB4 00097CF4 98 1E 00 09 */ stb r0, 0x9(r30)
/* 8009BEB8 00097CF8 41 82 00 28 */ beq lbl_8009BEE0
/* 8009BEBC 00097CFC 54 80 06 3F */ clrlwi. r0, r4, 24
/* 8009BEC0 00097D00 41 82 00 20 */ beq lbl_8009BEE0
/* 8009BEC4 00097D04 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8009BEC8 00097D08 41 82 00 18 */ beq lbl_8009BEE0
/* 8009BECC 00097D0C 41 82 00 38 */ beq lbl_8009BF04
/* 8009BED0 00097D10 28 00 00 02 */ cmplwi r0, 0x2
/* 8009BED4 00097D14 41 80 00 0C */ blt lbl_8009BEE0
/* 8009BED8 00097D18 28 00 00 3D */ cmplwi r0, 0x3d
/* 8009BEDC 00097D1C 40 81 00 28 */ ble lbl_8009BF04
.global lbl_8009BEE0
lbl_8009BEE0:
2022-10-16 16:31:36 +00:00
/* 8009BEE0 00097D20 3C 60 80 50 */ lis r3, rfc_cb@ha
/* 8009BEE4 00097D24 38 63 98 08 */ addi r3, r3, rfc_cb@l
2022-10-16 16:05:58 +00:00
/* 8009BEE8 00097D28 88 03 04 14 */ lbz r0, 0x414(r3)
/* 8009BEEC 00097D2C 28 00 00 01 */ cmplwi r0, 0x1
/* 8009BEF0 00097D30 41 80 00 30 */ blt lbl_8009BF20
/* 8009BEF4 00097D34 38 87 00 C8 */ addi r4, r7, 0xc8
/* 8009BEF8 00097D38 3C 60 00 09 */ lis r3, 0x9
2022-10-16 16:31:36 +00:00
/* 8009BEFC 00097D3C 4B FD BA 65 */ bl LogMsg_0
2022-10-16 16:05:58 +00:00
/* 8009BF00 00097D40 48 00 00 20 */ b lbl_8009BF20
.global lbl_8009BF04
lbl_8009BF04:
/* 8009BF04 00097D44 7F A3 EB 78 */ mr r3, r29
2022-10-16 16:31:36 +00:00
/* 8009BF08 00097D48 4B FD 90 09 */ bl GKI_freebuf
2022-10-16 16:05:58 +00:00
/* 8009BF0C 00097D4C 7F 83 E3 78 */ mr r3, r28
/* 8009BF10 00097D50 7F E4 FB 78 */ mr r4, r31
/* 8009BF14 00097D54 7F C5 F3 78 */ mr r5, r30
2022-10-16 16:31:36 +00:00
/* 8009BF18 00097D58 4B FF E2 9D */ bl rfc_process_rls
2022-10-16 16:05:58 +00:00
/* 8009BF1C 00097D5C 48 00 00 74 */ b lbl_8009BF90
.global lbl_8009BF20
lbl_8009BF20:
/* 8009BF20 00097D60 7F A3 EB 78 */ mr r3, r29
2022-10-16 16:31:36 +00:00
/* 8009BF24 00097D64 4B FD 8F ED */ bl GKI_freebuf
2022-10-16 16:05:58 +00:00
/* 8009BF28 00097D68 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8009BF2C 00097D6C 41 82 00 64 */ beq lbl_8009BF90
/* 8009BF30 00097D70 38 60 00 02 */ li r3, 0x2
2022-10-16 16:31:36 +00:00
/* 8009BF34 00097D74 4B FD 8E ED */ bl GKI_getpoolbuf
2022-10-16 16:05:58 +00:00
/* 8009BF38 00097D78 2C 03 00 00 */ cmpwi r3, 0x0
/* 8009BF3C 00097D7C 41 82 00 54 */ beq lbl_8009BF90
/* 8009BF40 00097D80 38 00 00 0C */ li r0, 0xc
2022-10-16 16:31:36 +00:00
/* 8009BF44 00097D84 3C E0 80 50 */ lis r7, rfc_cb@ha
2022-10-16 16:05:58 +00:00
/* 8009BF48 00097D88 B0 03 00 04 */ sth r0, 0x4(r3)
/* 8009BF4C 00097D8C 38 00 00 11 */ li r0, 0x11
/* 8009BF50 00097D90 39 00 00 03 */ li r8, 0x3
2022-10-16 16:31:36 +00:00
/* 8009BF54 00097D94 38 E7 98 08 */ addi r7, r7, rfc_cb@l
2022-10-16 16:05:58 +00:00
/* 8009BF58 00097D98 98 03 00 14 */ stb r0, 0x14(r3)
/* 8009BF5C 00097D9C 7C 65 1B 78 */ mr r5, r3
/* 8009BF60 00097DA0 38 80 00 00 */ li r4, 0x0
/* 8009BF64 00097DA4 99 03 00 15 */ stb r8, 0x15(r3)
/* 8009BF68 00097DA8 88 07 00 02 */ lbz r0, 0x2(r7)
/* 8009BF6C 00097DAC 88 C7 00 03 */ lbz r6, 0x3(r7)
/* 8009BF70 00097DB0 54 00 08 3C */ slwi r0, r0, 1
/* 8009BF74 00097DB4 88 E7 00 01 */ lbz r7, 0x1(r7)
/* 8009BF78 00097DB8 7C C0 03 78 */ or r0, r6, r0
/* 8009BF7C 00097DBC 7C E0 03 78 */ or r0, r7, r0
/* 8009BF80 00097DC0 98 03 00 16 */ stb r0, 0x16(r3)
/* 8009BF84 00097DC4 B1 03 00 02 */ sth r8, 0x2(r3)
/* 8009BF88 00097DC8 7F 83 E3 78 */ mr r3, r28
2022-10-16 16:31:36 +00:00
/* 8009BF8C 00097DCC 4B FF EC B1 */ bl rfc_send_buf_uih
2022-10-16 16:05:58 +00:00
.global lbl_8009BF90
lbl_8009BF90:
/* 8009BF90 00097DD0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8009BF94 00097DD4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8009BF98 00097DD8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8009BF9C 00097DDC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8009BFA0 00097DE0 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8009BFA4 00097DE4 7C 08 03 A6 */ mtlr r0
/* 8009BFA8 00097DE8 38 21 00 20 */ addi r1, r1, 0x20
/* 8009BFAC 00097DEC 4E 80 00 20 */ blr
2022-10-17 08:41:13 +00:00
.include "macros.inc"
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
.global "@1168"
"@1168":
.4byte 0x42616420
.4byte 0x4C656E67
.4byte 0x7468313A
.4byte 0x20256400
.4byte 0x42616420
.4byte 0x4C656E67
.4byte 0x74683220
.4byte 0x25642025
.4byte 0x64000000
.4byte 0x42616420
.4byte 0x5341424D
.4byte 0x45000000
.4byte 0x42616420
.4byte 0x44495343
.4byte 0
.4byte 0x42616420
.4byte 0x55494820
.4byte 0x2D20696E
.4byte 0x76616C69
.4byte 0x6420444C
.4byte 0x43490000
.4byte 0x42616420
.4byte 0x55494820
.4byte 0x2D204643
.4byte 0x53000000
.4byte 0x42616420
.4byte 0x55494820
.4byte 0x2D207265
.4byte 0x73706F6E
.4byte 0x73650000
.4byte 0x496C6C65
.4byte 0x67616C20
.4byte 0x4D582046
.4byte 0x72616D65
.4byte 0x2065613A
.4byte 0x2564206C
.4byte 0x656E3A25
.4byte 0x64000000
.4byte 0x42616420
.4byte 0x4D582066
.4byte 0x72616D65
.4byte 0
.4byte 0x42616420
.4byte 0x504E2066
.4byte 0x72616D65
.4byte 0
.4byte 0x42616420
.4byte 0x4D534320
.4byte 0x6672616D
.4byte 0x65000000
.4byte 0x42616420
.4byte 0x52504E20
.4byte 0x6672616D
.4byte 0x65000000
.include "macros.inc"
.section .sdata, "wa" # 0x80556420 - 0x8055C6E0 ; 0x000062C0
.global "@1171"
"@1171":
.4byte 0x42616420
.4byte 0x55410000
.global "@1172_80556938"
"@1172_80556938":
.4byte 0x42616420
.4byte 0x444D0000