.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global VFipdm_part_get_start_sector VFipdm_part_get_start_sector: /* 803078E0 00303540 94 21 FF 70 */ stwu r1, -0x90(r1) /* 803078E4 00303544 7C 08 02 A6 */ mflr r0 /* 803078E8 00303548 90 01 00 94 */ stw r0, 0x94(r1) /* 803078EC 0030354C 38 81 00 20 */ addi r4, r1, 0x20 /* 803078F0 00303550 93 E1 00 8C */ stw r31, 0x8c(r1) /* 803078F4 00303554 7C 7F 1B 78 */ mr r31, r3 /* 803078F8 00303558 93 C1 00 88 */ stw r30, 0x88(r1) /* 803078FC 0030355C 93 A1 00 84 */ stw r29, 0x84(r1) /* 80307900 00303560 A3 C3 00 0C */ lhz r30, 0xc(r3) /* 80307904 00303564 80 63 00 04 */ lwz r3, 4(r3) /* 80307908 00303568 48 00 0F FD */ bl VFipdm_mbr_get_mbr_part_table /* 8030790C 0030356C 2C 03 00 00 */ cmpwi r3, 0 /* 80307910 00303570 41 82 00 10 */ beq lbl_80307920 /* 80307914 00303574 2C 03 00 05 */ cmpwi r3, 5 /* 80307918 00303578 41 82 00 08 */ beq lbl_80307920 /* 8030791C 0030357C 48 00 01 08 */ b lbl_80307A24 lbl_80307920: /* 80307920 00303580 2C 03 00 05 */ cmpwi r3, 5 /* 80307924 00303584 41 82 00 BC */ beq lbl_803079E0 /* 80307928 00303588 28 1E 00 04 */ cmplwi r30, 4 /* 8030792C 0030358C 40 80 00 48 */ bge lbl_80307974 /* 80307930 00303590 1C BE 00 14 */ mulli r5, r30, 0x14 /* 80307934 00303594 38 61 00 34 */ addi r3, r1, 0x34 /* 80307938 00303598 7C 03 28 2E */ lwzx r0, r3, r5 /* 8030793C 0030359C 2C 00 00 00 */ cmpwi r0, 0 /* 80307940 003035A0 40 82 00 0C */ bne lbl_8030794C /* 80307944 003035A4 38 60 00 07 */ li r3, 7 /* 80307948 003035A8 48 00 00 DC */ b lbl_80307A24 lbl_8030794C: /* 8030794C 003035AC 90 1F 00 14 */ stw r0, 0x14(r31) /* 80307950 003035B0 38 81 00 38 */ addi r4, r1, 0x38 /* 80307954 003035B4 38 61 00 29 */ addi r3, r1, 0x29 /* 80307958 003035B8 7C 04 28 2E */ lwzx r0, r4, r5 /* 8030795C 003035BC 90 1F 00 18 */ stw r0, 0x18(r31) /* 80307960 003035C0 7C 03 28 AE */ lbzx r0, r3, r5 /* 80307964 003035C4 98 1F 00 20 */ stb r0, 0x20(r31) /* 80307968 003035C8 80 01 00 20 */ lwz r0, 0x20(r1) /* 8030796C 003035CC 90 1F 00 1C */ stw r0, 0x1c(r31) /* 80307970 003035D0 48 00 00 B0 */ b lbl_80307A20 lbl_80307974: /* 80307974 003035D4 3B A0 00 04 */ li r29, 4 lbl_80307978: /* 80307978 003035D8 80 7F 00 04 */ lwz r3, 4(r31) /* 8030797C 003035DC 38 81 00 20 */ addi r4, r1, 0x20 /* 80307980 003035E0 48 00 10 45 */ bl VFipdm_mbr_get_epbr_part_table /* 80307984 003035E4 2C 03 00 00 */ cmpwi r3, 0 /* 80307988 003035E8 41 82 00 10 */ beq lbl_80307998 /* 8030798C 003035EC 2C 03 00 06 */ cmpwi r3, 6 /* 80307990 003035F0 41 82 00 08 */ beq lbl_80307998 /* 80307994 003035F4 48 00 00 90 */ b lbl_80307A24 lbl_80307998: /* 80307998 003035F8 2C 03 00 06 */ cmpwi r3, 6 /* 8030799C 003035FC 41 82 00 34 */ beq lbl_803079D0 /* 803079A0 00303600 57 A0 04 3E */ clrlwi r0, r29, 0x10 /* 803079A4 00303604 7C 1E 00 40 */ cmplw r30, r0 /* 803079A8 00303608 40 82 00 30 */ bne lbl_803079D8 /* 803079AC 0030360C 80 01 00 34 */ lwz r0, 0x34(r1) /* 803079B0 00303610 90 1F 00 14 */ stw r0, 0x14(r31) /* 803079B4 00303614 80 01 00 38 */ lwz r0, 0x38(r1) /* 803079B8 00303618 90 1F 00 18 */ stw r0, 0x18(r31) /* 803079BC 0030361C 88 01 00 29 */ lbz r0, 0x29(r1) /* 803079C0 00303620 98 1F 00 20 */ stb r0, 0x20(r31) /* 803079C4 00303624 80 01 00 20 */ lwz r0, 0x20(r1) /* 803079C8 00303628 90 1F 00 1C */ stw r0, 0x1c(r31) /* 803079CC 0030362C 48 00 00 54 */ b lbl_80307A20 lbl_803079D0: /* 803079D0 00303630 38 60 00 07 */ li r3, 7 /* 803079D4 00303634 48 00 00 50 */ b lbl_80307A24 lbl_803079D8: /* 803079D8 00303638 3B BD 00 01 */ addi r29, r29, 1 /* 803079DC 0030363C 4B FF FF 9C */ b lbl_80307978 lbl_803079E0: /* 803079E0 00303640 28 1E 00 01 */ cmplwi r30, 1 /* 803079E4 00303644 41 80 00 0C */ blt lbl_803079F0 /* 803079E8 00303648 38 60 00 07 */ li r3, 7 /* 803079EC 0030364C 48 00 00 38 */ b lbl_80307A24 lbl_803079F0: /* 803079F0 00303650 80 7F 00 04 */ lwz r3, 4(r31) /* 803079F4 00303654 38 81 00 08 */ addi r4, r1, 8 /* 803079F8 00303658 4B FF FC DD */ bl VFipdm_disk_get_media_information /* 803079FC 0030365C 2C 03 00 00 */ cmpwi r3, 0 /* 80307A00 00303660 41 82 00 08 */ beq lbl_80307A08 /* 80307A04 00303664 48 00 00 20 */ b lbl_80307A24 lbl_80307A08: /* 80307A08 00303668 38 60 00 00 */ li r3, 0 /* 80307A0C 0030366C 90 7F 00 14 */ stw r3, 0x14(r31) /* 80307A10 00303670 80 01 00 08 */ lwz r0, 8(r1) /* 80307A14 00303674 90 1F 00 18 */ stw r0, 0x18(r31) /* 80307A18 00303678 98 7F 00 20 */ stb r3, 0x20(r31) /* 80307A1C 0030367C 90 7F 00 1C */ stw r3, 0x1c(r31) lbl_80307A20: /* 80307A20 00303680 38 60 00 00 */ li r3, 0 lbl_80307A24: /* 80307A24 00303684 80 01 00 94 */ lwz r0, 0x94(r1) /* 80307A28 00303688 83 E1 00 8C */ lwz r31, 0x8c(r1) /* 80307A2C 0030368C 83 C1 00 88 */ lwz r30, 0x88(r1) /* 80307A30 00303690 83 A1 00 84 */ lwz r29, 0x84(r1) /* 80307A34 00303694 7C 08 03 A6 */ mtlr r0 /* 80307A38 00303698 38 21 00 90 */ addi r1, r1, 0x90 /* 80307A3C 0030369C 4E 80 00 20 */ blr .global VFipdm_part_chg_ltop VFipdm_part_chg_ltop: /* 80307A40 003036A0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80307A44 003036A4 7C 08 02 A6 */ mflr r0 /* 80307A48 003036A8 90 01 00 24 */ stw r0, 0x24(r1) /* 80307A4C 003036AC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80307A50 003036B0 7C BF 2B 78 */ mr r31, r5 /* 80307A54 003036B4 93 C1 00 18 */ stw r30, 0x18(r1) /* 80307A58 003036B8 7C 9E 23 78 */ mr r30, r4 /* 80307A5C 003036BC 38 81 00 08 */ addi r4, r1, 8 /* 80307A60 003036C0 93 A1 00 14 */ stw r29, 0x14(r1) /* 80307A64 003036C4 7C 7D 1B 78 */ mr r29, r3 /* 80307A68 003036C8 80 63 00 04 */ lwz r3, 4(r3) /* 80307A6C 003036CC 4B FF FB 71 */ bl VFipdm_disk_get_lba_size /* 80307A70 003036D0 A0 01 00 08 */ lhz r0, 8(r1) /* 80307A74 003036D4 7C 1F 00 40 */ cmplw r31, r0 /* 80307A78 003036D8 40 82 00 18 */ bne lbl_80307A90 /* 80307A7C 003036DC 80 1D 00 1C */ lwz r0, 0x1c(r29) /* 80307A80 003036E0 80 7D 00 14 */ lwz r3, 0x14(r29) /* 80307A84 003036E4 7C 00 F2 14 */ add r0, r0, r30 /* 80307A88 003036E8 7C 63 02 14 */ add r3, r3, r0 /* 80307A8C 003036EC 48 00 00 74 */ b lbl_80307B00 lbl_80307A90: /* 80307A90 003036F0 54 04 BE 7E */ rlwinm r4, r0, 0x17, 0x19, 0x1f /* 80307A94 003036F4 80 7D 00 14 */ lwz r3, 0x14(r29) /* 80307A98 003036F8 80 1D 00 1C */ lwz r0, 0x1c(r29) /* 80307A9C 003036FC 28 04 00 02 */ cmplwi r4, 2 /* 80307AA0 00303700 7C 03 02 14 */ add r0, r3, r0 /* 80307AA4 00303704 40 82 00 0C */ bne lbl_80307AB0 /* 80307AA8 00303708 54 00 08 3C */ slwi r0, r0, 1 /* 80307AAC 0030370C 48 00 00 20 */ b lbl_80307ACC lbl_80307AB0: /* 80307AB0 00303710 28 04 00 04 */ cmplwi r4, 4 /* 80307AB4 00303714 40 82 00 0C */ bne lbl_80307AC0 /* 80307AB8 00303718 54 00 10 3A */ slwi r0, r0, 2 /* 80307ABC 0030371C 48 00 00 10 */ b lbl_80307ACC lbl_80307AC0: /* 80307AC0 00303720 28 04 00 08 */ cmplwi r4, 8 /* 80307AC4 00303724 40 82 00 08 */ bne lbl_80307ACC /* 80307AC8 00303728 54 00 18 38 */ slwi r0, r0, 3 lbl_80307ACC: /* 80307ACC 0030372C 57 E3 BE 7E */ rlwinm r3, r31, 0x17, 0x19, 0x1f /* 80307AD0 00303730 28 03 00 02 */ cmplwi r3, 2 /* 80307AD4 00303734 40 82 00 0C */ bne lbl_80307AE0 /* 80307AD8 00303738 54 00 F8 7E */ srwi r0, r0, 1 /* 80307ADC 0030373C 48 00 00 20 */ b lbl_80307AFC lbl_80307AE0: /* 80307AE0 00303740 28 03 00 04 */ cmplwi r3, 4 /* 80307AE4 00303744 40 82 00 0C */ bne lbl_80307AF0 /* 80307AE8 00303748 54 00 F0 BE */ srwi r0, r0, 2 /* 80307AEC 0030374C 48 00 00 10 */ b lbl_80307AFC lbl_80307AF0: /* 80307AF0 00303750 28 03 00 08 */ cmplwi r3, 8 /* 80307AF4 00303754 40 82 00 08 */ bne lbl_80307AFC /* 80307AF8 00303758 54 00 E8 FE */ srwi r0, r0, 3 lbl_80307AFC: /* 80307AFC 0030375C 7C 7E 02 14 */ add r3, r30, r0 lbl_80307B00: /* 80307B00 00303760 80 01 00 24 */ lwz r0, 0x24(r1) /* 80307B04 00303764 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80307B08 00303768 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80307B0C 0030376C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80307B10 00303770 7C 08 03 A6 */ mtlr r0 /* 80307B14 00303774 38 21 00 20 */ addi r1, r1, 0x20 /* 80307B18 00303778 4E 80 00 20 */ blr .global VFipdm_part_get_permission VFipdm_part_get_permission: /* 80307B1C 0030377C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80307B20 00303780 7C 08 02 A6 */ mflr r0 /* 80307B24 00303784 2C 03 00 00 */ cmpwi r3, 0 /* 80307B28 00303788 7C 64 1B 78 */ mr r4, r3 /* 80307B2C 0030378C 90 01 00 34 */ stw r0, 0x34(r1) /* 80307B30 00303790 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80307B34 00303794 93 C1 00 28 */ stw r30, 0x28(r1) /* 80307B38 00303798 40 82 00 0C */ bne lbl_80307B44 /* 80307B3C 0030379C 38 60 00 01 */ li r3, 1 /* 80307B40 003037A0 48 00 01 A8 */ b lbl_80307CE8 lbl_80307B44: /* 80307B44 003037A4 54 67 06 3E */ clrlwi r7, r3, 0x18 /* 80307B48 003037A8 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 /* 80307B4C 003037AC 28 07 00 1A */ cmplwi r7, 0x1a /* 80307B50 003037B0 54 68 84 3E */ srwi r8, r3, 0x10 /* 80307B54 003037B4 40 80 00 28 */ bge lbl_80307B7C /* 80307B58 003037B8 28 00 04 00 */ cmplwi r0, 0x400 /* 80307B5C 003037BC 40 82 00 20 */ bne lbl_80307B7C /* 80307B60 003037C0 1C 07 00 2C */ mulli r0, r7, 0x2c /* 80307B64 003037C4 3C 60 80 58 */ lis r3, lbl_8057EA60@ha /* 80307B68 003037C8 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l /* 80307B6C 003037CC 7C 65 02 14 */ add r3, r5, r0 /* 80307B70 003037D0 80 03 06 F4 */ lwz r0, 0x6f4(r3) /* 80307B74 003037D4 7C 08 00 40 */ cmplw r8, r0 /* 80307B78 003037D8 40 81 00 0C */ ble lbl_80307B84 lbl_80307B7C: /* 80307B7C 003037DC 38 60 00 01 */ li r3, 1 /* 80307B80 003037E0 48 00 00 7C */ b lbl_80307BFC lbl_80307B84: /* 80307B84 003037E4 38 00 00 0D */ li r0, 0xd /* 80307B88 003037E8 38 C3 06 EC */ addi r6, r3, 0x6ec /* 80307B8C 003037EC 38 60 00 00 */ li r3, 0 /* 80307B90 003037F0 7C 09 03 A6 */ mtctr r0 lbl_80307B94: /* 80307B94 003037F4 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c /* 80307B98 003037F8 7D 25 02 14 */ add r9, r5, r0 /* 80307B9C 003037FC 80 09 00 D8 */ lwz r0, 0xd8(r9) /* 80307BA0 00303800 7C 00 30 40 */ cmplw r0, r6 /* 80307BA4 00303804 40 82 00 10 */ bne lbl_80307BB4 /* 80307BA8 00303808 80 09 00 D4 */ lwz r0, 0xd4(r9) /* 80307BAC 0030380C 7C 08 00 40 */ cmplw r8, r0 /* 80307BB0 00303810 41 82 00 30 */ beq lbl_80307BE0 lbl_80307BB4: /* 80307BB4 00303814 38 63 00 01 */ addi r3, r3, 1 /* 80307BB8 00303818 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c /* 80307BBC 0030381C 7D 25 02 14 */ add r9, r5, r0 /* 80307BC0 00303820 80 09 00 D8 */ lwz r0, 0xd8(r9) /* 80307BC4 00303824 7C 00 30 40 */ cmplw r0, r6 /* 80307BC8 00303828 40 82 00 10 */ bne lbl_80307BD8 /* 80307BCC 0030382C 80 09 00 D4 */ lwz r0, 0xd4(r9) /* 80307BD0 00303830 7C 08 00 40 */ cmplw r8, r0 /* 80307BD4 00303834 41 82 00 0C */ beq lbl_80307BE0 lbl_80307BD8: /* 80307BD8 00303838 38 63 00 01 */ addi r3, r3, 1 /* 80307BDC 0030383C 42 00 FF B8 */ bdnz lbl_80307B94 lbl_80307BE0: /* 80307BE0 00303840 54 65 04 3E */ clrlwi r5, r3, 0x10 /* 80307BE4 00303844 38 60 00 1A */ li r3, 0x1a /* 80307BE8 00303848 38 05 FF E6 */ addi r0, r5, -26 /* 80307BEC 0030384C 7C A3 1B 38 */ orc r3, r5, r3 /* 80307BF0 00303850 54 00 F8 7E */ srwi r0, r0, 1 /* 80307BF4 00303854 7C 00 18 50 */ subf r0, r0, r3 /* 80307BF8 00303858 54 03 0F FE */ srwi r3, r0, 0x1f lbl_80307BFC: /* 80307BFC 0030385C 2C 03 00 00 */ cmpwi r3, 0 /* 80307C00 00303860 41 82 00 08 */ beq lbl_80307C08 /* 80307C04 00303864 48 00 00 E4 */ b lbl_80307CE8 lbl_80307C08: /* 80307C08 00303868 1C 07 00 2C */ mulli r0, r7, 0x2c /* 80307C0C 0030386C 3C 60 80 58 */ lis r3, lbl_8057EA60@ha /* 80307C10 00303870 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l /* 80307C14 00303874 7C 63 02 14 */ add r3, r3, r0 /* 80307C18 00303878 80 03 06 EC */ lwz r0, 0x6ec(r3) /* 80307C1C 0030387C 3B C3 06 EC */ addi r30, r3, 0x6ec /* 80307C20 00303880 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e /* 80307C24 00303884 40 82 00 A8 */ bne lbl_80307CCC /* 80307C28 00303888 80 7E 00 04 */ lwz r3, 4(r30) /* 80307C2C 0030388C 4B FF FB C1 */ bl VFipdm_disk_set_disk /* 80307C30 00303890 2C 03 00 00 */ cmpwi r3, 0 /* 80307C34 00303894 41 82 00 08 */ beq lbl_80307C3C /* 80307C38 00303898 48 00 00 B0 */ b lbl_80307CE8 lbl_80307C3C: /* 80307C3C 0030389C 80 7E 00 04 */ lwz r3, 4(r30) /* 80307C40 003038A0 4B FF F2 19 */ bl VFipdm_disk_get_part_permission /* 80307C44 003038A4 2C 03 00 00 */ cmpwi r3, 0 /* 80307C48 003038A8 41 82 00 08 */ beq lbl_80307C50 /* 80307C4C 003038AC 48 00 00 9C */ b lbl_80307CE8 lbl_80307C50: /* 80307C50 003038B0 80 7E 00 04 */ lwz r3, 4(r30) /* 80307C54 003038B4 38 81 00 08 */ addi r4, r1, 8 /* 80307C58 003038B8 4B FF FA 7D */ bl VFipdm_disk_get_media_information /* 80307C5C 003038BC 2C 03 00 00 */ cmpwi r3, 0 /* 80307C60 003038C0 7C 7F 1B 78 */ mr r31, r3 /* 80307C64 003038C4 41 82 00 18 */ beq lbl_80307C7C /* 80307C68 003038C8 80 7E 00 04 */ lwz r3, 4(r30) /* 80307C6C 003038CC 38 80 00 01 */ li r4, 1 /* 80307C70 003038D0 4B FF F2 DD */ bl VFipdm_disk_release_part_permission /* 80307C74 003038D4 7F E3 FB 78 */ mr r3, r31 /* 80307C78 003038D8 48 00 00 70 */ b lbl_80307CE8 lbl_80307C7C: /* 80307C7C 003038DC 80 01 00 14 */ lwz r0, 0x14(r1) /* 80307C80 003038E0 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 80307C84 003038E4 41 82 00 14 */ beq lbl_80307C98 /* 80307C88 003038E8 80 1E 00 00 */ lwz r0, 0(r30) /* 80307C8C 003038EC 60 00 00 10 */ ori r0, r0, 0x10 /* 80307C90 003038F0 90 1E 00 00 */ stw r0, 0(r30) /* 80307C94 003038F4 48 00 00 10 */ b lbl_80307CA4 lbl_80307C98: /* 80307C98 003038F8 80 1E 00 00 */ lwz r0, 0(r30) /* 80307C9C 003038FC 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a /* 80307CA0 00303900 90 1E 00 00 */ stw r0, 0(r30) lbl_80307CA4: /* 80307CA4 00303904 7F C3 F3 78 */ mr r3, r30 /* 80307CA8 00303908 4B FF FC 39 */ bl VFipdm_part_get_start_sector /* 80307CAC 0030390C 2C 03 00 00 */ cmpwi r3, 0 /* 80307CB0 00303910 7C 7F 1B 78 */ mr r31, r3 /* 80307CB4 00303914 41 82 00 20 */ beq lbl_80307CD4 /* 80307CB8 00303918 80 7E 00 04 */ lwz r3, 4(r30) /* 80307CBC 0030391C 38 80 00 01 */ li r4, 1 /* 80307CC0 00303920 4B FF F2 8D */ bl VFipdm_disk_release_part_permission /* 80307CC4 00303924 7F E3 FB 78 */ mr r3, r31 /* 80307CC8 00303928 48 00 00 20 */ b lbl_80307CE8 lbl_80307CCC: /* 80307CCC 0030392C 38 60 00 0D */ li r3, 0xd /* 80307CD0 00303930 48 00 00 18 */ b lbl_80307CE8 lbl_80307CD4: /* 80307CD4 00303934 80 1E 00 00 */ lwz r0, 0(r30) /* 80307CD8 00303938 38 60 00 00 */ li r3, 0 /* 80307CDC 0030393C 60 00 00 02 */ ori r0, r0, 2 /* 80307CE0 00303940 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b /* 80307CE4 00303944 90 1E 00 00 */ stw r0, 0(r30) lbl_80307CE8: /* 80307CE8 00303948 80 01 00 34 */ lwz r0, 0x34(r1) /* 80307CEC 0030394C 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80307CF0 00303950 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80307CF4 00303954 7C 08 03 A6 */ mtlr r0 /* 80307CF8 00303958 38 21 00 30 */ addi r1, r1, 0x30 /* 80307CFC 0030395C 4E 80 00 20 */ blr .global VFipdm_part_release_permission VFipdm_part_release_permission: /* 80307D00 00303960 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80307D04 00303964 7C 08 02 A6 */ mflr r0 /* 80307D08 00303968 2C 03 00 00 */ cmpwi r3, 0 /* 80307D0C 0030396C 90 01 00 24 */ stw r0, 0x24(r1) /* 80307D10 00303970 7C 60 1B 78 */ mr r0, r3 /* 80307D14 00303974 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80307D18 00303978 3B E0 00 00 */ li r31, 0 /* 80307D1C 0030397C 93 C1 00 18 */ stw r30, 0x18(r1) /* 80307D20 00303980 7C 9E 23 78 */ mr r30, r4 /* 80307D24 00303984 93 A1 00 14 */ stw r29, 0x14(r1) /* 80307D28 00303988 40 82 00 0C */ bne lbl_80307D34 /* 80307D2C 0030398C 38 60 00 01 */ li r3, 1 /* 80307D30 00303990 48 00 01 40 */ b lbl_80307E70 lbl_80307D34: /* 80307D34 00303994 54 67 06 3E */ clrlwi r7, r3, 0x18 /* 80307D38 00303998 54 64 04 2E */ rlwinm r4, r3, 0, 0x10, 0x17 /* 80307D3C 0030399C 28 07 00 1A */ cmplwi r7, 0x1a /* 80307D40 003039A0 54 68 84 3E */ srwi r8, r3, 0x10 /* 80307D44 003039A4 40 80 00 28 */ bge lbl_80307D6C /* 80307D48 003039A8 28 04 04 00 */ cmplwi r4, 0x400 /* 80307D4C 003039AC 40 82 00 20 */ bne lbl_80307D6C /* 80307D50 003039B0 1C 87 00 2C */ mulli r4, r7, 0x2c /* 80307D54 003039B4 3C 60 80 58 */ lis r3, lbl_8057EA60@ha /* 80307D58 003039B8 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l /* 80307D5C 003039BC 7C 85 22 14 */ add r4, r5, r4 /* 80307D60 003039C0 80 64 06 F4 */ lwz r3, 0x6f4(r4) /* 80307D64 003039C4 7C 08 18 40 */ cmplw r8, r3 /* 80307D68 003039C8 40 81 00 0C */ ble lbl_80307D74 lbl_80307D6C: /* 80307D6C 003039CC 38 60 00 01 */ li r3, 1 /* 80307D70 003039D0 48 00 00 7C */ b lbl_80307DEC lbl_80307D74: /* 80307D74 003039D4 38 60 00 0D */ li r3, 0xd /* 80307D78 003039D8 38 C4 06 EC */ addi r6, r4, 0x6ec /* 80307D7C 003039DC 38 80 00 00 */ li r4, 0 /* 80307D80 003039E0 7C 69 03 A6 */ mtctr r3 lbl_80307D84: /* 80307D84 003039E4 54 83 1B 78 */ rlwinm r3, r4, 3, 0xd, 0x1c /* 80307D88 003039E8 7D 25 1A 14 */ add r9, r5, r3 /* 80307D8C 003039EC 80 69 00 D8 */ lwz r3, 0xd8(r9) /* 80307D90 003039F0 7C 03 30 40 */ cmplw r3, r6 /* 80307D94 003039F4 40 82 00 10 */ bne lbl_80307DA4 /* 80307D98 003039F8 80 69 00 D4 */ lwz r3, 0xd4(r9) /* 80307D9C 003039FC 7C 08 18 40 */ cmplw r8, r3 /* 80307DA0 00303A00 41 82 00 30 */ beq lbl_80307DD0 lbl_80307DA4: /* 80307DA4 00303A04 38 84 00 01 */ addi r4, r4, 1 /* 80307DA8 00303A08 54 83 1B 78 */ rlwinm r3, r4, 3, 0xd, 0x1c /* 80307DAC 00303A0C 7D 25 1A 14 */ add r9, r5, r3 /* 80307DB0 00303A10 80 69 00 D8 */ lwz r3, 0xd8(r9) /* 80307DB4 00303A14 7C 03 30 40 */ cmplw r3, r6 /* 80307DB8 00303A18 40 82 00 10 */ bne lbl_80307DC8 /* 80307DBC 00303A1C 80 69 00 D4 */ lwz r3, 0xd4(r9) /* 80307DC0 00303A20 7C 08 18 40 */ cmplw r8, r3 /* 80307DC4 00303A24 41 82 00 0C */ beq lbl_80307DD0 lbl_80307DC8: /* 80307DC8 00303A28 38 84 00 01 */ addi r4, r4, 1 /* 80307DCC 00303A2C 42 00 FF B8 */ bdnz lbl_80307D84 lbl_80307DD0: /* 80307DD0 00303A30 54 85 04 3E */ clrlwi r5, r4, 0x10 /* 80307DD4 00303A34 38 80 00 1A */ li r4, 0x1a /* 80307DD8 00303A38 38 65 FF E6 */ addi r3, r5, -26 /* 80307DDC 00303A3C 7C A4 23 38 */ orc r4, r5, r4 /* 80307DE0 00303A40 54 63 F8 7E */ srwi r3, r3, 1 /* 80307DE4 00303A44 7C 63 20 50 */ subf r3, r3, r4 /* 80307DE8 00303A48 54 63 0F FE */ srwi r3, r3, 0x1f lbl_80307DEC: /* 80307DEC 00303A4C 2C 03 00 00 */ cmpwi r3, 0 /* 80307DF0 00303A50 41 82 00 08 */ beq lbl_80307DF8 /* 80307DF4 00303A54 48 00 00 7C */ b lbl_80307E70 lbl_80307DF8: /* 80307DF8 00303A58 1C 67 00 2C */ mulli r3, r7, 0x2c /* 80307DFC 00303A5C 3C 80 80 58 */ lis r4, lbl_8057EA60@ha /* 80307E00 00303A60 38 84 EA 60 */ addi r4, r4, lbl_8057EA60@l /* 80307E04 00303A64 7F A4 1A 14 */ add r29, r4, r3 /* 80307E08 00303A68 80 7D 06 EC */ lwz r3, 0x6ec(r29) /* 80307E0C 00303A6C 54 63 07 BD */ rlwinm. r3, r3, 0, 0x1e, 0x1e /* 80307E10 00303A70 40 82 00 0C */ bne lbl_80307E1C /* 80307E14 00303A74 38 60 00 0E */ li r3, 0xe /* 80307E18 00303A78 48 00 00 58 */ b lbl_80307E70 lbl_80307E1C: /* 80307E1C 00303A7C 80 7D 06 F0 */ lwz r3, 0x6f0(r29) /* 80307E20 00303A80 7C 04 03 78 */ mr r4, r0 /* 80307E24 00303A84 4B FF F9 C9 */ bl VFipdm_disk_set_disk /* 80307E28 00303A88 2C 03 00 00 */ cmpwi r3, 0 /* 80307E2C 00303A8C 41 82 00 08 */ beq lbl_80307E34 /* 80307E30 00303A90 48 00 00 40 */ b lbl_80307E70 lbl_80307E34: /* 80307E34 00303A94 80 7D 06 F0 */ lwz r3, 0x6f0(r29) /* 80307E38 00303A98 7F C4 F3 78 */ mr r4, r30 /* 80307E3C 00303A9C 4B FF F1 11 */ bl VFipdm_disk_release_part_permission /* 80307E40 00303AA0 2C 03 00 00 */ cmpwi r3, 0 /* 80307E44 00303AA4 41 82 00 08 */ beq lbl_80307E4C /* 80307E48 00303AA8 7C 7F 1B 78 */ mr r31, r3 lbl_80307E4C: /* 80307E4C 00303AAC 2C 1F 00 00 */ cmpwi r31, 0 /* 80307E50 00303AB0 41 82 00 0C */ beq lbl_80307E5C /* 80307E54 00303AB4 28 1E 00 01 */ cmplwi r30, 1 /* 80307E58 00303AB8 40 82 00 14 */ bne lbl_80307E6C lbl_80307E5C: /* 80307E5C 00303ABC 80 1D 06 EC */ lwz r0, 0x6ec(r29) /* 80307E60 00303AC0 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 80307E64 00303AC4 54 00 07 74 */ rlwinm r0, r0, 0, 0x1d, 0x1a /* 80307E68 00303AC8 90 1D 06 EC */ stw r0, 0x6ec(r29) lbl_80307E6C: /* 80307E6C 00303ACC 7F E3 FB 78 */ mr r3, r31 lbl_80307E70: /* 80307E70 00303AD0 80 01 00 24 */ lwz r0, 0x24(r1) /* 80307E74 00303AD4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80307E78 00303AD8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80307E7C 00303ADC 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80307E80 00303AE0 7C 08 03 A6 */ mtlr r0 /* 80307E84 00303AE4 38 21 00 20 */ addi r1, r1, 0x20 /* 80307E88 00303AE8 4E 80 00 20 */ blr .global VFipdm_part_format VFipdm_part_format: /* 80307E8C 00303AEC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80307E90 00303AF0 7C 08 02 A6 */ mflr r0 /* 80307E94 00303AF4 2C 03 00 00 */ cmpwi r3, 0 /* 80307E98 00303AF8 90 01 00 14 */ stw r0, 0x14(r1) /* 80307E9C 00303AFC 93 E1 00 0C */ stw r31, 0xc(r1) /* 80307EA0 00303B00 7C 9F 23 78 */ mr r31, r4 /* 80307EA4 00303B04 93 C1 00 08 */ stw r30, 8(r1) /* 80307EA8 00303B08 40 82 00 0C */ bne lbl_80307EB4 /* 80307EAC 00303B0C 38 60 00 01 */ li r3, 1 /* 80307EB0 00303B10 48 00 01 10 */ b lbl_80307FC0 lbl_80307EB4: /* 80307EB4 00303B14 54 67 06 3E */ clrlwi r7, r3, 0x18 /* 80307EB8 00303B18 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 /* 80307EBC 00303B1C 28 07 00 1A */ cmplwi r7, 0x1a /* 80307EC0 00303B20 54 68 84 3E */ srwi r8, r3, 0x10 /* 80307EC4 00303B24 40 80 00 28 */ bge lbl_80307EEC /* 80307EC8 00303B28 28 00 04 00 */ cmplwi r0, 0x400 /* 80307ECC 00303B2C 40 82 00 20 */ bne lbl_80307EEC /* 80307ED0 00303B30 1C 07 00 2C */ mulli r0, r7, 0x2c /* 80307ED4 00303B34 3C 80 80 58 */ lis r4, lbl_8057EA60@ha /* 80307ED8 00303B38 38 A4 EA 60 */ addi r5, r4, lbl_8057EA60@l /* 80307EDC 00303B3C 7C 85 02 14 */ add r4, r5, r0 /* 80307EE0 00303B40 80 04 06 F4 */ lwz r0, 0x6f4(r4) /* 80307EE4 00303B44 7C 08 00 40 */ cmplw r8, r0 /* 80307EE8 00303B48 40 81 00 0C */ ble lbl_80307EF4 lbl_80307EEC: /* 80307EEC 00303B4C 38 00 00 01 */ li r0, 1 /* 80307EF0 00303B50 48 00 00 7C */ b lbl_80307F6C lbl_80307EF4: /* 80307EF4 00303B54 38 00 00 0D */ li r0, 0xd /* 80307EF8 00303B58 38 C4 06 EC */ addi r6, r4, 0x6ec /* 80307EFC 00303B5C 38 80 00 00 */ li r4, 0 /* 80307F00 00303B60 7C 09 03 A6 */ mtctr r0 lbl_80307F04: /* 80307F04 00303B64 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c /* 80307F08 00303B68 7D 25 02 14 */ add r9, r5, r0 /* 80307F0C 00303B6C 80 09 00 D8 */ lwz r0, 0xd8(r9) /* 80307F10 00303B70 7C 00 30 40 */ cmplw r0, r6 /* 80307F14 00303B74 40 82 00 10 */ bne lbl_80307F24 /* 80307F18 00303B78 80 09 00 D4 */ lwz r0, 0xd4(r9) /* 80307F1C 00303B7C 7C 08 00 40 */ cmplw r8, r0 /* 80307F20 00303B80 41 82 00 30 */ beq lbl_80307F50 lbl_80307F24: /* 80307F24 00303B84 38 84 00 01 */ addi r4, r4, 1 /* 80307F28 00303B88 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c /* 80307F2C 00303B8C 7D 25 02 14 */ add r9, r5, r0 /* 80307F30 00303B90 80 09 00 D8 */ lwz r0, 0xd8(r9) /* 80307F34 00303B94 7C 00 30 40 */ cmplw r0, r6 /* 80307F38 00303B98 40 82 00 10 */ bne lbl_80307F48 /* 80307F3C 00303B9C 80 09 00 D4 */ lwz r0, 0xd4(r9) /* 80307F40 00303BA0 7C 08 00 40 */ cmplw r8, r0 /* 80307F44 00303BA4 41 82 00 0C */ beq lbl_80307F50 lbl_80307F48: /* 80307F48 00303BA8 38 84 00 01 */ addi r4, r4, 1 /* 80307F4C 00303BAC 42 00 FF B8 */ bdnz lbl_80307F04 lbl_80307F50: /* 80307F50 00303BB0 54 85 04 3E */ clrlwi r5, r4, 0x10 /* 80307F54 00303BB4 38 80 00 1A */ li r4, 0x1a /* 80307F58 00303BB8 38 05 FF E6 */ addi r0, r5, -26 /* 80307F5C 00303BBC 7C A4 23 38 */ orc r4, r5, r4 /* 80307F60 00303BC0 54 00 F8 7E */ srwi r0, r0, 1 /* 80307F64 00303BC4 7C 00 20 50 */ subf r0, r0, r4 /* 80307F68 00303BC8 54 00 0F FE */ srwi r0, r0, 0x1f lbl_80307F6C: /* 80307F6C 00303BCC 2C 00 00 00 */ cmpwi r0, 0 /* 80307F70 00303BD0 41 82 00 0C */ beq lbl_80307F7C /* 80307F74 00303BD4 7C 03 03 78 */ mr r3, r0 /* 80307F78 00303BD8 48 00 00 48 */ b lbl_80307FC0 lbl_80307F7C: /* 80307F7C 00303BDC 1C 07 00 2C */ mulli r0, r7, 0x2c /* 80307F80 00303BE0 3C A0 80 58 */ lis r5, lbl_8057EA60@ha /* 80307F84 00303BE4 7C 64 1B 78 */ mr r4, r3 /* 80307F88 00303BE8 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l /* 80307F8C 00303BEC 7F C5 02 14 */ add r30, r5, r0 /* 80307F90 00303BF0 80 7E 06 F0 */ lwz r3, 0x6f0(r30) /* 80307F94 00303BF4 4B FF F8 59 */ bl VFipdm_disk_set_disk /* 80307F98 00303BF8 2C 03 00 00 */ cmpwi r3, 0 /* 80307F9C 00303BFC 41 82 00 08 */ beq lbl_80307FA4 /* 80307FA0 00303C00 48 00 00 20 */ b lbl_80307FC0 lbl_80307FA4: /* 80307FA4 00303C04 80 7E 06 F0 */ lwz r3, 0x6f0(r30) /* 80307FA8 00303C08 7F E4 FB 78 */ mr r4, r31 /* 80307FAC 00303C0C 4B FF F4 ED */ bl VFipdm_disk_format /* 80307FB0 00303C10 7C 03 00 D0 */ neg r0, r3 /* 80307FB4 00303C14 7C 00 1B 78 */ or r0, r0, r3 /* 80307FB8 00303C18 7C 00 FE 70 */ srawi r0, r0, 0x1f /* 80307FBC 00303C1C 7C 63 00 38 */ and r3, r3, r0 lbl_80307FC0: /* 80307FC0 00303C20 80 01 00 14 */ lwz r0, 0x14(r1) /* 80307FC4 00303C24 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80307FC8 00303C28 83 C1 00 08 */ lwz r30, 8(r1) /* 80307FCC 00303C2C 7C 08 03 A6 */ mtlr r0 /* 80307FD0 00303C30 38 21 00 10 */ addi r1, r1, 0x10 /* 80307FD4 00303C34 4E 80 00 20 */ blr .global VFipdm_part_logical_read VFipdm_part_logical_read: /* 80307FD8 00303C38 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80307FDC 00303C3C 7C 08 02 A6 */ mflr r0 /* 80307FE0 00303C40 90 01 00 24 */ stw r0, 0x24(r1) /* 80307FE4 00303C44 39 61 00 20 */ addi r11, r1, 0x20 /* 80307FE8 00303C48 4B EB F1 3D */ bl _savegpr_26 /* 80307FEC 00303C4C 2C 03 00 00 */ cmpwi r3, 0 /* 80307FF0 00303C50 7C 9B 23 78 */ mr r27, r4 /* 80307FF4 00303C54 7C BC 2B 78 */ mr r28, r5 /* 80307FF8 00303C58 7C DD 33 78 */ mr r29, r6 /* 80307FFC 00303C5C 7C FE 3B 78 */ mr r30, r7 /* 80308000 00303C60 7D 1F 43 78 */ mr r31, r8 /* 80308004 00303C64 41 82 00 24 */ beq lbl_80308028 /* 80308008 00303C68 2C 04 00 00 */ cmpwi r4, 0 /* 8030800C 00303C6C 41 82 00 1C */ beq lbl_80308028 /* 80308010 00303C70 2C 06 00 00 */ cmpwi r6, 0 /* 80308014 00303C74 41 82 00 14 */ beq lbl_80308028 /* 80308018 00303C78 2C 07 00 00 */ cmpwi r7, 0 /* 8030801C 00303C7C 41 82 00 0C */ beq lbl_80308028 /* 80308020 00303C80 2C 08 00 00 */ cmpwi r8, 0 /* 80308024 00303C84 40 82 00 0C */ bne lbl_80308030 lbl_80308028: /* 80308028 00303C88 38 60 00 01 */ li r3, 1 /* 8030802C 00303C8C 48 00 01 5C */ b lbl_80308188 lbl_80308030: /* 80308030 00303C90 54 67 06 3E */ clrlwi r7, r3, 0x18 /* 80308034 00303C94 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 /* 80308038 00303C98 28 07 00 1A */ cmplwi r7, 0x1a /* 8030803C 00303C9C 54 68 84 3E */ srwi r8, r3, 0x10 /* 80308040 00303CA0 40 80 00 28 */ bge lbl_80308068 /* 80308044 00303CA4 28 00 04 00 */ cmplwi r0, 0x400 /* 80308048 00303CA8 40 82 00 20 */ bne lbl_80308068 /* 8030804C 00303CAC 1C 07 00 2C */ mulli r0, r7, 0x2c /* 80308050 00303CB0 3C 80 80 58 */ lis r4, lbl_8057EA60@ha /* 80308054 00303CB4 38 A4 EA 60 */ addi r5, r4, lbl_8057EA60@l /* 80308058 00303CB8 7C 85 02 14 */ add r4, r5, r0 /* 8030805C 00303CBC 80 04 06 F4 */ lwz r0, 0x6f4(r4) /* 80308060 00303CC0 7C 08 00 40 */ cmplw r8, r0 /* 80308064 00303CC4 40 81 00 0C */ ble lbl_80308070 lbl_80308068: /* 80308068 00303CC8 38 00 00 01 */ li r0, 1 /* 8030806C 00303CCC 48 00 00 7C */ b lbl_803080E8 lbl_80308070: /* 80308070 00303CD0 38 00 00 0D */ li r0, 0xd /* 80308074 00303CD4 38 C4 06 EC */ addi r6, r4, 0x6ec /* 80308078 00303CD8 38 80 00 00 */ li r4, 0 /* 8030807C 00303CDC 7C 09 03 A6 */ mtctr r0 lbl_80308080: /* 80308080 00303CE0 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c /* 80308084 00303CE4 7D 25 02 14 */ add r9, r5, r0 /* 80308088 00303CE8 80 09 00 D8 */ lwz r0, 0xd8(r9) /* 8030808C 00303CEC 7C 00 30 40 */ cmplw r0, r6 /* 80308090 00303CF0 40 82 00 10 */ bne lbl_803080A0 /* 80308094 00303CF4 80 09 00 D4 */ lwz r0, 0xd4(r9) /* 80308098 00303CF8 7C 08 00 40 */ cmplw r8, r0 /* 8030809C 00303CFC 41 82 00 30 */ beq lbl_803080CC lbl_803080A0: /* 803080A0 00303D00 38 84 00 01 */ addi r4, r4, 1 /* 803080A4 00303D04 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c /* 803080A8 00303D08 7D 25 02 14 */ add r9, r5, r0 /* 803080AC 00303D0C 80 09 00 D8 */ lwz r0, 0xd8(r9) /* 803080B0 00303D10 7C 00 30 40 */ cmplw r0, r6 /* 803080B4 00303D14 40 82 00 10 */ bne lbl_803080C4 /* 803080B8 00303D18 80 09 00 D4 */ lwz r0, 0xd4(r9) /* 803080BC 00303D1C 7C 08 00 40 */ cmplw r8, r0 /* 803080C0 00303D20 41 82 00 0C */ beq lbl_803080CC lbl_803080C4: /* 803080C4 00303D24 38 84 00 01 */ addi r4, r4, 1 /* 803080C8 00303D28 42 00 FF B8 */ bdnz lbl_80308080 lbl_803080CC: /* 803080CC 00303D2C 54 85 04 3E */ clrlwi r5, r4, 0x10 /* 803080D0 00303D30 38 80 00 1A */ li r4, 0x1a /* 803080D4 00303D34 38 05 FF E6 */ addi r0, r5, -26 /* 803080D8 00303D38 7C A4 23 38 */ orc r4, r5, r4 /* 803080DC 00303D3C 54 00 F8 7E */ srwi r0, r0, 1 /* 803080E0 00303D40 7C 00 20 50 */ subf r0, r0, r4 /* 803080E4 00303D44 54 00 0F FE */ srwi r0, r0, 0x1f lbl_803080E8: /* 803080E8 00303D48 2C 00 00 00 */ cmpwi r0, 0 /* 803080EC 00303D4C 41 82 00 0C */ beq lbl_803080F8 /* 803080F0 00303D50 7C 03 03 78 */ mr r3, r0 /* 803080F4 00303D54 48 00 00 94 */ b lbl_80308188 lbl_803080F8: /* 803080F8 00303D58 1C 07 00 2C */ mulli r0, r7, 0x2c /* 803080FC 00303D5C 3C A0 80 58 */ lis r5, lbl_8057EA60@ha /* 80308100 00303D60 7C 64 1B 78 */ mr r4, r3 /* 80308104 00303D64 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l /* 80308108 00303D68 7C 65 02 14 */ add r3, r5, r0 /* 8030810C 00303D6C 3B 43 06 EC */ addi r26, r3, 0x6ec /* 80308110 00303D70 80 63 06 F0 */ lwz r3, 0x6f0(r3) /* 80308114 00303D74 4B FF F6 D9 */ bl VFipdm_disk_set_disk /* 80308118 00303D78 2C 03 00 00 */ cmpwi r3, 0 /* 8030811C 00303D7C 41 82 00 08 */ beq lbl_80308124 /* 80308120 00303D80 48 00 00 68 */ b lbl_80308188 lbl_80308124: /* 80308124 00303D84 80 1A 00 18 */ lwz r0, 0x18(r26) /* 80308128 00303D88 7C 00 E0 40 */ cmplw r0, r28 /* 8030812C 00303D8C 41 81 00 0C */ bgt lbl_80308138 /* 80308130 00303D90 38 60 00 12 */ li r3, 0x12 /* 80308134 00303D94 48 00 00 54 */ b lbl_80308188 lbl_80308138: /* 80308138 00303D98 7C 7C EA 14 */ add r3, r28, r29 /* 8030813C 00303D9C 7C 00 18 40 */ cmplw r0, r3 /* 80308140 00303DA0 40 80 00 0C */ bge lbl_8030814C /* 80308144 00303DA4 7C 00 18 50 */ subf r0, r0, r3 /* 80308148 00303DA8 7F A0 E8 50 */ subf r29, r0, r29 lbl_8030814C: /* 8030814C 00303DAC 7F 43 D3 78 */ mr r3, r26 /* 80308150 00303DB0 7F 84 E3 78 */ mr r4, r28 /* 80308154 00303DB4 7F C5 F3 78 */ mr r5, r30 /* 80308158 00303DB8 4B FF F8 E9 */ bl VFipdm_part_chg_ltop /* 8030815C 00303DBC 7C 65 1B 78 */ mr r5, r3 /* 80308160 00303DC0 80 7A 00 04 */ lwz r3, 4(r26) /* 80308164 00303DC4 7F 64 DB 78 */ mr r4, r27 /* 80308168 00303DC8 7F A6 EB 78 */ mr r6, r29 /* 8030816C 00303DCC 7F C7 F3 78 */ mr r7, r30 /* 80308170 00303DD0 7F E8 FB 78 */ mr r8, r31 /* 80308174 00303DD4 4B FF EF 75 */ bl VFipdm_disk_physical_read /* 80308178 00303DD8 2C 03 00 00 */ cmpwi r3, 0 /* 8030817C 00303DDC 41 82 00 08 */ beq lbl_80308184 /* 80308180 00303DE0 48 00 00 08 */ b lbl_80308188 lbl_80308184: /* 80308184 00303DE4 38 60 00 00 */ li r3, 0 lbl_80308188: /* 80308188 00303DE8 39 61 00 20 */ addi r11, r1, 0x20 /* 8030818C 00303DEC 4B EB EF E5 */ bl _restgpr_26 /* 80308190 00303DF0 80 01 00 24 */ lwz r0, 0x24(r1) /* 80308194 00303DF4 7C 08 03 A6 */ mtlr r0 /* 80308198 00303DF8 38 21 00 20 */ addi r1, r1, 0x20 /* 8030819C 00303DFC 4E 80 00 20 */ blr .global VFipdm_part_logical_write VFipdm_part_logical_write: /* 803081A0 00303E00 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803081A4 00303E04 7C 08 02 A6 */ mflr r0 /* 803081A8 00303E08 90 01 00 24 */ stw r0, 0x24(r1) /* 803081AC 00303E0C 39 61 00 20 */ addi r11, r1, 0x20 /* 803081B0 00303E10 4B EB EF 75 */ bl _savegpr_26 /* 803081B4 00303E14 2C 03 00 00 */ cmpwi r3, 0 /* 803081B8 00303E18 7C 9B 23 78 */ mr r27, r4 /* 803081BC 00303E1C 7C BC 2B 78 */ mr r28, r5 /* 803081C0 00303E20 7C DD 33 78 */ mr r29, r6 /* 803081C4 00303E24 7C FE 3B 78 */ mr r30, r7 /* 803081C8 00303E28 7D 1F 43 78 */ mr r31, r8 /* 803081CC 00303E2C 41 82 00 24 */ beq lbl_803081F0 /* 803081D0 00303E30 2C 04 00 00 */ cmpwi r4, 0 /* 803081D4 00303E34 41 82 00 1C */ beq lbl_803081F0 /* 803081D8 00303E38 2C 06 00 00 */ cmpwi r6, 0 /* 803081DC 00303E3C 41 82 00 14 */ beq lbl_803081F0 /* 803081E0 00303E40 2C 07 00 00 */ cmpwi r7, 0 /* 803081E4 00303E44 41 82 00 0C */ beq lbl_803081F0 /* 803081E8 00303E48 2C 08 00 00 */ cmpwi r8, 0 /* 803081EC 00303E4C 40 82 00 0C */ bne lbl_803081F8 lbl_803081F0: /* 803081F0 00303E50 38 60 00 01 */ li r3, 1 /* 803081F4 00303E54 48 00 01 5C */ b lbl_80308350 lbl_803081F8: /* 803081F8 00303E58 54 67 06 3E */ clrlwi r7, r3, 0x18 /* 803081FC 00303E5C 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 /* 80308200 00303E60 28 07 00 1A */ cmplwi r7, 0x1a /* 80308204 00303E64 54 68 84 3E */ srwi r8, r3, 0x10 /* 80308208 00303E68 40 80 00 28 */ bge lbl_80308230 /* 8030820C 00303E6C 28 00 04 00 */ cmplwi r0, 0x400 /* 80308210 00303E70 40 82 00 20 */ bne lbl_80308230 /* 80308214 00303E74 1C 07 00 2C */ mulli r0, r7, 0x2c /* 80308218 00303E78 3C 80 80 58 */ lis r4, lbl_8057EA60@ha /* 8030821C 00303E7C 38 A4 EA 60 */ addi r5, r4, lbl_8057EA60@l /* 80308220 00303E80 7C 85 02 14 */ add r4, r5, r0 /* 80308224 00303E84 80 04 06 F4 */ lwz r0, 0x6f4(r4) /* 80308228 00303E88 7C 08 00 40 */ cmplw r8, r0 /* 8030822C 00303E8C 40 81 00 0C */ ble lbl_80308238 lbl_80308230: /* 80308230 00303E90 38 00 00 01 */ li r0, 1 /* 80308234 00303E94 48 00 00 7C */ b lbl_803082B0 lbl_80308238: /* 80308238 00303E98 38 00 00 0D */ li r0, 0xd /* 8030823C 00303E9C 38 C4 06 EC */ addi r6, r4, 0x6ec /* 80308240 00303EA0 38 80 00 00 */ li r4, 0 /* 80308244 00303EA4 7C 09 03 A6 */ mtctr r0 lbl_80308248: /* 80308248 00303EA8 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c /* 8030824C 00303EAC 7D 25 02 14 */ add r9, r5, r0 /* 80308250 00303EB0 80 09 00 D8 */ lwz r0, 0xd8(r9) /* 80308254 00303EB4 7C 00 30 40 */ cmplw r0, r6 /* 80308258 00303EB8 40 82 00 10 */ bne lbl_80308268 /* 8030825C 00303EBC 80 09 00 D4 */ lwz r0, 0xd4(r9) /* 80308260 00303EC0 7C 08 00 40 */ cmplw r8, r0 /* 80308264 00303EC4 41 82 00 30 */ beq lbl_80308294 lbl_80308268: /* 80308268 00303EC8 38 84 00 01 */ addi r4, r4, 1 /* 8030826C 00303ECC 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c /* 80308270 00303ED0 7D 25 02 14 */ add r9, r5, r0 /* 80308274 00303ED4 80 09 00 D8 */ lwz r0, 0xd8(r9) /* 80308278 00303ED8 7C 00 30 40 */ cmplw r0, r6 /* 8030827C 00303EDC 40 82 00 10 */ bne lbl_8030828C /* 80308280 00303EE0 80 09 00 D4 */ lwz r0, 0xd4(r9) /* 80308284 00303EE4 7C 08 00 40 */ cmplw r8, r0 /* 80308288 00303EE8 41 82 00 0C */ beq lbl_80308294 lbl_8030828C: /* 8030828C 00303EEC 38 84 00 01 */ addi r4, r4, 1 /* 80308290 00303EF0 42 00 FF B8 */ bdnz lbl_80308248 lbl_80308294: /* 80308294 00303EF4 54 85 04 3E */ clrlwi r5, r4, 0x10 /* 80308298 00303EF8 38 80 00 1A */ li r4, 0x1a /* 8030829C 00303EFC 38 05 FF E6 */ addi r0, r5, -26 /* 803082A0 00303F00 7C A4 23 38 */ orc r4, r5, r4 /* 803082A4 00303F04 54 00 F8 7E */ srwi r0, r0, 1 /* 803082A8 00303F08 7C 00 20 50 */ subf r0, r0, r4 /* 803082AC 00303F0C 54 00 0F FE */ srwi r0, r0, 0x1f lbl_803082B0: /* 803082B0 00303F10 2C 00 00 00 */ cmpwi r0, 0 /* 803082B4 00303F14 41 82 00 0C */ beq lbl_803082C0 /* 803082B8 00303F18 7C 03 03 78 */ mr r3, r0 /* 803082BC 00303F1C 48 00 00 94 */ b lbl_80308350 lbl_803082C0: /* 803082C0 00303F20 1C 07 00 2C */ mulli r0, r7, 0x2c /* 803082C4 00303F24 3C A0 80 58 */ lis r5, lbl_8057EA60@ha /* 803082C8 00303F28 7C 64 1B 78 */ mr r4, r3 /* 803082CC 00303F2C 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l /* 803082D0 00303F30 7C 65 02 14 */ add r3, r5, r0 /* 803082D4 00303F34 3B 43 06 EC */ addi r26, r3, 0x6ec /* 803082D8 00303F38 80 63 06 F0 */ lwz r3, 0x6f0(r3) /* 803082DC 00303F3C 4B FF F5 11 */ bl VFipdm_disk_set_disk /* 803082E0 00303F40 2C 03 00 00 */ cmpwi r3, 0 /* 803082E4 00303F44 41 82 00 08 */ beq lbl_803082EC /* 803082E8 00303F48 48 00 00 68 */ b lbl_80308350 lbl_803082EC: /* 803082EC 00303F4C 80 1A 00 18 */ lwz r0, 0x18(r26) /* 803082F0 00303F50 7C 00 E0 40 */ cmplw r0, r28 /* 803082F4 00303F54 41 81 00 0C */ bgt lbl_80308300 /* 803082F8 00303F58 38 60 00 12 */ li r3, 0x12 /* 803082FC 00303F5C 48 00 00 54 */ b lbl_80308350 lbl_80308300: /* 80308300 00303F60 7C 7C EA 14 */ add r3, r28, r29 /* 80308304 00303F64 7C 00 18 40 */ cmplw r0, r3 /* 80308308 00303F68 40 80 00 0C */ bge lbl_80308314 /* 8030830C 00303F6C 7C 00 18 50 */ subf r0, r0, r3 /* 80308310 00303F70 7F A0 E8 50 */ subf r29, r0, r29 lbl_80308314: /* 80308314 00303F74 7F 43 D3 78 */ mr r3, r26 /* 80308318 00303F78 7F 84 E3 78 */ mr r4, r28 /* 8030831C 00303F7C 7F C5 F3 78 */ mr r5, r30 /* 80308320 00303F80 4B FF F7 21 */ bl VFipdm_part_chg_ltop /* 80308324 00303F84 7C 65 1B 78 */ mr r5, r3 /* 80308328 00303F88 80 7A 00 04 */ lwz r3, 4(r26) /* 8030832C 00303F8C 7F 64 DB 78 */ mr r4, r27 /* 80308330 00303F90 7F A6 EB 78 */ mr r6, r29 /* 80308334 00303F94 7F C7 F3 78 */ mr r7, r30 /* 80308338 00303F98 7F E8 FB 78 */ mr r8, r31 /* 8030833C 00303F9C 4B FF EF 85 */ bl VFipdm_disk_physical_write /* 80308340 00303FA0 2C 03 00 00 */ cmpwi r3, 0 /* 80308344 00303FA4 41 82 00 08 */ beq lbl_8030834C /* 80308348 00303FA8 48 00 00 08 */ b lbl_80308350 lbl_8030834C: /* 8030834C 00303FAC 38 60 00 00 */ li r3, 0 lbl_80308350: /* 80308350 00303FB0 39 61 00 20 */ addi r11, r1, 0x20 /* 80308354 00303FB4 4B EB EE 1D */ bl _restgpr_26 /* 80308358 00303FB8 80 01 00 24 */ lwz r0, 0x24(r1) /* 8030835C 00303FBC 7C 08 03 A6 */ mtlr r0 /* 80308360 00303FC0 38 21 00 20 */ addi r1, r1, 0x20 /* 80308364 00303FC4 4E 80 00 20 */ blr .global VFipdm_part_get_media_information VFipdm_part_get_media_information: /* 80308368 00303FC8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8030836C 00303FCC 7C 08 02 A6 */ mflr r0 /* 80308370 00303FD0 2C 03 00 00 */ cmpwi r3, 0 /* 80308374 00303FD4 90 01 00 14 */ stw r0, 0x14(r1) /* 80308378 00303FD8 41 82 00 0C */ beq lbl_80308384 /* 8030837C 00303FDC 2C 04 00 00 */ cmpwi r4, 0 /* 80308380 00303FE0 40 82 00 0C */ bne lbl_8030838C lbl_80308384: /* 80308384 00303FE4 38 60 00 01 */ li r3, 1 /* 80308388 00303FE8 48 00 00 F0 */ b lbl_80308478 lbl_8030838C: /* 8030838C 00303FEC 54 67 06 3E */ clrlwi r7, r3, 0x18 /* 80308390 00303FF0 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 /* 80308394 00303FF4 28 07 00 1A */ cmplwi r7, 0x1a /* 80308398 00303FF8 54 68 84 3E */ srwi r8, r3, 0x10 /* 8030839C 00303FFC 40 80 00 28 */ bge lbl_803083C4 /* 803083A0 00304000 28 00 04 00 */ cmplwi r0, 0x400 /* 803083A4 00304004 40 82 00 20 */ bne lbl_803083C4 /* 803083A8 00304008 1C 07 00 2C */ mulli r0, r7, 0x2c /* 803083AC 0030400C 3C 60 80 58 */ lis r3, lbl_8057EA60@ha /* 803083B0 00304010 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l /* 803083B4 00304014 7C 65 02 14 */ add r3, r5, r0 /* 803083B8 00304018 80 03 06 F4 */ lwz r0, 0x6f4(r3) /* 803083BC 0030401C 7C 08 00 40 */ cmplw r8, r0 /* 803083C0 00304020 40 81 00 0C */ ble lbl_803083CC lbl_803083C4: /* 803083C4 00304024 38 60 00 01 */ li r3, 1 /* 803083C8 00304028 48 00 00 7C */ b lbl_80308444 lbl_803083CC: /* 803083CC 0030402C 38 00 00 0D */ li r0, 0xd /* 803083D0 00304030 38 C3 06 EC */ addi r6, r3, 0x6ec /* 803083D4 00304034 38 60 00 00 */ li r3, 0 /* 803083D8 00304038 7C 09 03 A6 */ mtctr r0 lbl_803083DC: /* 803083DC 0030403C 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c /* 803083E0 00304040 7D 25 02 14 */ add r9, r5, r0 /* 803083E4 00304044 80 09 00 D8 */ lwz r0, 0xd8(r9) /* 803083E8 00304048 7C 00 30 40 */ cmplw r0, r6 /* 803083EC 0030404C 40 82 00 10 */ bne lbl_803083FC /* 803083F0 00304050 80 09 00 D4 */ lwz r0, 0xd4(r9) /* 803083F4 00304054 7C 08 00 40 */ cmplw r8, r0 /* 803083F8 00304058 41 82 00 30 */ beq lbl_80308428 lbl_803083FC: /* 803083FC 0030405C 38 63 00 01 */ addi r3, r3, 1 /* 80308400 00304060 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c /* 80308404 00304064 7D 25 02 14 */ add r9, r5, r0 /* 80308408 00304068 80 09 00 D8 */ lwz r0, 0xd8(r9) /* 8030840C 0030406C 7C 00 30 40 */ cmplw r0, r6 /* 80308410 00304070 40 82 00 10 */ bne lbl_80308420 /* 80308414 00304074 80 09 00 D4 */ lwz r0, 0xd4(r9) /* 80308418 00304078 7C 08 00 40 */ cmplw r8, r0 /* 8030841C 0030407C 41 82 00 0C */ beq lbl_80308428 lbl_80308420: /* 80308420 00304080 38 63 00 01 */ addi r3, r3, 1 /* 80308424 00304084 42 00 FF B8 */ bdnz lbl_803083DC lbl_80308428: /* 80308428 00304088 54 65 04 3E */ clrlwi r5, r3, 0x10 /* 8030842C 0030408C 38 60 00 1A */ li r3, 0x1a /* 80308430 00304090 38 05 FF E6 */ addi r0, r5, -26 /* 80308434 00304094 7C A3 1B 38 */ orc r3, r5, r3 /* 80308438 00304098 54 00 F8 7E */ srwi r0, r0, 1 /* 8030843C 0030409C 7C 00 18 50 */ subf r0, r0, r3 /* 80308440 003040A0 54 03 0F FE */ srwi r3, r0, 0x1f lbl_80308444: /* 80308444 003040A4 2C 03 00 00 */ cmpwi r3, 0 /* 80308448 003040A8 41 82 00 08 */ beq lbl_80308450 /* 8030844C 003040AC 48 00 00 2C */ b lbl_80308478 lbl_80308450: /* 80308450 003040B0 1C 07 00 2C */ mulli r0, r7, 0x2c /* 80308454 003040B4 3C 60 80 58 */ lis r3, lbl_8057EA60@ha /* 80308458 003040B8 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l /* 8030845C 003040BC 7C 63 02 14 */ add r3, r3, r0 /* 80308460 003040C0 80 63 06 F0 */ lwz r3, 0x6f0(r3) /* 80308464 003040C4 4B FF F2 71 */ bl VFipdm_disk_get_media_information /* 80308468 003040C8 7C 03 00 D0 */ neg r0, r3 /* 8030846C 003040CC 7C 00 1B 78 */ or r0, r0, r3 /* 80308470 003040D0 7C 00 FE 70 */ srawi r0, r0, 0x1f /* 80308474 003040D4 7C 63 00 38 */ and r3, r3, r0 lbl_80308478: /* 80308478 003040D8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8030847C 003040DC 7C 08 03 A6 */ mtlr r0 /* 80308480 003040E0 38 21 00 10 */ addi r1, r1, 0x10 /* 80308484 003040E4 4E 80 00 20 */ blr .global VFipdm_part_check_media_write_protect VFipdm_part_check_media_write_protect: /* 80308488 003040E8 2C 03 00 00 */ cmpwi r3, 0 /* 8030848C 003040EC 41 82 00 0C */ beq lbl_80308498 /* 80308490 003040F0 2C 04 00 00 */ cmpwi r4, 0 /* 80308494 003040F4 40 82 00 0C */ bne lbl_803084A0 lbl_80308498: /* 80308498 003040F8 38 60 00 01 */ li r3, 1 /* 8030849C 003040FC 4E 80 00 20 */ blr lbl_803084A0: /* 803084A0 00304100 54 67 06 3E */ clrlwi r7, r3, 0x18 /* 803084A4 00304104 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 /* 803084A8 00304108 28 07 00 1A */ cmplwi r7, 0x1a /* 803084AC 0030410C 54 68 84 3E */ srwi r8, r3, 0x10 /* 803084B0 00304110 40 80 00 28 */ bge lbl_803084D8 /* 803084B4 00304114 28 00 04 00 */ cmplwi r0, 0x400 /* 803084B8 00304118 40 82 00 20 */ bne lbl_803084D8 /* 803084BC 0030411C 1C 07 00 2C */ mulli r0, r7, 0x2c /* 803084C0 00304120 3C 60 80 58 */ lis r3, lbl_8057EA60@ha /* 803084C4 00304124 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l /* 803084C8 00304128 7C 65 02 14 */ add r3, r5, r0 /* 803084CC 0030412C 80 03 06 F4 */ lwz r0, 0x6f4(r3) /* 803084D0 00304130 7C 08 00 40 */ cmplw r8, r0 /* 803084D4 00304134 40 81 00 0C */ ble lbl_803084E0 lbl_803084D8: /* 803084D8 00304138 38 60 00 01 */ li r3, 1 /* 803084DC 0030413C 48 00 00 7C */ b lbl_80308558 lbl_803084E0: /* 803084E0 00304140 38 00 00 0D */ li r0, 0xd /* 803084E4 00304144 38 C3 06 EC */ addi r6, r3, 0x6ec /* 803084E8 00304148 38 60 00 00 */ li r3, 0 /* 803084EC 0030414C 7C 09 03 A6 */ mtctr r0 lbl_803084F0: /* 803084F0 00304150 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c /* 803084F4 00304154 7D 25 02 14 */ add r9, r5, r0 /* 803084F8 00304158 80 09 00 D8 */ lwz r0, 0xd8(r9) /* 803084FC 0030415C 7C 00 30 40 */ cmplw r0, r6 /* 80308500 00304160 40 82 00 10 */ bne lbl_80308510 /* 80308504 00304164 80 09 00 D4 */ lwz r0, 0xd4(r9) /* 80308508 00304168 7C 08 00 40 */ cmplw r8, r0 /* 8030850C 0030416C 41 82 00 30 */ beq lbl_8030853C lbl_80308510: /* 80308510 00304170 38 63 00 01 */ addi r3, r3, 1 /* 80308514 00304174 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c /* 80308518 00304178 7D 25 02 14 */ add r9, r5, r0 /* 8030851C 0030417C 80 09 00 D8 */ lwz r0, 0xd8(r9) /* 80308520 00304180 7C 00 30 40 */ cmplw r0, r6 /* 80308524 00304184 40 82 00 10 */ bne lbl_80308534 /* 80308528 00304188 80 09 00 D4 */ lwz r0, 0xd4(r9) /* 8030852C 0030418C 7C 08 00 40 */ cmplw r8, r0 /* 80308530 00304190 41 82 00 0C */ beq lbl_8030853C lbl_80308534: /* 80308534 00304194 38 63 00 01 */ addi r3, r3, 1 /* 80308538 00304198 42 00 FF B8 */ bdnz lbl_803084F0 lbl_8030853C: /* 8030853C 0030419C 54 65 04 3E */ clrlwi r5, r3, 0x10 /* 80308540 003041A0 38 60 00 1A */ li r3, 0x1a /* 80308544 003041A4 38 05 FF E6 */ addi r0, r5, -26 /* 80308548 003041A8 7C A3 1B 38 */ orc r3, r5, r3 /* 8030854C 003041AC 54 00 F8 7E */ srwi r0, r0, 1 /* 80308550 003041B0 7C 00 18 50 */ subf r0, r0, r3 /* 80308554 003041B4 54 03 0F FE */ srwi r3, r0, 0x1f lbl_80308558: /* 80308558 003041B8 2C 03 00 00 */ cmpwi r3, 0 /* 8030855C 003041BC 4C 82 00 20 */ bnelr /* 80308560 003041C0 1C 07 00 2C */ mulli r0, r7, 0x2c /* 80308564 003041C4 3C 60 80 58 */ lis r3, lbl_8057EA60@ha /* 80308568 003041C8 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l /* 8030856C 003041CC 7C 63 02 14 */ add r3, r3, r0 /* 80308570 003041D0 80 03 06 EC */ lwz r0, 0x6ec(r3) /* 80308574 003041D4 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 80308578 003041D8 41 82 00 10 */ beq lbl_80308588 /* 8030857C 003041DC 38 00 00 01 */ li r0, 1 /* 80308580 003041E0 90 04 00 00 */ stw r0, 0(r4) /* 80308584 003041E4 48 00 00 0C */ b lbl_80308590 lbl_80308588: /* 80308588 003041E8 38 00 00 00 */ li r0, 0 /* 8030858C 003041EC 90 04 00 00 */ stw r0, 0(r4) lbl_80308590: /* 80308590 003041F0 38 60 00 00 */ li r3, 0 /* 80308594 003041F4 4E 80 00 20 */ blr .global VFipdm_part_check_media_insert VFipdm_part_check_media_insert: /* 80308598 003041F8 2C 03 00 00 */ cmpwi r3, 0 /* 8030859C 003041FC 41 82 00 0C */ beq lbl_803085A8 /* 803085A0 00304200 2C 04 00 00 */ cmpwi r4, 0 /* 803085A4 00304204 40 82 00 0C */ bne lbl_803085B0 lbl_803085A8: /* 803085A8 00304208 38 60 00 01 */ li r3, 1 /* 803085AC 0030420C 4E 80 00 20 */ blr lbl_803085B0: /* 803085B0 00304210 54 67 06 3E */ clrlwi r7, r3, 0x18 /* 803085B4 00304214 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 /* 803085B8 00304218 28 07 00 1A */ cmplwi r7, 0x1a /* 803085BC 0030421C 54 68 84 3E */ srwi r8, r3, 0x10 /* 803085C0 00304220 40 80 00 28 */ bge lbl_803085E8 /* 803085C4 00304224 28 00 04 00 */ cmplwi r0, 0x400 /* 803085C8 00304228 40 82 00 20 */ bne lbl_803085E8 /* 803085CC 0030422C 1C 07 00 2C */ mulli r0, r7, 0x2c /* 803085D0 00304230 3C 60 80 58 */ lis r3, lbl_8057EA60@ha /* 803085D4 00304234 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l /* 803085D8 00304238 7C 65 02 14 */ add r3, r5, r0 /* 803085DC 0030423C 80 03 06 F4 */ lwz r0, 0x6f4(r3) /* 803085E0 00304240 7C 08 00 40 */ cmplw r8, r0 /* 803085E4 00304244 40 81 00 0C */ ble lbl_803085F0 lbl_803085E8: /* 803085E8 00304248 38 60 00 01 */ li r3, 1 /* 803085EC 0030424C 48 00 00 7C */ b lbl_80308668 lbl_803085F0: /* 803085F0 00304250 38 00 00 0D */ li r0, 0xd /* 803085F4 00304254 38 C3 06 EC */ addi r6, r3, 0x6ec /* 803085F8 00304258 38 60 00 00 */ li r3, 0 /* 803085FC 0030425C 7C 09 03 A6 */ mtctr r0 lbl_80308600: /* 80308600 00304260 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c /* 80308604 00304264 7D 25 02 14 */ add r9, r5, r0 /* 80308608 00304268 80 09 00 D8 */ lwz r0, 0xd8(r9) /* 8030860C 0030426C 7C 00 30 40 */ cmplw r0, r6 /* 80308610 00304270 40 82 00 10 */ bne lbl_80308620 /* 80308614 00304274 80 09 00 D4 */ lwz r0, 0xd4(r9) /* 80308618 00304278 7C 08 00 40 */ cmplw r8, r0 /* 8030861C 0030427C 41 82 00 30 */ beq lbl_8030864C lbl_80308620: /* 80308620 00304280 38 63 00 01 */ addi r3, r3, 1 /* 80308624 00304284 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c /* 80308628 00304288 7D 25 02 14 */ add r9, r5, r0 /* 8030862C 0030428C 80 09 00 D8 */ lwz r0, 0xd8(r9) /* 80308630 00304290 7C 00 30 40 */ cmplw r0, r6 /* 80308634 00304294 40 82 00 10 */ bne lbl_80308644 /* 80308638 00304298 80 09 00 D4 */ lwz r0, 0xd4(r9) /* 8030863C 0030429C 7C 08 00 40 */ cmplw r8, r0 /* 80308640 003042A0 41 82 00 0C */ beq lbl_8030864C lbl_80308644: /* 80308644 003042A4 38 63 00 01 */ addi r3, r3, 1 /* 80308648 003042A8 42 00 FF B8 */ bdnz lbl_80308600 lbl_8030864C: /* 8030864C 003042AC 54 65 04 3E */ clrlwi r5, r3, 0x10 /* 80308650 003042B0 38 60 00 1A */ li r3, 0x1a /* 80308654 003042B4 38 05 FF E6 */ addi r0, r5, -26 /* 80308658 003042B8 7C A3 1B 38 */ orc r3, r5, r3 /* 8030865C 003042BC 54 00 F8 7E */ srwi r0, r0, 1 /* 80308660 003042C0 7C 00 18 50 */ subf r0, r0, r3 /* 80308664 003042C4 54 03 0F FE */ srwi r3, r0, 0x1f lbl_80308668: /* 80308668 003042C8 2C 03 00 00 */ cmpwi r3, 0 /* 8030866C 003042CC 4C 82 00 20 */ bnelr /* 80308670 003042D0 1C 07 00 2C */ mulli r0, r7, 0x2c /* 80308674 003042D4 3C 60 80 58 */ lis r3, lbl_8057EA60@ha /* 80308678 003042D8 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l /* 8030867C 003042DC 7C 63 02 14 */ add r3, r3, r0 /* 80308680 003042E0 80 03 06 EC */ lwz r0, 0x6ec(r3) /* 80308684 003042E4 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 80308688 003042E8 41 82 00 10 */ beq lbl_80308698 /* 8030868C 003042EC 38 00 00 01 */ li r0, 1 /* 80308690 003042F0 90 04 00 00 */ stw r0, 0(r4) /* 80308694 003042F4 48 00 00 0C */ b lbl_803086A0 lbl_80308698: /* 80308698 003042F8 38 00 00 00 */ li r0, 0 /* 8030869C 003042FC 90 04 00 00 */ stw r0, 0(r4) lbl_803086A0: /* 803086A0 00304300 38 60 00 00 */ li r3, 0 /* 803086A4 00304304 4E 80 00 20 */ blr .global VFipdm_part_check_media_detect VFipdm_part_check_media_detect: /* 803086A8 00304308 2C 03 00 00 */ cmpwi r3, 0 /* 803086AC 0030430C 41 82 00 0C */ beq lbl_803086B8 /* 803086B0 00304310 2C 04 00 00 */ cmpwi r4, 0 /* 803086B4 00304314 40 82 00 0C */ bne lbl_803086C0 lbl_803086B8: /* 803086B8 00304318 38 60 00 01 */ li r3, 1 /* 803086BC 0030431C 4E 80 00 20 */ blr lbl_803086C0: /* 803086C0 00304320 54 67 06 3E */ clrlwi r7, r3, 0x18 /* 803086C4 00304324 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 /* 803086C8 00304328 28 07 00 1A */ cmplwi r7, 0x1a /* 803086CC 0030432C 54 68 84 3E */ srwi r8, r3, 0x10 /* 803086D0 00304330 40 80 00 28 */ bge lbl_803086F8 /* 803086D4 00304334 28 00 04 00 */ cmplwi r0, 0x400 /* 803086D8 00304338 40 82 00 20 */ bne lbl_803086F8 /* 803086DC 0030433C 1C 07 00 2C */ mulli r0, r7, 0x2c /* 803086E0 00304340 3C 60 80 58 */ lis r3, lbl_8057EA60@ha /* 803086E4 00304344 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l /* 803086E8 00304348 7C 65 02 14 */ add r3, r5, r0 /* 803086EC 0030434C 80 03 06 F4 */ lwz r0, 0x6f4(r3) /* 803086F0 00304350 7C 08 00 40 */ cmplw r8, r0 /* 803086F4 00304354 40 81 00 0C */ ble lbl_80308700 lbl_803086F8: /* 803086F8 00304358 38 60 00 01 */ li r3, 1 /* 803086FC 0030435C 48 00 00 7C */ b lbl_80308778 lbl_80308700: /* 80308700 00304360 38 00 00 0D */ li r0, 0xd /* 80308704 00304364 38 C3 06 EC */ addi r6, r3, 0x6ec /* 80308708 00304368 38 60 00 00 */ li r3, 0 /* 8030870C 0030436C 7C 09 03 A6 */ mtctr r0 lbl_80308710: /* 80308710 00304370 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c /* 80308714 00304374 7D 25 02 14 */ add r9, r5, r0 /* 80308718 00304378 80 09 00 D8 */ lwz r0, 0xd8(r9) /* 8030871C 0030437C 7C 00 30 40 */ cmplw r0, r6 /* 80308720 00304380 40 82 00 10 */ bne lbl_80308730 /* 80308724 00304384 80 09 00 D4 */ lwz r0, 0xd4(r9) /* 80308728 00304388 7C 08 00 40 */ cmplw r8, r0 /* 8030872C 0030438C 41 82 00 30 */ beq lbl_8030875C lbl_80308730: /* 80308730 00304390 38 63 00 01 */ addi r3, r3, 1 /* 80308734 00304394 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c /* 80308738 00304398 7D 25 02 14 */ add r9, r5, r0 /* 8030873C 0030439C 80 09 00 D8 */ lwz r0, 0xd8(r9) /* 80308740 003043A0 7C 00 30 40 */ cmplw r0, r6 /* 80308744 003043A4 40 82 00 10 */ bne lbl_80308754 /* 80308748 003043A8 80 09 00 D4 */ lwz r0, 0xd4(r9) /* 8030874C 003043AC 7C 08 00 40 */ cmplw r8, r0 /* 80308750 003043B0 41 82 00 0C */ beq lbl_8030875C lbl_80308754: /* 80308754 003043B4 38 63 00 01 */ addi r3, r3, 1 /* 80308758 003043B8 42 00 FF B8 */ bdnz lbl_80308710 lbl_8030875C: /* 8030875C 003043BC 54 65 04 3E */ clrlwi r5, r3, 0x10 /* 80308760 003043C0 38 60 00 1A */ li r3, 0x1a /* 80308764 003043C4 38 05 FF E6 */ addi r0, r5, -26 /* 80308768 003043C8 7C A3 1B 38 */ orc r3, r5, r3 /* 8030876C 003043CC 54 00 F8 7E */ srwi r0, r0, 1 /* 80308770 003043D0 7C 00 18 50 */ subf r0, r0, r3 /* 80308774 003043D4 54 03 0F FE */ srwi r3, r0, 0x1f lbl_80308778: /* 80308778 003043D8 2C 03 00 00 */ cmpwi r3, 0 /* 8030877C 003043DC 4C 82 00 20 */ bnelr /* 80308780 003043E0 1C 07 00 2C */ mulli r0, r7, 0x2c /* 80308784 003043E4 3C 60 80 58 */ lis r3, lbl_8057EA60@ha /* 80308788 003043E8 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l /* 8030878C 003043EC 7C 63 02 14 */ add r3, r3, r0 /* 80308790 003043F0 80 03 06 EC */ lwz r0, 0x6ec(r3) /* 80308794 003043F4 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 80308798 003043F8 41 82 00 10 */ beq lbl_803087A8 /* 8030879C 003043FC 38 00 00 01 */ li r0, 1 /* 803087A0 00304400 90 04 00 00 */ stw r0, 0(r4) /* 803087A4 00304404 48 00 00 0C */ b lbl_803087B0 lbl_803087A8: /* 803087A8 00304408 38 00 00 00 */ li r0, 0 /* 803087AC 0030440C 90 04 00 00 */ stw r0, 0(r4) lbl_803087B0: /* 803087B0 00304410 38 60 00 00 */ li r3, 0 /* 803087B4 00304414 4E 80 00 20 */ blr .global VFipdm_part_set_driver_error_code VFipdm_part_set_driver_error_code: /* 803087B8 00304418 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 803087BC 0030441C 3C 60 80 58 */ lis r3, lbl_8057EA60@ha /* 803087C0 00304420 1C 00 00 2C */ mulli r0, r0, 0x2c /* 803087C4 00304424 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l /* 803087C8 00304428 7C 63 02 14 */ add r3, r3, r0 /* 803087CC 0030442C 90 83 07 10 */ stw r4, 0x710(r3) /* 803087D0 00304430 4E 80 00 20 */ blr .global VFipdm_part_get_driver_error_code VFipdm_part_get_driver_error_code: /* 803087D4 00304434 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 803087D8 00304438 3C 60 80 58 */ lis r3, lbl_8057EA60@ha /* 803087DC 0030443C 1C 00 00 2C */ mulli r0, r0, 0x2c /* 803087E0 00304440 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l /* 803087E4 00304444 7C 63 02 14 */ add r3, r3, r0 /* 803087E8 00304448 80 63 07 10 */ lwz r3, 0x710(r3) /* 803087EC 0030444C 4E 80 00 20 */ blr