.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global BTM_PmRegister BTM_PmRegister: /* 802C8DEC 002C4A4C 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d /* 802C8DF0 002C4A50 41 82 00 38 */ beq lbl_802C8E28 /* 802C8DF4 002C4A54 88 04 00 00 */ lbz r0, 0(r4) /* 802C8DF8 002C4A58 28 00 00 02 */ cmplwi r0, 2 /* 802C8DFC 002C4A5C 41 80 00 0C */ blt lbl_802C8E08 /* 802C8E00 002C4A60 38 60 00 05 */ li r3, 5 /* 802C8E04 002C4A64 4E 80 00 20 */ blr lbl_802C8E08: /* 802C8E08 002C4A68 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C8E0C 002C4A6C 54 00 1D 78 */ rlwinm r0, r0, 3, 0x15, 0x1c /* 802C8E10 002C4A70 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C8E14 002C4A74 38 A0 00 00 */ li r5, 0 /* 802C8E18 002C4A78 7C 83 02 14 */ add r4, r3, r0 /* 802C8E1C 002C4A7C 98 A4 05 58 */ stb r5, 0x558(r4) /* 802C8E20 002C4A80 38 60 00 00 */ li r3, 0 /* 802C8E24 002C4A84 4E 80 00 20 */ blr lbl_802C8E28: /* 802C8E28 002C4A88 3C C0 80 57 */ lis r6, lbl_80568B78@ha /* 802C8E2C 002C4A8C 38 00 00 02 */ li r0, 2 /* 802C8E30 002C4A90 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l /* 802C8E34 002C4A94 38 E0 00 00 */ li r7, 0 /* 802C8E38 002C4A98 7C 09 03 A6 */ mtctr r0 lbl_802C8E3C: /* 802C8E3C 002C4A9C 88 06 05 58 */ lbz r0, 0x558(r6) /* 802C8E40 002C4AA0 2C 00 00 00 */ cmpwi r0, 0 /* 802C8E44 002C4AA4 40 82 00 50 */ bne lbl_802C8E94 /* 802C8E48 002C4AA8 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e /* 802C8E4C 002C4AAC 41 82 00 28 */ beq lbl_802C8E74 /* 802C8E50 002C4AB0 2C 05 00 00 */ cmpwi r5, 0 /* 802C8E54 002C4AB4 40 82 00 0C */ bne lbl_802C8E60 /* 802C8E58 002C4AB8 38 60 00 05 */ li r3, 5 /* 802C8E5C 002C4ABC 4E 80 00 20 */ blr lbl_802C8E60: /* 802C8E60 002C4AC0 3C C0 80 57 */ lis r6, lbl_80568B78@ha /* 802C8E64 002C4AC4 54 E0 18 38 */ slwi r0, r7, 3 /* 802C8E68 002C4AC8 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l /* 802C8E6C 002C4ACC 7C C6 02 14 */ add r6, r6, r0 /* 802C8E70 002C4AD0 90 A6 05 54 */ stw r5, 0x554(r6) lbl_802C8E74: /* 802C8E74 002C4AD4 3C A0 80 57 */ lis r5, lbl_80568B78@ha /* 802C8E78 002C4AD8 54 E0 18 38 */ slwi r0, r7, 3 /* 802C8E7C 002C4ADC 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l /* 802C8E80 002C4AE0 7C A5 02 14 */ add r5, r5, r0 /* 802C8E84 002C4AE4 98 65 05 58 */ stb r3, 0x558(r5) /* 802C8E88 002C4AE8 38 60 00 00 */ li r3, 0 /* 802C8E8C 002C4AEC 98 E4 00 00 */ stb r7, 0(r4) /* 802C8E90 002C4AF0 4E 80 00 20 */ blr lbl_802C8E94: /* 802C8E94 002C4AF4 38 C6 00 08 */ addi r6, r6, 8 /* 802C8E98 002C4AF8 38 E7 00 01 */ addi r7, r7, 1 /* 802C8E9C 002C4AFC 42 00 FF A0 */ bdnz lbl_802C8E3C /* 802C8EA0 002C4B00 38 60 00 03 */ li r3, 3 /* 802C8EA4 002C4B04 4E 80 00 20 */ blr .global BTM_SetPowerMode BTM_SetPowerMode: /* 802C8EA8 002C4B08 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802C8EAC 002C4B0C 7C 08 02 A6 */ mflr r0 /* 802C8EB0 002C4B10 90 01 00 24 */ stw r0, 0x24(r1) /* 802C8EB4 002C4B14 39 61 00 20 */ addi r11, r1, 0x20 /* 802C8EB8 002C4B18 4B EF E2 6D */ bl _savegpr_26 /* 802C8EBC 002C4B1C 28 03 00 02 */ cmplwi r3, 2 /* 802C8EC0 002C4B20 7C 7B 1B 78 */ mr r27, r3 /* 802C8EC4 002C4B24 7C 9A 23 78 */ mr r26, r4 /* 802C8EC8 002C4B28 7C BC 2B 78 */ mr r28, r5 /* 802C8ECC 002C4B2C 41 80 00 08 */ blt lbl_802C8ED4 /* 802C8ED0 002C4B30 3B 60 00 80 */ li r27, 0x80 lbl_802C8ED4: /* 802C8ED4 002C4B34 2C 05 00 00 */ cmpwi r5, 0 /* 802C8ED8 002C4B38 40 82 00 0C */ bne lbl_802C8EE4 /* 802C8EDC 002C4B3C 38 60 00 05 */ li r3, 5 /* 802C8EE0 002C4B40 48 00 01 80 */ b lbl_802C9060 lbl_802C8EE4: /* 802C8EE4 002C4B44 88 05 00 08 */ lbz r0, 8(r5) /* 802C8EE8 002C4B48 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C8EEC 002C4B4C 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C8EF0 002C4B50 3B A0 00 00 */ li r29, 0 /* 802C8EF4 002C4B54 54 1F 07 34 */ rlwinm r31, r0, 0, 0x1c, 0x1a /* 802C8EF8 002C4B58 3B C3 00 34 */ addi r30, r3, 0x34 lbl_802C8EFC: /* 802C8EFC 002C4B5C 88 1E 01 19 */ lbz r0, 0x119(r30) /* 802C8F00 002C4B60 2C 00 00 00 */ cmpwi r0, 0 /* 802C8F04 002C4B64 41 82 00 1C */ beq lbl_802C8F20 /* 802C8F08 002C4B68 7F 44 D3 78 */ mr r4, r26 /* 802C8F0C 002C4B6C 38 7E 00 08 */ addi r3, r30, 8 /* 802C8F10 002C4B70 38 A0 00 06 */ li r5, 6 /* 802C8F14 002C4B74 4B F0 14 85 */ bl memcmp /* 802C8F18 002C4B78 2C 03 00 00 */ cmpwi r3, 0 /* 802C8F1C 002C4B7C 41 82 00 14 */ beq lbl_802C8F30 lbl_802C8F20: /* 802C8F20 002C4B80 3B BD 00 01 */ addi r29, r29, 1 /* 802C8F24 002C4B84 3B DE 01 1C */ addi r30, r30, 0x11c /* 802C8F28 002C4B88 28 1D 00 04 */ cmplwi r29, 4 /* 802C8F2C 002C4B8C 41 80 FF D0 */ blt lbl_802C8EFC lbl_802C8F30: /* 802C8F30 002C4B90 57 BE 06 3E */ clrlwi r30, r29, 0x18 /* 802C8F34 002C4B94 2C 1E 00 04 */ cmpwi r30, 4 /* 802C8F38 002C4B98 40 82 00 0C */ bne lbl_802C8F44 /* 802C8F3C 002C4B9C 38 60 00 07 */ li r3, 7 /* 802C8F40 002C4BA0 48 00 01 20 */ b lbl_802C9060 lbl_802C8F44: /* 802C8F44 002C4BA4 1C 1E 00 22 */ mulli r0, r30, 0x22 /* 802C8F48 002C4BA8 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C8F4C 002C4BAC 57 E3 06 3F */ clrlwi. r3, r31, 0x18 /* 802C8F50 002C4BB0 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C8F54 002C4BB4 7C 84 02 14 */ add r4, r4, r0 /* 802C8F58 002C4BB8 3B A4 04 CC */ addi r29, r4, 0x4cc /* 802C8F5C 002C4BBC 41 82 00 30 */ beq lbl_802C8F8C /* 802C8F60 002C4BC0 3B 43 FF FF */ addi r26, r3, -1 /* 802C8F64 002C4BC4 4B FF D9 FD */ bl BTM_ReadLocalFeatures /* 802C8F68 002C4BC8 38 82 A4 78 */ addi r4, r2, lbl_80642A78-_SDA2_BASE_ /* 802C8F6C 002C4BCC 38 A2 A4 7C */ addi r5, r2, lbl_80642A7C-_SDA2_BASE_ /* 802C8F70 002C4BD0 7C 04 D0 AE */ lbzx r0, r4, r26 /* 802C8F74 002C4BD4 7C 85 D0 AE */ lbzx r4, r5, r26 /* 802C8F78 002C4BD8 7C 03 00 AE */ lbzx r0, r3, r0 /* 802C8F7C 002C4BDC 7C 80 00 39 */ and. r0, r4, r0 /* 802C8F80 002C4BE0 40 82 00 0C */ bne lbl_802C8F8C /* 802C8F84 002C4BE4 38 60 00 04 */ li r3, 4 /* 802C8F88 002C4BE8 48 00 00 D8 */ b lbl_802C9060 lbl_802C8F8C: /* 802C8F8C 002C4BEC 88 1D 00 20 */ lbz r0, 0x20(r29) /* 802C8F90 002C4BF0 57 E3 06 3E */ clrlwi r3, r31, 0x18 /* 802C8F94 002C4BF4 7C 03 00 40 */ cmplw r3, r0 /* 802C8F98 002C4BF8 40 82 00 30 */ bne lbl_802C8FC8 /* 802C8F9C 002C4BFC 2C 03 00 00 */ cmpwi r3, 0 /* 802C8FA0 002C4C00 41 82 00 20 */ beq lbl_802C8FC0 /* 802C8FA4 002C4C04 A0 7D 00 1E */ lhz r3, 0x1e(r29) /* 802C8FA8 002C4C08 A0 1C 00 00 */ lhz r0, 0(r28) /* 802C8FAC 002C4C0C 7C 00 18 40 */ cmplw r0, r3 /* 802C8FB0 002C4C10 41 80 00 18 */ blt lbl_802C8FC8 /* 802C8FB4 002C4C14 A0 1C 00 02 */ lhz r0, 2(r28) /* 802C8FB8 002C4C18 7C 00 18 40 */ cmplw r0, r3 /* 802C8FBC 002C4C1C 41 81 00 0C */ bgt lbl_802C8FC8 lbl_802C8FC0: /* 802C8FC0 002C4C20 38 60 00 00 */ li r3, 0 /* 802C8FC4 002C4C24 48 00 00 9C */ b lbl_802C9060 lbl_802C8FC8: /* 802C8FC8 002C4C28 28 1B 00 80 */ cmplwi r27, 0x80 /* 802C8FCC 002C4C2C 41 82 00 54 */ beq lbl_802C9020 /* 802C8FD0 002C4C30 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C8FD4 002C4C34 57 60 1D 78 */ rlwinm r0, r27, 3, 0x15, 0x1c /* 802C8FD8 002C4C38 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C8FDC 002C4C3C 7C 63 02 14 */ add r3, r3, r0 /* 802C8FE0 002C4C40 88 03 05 58 */ lbz r0, 0x558(r3) /* 802C8FE4 002C4C44 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 802C8FE8 002C4C48 41 82 00 38 */ beq lbl_802C9020 /* 802C8FEC 002C4C4C A0 9C 00 00 */ lhz r4, 0(r28) /* 802C8FF0 002C4C50 1C BB 00 0A */ mulli r5, r27, 0xa /* 802C8FF4 002C4C54 A0 7C 00 02 */ lhz r3, 2(r28) /* 802C8FF8 002C4C58 38 00 00 01 */ li r0, 1 /* 802C8FFC 002C4C5C 7C 85 EB 6E */ sthux r4, r5, r29 /* 802C9000 002C4C60 B0 65 00 02 */ sth r3, 2(r5) /* 802C9004 002C4C64 A0 9C 00 04 */ lhz r4, 4(r28) /* 802C9008 002C4C68 A0 7C 00 06 */ lhz r3, 6(r28) /* 802C900C 002C4C6C B0 85 00 04 */ sth r4, 4(r5) /* 802C9010 002C4C70 B0 65 00 06 */ sth r3, 6(r5) /* 802C9014 002C4C74 A0 7C 00 08 */ lhz r3, 8(r28) /* 802C9018 002C4C78 B0 65 00 08 */ sth r3, 8(r5) /* 802C901C 002C4C7C 98 1D 00 21 */ stb r0, 0x21(r29) lbl_802C9020: /* 802C9020 002C4C80 88 1D 00 20 */ lbz r0, 0x20(r29) /* 802C9024 002C4C84 28 00 00 01 */ cmplwi r0, 1 /* 802C9028 002C4C88 41 82 00 20 */ beq lbl_802C9048 /* 802C902C 002C4C8C 28 00 00 04 */ cmplwi r0, 4 /* 802C9030 002C4C90 41 82 00 18 */ beq lbl_802C9048 /* 802C9034 002C4C94 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C9038 002C4C98 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C903C 002C4C9C 88 03 05 64 */ lbz r0, 0x564(r3) /* 802C9040 002C4CA0 28 00 00 04 */ cmplwi r0, 4 /* 802C9044 002C4CA4 41 82 00 0C */ beq lbl_802C9050 lbl_802C9048: /* 802C9048 002C4CA8 38 60 00 0D */ li r3, 0xd /* 802C904C 002C4CAC 48 00 00 14 */ b lbl_802C9060 lbl_802C9050: /* 802C9050 002C4CB0 7F 63 DB 78 */ mr r3, r27 /* 802C9054 002C4CB4 7F C4 F3 78 */ mr r4, r30 /* 802C9058 002C4CB8 7F 85 E3 78 */ mr r5, r28 /* 802C905C 002C4CBC 48 00 05 19 */ bl btm_pm_snd_md_req lbl_802C9060: /* 802C9060 002C4CC0 39 61 00 20 */ addi r11, r1, 0x20 /* 802C9064 002C4CC4 4B EF E1 0D */ bl _restgpr_26 /* 802C9068 002C4CC8 80 01 00 24 */ lwz r0, 0x24(r1) /* 802C906C 002C4CCC 7C 08 03 A6 */ mtlr r0 /* 802C9070 002C4CD0 38 21 00 20 */ addi r1, r1, 0x20 /* 802C9074 002C4CD4 4E 80 00 20 */ blr .global BTM_ReadPowerMode BTM_ReadPowerMode: /* 802C9078 002C4CD8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802C907C 002C4CDC 7C 08 02 A6 */ mflr r0 /* 802C9080 002C4CE0 3C A0 80 57 */ lis r5, lbl_80568B78@ha /* 802C9084 002C4CE4 90 01 00 24 */ stw r0, 0x24(r1) /* 802C9088 002C4CE8 38 A5 8B 78 */ addi r5, r5, lbl_80568B78@l /* 802C908C 002C4CEC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802C9090 002C4CF0 3B E0 00 00 */ li r31, 0 /* 802C9094 002C4CF4 93 C1 00 18 */ stw r30, 0x18(r1) /* 802C9098 002C4CF8 3B C5 00 34 */ addi r30, r5, 0x34 /* 802C909C 002C4CFC 93 A1 00 14 */ stw r29, 0x14(r1) /* 802C90A0 002C4D00 7C 9D 23 78 */ mr r29, r4 /* 802C90A4 002C4D04 93 81 00 10 */ stw r28, 0x10(r1) /* 802C90A8 002C4D08 7C 7C 1B 78 */ mr r28, r3 lbl_802C90AC: /* 802C90AC 002C4D0C 88 1E 01 19 */ lbz r0, 0x119(r30) /* 802C90B0 002C4D10 2C 00 00 00 */ cmpwi r0, 0 /* 802C90B4 002C4D14 41 82 00 1C */ beq lbl_802C90D0 /* 802C90B8 002C4D18 7F 84 E3 78 */ mr r4, r28 /* 802C90BC 002C4D1C 38 7E 00 08 */ addi r3, r30, 8 /* 802C90C0 002C4D20 38 A0 00 06 */ li r5, 6 /* 802C90C4 002C4D24 4B F0 12 D5 */ bl memcmp /* 802C90C8 002C4D28 2C 03 00 00 */ cmpwi r3, 0 /* 802C90CC 002C4D2C 41 82 00 14 */ beq lbl_802C90E0 lbl_802C90D0: /* 802C90D0 002C4D30 3B FF 00 01 */ addi r31, r31, 1 /* 802C90D4 002C4D34 3B DE 01 1C */ addi r30, r30, 0x11c /* 802C90D8 002C4D38 28 1F 00 04 */ cmplwi r31, 4 /* 802C90DC 002C4D3C 41 80 FF D0 */ blt lbl_802C90AC lbl_802C90E0: /* 802C90E0 002C4D40 57 E0 06 3E */ clrlwi r0, r31, 0x18 /* 802C90E4 002C4D44 2C 00 00 04 */ cmpwi r0, 4 /* 802C90E8 002C4D48 40 82 00 0C */ bne lbl_802C90F4 /* 802C90EC 002C4D4C 38 60 00 07 */ li r3, 7 /* 802C90F0 002C4D50 48 00 00 20 */ b lbl_802C9110 lbl_802C90F4: /* 802C90F4 002C4D54 1C 00 00 22 */ mulli r0, r0, 0x22 /* 802C90F8 002C4D58 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C90FC 002C4D5C 38 60 00 00 */ li r3, 0 /* 802C9100 002C4D60 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C9104 002C4D64 7C 84 02 14 */ add r4, r4, r0 /* 802C9108 002C4D68 88 04 04 EC */ lbz r0, 0x4ec(r4) /* 802C910C 002C4D6C 98 1D 00 00 */ stb r0, 0(r29) lbl_802C9110: /* 802C9110 002C4D70 80 01 00 24 */ lwz r0, 0x24(r1) /* 802C9114 002C4D74 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802C9118 002C4D78 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802C911C 002C4D7C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802C9120 002C4D80 83 81 00 10 */ lwz r28, 0x10(r1) /* 802C9124 002C4D84 7C 08 03 A6 */ mtlr r0 /* 802C9128 002C4D88 38 21 00 20 */ addi r1, r1, 0x20 /* 802C912C 002C4D8C 4E 80 00 20 */ blr .global btm_pm_reset btm_pm_reset: /* 802C9130 002C4D90 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C9134 002C4D94 39 80 00 00 */ li r12, 0 /* 802C9138 002C4D98 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C913C 002C4D9C 88 03 05 65 */ lbz r0, 0x565(r3) /* 802C9140 002C4DA0 28 00 00 80 */ cmplwi r0, 0x80 /* 802C9144 002C4DA4 41 82 00 1C */ beq lbl_802C9160 /* 802C9148 002C4DA8 54 00 1D 78 */ rlwinm r0, r0, 3, 0x15, 0x1c /* 802C914C 002C4DAC 7C 63 02 14 */ add r3, r3, r0 /* 802C9150 002C4DB0 88 03 05 58 */ lbz r0, 0x558(r3) /* 802C9154 002C4DB4 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e /* 802C9158 002C4DB8 41 82 00 08 */ beq lbl_802C9160 /* 802C915C 002C4DBC 81 83 05 54 */ lwz r12, 0x554(r3) lbl_802C9160: /* 802C9160 002C4DC0 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C9164 002C4DC4 2C 0C 00 00 */ cmpwi r12, 0 /* 802C9168 002C4DC8 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C916C 002C4DCC 38 00 00 00 */ li r0, 0 /* 802C9170 002C4DD0 38 80 00 04 */ li r4, 4 /* 802C9174 002C4DD4 98 03 05 58 */ stb r0, 0x558(r3) /* 802C9178 002C4DD8 98 83 05 64 */ stb r4, 0x564(r3) /* 802C917C 002C4DDC 98 03 05 60 */ stb r0, 0x560(r3) /* 802C9180 002C4DE0 4D 82 00 20 */ beqlr /* 802C9184 002C4DE4 1C 04 01 1C */ mulli r0, r4, 0x11c /* 802C9188 002C4DE8 38 80 00 05 */ li r4, 5 /* 802C918C 002C4DEC 38 A0 00 0C */ li r5, 0xc /* 802C9190 002C4DF0 38 C0 00 00 */ li r6, 0 /* 802C9194 002C4DF4 7C 63 02 14 */ add r3, r3, r0 /* 802C9198 002C4DF8 38 63 00 3C */ addi r3, r3, 0x3c /* 802C919C 002C4DFC 7D 89 03 A6 */ mtctr r12 /* 802C91A0 002C4E00 4E 80 04 20 */ bctr /* 802C91A4 002C4E04 4E 80 00 20 */ blr .global btm_pm_sm_alloc btm_pm_sm_alloc: /* 802C91A8 002C4E08 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802C91AC 002C4E0C 7C 08 02 A6 */ mflr r0 /* 802C91B0 002C4E10 38 80 00 00 */ li r4, 0 /* 802C91B4 002C4E14 38 A0 00 22 */ li r5, 0x22 /* 802C91B8 002C4E18 90 01 00 14 */ stw r0, 0x14(r1) /* 802C91BC 002C4E1C 1C 03 00 22 */ mulli r0, r3, 0x22 /* 802C91C0 002C4E20 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C91C4 002C4E24 93 E1 00 0C */ stw r31, 0xc(r1) /* 802C91C8 002C4E28 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C91CC 002C4E2C 7C 63 02 14 */ add r3, r3, r0 /* 802C91D0 002C4E30 3B E3 04 CC */ addi r31, r3, 0x4cc /* 802C91D4 002C4E34 7F E3 FB 78 */ mr r3, r31 /* 802C91D8 002C4E38 4B D3 AF 2D */ bl memset /* 802C91DC 002C4E3C 38 00 00 00 */ li r0, 0 /* 802C91E0 002C4E40 98 1F 00 20 */ stb r0, 0x20(r31) /* 802C91E4 002C4E44 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802C91E8 002C4E48 80 01 00 14 */ lwz r0, 0x14(r1) /* 802C91EC 002C4E4C 7C 08 03 A6 */ mtlr r0 /* 802C91F0 002C4E50 38 21 00 10 */ addi r1, r1, 0x10 /* 802C91F4 002C4E54 4E 80 00 20 */ blr .global btm_pm_compare_modes btm_pm_compare_modes: /* 802C91F8 002C4E58 2C 03 00 00 */ cmpwi r3, 0 /* 802C91FC 002C4E5C 40 82 00 34 */ bne lbl_802C9230 /* 802C9200 002C4E60 A0 C4 00 00 */ lhz r6, 0(r4) /* 802C9204 002C4E64 7C 83 23 78 */ mr r3, r4 /* 802C9208 002C4E68 A0 04 00 02 */ lhz r0, 2(r4) /* 802C920C 002C4E6C B0 C5 00 00 */ sth r6, 0(r5) /* 802C9210 002C4E70 B0 05 00 02 */ sth r0, 2(r5) /* 802C9214 002C4E74 A0 C4 00 04 */ lhz r6, 4(r4) /* 802C9218 002C4E78 A0 04 00 06 */ lhz r0, 6(r4) /* 802C921C 002C4E7C B0 C5 00 04 */ sth r6, 4(r5) /* 802C9220 002C4E80 B0 05 00 06 */ sth r0, 6(r5) /* 802C9224 002C4E84 A0 04 00 08 */ lhz r0, 8(r4) /* 802C9228 002C4E88 B0 05 00 08 */ sth r0, 8(r5) /* 802C922C 002C4E8C 4E 80 00 20 */ blr lbl_802C9230: /* 802C9230 002C4E90 89 24 00 08 */ lbz r9, 8(r4) /* 802C9234 002C4E94 2C 09 00 00 */ cmpwi r9, 0 /* 802C9238 002C4E98 41 82 00 10 */ beq lbl_802C9248 /* 802C923C 002C4E9C 89 03 00 08 */ lbz r8, 8(r3) /* 802C9240 002C4EA0 2C 08 00 00 */ cmpwi r8, 0 /* 802C9244 002C4EA4 40 82 00 0C */ bne lbl_802C9250 lbl_802C9248: /* 802C9248 002C4EA8 38 60 00 00 */ li r3, 0 /* 802C924C 002C4EAC 4E 80 00 20 */ blr lbl_802C9250: /* 802C9250 002C4EB0 55 00 06 F7 */ rlwinm. r0, r8, 0, 0x1b, 0x1b /* 802C9254 002C4EB4 41 82 00 40 */ beq lbl_802C9294 /* 802C9258 002C4EB8 A0 83 00 00 */ lhz r4, 0(r3) /* 802C925C 002C4EBC A0 03 00 02 */ lhz r0, 2(r3) /* 802C9260 002C4EC0 B0 85 00 00 */ sth r4, 0(r5) /* 802C9264 002C4EC4 B0 05 00 02 */ sth r0, 2(r5) /* 802C9268 002C4EC8 A0 83 00 04 */ lhz r4, 4(r3) /* 802C926C 002C4ECC A0 03 00 06 */ lhz r0, 6(r3) /* 802C9270 002C4ED0 B0 85 00 04 */ sth r4, 4(r5) /* 802C9274 002C4ED4 B0 05 00 06 */ sth r0, 6(r5) /* 802C9278 002C4ED8 A0 03 00 08 */ lhz r0, 8(r3) /* 802C927C 002C4EDC 7C A3 2B 78 */ mr r3, r5 /* 802C9280 002C4EE0 B0 05 00 08 */ sth r0, 8(r5) /* 802C9284 002C4EE4 88 05 00 08 */ lbz r0, 8(r5) /* 802C9288 002C4EE8 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a /* 802C928C 002C4EEC 98 05 00 08 */ stb r0, 8(r5) /* 802C9290 002C4EF0 4E 80 00 20 */ blr lbl_802C9294: /* 802C9294 002C4EF4 55 20 06 F7 */ rlwinm. r0, r9, 0, 0x1b, 0x1b /* 802C9298 002C4EF8 41 82 00 40 */ beq lbl_802C92D8 /* 802C929C 002C4EFC A0 C4 00 00 */ lhz r6, 0(r4) /* 802C92A0 002C4F00 7C A3 2B 78 */ mr r3, r5 /* 802C92A4 002C4F04 A0 04 00 02 */ lhz r0, 2(r4) /* 802C92A8 002C4F08 B0 C5 00 00 */ sth r6, 0(r5) /* 802C92AC 002C4F0C B0 05 00 02 */ sth r0, 2(r5) /* 802C92B0 002C4F10 A0 C4 00 04 */ lhz r6, 4(r4) /* 802C92B4 002C4F14 A0 04 00 06 */ lhz r0, 6(r4) /* 802C92B8 002C4F18 B0 C5 00 04 */ sth r6, 4(r5) /* 802C92BC 002C4F1C B0 05 00 06 */ sth r0, 6(r5) /* 802C92C0 002C4F20 A0 04 00 08 */ lhz r0, 8(r4) /* 802C92C4 002C4F24 B0 05 00 08 */ sth r0, 8(r5) /* 802C92C8 002C4F28 88 05 00 08 */ lbz r0, 8(r5) /* 802C92CC 002C4F2C 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a /* 802C92D0 002C4F30 98 05 00 08 */ stb r0, 8(r5) /* 802C92D4 002C4F34 4E 80 00 20 */ blr lbl_802C92D8: /* 802C92D8 002C4F38 38 E8 FF FF */ addi r7, r8, -1 /* 802C92DC 002C4F3C 3C C0 80 40 */ lis r6, lbl_803FDDB8@ha /* 802C92E0 002C4F40 54 E0 10 3A */ slwi r0, r7, 2 /* 802C92E4 002C4F44 7C 07 00 50 */ subf r0, r7, r0 /* 802C92E8 002C4F48 38 C6 DD B8 */ addi r6, r6, lbl_803FDDB8@l /* 802C92EC 002C4F4C 7C E9 02 14 */ add r7, r9, r0 /* 802C92F0 002C4F50 38 07 FF FF */ addi r0, r7, -1 /* 802C92F4 002C4F54 54 00 06 3E */ clrlwi r0, r0, 0x18 /* 802C92F8 002C4F58 7C 06 00 AE */ lbzx r0, r6, r0 /* 802C92FC 002C4F5C 2C 00 00 02 */ cmpwi r0, 2 /* 802C9300 002C4F60 41 82 00 4C */ beq lbl_802C934C /* 802C9304 002C4F64 40 80 00 10 */ bge lbl_802C9314 /* 802C9308 002C4F68 2C 00 00 01 */ cmpwi r0, 1 /* 802C930C 002C4F6C 40 80 00 14 */ bge lbl_802C9320 /* 802C9310 002C4F70 48 00 00 FC */ b lbl_802C940C lbl_802C9314: /* 802C9314 002C4F74 2C 00 00 04 */ cmpwi r0, 4 /* 802C9318 002C4F78 40 80 00 F4 */ bge lbl_802C940C /* 802C931C 002C4F7C 48 00 00 60 */ b lbl_802C937C lbl_802C9320: /* 802C9320 002C4F80 A0 83 00 00 */ lhz r4, 0(r3) /* 802C9324 002C4F84 A0 03 00 02 */ lhz r0, 2(r3) /* 802C9328 002C4F88 B0 85 00 00 */ sth r4, 0(r5) /* 802C932C 002C4F8C B0 05 00 02 */ sth r0, 2(r5) /* 802C9330 002C4F90 A0 83 00 04 */ lhz r4, 4(r3) /* 802C9334 002C4F94 A0 03 00 06 */ lhz r0, 6(r3) /* 802C9338 002C4F98 B0 85 00 04 */ sth r4, 4(r5) /* 802C933C 002C4F9C B0 05 00 06 */ sth r0, 6(r5) /* 802C9340 002C4FA0 A0 03 00 08 */ lhz r0, 8(r3) /* 802C9344 002C4FA4 B0 05 00 08 */ sth r0, 8(r5) /* 802C9348 002C4FA8 4E 80 00 20 */ blr lbl_802C934C: /* 802C934C 002C4FAC A0 C4 00 00 */ lhz r6, 0(r4) /* 802C9350 002C4FB0 7C 83 23 78 */ mr r3, r4 /* 802C9354 002C4FB4 A0 04 00 02 */ lhz r0, 2(r4) /* 802C9358 002C4FB8 B0 C5 00 00 */ sth r6, 0(r5) /* 802C935C 002C4FBC B0 05 00 02 */ sth r0, 2(r5) /* 802C9360 002C4FC0 A0 C4 00 04 */ lhz r6, 4(r4) /* 802C9364 002C4FC4 A0 04 00 06 */ lhz r0, 6(r4) /* 802C9368 002C4FC8 B0 C5 00 04 */ sth r6, 4(r5) /* 802C936C 002C4FCC B0 05 00 06 */ sth r0, 6(r5) /* 802C9370 002C4FD0 A0 04 00 08 */ lhz r0, 8(r4) /* 802C9374 002C4FD4 B0 05 00 08 */ sth r0, 8(r5) /* 802C9378 002C4FD8 4E 80 00 20 */ blr lbl_802C937C: /* 802C937C 002C4FDC 99 05 00 08 */ stb r8, 8(r5) /* 802C9380 002C4FE0 A0 C4 00 00 */ lhz r6, 0(r4) /* 802C9384 002C4FE4 A0 03 00 00 */ lhz r0, 0(r3) /* 802C9388 002C4FE8 7C 00 30 40 */ cmplw r0, r6 /* 802C938C 002C4FEC 40 80 00 08 */ bge lbl_802C9394 /* 802C9390 002C4FF0 7C 06 03 78 */ mr r6, r0 lbl_802C9394: /* 802C9394 002C4FF4 B0 C5 00 00 */ sth r6, 0(r5) /* 802C9398 002C4FF8 A0 E4 00 02 */ lhz r7, 2(r4) /* 802C939C 002C4FFC A0 03 00 02 */ lhz r0, 2(r3) /* 802C93A0 002C5000 7C 00 38 40 */ cmplw r0, r7 /* 802C93A4 002C5004 40 81 00 08 */ ble lbl_802C93AC /* 802C93A8 002C5008 7C 07 03 78 */ mr r7, r0 lbl_802C93AC: /* 802C93AC 002C500C A0 C5 00 00 */ lhz r6, 0(r5) /* 802C93B0 002C5010 54 E0 04 3E */ clrlwi r0, r7, 0x10 /* 802C93B4 002C5014 B0 E5 00 02 */ sth r7, 2(r5) /* 802C93B8 002C5018 7C 06 00 40 */ cmplw r6, r0 /* 802C93BC 002C501C 40 80 00 0C */ bge lbl_802C93C8 /* 802C93C0 002C5020 38 60 00 00 */ li r3, 0 /* 802C93C4 002C5024 4E 80 00 20 */ blr lbl_802C93C8: /* 802C93C8 002C5028 88 05 00 08 */ lbz r0, 8(r5) /* 802C93CC 002C502C 28 00 00 02 */ cmplwi r0, 2 /* 802C93D0 002C5030 40 82 00 34 */ bne lbl_802C9404 /* 802C93D4 002C5034 A0 C4 00 04 */ lhz r6, 4(r4) /* 802C93D8 002C5038 A0 03 00 04 */ lhz r0, 4(r3) /* 802C93DC 002C503C 7C 00 30 40 */ cmplw r0, r6 /* 802C93E0 002C5040 40 81 00 08 */ ble lbl_802C93E8 /* 802C93E4 002C5044 7C 06 03 78 */ mr r6, r0 lbl_802C93E8: /* 802C93E8 002C5048 B0 C5 00 04 */ sth r6, 4(r5) /* 802C93EC 002C504C A0 84 00 06 */ lhz r4, 6(r4) /* 802C93F0 002C5050 A0 03 00 06 */ lhz r0, 6(r3) /* 802C93F4 002C5054 7C 00 20 40 */ cmplw r0, r4 /* 802C93F8 002C5058 40 81 00 08 */ ble lbl_802C9400 /* 802C93FC 002C505C 7C 04 03 78 */ mr r4, r0 lbl_802C9400: /* 802C9400 002C5060 B0 85 00 06 */ sth r4, 6(r5) lbl_802C9404: /* 802C9404 002C5064 7C A3 2B 78 */ mr r3, r5 /* 802C9408 002C5068 4E 80 00 20 */ blr lbl_802C940C: /* 802C940C 002C506C 38 60 00 00 */ li r3, 0 /* 802C9410 002C5070 4E 80 00 20 */ blr .global btm_pm_get_set_mode btm_pm_get_set_mode: /* 802C9414 002C5074 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802C9418 002C5078 7C 08 02 A6 */ mflr r0 /* 802C941C 002C507C 90 01 00 24 */ stw r0, 0x24(r1) /* 802C9420 002C5080 39 61 00 20 */ addi r11, r1, 0x20 /* 802C9424 002C5084 4B EF DD 01 */ bl _savegpr_26 /* 802C9428 002C5088 2C 05 00 00 */ cmpwi r5, 0 /* 802C942C 002C508C 7C 7A 1B 78 */ mr r26, r3 /* 802C9430 002C5090 7C BB 2B 78 */ mr r27, r5 /* 802C9434 002C5094 7C DC 33 78 */ mr r28, r6 /* 802C9438 002C5098 38 E0 00 00 */ li r7, 0 /* 802C943C 002C509C 41 82 00 48 */ beq lbl_802C9484 /* 802C9440 002C50A0 88 05 00 08 */ lbz r0, 8(r5) /* 802C9444 002C50A4 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 802C9448 002C50A8 41 82 00 3C */ beq lbl_802C9484 /* 802C944C 002C50AC A0 65 00 00 */ lhz r3, 0(r5) /* 802C9450 002C50B0 A0 05 00 02 */ lhz r0, 2(r5) /* 802C9454 002C50B4 B0 66 00 00 */ sth r3, 0(r6) /* 802C9458 002C50B8 B0 06 00 02 */ sth r0, 2(r6) /* 802C945C 002C50BC A0 65 00 04 */ lhz r3, 4(r5) /* 802C9460 002C50C0 A0 05 00 06 */ lhz r0, 6(r5) /* 802C9464 002C50C4 B0 66 00 04 */ sth r3, 4(r6) /* 802C9468 002C50C8 B0 06 00 06 */ sth r0, 6(r6) /* 802C946C 002C50CC A0 05 00 08 */ lhz r0, 8(r5) /* 802C9470 002C50D0 B0 06 00 08 */ sth r0, 8(r6) /* 802C9474 002C50D4 88 06 00 08 */ lbz r0, 8(r6) /* 802C9478 002C50D8 54 03 07 34 */ rlwinm r3, r0, 0, 0x1c, 0x1a /* 802C947C 002C50DC 98 66 00 08 */ stb r3, 8(r6) /* 802C9480 002C50E0 48 00 00 DC */ b lbl_802C955C lbl_802C9484: /* 802C9484 002C50E4 3F E0 80 57 */ lis r31, lbl_80568B78@ha /* 802C9488 002C50E8 7C 9E 23 78 */ mr r30, r4 /* 802C948C 002C50EC 3B FF 8B 78 */ addi r31, r31, lbl_80568B78@l /* 802C9490 002C50F0 3B A0 00 00 */ li r29, 0 lbl_802C9494: /* 802C9494 002C50F4 88 1F 05 58 */ lbz r0, 0x558(r31) /* 802C9498 002C50F8 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 802C949C 002C50FC 41 82 00 3C */ beq lbl_802C94D8 /* 802C94A0 002C5100 88 1E 00 08 */ lbz r0, 8(r30) /* 802C94A4 002C5104 2C 00 00 00 */ cmpwi r0, 0 /* 802C94A8 002C5108 40 82 00 0C */ bne lbl_802C94B4 /* 802C94AC 002C510C 38 60 00 00 */ li r3, 0 /* 802C94B0 002C5110 48 00 00 AC */ b lbl_802C955C lbl_802C94B4: /* 802C94B4 002C5114 7C E3 3B 78 */ mr r3, r7 /* 802C94B8 002C5118 7F C4 F3 78 */ mr r4, r30 /* 802C94BC 002C511C 7F 85 E3 78 */ mr r5, r28 /* 802C94C0 002C5120 4B FF FD 39 */ bl btm_pm_compare_modes /* 802C94C4 002C5124 2C 03 00 00 */ cmpwi r3, 0 /* 802C94C8 002C5128 40 82 00 0C */ bne lbl_802C94D4 /* 802C94CC 002C512C 38 60 00 00 */ li r3, 0 /* 802C94D0 002C5130 48 00 00 8C */ b lbl_802C955C lbl_802C94D4: /* 802C94D4 002C5134 7F 87 E3 78 */ mr r7, r28 lbl_802C94D8: /* 802C94D8 002C5138 3B BD 00 01 */ addi r29, r29, 1 /* 802C94DC 002C513C 3B DE 00 0A */ addi r30, r30, 0xa /* 802C94E0 002C5140 2C 1D 00 02 */ cmpwi r29, 2 /* 802C94E4 002C5144 3B FF 00 08 */ addi r31, r31, 8 /* 802C94E8 002C5148 41 80 FF AC */ blt lbl_802C9494 /* 802C94EC 002C514C 2C 07 00 00 */ cmpwi r7, 0 /* 802C94F0 002C5150 40 82 00 40 */ bne lbl_802C9530 /* 802C94F4 002C5154 2C 1B 00 00 */ cmpwi r27, 0 /* 802C94F8 002C5158 41 82 00 30 */ beq lbl_802C9528 /* 802C94FC 002C515C A0 7B 00 00 */ lhz r3, 0(r27) /* 802C9500 002C5160 A0 1B 00 02 */ lhz r0, 2(r27) /* 802C9504 002C5164 B0 7C 00 00 */ sth r3, 0(r28) /* 802C9508 002C5168 B0 1C 00 02 */ sth r0, 2(r28) /* 802C950C 002C516C A0 7B 00 04 */ lhz r3, 4(r27) /* 802C9510 002C5170 A0 1B 00 06 */ lhz r0, 6(r27) /* 802C9514 002C5174 B0 7C 00 04 */ sth r3, 4(r28) /* 802C9518 002C5178 B0 1C 00 06 */ sth r0, 6(r28) /* 802C951C 002C517C A0 1B 00 08 */ lhz r0, 8(r27) /* 802C9520 002C5180 B0 1C 00 08 */ sth r0, 8(r28) /* 802C9524 002C5184 48 00 00 34 */ b lbl_802C9558 lbl_802C9528: /* 802C9528 002C5188 38 60 00 00 */ li r3, 0 /* 802C952C 002C518C 48 00 00 30 */ b lbl_802C955C lbl_802C9530: /* 802C9530 002C5190 28 1A 00 80 */ cmplwi r26, 0x80 /* 802C9534 002C5194 40 82 00 24 */ bne lbl_802C9558 /* 802C9538 002C5198 7F 63 DB 78 */ mr r3, r27 /* 802C953C 002C519C 7C E4 3B 78 */ mr r4, r7 /* 802C9540 002C51A0 7F 85 E3 78 */ mr r5, r28 /* 802C9544 002C51A4 4B FF FC B5 */ bl btm_pm_compare_modes /* 802C9548 002C51A8 2C 03 00 00 */ cmpwi r3, 0 /* 802C954C 002C51AC 40 82 00 0C */ bne lbl_802C9558 /* 802C9550 002C51B0 38 60 00 00 */ li r3, 0 /* 802C9554 002C51B4 48 00 00 08 */ b lbl_802C955C lbl_802C9558: /* 802C9558 002C51B8 88 7C 00 08 */ lbz r3, 8(r28) lbl_802C955C: /* 802C955C 002C51BC 39 61 00 20 */ addi r11, r1, 0x20 /* 802C9560 002C51C0 4B EF DC 11 */ bl _restgpr_26 /* 802C9564 002C51C4 80 01 00 24 */ lwz r0, 0x24(r1) /* 802C9568 002C51C8 7C 08 03 A6 */ mtlr r0 /* 802C956C 002C51CC 38 21 00 20 */ addi r1, r1, 0x20 /* 802C9570 002C51D0 4E 80 00 20 */ blr .global btm_pm_snd_md_req btm_pm_snd_md_req: /* 802C9574 002C51D4 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802C9578 002C51D8 7C 08 02 A6 */ mflr r0 /* 802C957C 002C51DC 3C C0 80 57 */ lis r6, lbl_80568B78@ha /* 802C9580 002C51E0 90 01 00 34 */ stw r0, 0x34(r1) /* 802C9584 002C51E4 1C 04 00 22 */ mulli r0, r4, 0x22 /* 802C9588 002C51E8 38 C6 8B 78 */ addi r6, r6, lbl_80568B78@l /* 802C958C 002C51EC 93 E1 00 2C */ stw r31, 0x2c(r1) /* 802C9590 002C51F0 3B E0 00 00 */ li r31, 0 /* 802C9594 002C51F4 93 C1 00 28 */ stw r30, 0x28(r1) /* 802C9598 002C51F8 7C 9E 23 78 */ mr r30, r4 /* 802C959C 002C51FC 93 A1 00 24 */ stw r29, 0x24(r1) /* 802C95A0 002C5200 7C 7D 1B 78 */ mr r29, r3 /* 802C95A4 002C5204 7C 66 02 14 */ add r3, r6, r0 /* 802C95A8 002C5208 38 C1 00 08 */ addi r6, r1, 8 /* 802C95AC 002C520C 93 81 00 20 */ stw r28, 0x20(r1) /* 802C95B0 002C5210 3B 83 04 CC */ addi r28, r3, 0x4cc /* 802C95B4 002C5214 7F A3 EB 78 */ mr r3, r29 /* 802C95B8 002C5218 7F 84 E3 78 */ mr r4, r28 /* 802C95BC 002C521C 4B FF FE 59 */ bl btm_pm_get_set_mode /* 802C95C0 002C5220 88 9C 00 20 */ lbz r4, 0x20(r28) /* 802C95C4 002C5224 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802C95C8 002C5228 98 61 00 10 */ stb r3, 0x10(r1) /* 802C95CC 002C522C 7C 04 00 40 */ cmplw r4, r0 /* 802C95D0 002C5230 40 82 00 34 */ bne lbl_802C9604 /* 802C95D4 002C5234 2C 00 00 00 */ cmpwi r0, 0 /* 802C95D8 002C5238 41 82 00 20 */ beq lbl_802C95F8 /* 802C95DC 002C523C A0 9C 00 1E */ lhz r4, 0x1e(r28) /* 802C95E0 002C5240 A0 01 00 08 */ lhz r0, 8(r1) /* 802C95E4 002C5244 7C 00 20 40 */ cmplw r0, r4 /* 802C95E8 002C5248 41 80 00 18 */ blt lbl_802C9600 /* 802C95EC 002C524C A0 01 00 0A */ lhz r0, 0xa(r1) /* 802C95F0 002C5250 7C 00 20 40 */ cmplw r0, r4 /* 802C95F4 002C5254 41 81 00 0C */ bgt lbl_802C9600 lbl_802C95F8: /* 802C95F8 002C5258 38 60 00 0D */ li r3, 0xd /* 802C95FC 002C525C 48 00 01 8C */ b lbl_802C9788 lbl_802C9600: /* 802C9600 002C5260 3B E0 00 01 */ li r31, 1 lbl_802C9604: /* 802C9604 002C5264 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802C9608 002C5268 9B FC 00 21 */ stb r31, 0x21(r28) /* 802C960C 002C526C 41 82 00 18 */ beq lbl_802C9624 /* 802C9610 002C5270 88 1C 00 20 */ lbz r0, 0x20(r28) /* 802C9614 002C5274 2C 00 00 00 */ cmpwi r0, 0 /* 802C9618 002C5278 41 82 00 0C */ beq lbl_802C9624 /* 802C961C 002C527C 38 00 00 01 */ li r0, 1 /* 802C9620 002C5280 98 1C 00 21 */ stb r0, 0x21(r28) lbl_802C9624: /* 802C9624 002C5284 38 60 00 02 */ li r3, 2 /* 802C9628 002C5288 4B FF 06 25 */ bl GKI_getpoolbuf /* 802C962C 002C528C 2C 03 00 00 */ cmpwi r3, 0 /* 802C9630 002C5290 7C 7F 1B 78 */ mr r31, r3 /* 802C9634 002C5294 40 82 00 0C */ bne lbl_802C9640 /* 802C9638 002C5298 38 60 00 03 */ li r3, 3 /* 802C963C 002C529C 48 00 01 4C */ b lbl_802C9788 lbl_802C9640: /* 802C9640 002C52A0 88 1C 00 21 */ lbz r0, 0x21(r28) /* 802C9644 002C52A4 28 00 00 01 */ cmplwi r0, 1 /* 802C9648 002C52A8 40 82 00 0C */ bne lbl_802C9654 /* 802C964C 002C52AC 38 00 00 00 */ li r0, 0 /* 802C9650 002C52B0 98 01 00 10 */ stb r0, 0x10(r1) lbl_802C9654: /* 802C9654 002C52B4 88 01 00 10 */ lbz r0, 0x10(r1) /* 802C9658 002C52B8 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C965C 002C52BC 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C9660 002C52C0 2C 00 00 02 */ cmpwi r0, 2 /* 802C9664 002C52C4 9B C4 05 64 */ stb r30, 0x564(r4) /* 802C9668 002C52C8 9B A4 05 65 */ stb r29, 0x565(r4) /* 802C966C 002C52CC 41 82 00 A4 */ beq lbl_802C9710 /* 802C9670 002C52D0 40 80 00 14 */ bge lbl_802C9684 /* 802C9674 002C52D4 2C 00 00 00 */ cmpwi r0, 0 /* 802C9678 002C52D8 41 82 00 18 */ beq lbl_802C9690 /* 802C967C 002C52DC 40 80 00 74 */ bge lbl_802C96F0 /* 802C9680 002C52E0 48 00 00 D8 */ b lbl_802C9758 lbl_802C9684: /* 802C9684 002C52E4 2C 00 00 04 */ cmpwi r0, 4 /* 802C9688 002C52E8 40 80 00 D0 */ bge lbl_802C9758 /* 802C968C 002C52EC 48 00 00 AC */ b lbl_802C9738 lbl_802C9690: /* 802C9690 002C52F0 88 1C 00 20 */ lbz r0, 0x20(r28) /* 802C9694 002C52F4 2C 00 00 03 */ cmpwi r0, 3 /* 802C9698 002C52F8 41 82 00 2C */ beq lbl_802C96C4 /* 802C969C 002C52FC 40 80 00 40 */ bge lbl_802C96DC /* 802C96A0 002C5300 2C 00 00 02 */ cmpwi r0, 2 /* 802C96A4 002C5304 40 80 00 08 */ bge lbl_802C96AC /* 802C96A8 002C5308 48 00 00 34 */ b lbl_802C96DC lbl_802C96AC: /* 802C96AC 002C530C 1C 1E 01 1C */ mulli r0, r30, 0x11c /* 802C96B0 002C5310 7F E3 FB 78 */ mr r3, r31 /* 802C96B4 002C5314 7C 84 02 14 */ add r4, r4, r0 /* 802C96B8 002C5318 A0 84 00 34 */ lhz r4, 0x34(r4) /* 802C96BC 002C531C 48 00 78 B1 */ bl btsnd_hcic_exit_sniff_mode /* 802C96C0 002C5320 48 00 00 A8 */ b lbl_802C9768 lbl_802C96C4: /* 802C96C4 002C5324 1C 1E 01 1C */ mulli r0, r30, 0x11c /* 802C96C8 002C5328 7F E3 FB 78 */ mr r3, r31 /* 802C96CC 002C532C 7C 84 02 14 */ add r4, r4, r0 /* 802C96D0 002C5330 A0 84 00 34 */ lhz r4, 0x34(r4) /* 802C96D4 002C5334 48 00 79 D1 */ bl btsnd_hcic_exit_park_mode /* 802C96D8 002C5338 48 00 00 90 */ b lbl_802C9768 lbl_802C96DC: /* 802C96DC 002C533C 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C96E0 002C5340 38 00 00 04 */ li r0, 4 /* 802C96E4 002C5344 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C96E8 002C5348 98 03 05 64 */ stb r0, 0x564(r3) /* 802C96EC 002C534C 48 00 00 7C */ b lbl_802C9768 lbl_802C96F0: /* 802C96F0 002C5350 1C 1E 01 1C */ mulli r0, r30, 0x11c /* 802C96F4 002C5354 A0 A1 00 08 */ lhz r5, 8(r1) /* 802C96F8 002C5358 A0 C1 00 0A */ lhz r6, 0xa(r1) /* 802C96FC 002C535C 7F E3 FB 78 */ mr r3, r31 /* 802C9700 002C5360 7C 84 02 14 */ add r4, r4, r0 /* 802C9704 002C5364 A0 84 00 34 */ lhz r4, 0x34(r4) /* 802C9708 002C5368 48 00 76 E5 */ bl btsnd_hcic_hold_mode /* 802C970C 002C536C 48 00 00 5C */ b lbl_802C9768 lbl_802C9710: /* 802C9710 002C5370 1C 1E 01 1C */ mulli r0, r30, 0x11c /* 802C9714 002C5374 A0 A1 00 08 */ lhz r5, 8(r1) /* 802C9718 002C5378 A0 C1 00 0A */ lhz r6, 0xa(r1) /* 802C971C 002C537C 7F E3 FB 78 */ mr r3, r31 /* 802C9720 002C5380 A0 E1 00 0C */ lhz r7, 0xc(r1) /* 802C9724 002C5384 7C 84 02 14 */ add r4, r4, r0 /* 802C9728 002C5388 A0 84 00 34 */ lhz r4, 0x34(r4) /* 802C972C 002C538C A1 01 00 0E */ lhz r8, 0xe(r1) /* 802C9730 002C5390 48 00 77 71 */ bl btsnd_hcic_sniff_mode /* 802C9734 002C5394 48 00 00 34 */ b lbl_802C9768 lbl_802C9738: /* 802C9738 002C5398 1C 1E 01 1C */ mulli r0, r30, 0x11c /* 802C973C 002C539C A0 A1 00 08 */ lhz r5, 8(r1) /* 802C9740 002C53A0 A0 C1 00 0A */ lhz r6, 0xa(r1) /* 802C9744 002C53A4 7F E3 FB 78 */ mr r3, r31 /* 802C9748 002C53A8 7C 84 02 14 */ add r4, r4, r0 /* 802C974C 002C53AC A0 84 00 34 */ lhz r4, 0x34(r4) /* 802C9750 002C53B0 48 00 78 A1 */ bl btsnd_hcic_park_mode /* 802C9754 002C53B4 48 00 00 14 */ b lbl_802C9768 lbl_802C9758: /* 802C9758 002C53B8 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C975C 002C53BC 38 00 00 04 */ li r0, 4 /* 802C9760 002C53C0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C9764 002C53C4 98 03 05 64 */ stb r0, 0x564(r3) lbl_802C9768: /* 802C9768 002C53C8 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C976C 002C53CC 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C9770 002C53D0 88 03 05 64 */ lbz r0, 0x564(r3) /* 802C9774 002C53D4 28 00 00 04 */ cmplwi r0, 4 /* 802C9778 002C53D8 40 82 00 0C */ bne lbl_802C9784 /* 802C977C 002C53DC 7F E3 FB 78 */ mr r3, r31 /* 802C9780 002C53E0 4B FF 05 B5 */ bl GKI_freebuf lbl_802C9784: /* 802C9784 002C53E4 38 60 00 01 */ li r3, 1 lbl_802C9788: /* 802C9788 002C53E8 80 01 00 34 */ lwz r0, 0x34(r1) /* 802C978C 002C53EC 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 802C9790 002C53F0 83 C1 00 28 */ lwz r30, 0x28(r1) /* 802C9794 002C53F4 83 A1 00 24 */ lwz r29, 0x24(r1) /* 802C9798 002C53F8 83 81 00 20 */ lwz r28, 0x20(r1) /* 802C979C 002C53FC 7C 08 03 A6 */ mtlr r0 /* 802C97A0 002C5400 38 21 00 30 */ addi r1, r1, 0x30 /* 802C97A4 002C5404 4E 80 00 20 */ blr .global btm_pm_proc_cmd_status btm_pm_proc_cmd_status: /* 802C97A8 002C5408 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802C97AC 002C540C 7C 08 02 A6 */ mflr r0 /* 802C97B0 002C5410 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C97B4 002C5414 90 01 00 14 */ stw r0, 0x14(r1) /* 802C97B8 002C5418 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C97BC 002C541C 88 04 05 64 */ lbz r0, 0x564(r4) /* 802C97C0 002C5420 28 00 00 04 */ cmplwi r0, 4 /* 802C97C4 002C5424 40 80 00 84 */ bge lbl_802C9848 /* 802C97C8 002C5428 1C 00 00 22 */ mulli r0, r0, 0x22 /* 802C97CC 002C542C 2C 03 00 00 */ cmpwi r3, 0 /* 802C97D0 002C5430 7C A4 02 14 */ add r5, r4, r0 /* 802C97D4 002C5434 40 82 00 14 */ bne lbl_802C97E8 /* 802C97D8 002C5438 38 00 00 04 */ li r0, 4 /* 802C97DC 002C543C 38 80 00 04 */ li r4, 4 /* 802C97E0 002C5440 98 05 04 EC */ stb r0, 0x4ec(r5) /* 802C97E4 002C5444 48 00 00 08 */ b lbl_802C97EC lbl_802C97E8: /* 802C97E8 002C5448 38 80 00 05 */ li r4, 5 lbl_802C97EC: /* 802C97EC 002C544C 3C E0 80 57 */ lis r7, lbl_80568B78@ha /* 802C97F0 002C5450 38 E7 8B 78 */ addi r7, r7, lbl_80568B78@l /* 802C97F4 002C5454 88 07 05 65 */ lbz r0, 0x565(r7) /* 802C97F8 002C5458 28 00 00 80 */ cmplwi r0, 0x80 /* 802C97FC 002C545C 41 82 00 3C */ beq lbl_802C9838 /* 802C9800 002C5460 54 00 1D 78 */ rlwinm r0, r0, 3, 0x15, 0x1c /* 802C9804 002C5464 7C A7 02 14 */ add r5, r7, r0 /* 802C9808 002C5468 88 05 05 58 */ lbz r0, 0x558(r5) /* 802C980C 002C546C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e /* 802C9810 002C5470 41 82 00 28 */ beq lbl_802C9838 /* 802C9814 002C5474 88 07 05 64 */ lbz r0, 0x564(r7) /* 802C9818 002C5478 7C 66 1B 78 */ mr r6, r3 /* 802C981C 002C547C 81 85 05 54 */ lwz r12, 0x554(r5) /* 802C9820 002C5480 38 A0 00 00 */ li r5, 0 /* 802C9824 002C5484 1C 00 01 1C */ mulli r0, r0, 0x11c /* 802C9828 002C5488 7C 67 02 14 */ add r3, r7, r0 /* 802C982C 002C548C 38 63 00 3C */ addi r3, r3, 0x3c /* 802C9830 002C5490 7D 89 03 A6 */ mtctr r12 /* 802C9834 002C5494 4E 80 04 21 */ bctrl lbl_802C9838: /* 802C9838 002C5498 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C983C 002C549C 38 00 00 04 */ li r0, 4 /* 802C9840 002C54A0 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C9844 002C54A4 98 03 05 64 */ stb r0, 0x564(r3) lbl_802C9848: /* 802C9848 002C54A8 80 01 00 14 */ lwz r0, 0x14(r1) /* 802C984C 002C54AC 7C 08 03 A6 */ mtlr r0 /* 802C9850 002C54B0 38 21 00 10 */ addi r1, r1, 0x10 /* 802C9854 002C54B4 4E 80 00 20 */ blr .global btm_pm_proc_mode_change btm_pm_proc_mode_change: /* 802C9858 002C54B8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802C985C 002C54BC 7C 08 02 A6 */ mflr r0 /* 802C9860 002C54C0 90 01 00 34 */ stw r0, 0x34(r1) /* 802C9864 002C54C4 39 61 00 30 */ addi r11, r1, 0x30 /* 802C9868 002C54C8 4B EF D8 B5 */ bl _savegpr_24 /* 802C986C 002C54CC 7C 9A 23 78 */ mr r26, r4 /* 802C9870 002C54D0 7C 79 1B 78 */ mr r25, r3 /* 802C9874 002C54D4 7C BB 2B 78 */ mr r27, r5 /* 802C9878 002C54D8 7C DC 33 78 */ mr r28, r6 /* 802C987C 002C54DC 7F 43 D3 78 */ mr r3, r26 /* 802C9880 002C54E0 4B FF 9B C9 */ bl btm_handle_to_acl_index /* 802C9884 002C54E4 54 7D 06 3E */ clrlwi r29, r3, 0x18 /* 802C9888 002C54E8 2C 1D 00 04 */ cmpwi r29, 4 /* 802C988C 002C54EC 40 80 01 DC */ bge lbl_802C9A68 /* 802C9890 002C54F0 1F DD 01 1C */ mulli r30, r29, 0x11c /* 802C9894 002C54F4 3F 00 80 57 */ lis r24, lbl_80568B78@ha /* 802C9898 002C54F8 2C 1B 00 00 */ cmpwi r27, 0 /* 802C989C 002C54FC 3B 18 8B 78 */ addi r24, r24, lbl_80568B78@l /* 802C98A0 002C5500 7F F8 F2 14 */ add r31, r24, r30 /* 802C98A4 002C5504 40 82 00 58 */ bne lbl_802C98FC /* 802C98A8 002C5508 A0 1F 00 38 */ lhz r0, 0x38(r31) /* 802C98AC 002C550C 2C 00 00 00 */ cmpwi r0, 0 /* 802C98B0 002C5510 41 82 00 4C */ beq lbl_802C98FC /* 802C98B4 002C5514 48 00 0F 1D */ bl btm_num_sco_links_active /* 802C98B8 002C5518 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802C98BC 002C551C 40 82 00 40 */ bne lbl_802C98FC /* 802C98C0 002C5520 38 00 00 00 */ li r0, 0 /* 802C98C4 002C5524 B0 1F 00 38 */ sth r0, 0x38(r31) /* 802C98C8 002C5528 88 18 27 C0 */ lbz r0, 0x27c0(r24) /* 802C98CC 002C552C 28 00 00 05 */ cmplwi r0, 5 /* 802C98D0 002C5530 41 80 00 20 */ blt lbl_802C98F0 /* 802C98D4 002C5534 3C 60 00 0D */ lis r3, 0x000D0004@ha /* 802C98D8 002C5538 3C 80 80 44 */ lis r4, lbl_80441550@ha /* 802C98DC 002C553C A0 DF 00 36 */ lhz r6, 0x36(r31) /* 802C98E0 002C5540 7F 45 D3 78 */ mr r5, r26 /* 802C98E4 002C5544 38 63 00 04 */ addi r3, r3, 0x000D0004@l /* 802C98E8 002C5548 38 84 15 50 */ addi r4, r4, lbl_80441550@l /* 802C98EC 002C554C 4B FF 36 55 */ bl LogMsg_2 lbl_802C98F0: /* 802C98F0 002C5550 A0 7F 00 34 */ lhz r3, 0x34(r31) /* 802C98F4 002C5554 A0 9F 00 36 */ lhz r4, 0x36(r31) /* 802C98F8 002C5558 48 00 6E 2D */ bl btsnd_hcic_change_conn_type lbl_802C98FC: /* 802C98FC 002C555C 1C 1D 00 22 */ mulli r0, r29, 0x22 /* 802C9900 002C5560 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C9904 002C5564 2C 1B 00 00 */ cmpwi r27, 0 /* 802C9908 002C5568 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C990C 002C556C 7C 83 02 14 */ add r4, r3, r0 /* 802C9910 002C5570 9B 64 04 EC */ stb r27, 0x4ec(r4) /* 802C9914 002C5574 38 00 00 00 */ li r0, 0 /* 802C9918 002C5578 B3 84 04 EA */ sth r28, 0x4ea(r4) /* 802C991C 002C557C 40 82 00 14 */ bne lbl_802C9930 /* 802C9920 002C5580 88 64 04 D4 */ lbz r3, 0x4d4(r4) /* 802C9924 002C5584 28 03 00 01 */ cmplwi r3, 1 /* 802C9928 002C5588 40 82 00 08 */ bne lbl_802C9930 /* 802C992C 002C558C 98 04 04 D4 */ stb r0, 0x4d4(r4) lbl_802C9930: /* 802C9930 002C5590 2C 1B 00 00 */ cmpwi r27, 0 /* 802C9934 002C5594 38 A4 04 D6 */ addi r5, r4, 0x4d6 /* 802C9938 002C5598 40 82 00 14 */ bne lbl_802C994C /* 802C993C 002C559C 88 65 00 08 */ lbz r3, 8(r5) /* 802C9940 002C55A0 28 03 00 01 */ cmplwi r3, 1 /* 802C9944 002C55A4 40 82 00 08 */ bne lbl_802C994C /* 802C9948 002C55A8 98 05 00 08 */ stb r0, 8(r5) lbl_802C994C: /* 802C994C 002C55AC 88 04 04 ED */ lbz r0, 0x4ed(r4) /* 802C9950 002C55B0 28 00 00 01 */ cmplwi r0, 1 /* 802C9954 002C55B4 40 82 00 14 */ bne lbl_802C9968 /* 802C9958 002C55B8 7F A4 EB 78 */ mr r4, r29 /* 802C995C 002C55BC 38 60 00 80 */ li r3, 0x80 /* 802C9960 002C55C0 38 A0 00 00 */ li r5, 0 /* 802C9964 002C55C4 4B FF FC 11 */ bl btm_pm_snd_md_req lbl_802C9968: /* 802C9968 002C55C8 3F 00 80 57 */ lis r24, lbl_80568B78@ha /* 802C996C 002C55CC 3B A0 00 00 */ li r29, 0 /* 802C9970 002C55D0 3B 18 8B 78 */ addi r24, r24, lbl_80568B78@l lbl_802C9974: /* 802C9974 002C55D4 88 18 05 58 */ lbz r0, 0x558(r24) /* 802C9978 002C55D8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e /* 802C997C 002C55DC 41 82 00 20 */ beq lbl_802C999C /* 802C9980 002C55E0 81 98 05 54 */ lwz r12, 0x554(r24) /* 802C9984 002C55E4 7F 64 DB 78 */ mr r4, r27 /* 802C9988 002C55E8 7F 85 E3 78 */ mr r5, r28 /* 802C998C 002C55EC 7F 26 CB 78 */ mr r6, r25 /* 802C9990 002C55F0 38 7F 00 3C */ addi r3, r31, 0x3c /* 802C9994 002C55F4 7D 89 03 A6 */ mtctr r12 /* 802C9998 002C55F8 4E 80 04 21 */ bctrl lbl_802C999C: /* 802C999C 002C55FC 3B BD 00 01 */ addi r29, r29, 1 /* 802C99A0 002C5600 3B 18 00 08 */ addi r24, r24, 8 /* 802C99A4 002C5604 2C 1D 00 02 */ cmpwi r29, 2 /* 802C99A8 002C5608 41 80 FF CC */ blt lbl_802C9974 /* 802C99AC 002C560C 3C 60 80 57 */ lis r3, lbl_80568B78@ha /* 802C99B0 002C5610 38 63 8B 78 */ addi r3, r3, lbl_80568B78@l /* 802C99B4 002C5614 7F 83 F2 14 */ add r28, r3, r30 /* 802C99B8 002C5618 88 1C 01 4F */ lbz r0, 0x14f(r28) /* 802C99BC 002C561C 28 00 00 01 */ cmplwi r0, 1 /* 802C99C0 002C5620 40 82 00 A8 */ bne lbl_802C9A68 /* 802C99C4 002C5624 3B 1C 00 3C */ addi r24, r28, 0x3c /* 802C99C8 002C5628 7F 03 C3 78 */ mr r3, r24 /* 802C99CC 002C562C 4B FF BC 51 */ bl btm_find_dev /* 802C99D0 002C5630 2C 03 00 00 */ cmpwi r3, 0 /* 802C99D4 002C5634 41 82 00 30 */ beq lbl_802C9A04 /* 802C99D8 002C5638 88 03 00 76 */ lbz r0, 0x76(r3) /* 802C99DC 002C563C 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 802C99E0 002C5640 41 82 00 24 */ beq lbl_802C9A04 /* 802C99E4 002C5644 7F 43 D3 78 */ mr r3, r26 /* 802C99E8 002C5648 38 80 00 00 */ li r4, 0 /* 802C99EC 002C564C 48 00 6E 45 */ bl btsnd_hcic_set_conn_encrypt /* 802C99F0 002C5650 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802C99F4 002C5654 41 82 00 44 */ beq lbl_802C9A38 /* 802C99F8 002C5658 38 00 00 02 */ li r0, 2 /* 802C99FC 002C565C 98 1C 01 4F */ stb r0, 0x14f(r28) /* 802C9A00 002C5660 48 00 00 68 */ b lbl_802C9A68 lbl_802C9A04: /* 802C9A04 002C5664 3C 80 80 57 */ lis r4, lbl_80568B78@ha /* 802C9A08 002C5668 7F 03 C3 78 */ mr r3, r24 /* 802C9A0C 002C566C 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l /* 802C9A10 002C5670 7C 84 F2 14 */ add r4, r4, r30 /* 802C9A14 002C5674 88 04 01 4E */ lbz r0, 0x14e(r4) /* 802C9A18 002C5678 7C 00 00 34 */ cntlzw r0, r0 /* 802C9A1C 002C567C 54 04 DE 3E */ rlwinm r4, r0, 0x1b, 0x18, 0x1f /* 802C9A20 002C5680 48 00 77 09 */ bl btsnd_hcic_switch_role /* 802C9A24 002C5684 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802C9A28 002C5688 41 82 00 10 */ beq lbl_802C9A38 /* 802C9A2C 002C568C 38 00 00 00 */ li r0, 0 /* 802C9A30 002C5690 98 1C 01 4F */ stb r0, 0x14f(r28) /* 802C9A34 002C5694 48 00 00 34 */ b lbl_802C9A68 lbl_802C9A38: /* 802C9A38 002C5698 3B 60 00 00 */ li r27, 0 /* 802C9A3C 002C569C 3F 40 80 57 */ lis r26, lbl_80568B78@ha /* 802C9A40 002C56A0 9B 7C 01 4F */ stb r27, 0x14f(r28) /* 802C9A44 002C56A4 3B 5A 8B 78 */ addi r26, r26, lbl_80568B78@l /* 802C9A48 002C56A8 81 9A 06 2C */ lwz r12, 0x62c(r26) /* 802C9A4C 002C56AC 2C 0C 00 00 */ cmpwi r12, 0 /* 802C9A50 002C56B0 41 82 00 18 */ beq lbl_802C9A68 /* 802C9A54 002C56B4 9B 3A 06 24 */ stb r25, 0x624(r26) /* 802C9A58 002C56B8 38 7A 06 24 */ addi r3, r26, 0x624 /* 802C9A5C 002C56BC 7D 89 03 A6 */ mtctr r12 /* 802C9A60 002C56C0 4E 80 04 21 */ bctrl /* 802C9A64 002C56C4 93 7A 06 2C */ stw r27, 0x62c(r26) lbl_802C9A68: /* 802C9A68 002C56C8 39 61 00 30 */ addi r11, r1, 0x30 /* 802C9A6C 002C56CC 4B EF D6 FD */ bl _restgpr_24 /* 802C9A70 002C56D0 80 01 00 34 */ lwz r0, 0x34(r1) /* 802C9A74 002C56D4 7C 08 03 A6 */ mtlr r0 /* 802C9A78 002C56D8 38 21 00 30 */ addi r1, r1, 0x30 /* 802C9A7C 002C56DC 4E 80 00 20 */ blr