.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global VFipdm_disk_convert_sector_into_block VFipdm_disk_convert_sector_into_block: /* 80306B20 00302780 90 87 00 00 */ stw r4, 0(r7) /* 80306B24 00302784 28 06 02 00 */ cmplwi r6, 0x200 /* 80306B28 00302788 38 60 00 00 */ li r3, 0 /* 80306B2C 0030278C 90 A8 00 00 */ stw r5, 0(r8) /* 80306B30 00302790 40 81 00 94 */ ble lbl_80306BC4 /* 80306B34 00302794 54 C4 BE 7E */ rlwinm r4, r6, 0x17, 0x19, 0x1f /* 80306B38 00302798 28 04 00 02 */ cmplwi r4, 2 /* 80306B3C 0030279C 40 82 00 14 */ bne lbl_80306B50 /* 80306B40 003027A0 80 07 00 00 */ lwz r0, 0(r7) /* 80306B44 003027A4 54 00 08 3C */ slwi r0, r0, 1 /* 80306B48 003027A8 90 07 00 00 */ stw r0, 0(r7) /* 80306B4C 003027AC 48 00 00 30 */ b lbl_80306B7C lbl_80306B50: /* 80306B50 003027B0 28 04 00 04 */ cmplwi r4, 4 /* 80306B54 003027B4 40 82 00 14 */ bne lbl_80306B68 /* 80306B58 003027B8 80 07 00 00 */ lwz r0, 0(r7) /* 80306B5C 003027BC 54 00 10 3A */ slwi r0, r0, 2 /* 80306B60 003027C0 90 07 00 00 */ stw r0, 0(r7) /* 80306B64 003027C4 48 00 00 18 */ b lbl_80306B7C lbl_80306B68: /* 80306B68 003027C8 28 04 00 08 */ cmplwi r4, 8 /* 80306B6C 003027CC 40 82 00 10 */ bne lbl_80306B7C /* 80306B70 003027D0 80 07 00 00 */ lwz r0, 0(r7) /* 80306B74 003027D4 54 00 18 38 */ slwi r0, r0, 3 /* 80306B78 003027D8 90 07 00 00 */ stw r0, 0(r7) lbl_80306B7C: /* 80306B7C 003027DC 28 04 00 02 */ cmplwi r4, 2 /* 80306B80 003027E0 40 82 00 14 */ bne lbl_80306B94 /* 80306B84 003027E4 80 08 00 00 */ lwz r0, 0(r8) /* 80306B88 003027E8 54 00 08 3C */ slwi r0, r0, 1 /* 80306B8C 003027EC 90 08 00 00 */ stw r0, 0(r8) /* 80306B90 003027F0 4E 80 00 20 */ blr lbl_80306B94: /* 80306B94 003027F4 28 04 00 04 */ cmplwi r4, 4 /* 80306B98 003027F8 40 82 00 14 */ bne lbl_80306BAC /* 80306B9C 003027FC 80 08 00 00 */ lwz r0, 0(r8) /* 80306BA0 00302800 54 00 10 3A */ slwi r0, r0, 2 /* 80306BA4 00302804 90 08 00 00 */ stw r0, 0(r8) /* 80306BA8 00302808 4E 80 00 20 */ blr lbl_80306BAC: /* 80306BAC 0030280C 28 04 00 08 */ cmplwi r4, 8 /* 80306BB0 00302810 4C 82 00 20 */ bnelr /* 80306BB4 00302814 80 08 00 00 */ lwz r0, 0(r8) /* 80306BB8 00302818 54 00 18 38 */ slwi r0, r0, 3 /* 80306BBC 0030281C 90 08 00 00 */ stw r0, 0(r8) /* 80306BC0 00302820 4E 80 00 20 */ blr lbl_80306BC4: /* 80306BC4 00302824 4C 80 00 20 */ bgelr /* 80306BC8 00302828 38 60 00 04 */ li r3, 4 /* 80306BCC 0030282C 4E 80 00 20 */ blr .global VFipdm_disk_convert_block_into_sector VFipdm_disk_convert_block_into_sector: /* 80306BD0 00302830 90 87 00 00 */ stw r4, 0(r7) /* 80306BD4 00302834 28 06 02 00 */ cmplwi r6, 0x200 /* 80306BD8 00302838 38 60 00 00 */ li r3, 0 /* 80306BDC 0030283C 90 A8 00 00 */ stw r5, 0(r8) /* 80306BE0 00302840 40 81 00 94 */ ble lbl_80306C74 /* 80306BE4 00302844 54 C4 BE 7E */ rlwinm r4, r6, 0x17, 0x19, 0x1f /* 80306BE8 00302848 28 04 00 02 */ cmplwi r4, 2 /* 80306BEC 0030284C 40 82 00 14 */ bne lbl_80306C00 /* 80306BF0 00302850 80 07 00 00 */ lwz r0, 0(r7) /* 80306BF4 00302854 54 00 F8 7E */ srwi r0, r0, 1 /* 80306BF8 00302858 90 07 00 00 */ stw r0, 0(r7) /* 80306BFC 0030285C 48 00 00 30 */ b lbl_80306C2C lbl_80306C00: /* 80306C00 00302860 28 04 00 04 */ cmplwi r4, 4 /* 80306C04 00302864 40 82 00 14 */ bne lbl_80306C18 /* 80306C08 00302868 80 07 00 00 */ lwz r0, 0(r7) /* 80306C0C 0030286C 54 00 F0 BE */ srwi r0, r0, 2 /* 80306C10 00302870 90 07 00 00 */ stw r0, 0(r7) /* 80306C14 00302874 48 00 00 18 */ b lbl_80306C2C lbl_80306C18: /* 80306C18 00302878 28 04 00 08 */ cmplwi r4, 8 /* 80306C1C 0030287C 40 82 00 10 */ bne lbl_80306C2C /* 80306C20 00302880 80 07 00 00 */ lwz r0, 0(r7) /* 80306C24 00302884 54 00 E8 FE */ srwi r0, r0, 3 /* 80306C28 00302888 90 07 00 00 */ stw r0, 0(r7) lbl_80306C2C: /* 80306C2C 0030288C 28 04 00 02 */ cmplwi r4, 2 /* 80306C30 00302890 40 82 00 14 */ bne lbl_80306C44 /* 80306C34 00302894 80 08 00 00 */ lwz r0, 0(r8) /* 80306C38 00302898 54 00 F8 7E */ srwi r0, r0, 1 /* 80306C3C 0030289C 90 08 00 00 */ stw r0, 0(r8) /* 80306C40 003028A0 4E 80 00 20 */ blr lbl_80306C44: /* 80306C44 003028A4 28 04 00 04 */ cmplwi r4, 4 /* 80306C48 003028A8 40 82 00 14 */ bne lbl_80306C5C /* 80306C4C 003028AC 80 08 00 00 */ lwz r0, 0(r8) /* 80306C50 003028B0 54 00 F0 BE */ srwi r0, r0, 2 /* 80306C54 003028B4 90 08 00 00 */ stw r0, 0(r8) /* 80306C58 003028B8 4E 80 00 20 */ blr lbl_80306C5C: /* 80306C5C 003028BC 28 04 00 08 */ cmplwi r4, 8 /* 80306C60 003028C0 4C 82 00 20 */ bnelr /* 80306C64 003028C4 80 08 00 00 */ lwz r0, 0(r8) /* 80306C68 003028C8 54 00 E8 FE */ srwi r0, r0, 3 /* 80306C6C 003028CC 90 08 00 00 */ stw r0, 0(r8) /* 80306C70 003028D0 4E 80 00 20 */ blr lbl_80306C74: /* 80306C74 003028D4 4C 80 00 20 */ bgelr /* 80306C78 003028D8 38 60 00 04 */ li r3, 4 /* 80306C7C 003028DC 4E 80 00 20 */ blr VFipdm_disk_do_get_permission: /* 80306C80 003028E0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80306C84 003028E4 7C 08 02 A6 */ mflr r0 /* 80306C88 003028E8 90 01 00 14 */ stw r0, 0x14(r1) /* 80306C8C 003028EC 93 E1 00 0C */ stw r31, 0xc(r1) /* 80306C90 003028F0 7C 9F 23 78 */ mr r31, r4 /* 80306C94 003028F4 93 C1 00 08 */ stw r30, 8(r1) /* 80306C98 003028F8 7C 7E 1B 78 */ mr r30, r3 /* 80306C9C 003028FC A0 04 00 12 */ lhz r0, 0x12(r4) /* 80306CA0 00302900 2C 00 00 00 */ cmpwi r0, 0 /* 80306CA4 00302904 41 82 00 10 */ beq lbl_80306CB4 /* 80306CA8 00302908 80 04 00 00 */ lwz r0, 0(r4) /* 80306CAC 0030290C 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a /* 80306CB0 00302910 41 82 00 C4 */ beq lbl_80306D74 lbl_80306CB4: /* 80306CB4 00302914 80 84 00 04 */ lwz r4, 4(r4) /* 80306CB8 00302918 7F C3 F3 78 */ mr r3, r30 /* 80306CBC 0030291C 81 84 00 08 */ lwz r12, 8(r4) /* 80306CC0 00302920 7D 89 03 A6 */ mtctr r12 /* 80306CC4 00302924 4E 80 04 21 */ bctrl /* 80306CC8 00302928 2C 03 00 00 */ cmpwi r3, 0 /* 80306CCC 0030292C 7C 64 1B 78 */ mr r4, r3 /* 80306CD0 00302930 41 82 00 1C */ beq lbl_80306CEC /* 80306CD4 00302934 80 7F 00 30 */ lwz r3, 0x30(r31) /* 80306CD8 00302938 2C 03 00 00 */ cmpwi r3, 0 /* 80306CDC 0030293C 41 82 00 08 */ beq lbl_80306CE4 /* 80306CE0 00302940 48 00 1A D9 */ bl VFipdm_part_set_driver_error_code lbl_80306CE4: /* 80306CE4 00302944 38 60 00 15 */ li r3, 0x15 /* 80306CE8 00302948 48 00 00 9C */ b lbl_80306D84 lbl_80306CEC: /* 80306CEC 0030294C 80 BF 00 04 */ lwz r5, 4(r31) /* 80306CF0 00302950 7F C3 F3 78 */ mr r3, r30 /* 80306CF4 00302954 38 9F 00 18 */ addi r4, r31, 0x18 /* 80306CF8 00302958 81 85 00 1C */ lwz r12, 0x1c(r5) /* 80306CFC 0030295C 7D 89 03 A6 */ mtctr r12 /* 80306D00 00302960 4E 80 04 21 */ bctrl /* 80306D04 00302964 2C 03 00 00 */ cmpwi r3, 0 /* 80306D08 00302968 7C 64 1B 78 */ mr r4, r3 /* 80306D0C 0030296C 41 82 00 1C */ beq lbl_80306D28 /* 80306D10 00302970 80 7F 00 30 */ lwz r3, 0x30(r31) /* 80306D14 00302974 2C 03 00 00 */ cmpwi r3, 0 /* 80306D18 00302978 41 82 00 08 */ beq lbl_80306D20 /* 80306D1C 0030297C 48 00 1A 9D */ bl VFipdm_part_set_driver_error_code lbl_80306D20: /* 80306D20 00302980 38 60 00 15 */ li r3, 0x15 /* 80306D24 00302984 48 00 00 60 */ b lbl_80306D84 lbl_80306D28: /* 80306D28 00302988 A0 1F 00 20 */ lhz r0, 0x20(r31) /* 80306D2C 0030298C 54 00 05 FF */ clrlwi. r0, r0, 0x17 /* 80306D30 00302990 41 82 00 0C */ beq lbl_80306D3C /* 80306D34 00302994 38 60 00 16 */ li r3, 0x16 /* 80306D38 00302998 48 00 00 4C */ b lbl_80306D84 lbl_80306D3C: /* 80306D3C 0030299C 80 1F 00 24 */ lwz r0, 0x24(r31) /* 80306D40 003029A0 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 80306D44 003029A4 41 82 00 14 */ beq lbl_80306D58 /* 80306D48 003029A8 80 1F 00 00 */ lwz r0, 0(r31) /* 80306D4C 003029AC 60 00 00 10 */ ori r0, r0, 0x10 /* 80306D50 003029B0 90 1F 00 00 */ stw r0, 0(r31) /* 80306D54 003029B4 48 00 00 10 */ b lbl_80306D64 lbl_80306D58: /* 80306D58 003029B8 80 1F 00 00 */ lwz r0, 0(r31) /* 80306D5C 003029BC 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a /* 80306D60 003029C0 90 1F 00 00 */ stw r0, 0(r31) lbl_80306D64: /* 80306D64 003029C4 80 1F 00 00 */ lwz r0, 0(r31) /* 80306D68 003029C8 60 00 00 02 */ ori r0, r0, 2 /* 80306D6C 003029CC 54 00 06 F2 */ rlwinm r0, r0, 0, 0x1b, 0x19 /* 80306D70 003029D0 90 1F 00 00 */ stw r0, 0(r31) lbl_80306D74: /* 80306D74 003029D4 A0 9F 00 12 */ lhz r4, 0x12(r31) /* 80306D78 003029D8 38 60 00 00 */ li r3, 0 /* 80306D7C 003029DC 38 04 00 01 */ addi r0, r4, 1 /* 80306D80 003029E0 B0 1F 00 12 */ sth r0, 0x12(r31) lbl_80306D84: /* 80306D84 003029E4 80 01 00 14 */ lwz r0, 0x14(r1) /* 80306D88 003029E8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80306D8C 003029EC 83 C1 00 08 */ lwz r30, 8(r1) /* 80306D90 003029F0 7C 08 03 A6 */ mtlr r0 /* 80306D94 003029F4 38 21 00 10 */ addi r1, r1, 0x10 /* 80306D98 003029F8 4E 80 00 20 */ blr .global VFipdm_disk_check_disk_handle VFipdm_disk_check_disk_handle: /* 80306D9C 003029FC 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 80306DA0 00302A00 54 64 04 2E */ rlwinm r4, r3, 0, 0x10, 0x17 /* 80306DA4 00302A04 28 00 00 1A */ cmplwi r0, 0x1a /* 80306DA8 00302A08 54 65 84 3E */ srwi r5, r3, 0x10 /* 80306DAC 00302A0C 40 80 00 28 */ bge lbl_80306DD4 /* 80306DB0 00302A10 28 04 03 00 */ cmplwi r4, 0x300 /* 80306DB4 00302A14 40 82 00 20 */ bne lbl_80306DD4 /* 80306DB8 00302A18 1C 00 00 34 */ mulli r0, r0, 0x34 /* 80306DBC 00302A1C 3C 60 80 58 */ lis r3, lbl_8057EA60@ha /* 80306DC0 00302A20 38 83 EA 60 */ addi r4, r3, lbl_8057EA60@l /* 80306DC4 00302A24 7C 64 02 14 */ add r3, r4, r0 /* 80306DC8 00302A28 80 03 01 B0 */ lwz r0, 0x1b0(r3) /* 80306DCC 00302A2C 7C 05 00 40 */ cmplw r5, r0 /* 80306DD0 00302A30 40 81 00 0C */ ble lbl_80306DDC lbl_80306DD4: /* 80306DD4 00302A34 38 60 00 01 */ li r3, 1 /* 80306DD8 00302A38 4E 80 00 20 */ blr lbl_80306DDC: /* 80306DDC 00302A3C 38 00 00 0D */ li r0, 0xd /* 80306DE0 00302A40 38 E3 01 A4 */ addi r7, r3, 0x1a4 /* 80306DE4 00302A44 38 60 00 00 */ li r3, 0 /* 80306DE8 00302A48 7C 09 03 A6 */ mtctr r0 lbl_80306DEC: /* 80306DEC 00302A4C 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c /* 80306DF0 00302A50 7C C4 02 14 */ add r6, r4, r0 /* 80306DF4 00302A54 80 06 00 08 */ lwz r0, 8(r6) /* 80306DF8 00302A58 7C 00 38 40 */ cmplw r0, r7 /* 80306DFC 00302A5C 40 82 00 10 */ bne lbl_80306E0C /* 80306E00 00302A60 80 06 00 04 */ lwz r0, 4(r6) /* 80306E04 00302A64 7C 05 00 40 */ cmplw r5, r0 /* 80306E08 00302A68 41 82 00 30 */ beq lbl_80306E38 lbl_80306E0C: /* 80306E0C 00302A6C 38 63 00 01 */ addi r3, r3, 1 /* 80306E10 00302A70 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c /* 80306E14 00302A74 7C C4 02 14 */ add r6, r4, r0 /* 80306E18 00302A78 80 06 00 08 */ lwz r0, 8(r6) /* 80306E1C 00302A7C 7C 00 38 40 */ cmplw r0, r7 /* 80306E20 00302A80 40 82 00 10 */ bne lbl_80306E30 /* 80306E24 00302A84 80 06 00 04 */ lwz r0, 4(r6) /* 80306E28 00302A88 7C 05 00 40 */ cmplw r5, r0 /* 80306E2C 00302A8C 41 82 00 0C */ beq lbl_80306E38 lbl_80306E30: /* 80306E30 00302A90 38 63 00 01 */ addi r3, r3, 1 /* 80306E34 00302A94 42 00 FF B8 */ bdnz lbl_80306DEC lbl_80306E38: /* 80306E38 00302A98 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 80306E3C 00302A9C 38 60 00 1A */ li r3, 0x1a /* 80306E40 00302AA0 38 04 FF E6 */ addi r0, r4, -26 /* 80306E44 00302AA4 7C 83 1B 38 */ orc r3, r4, r3 /* 80306E48 00302AA8 54 00 F8 7E */ srwi r0, r0, 1 /* 80306E4C 00302AAC 7C 00 18 50 */ subf r0, r0, r3 /* 80306E50 00302AB0 54 03 0F FE */ srwi r3, r0, 0x1f /* 80306E54 00302AB4 4E 80 00 20 */ blr .global VFipdm_disk_get_part_permission VFipdm_disk_get_part_permission: /* 80306E58 00302AB8 2C 03 00 00 */ cmpwi r3, 0 /* 80306E5C 00302ABC 40 82 00 0C */ bne lbl_80306E68 /* 80306E60 00302AC0 38 60 00 01 */ li r3, 1 /* 80306E64 00302AC4 4E 80 00 20 */ blr lbl_80306E68: /* 80306E68 00302AC8 54 67 06 3E */ clrlwi r7, r3, 0x18 /* 80306E6C 00302ACC 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 /* 80306E70 00302AD0 28 07 00 1A */ cmplwi r7, 0x1a /* 80306E74 00302AD4 54 68 84 3E */ srwi r8, r3, 0x10 /* 80306E78 00302AD8 40 80 00 28 */ bge lbl_80306EA0 /* 80306E7C 00302ADC 28 00 03 00 */ cmplwi r0, 0x300 /* 80306E80 00302AE0 40 82 00 20 */ bne lbl_80306EA0 /* 80306E84 00302AE4 1C 07 00 34 */ mulli r0, r7, 0x34 /* 80306E88 00302AE8 3C 80 80 58 */ lis r4, lbl_8057EA60@ha /* 80306E8C 00302AEC 38 A4 EA 60 */ addi r5, r4, lbl_8057EA60@l /* 80306E90 00302AF0 7C 85 02 14 */ add r4, r5, r0 /* 80306E94 00302AF4 80 04 01 B0 */ lwz r0, 0x1b0(r4) /* 80306E98 00302AF8 7C 08 00 40 */ cmplw r8, r0 /* 80306E9C 00302AFC 40 81 00 0C */ ble lbl_80306EA8 lbl_80306EA0: /* 80306EA0 00302B00 38 00 00 01 */ li r0, 1 /* 80306EA4 00302B04 48 00 00 7C */ b lbl_80306F20 lbl_80306EA8: /* 80306EA8 00302B08 38 00 00 0D */ li r0, 0xd /* 80306EAC 00302B0C 38 C4 01 A4 */ addi r6, r4, 0x1a4 /* 80306EB0 00302B10 38 80 00 00 */ li r4, 0 /* 80306EB4 00302B14 7C 09 03 A6 */ mtctr r0 lbl_80306EB8: /* 80306EB8 00302B18 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c /* 80306EBC 00302B1C 7D 25 02 14 */ add r9, r5, r0 /* 80306EC0 00302B20 80 09 00 08 */ lwz r0, 8(r9) /* 80306EC4 00302B24 7C 00 30 40 */ cmplw r0, r6 /* 80306EC8 00302B28 40 82 00 10 */ bne lbl_80306ED8 /* 80306ECC 00302B2C 80 09 00 04 */ lwz r0, 4(r9) /* 80306ED0 00302B30 7C 08 00 40 */ cmplw r8, r0 /* 80306ED4 00302B34 41 82 00 30 */ beq lbl_80306F04 lbl_80306ED8: /* 80306ED8 00302B38 38 84 00 01 */ addi r4, r4, 1 /* 80306EDC 00302B3C 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c /* 80306EE0 00302B40 7D 25 02 14 */ add r9, r5, r0 /* 80306EE4 00302B44 80 09 00 08 */ lwz r0, 8(r9) /* 80306EE8 00302B48 7C 00 30 40 */ cmplw r0, r6 /* 80306EEC 00302B4C 40 82 00 10 */ bne lbl_80306EFC /* 80306EF0 00302B50 80 09 00 04 */ lwz r0, 4(r9) /* 80306EF4 00302B54 7C 08 00 40 */ cmplw r8, r0 /* 80306EF8 00302B58 41 82 00 0C */ beq lbl_80306F04 lbl_80306EFC: /* 80306EFC 00302B5C 38 84 00 01 */ addi r4, r4, 1 /* 80306F00 00302B60 42 00 FF B8 */ bdnz lbl_80306EB8 lbl_80306F04: /* 80306F04 00302B64 54 85 04 3E */ clrlwi r5, r4, 0x10 /* 80306F08 00302B68 38 80 00 1A */ li r4, 0x1a /* 80306F0C 00302B6C 38 05 FF E6 */ addi r0, r5, -26 /* 80306F10 00302B70 7C A4 23 38 */ orc r4, r5, r4 /* 80306F14 00302B74 54 00 F8 7E */ srwi r0, r0, 1 /* 80306F18 00302B78 7C 00 20 50 */ subf r0, r0, r4 /* 80306F1C 00302B7C 54 00 0F FE */ srwi r0, r0, 0x1f lbl_80306F20: /* 80306F20 00302B80 2C 00 00 00 */ cmpwi r0, 0 /* 80306F24 00302B84 41 82 00 0C */ beq lbl_80306F30 /* 80306F28 00302B88 7C 03 03 78 */ mr r3, r0 /* 80306F2C 00302B8C 4E 80 00 20 */ blr lbl_80306F30: /* 80306F30 00302B90 1C 07 00 34 */ mulli r0, r7, 0x34 /* 80306F34 00302B94 3C 80 80 58 */ lis r4, lbl_8057EA60@ha /* 80306F38 00302B98 38 84 EA 60 */ addi r4, r4, lbl_8057EA60@l /* 80306F3C 00302B9C 7C 84 02 14 */ add r4, r4, r0 /* 80306F40 00302BA0 38 84 01 A4 */ addi r4, r4, 0x1a4 /* 80306F44 00302BA4 4B FF FD 3C */ b VFipdm_disk_do_get_permission /* 80306F48 00302BA8 4E 80 00 20 */ blr .global VFipdm_disk_release_part_permission VFipdm_disk_release_part_permission: /* 80306F4C 00302BAC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80306F50 00302BB0 7C 08 02 A6 */ mflr r0 /* 80306F54 00302BB4 2C 03 00 00 */ cmpwi r3, 0 /* 80306F58 00302BB8 90 01 00 14 */ stw r0, 0x14(r1) /* 80306F5C 00302BBC 93 E1 00 0C */ stw r31, 0xc(r1) /* 80306F60 00302BC0 7C 9F 23 78 */ mr r31, r4 /* 80306F64 00302BC4 93 C1 00 08 */ stw r30, 8(r1) /* 80306F68 00302BC8 40 82 00 0C */ bne lbl_80306F74 /* 80306F6C 00302BCC 38 60 00 01 */ li r3, 1 /* 80306F70 00302BD0 48 00 01 60 */ b lbl_803070D0 lbl_80306F74: /* 80306F74 00302BD4 54 67 06 3E */ clrlwi r7, r3, 0x18 /* 80306F78 00302BD8 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 /* 80306F7C 00302BDC 28 07 00 1A */ cmplwi r7, 0x1a /* 80306F80 00302BE0 54 68 84 3E */ srwi r8, r3, 0x10 /* 80306F84 00302BE4 40 80 00 28 */ bge lbl_80306FAC /* 80306F88 00302BE8 28 00 03 00 */ cmplwi r0, 0x300 /* 80306F8C 00302BEC 40 82 00 20 */ bne lbl_80306FAC /* 80306F90 00302BF0 1C 07 00 34 */ mulli r0, r7, 0x34 /* 80306F94 00302BF4 3C 80 80 58 */ lis r4, lbl_8057EA60@ha /* 80306F98 00302BF8 38 A4 EA 60 */ addi r5, r4, lbl_8057EA60@l /* 80306F9C 00302BFC 7C 85 02 14 */ add r4, r5, r0 /* 80306FA0 00302C00 80 04 01 B0 */ lwz r0, 0x1b0(r4) /* 80306FA4 00302C04 7C 08 00 40 */ cmplw r8, r0 /* 80306FA8 00302C08 40 81 00 0C */ ble lbl_80306FB4 lbl_80306FAC: /* 80306FAC 00302C0C 38 00 00 01 */ li r0, 1 /* 80306FB0 00302C10 48 00 00 7C */ b lbl_8030702C lbl_80306FB4: /* 80306FB4 00302C14 38 00 00 0D */ li r0, 0xd /* 80306FB8 00302C18 38 C4 01 A4 */ addi r6, r4, 0x1a4 /* 80306FBC 00302C1C 38 80 00 00 */ li r4, 0 /* 80306FC0 00302C20 7C 09 03 A6 */ mtctr r0 lbl_80306FC4: /* 80306FC4 00302C24 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c /* 80306FC8 00302C28 7D 25 02 14 */ add r9, r5, r0 /* 80306FCC 00302C2C 80 09 00 08 */ lwz r0, 8(r9) /* 80306FD0 00302C30 7C 00 30 40 */ cmplw r0, r6 /* 80306FD4 00302C34 40 82 00 10 */ bne lbl_80306FE4 /* 80306FD8 00302C38 80 09 00 04 */ lwz r0, 4(r9) /* 80306FDC 00302C3C 7C 08 00 40 */ cmplw r8, r0 /* 80306FE0 00302C40 41 82 00 30 */ beq lbl_80307010 lbl_80306FE4: /* 80306FE4 00302C44 38 84 00 01 */ addi r4, r4, 1 /* 80306FE8 00302C48 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c /* 80306FEC 00302C4C 7D 25 02 14 */ add r9, r5, r0 /* 80306FF0 00302C50 80 09 00 08 */ lwz r0, 8(r9) /* 80306FF4 00302C54 7C 00 30 40 */ cmplw r0, r6 /* 80306FF8 00302C58 40 82 00 10 */ bne lbl_80307008 /* 80306FFC 00302C5C 80 09 00 04 */ lwz r0, 4(r9) /* 80307000 00302C60 7C 08 00 40 */ cmplw r8, r0 /* 80307004 00302C64 41 82 00 0C */ beq lbl_80307010 lbl_80307008: /* 80307008 00302C68 38 84 00 01 */ addi r4, r4, 1 /* 8030700C 00302C6C 42 00 FF B8 */ bdnz lbl_80306FC4 lbl_80307010: /* 80307010 00302C70 54 85 04 3E */ clrlwi r5, r4, 0x10 /* 80307014 00302C74 38 80 00 1A */ li r4, 0x1a /* 80307018 00302C78 38 05 FF E6 */ addi r0, r5, -26 /* 8030701C 00302C7C 7C A4 23 38 */ orc r4, r5, r4 /* 80307020 00302C80 54 00 F8 7E */ srwi r0, r0, 1 /* 80307024 00302C84 7C 00 20 50 */ subf r0, r0, r4 /* 80307028 00302C88 54 00 0F FE */ srwi r0, r0, 0x1f lbl_8030702C: /* 8030702C 00302C8C 2C 00 00 00 */ cmpwi r0, 0 /* 80307030 00302C90 41 82 00 0C */ beq lbl_8030703C /* 80307034 00302C94 7C 03 03 78 */ mr r3, r0 /* 80307038 00302C98 48 00 00 98 */ b lbl_803070D0 lbl_8030703C: /* 8030703C 00302C9C 1C 07 00 34 */ mulli r0, r7, 0x34 /* 80307040 00302CA0 3C 80 80 58 */ lis r4, lbl_8057EA60@ha /* 80307044 00302CA4 38 84 EA 60 */ addi r4, r4, lbl_8057EA60@l /* 80307048 00302CA8 7F C4 02 14 */ add r30, r4, r0 /* 8030704C 00302CAC A0 1E 01 B6 */ lhz r0, 0x1b6(r30) /* 80307050 00302CB0 2C 00 00 00 */ cmpwi r0, 0 /* 80307054 00302CB4 40 82 00 0C */ bne lbl_80307060 /* 80307058 00302CB8 38 60 00 0E */ li r3, 0xe /* 8030705C 00302CBC 48 00 00 74 */ b lbl_803070D0 lbl_80307060: /* 80307060 00302CC0 28 00 00 01 */ cmplwi r0, 1 /* 80307064 00302CC4 38 80 00 00 */ li r4, 0 /* 80307068 00302CC8 40 82 00 34 */ bne lbl_8030709C /* 8030706C 00302CCC 80 9E 01 A8 */ lwz r4, 0x1a8(r30) /* 80307070 00302CD0 81 84 00 0C */ lwz r12, 0xc(r4) /* 80307074 00302CD4 7D 89 03 A6 */ mtctr r12 /* 80307078 00302CD8 4E 80 04 21 */ bctrl /* 8030707C 00302CDC 2C 03 00 00 */ cmpwi r3, 0 /* 80307080 00302CE0 7C 64 1B 78 */ mr r4, r3 /* 80307084 00302CE4 41 82 00 18 */ beq lbl_8030709C /* 80307088 00302CE8 80 7E 01 D4 */ lwz r3, 0x1d4(r30) /* 8030708C 00302CEC 2C 03 00 00 */ cmpwi r3, 0 /* 80307090 00302CF0 41 82 00 08 */ beq lbl_80307098 /* 80307094 00302CF4 48 00 17 25 */ bl VFipdm_part_set_driver_error_code lbl_80307098: /* 80307098 00302CF8 38 80 00 15 */ li r4, 0x15 lbl_8030709C: /* 8030709C 00302CFC 2C 04 00 00 */ cmpwi r4, 0 /* 803070A0 00302D00 41 82 00 0C */ beq lbl_803070AC /* 803070A4 00302D04 28 1F 00 01 */ cmplwi r31, 1 /* 803070A8 00302D08 40 82 00 24 */ bne lbl_803070CC lbl_803070AC: /* 803070AC 00302D0C A0 7E 01 B6 */ lhz r3, 0x1b6(r30) /* 803070B0 00302D10 38 63 FF FF */ addi r3, r3, -1 /* 803070B4 00302D14 54 60 04 3F */ clrlwi. r0, r3, 0x10 /* 803070B8 00302D18 B0 7E 01 B6 */ sth r3, 0x1b6(r30) /* 803070BC 00302D1C 40 82 00 10 */ bne lbl_803070CC /* 803070C0 00302D20 80 1E 01 A4 */ lwz r0, 0x1a4(r30) /* 803070C4 00302D24 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 803070C8 00302D28 90 1E 01 A4 */ stw r0, 0x1a4(r30) lbl_803070CC: /* 803070CC 00302D2C 7C 83 23 78 */ mr r3, r4 lbl_803070D0: /* 803070D0 00302D30 80 01 00 14 */ lwz r0, 0x14(r1) /* 803070D4 00302D34 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803070D8 00302D38 83 C1 00 08 */ lwz r30, 8(r1) /* 803070DC 00302D3C 7C 08 03 A6 */ mtlr r0 /* 803070E0 00302D40 38 21 00 10 */ addi r1, r1, 0x10 /* 803070E4 00302D44 4E 80 00 20 */ blr .global VFipdm_disk_physical_read VFipdm_disk_physical_read: /* 803070E8 00302D48 94 21 FF D0 */ stwu r1, -0x30(r1) /* 803070EC 00302D4C 7C 08 02 A6 */ mflr r0 /* 803070F0 00302D50 90 01 00 34 */ stw r0, 0x34(r1) /* 803070F4 00302D54 39 61 00 30 */ addi r11, r1, 0x30 /* 803070F8 00302D58 4B EC 00 31 */ bl _savegpr_27 /* 803070FC 00302D5C 2C 03 00 00 */ cmpwi r3, 0 /* 80307100 00302D60 7C 7C 1B 78 */ mr r28, r3 /* 80307104 00302D64 7C 9D 23 78 */ mr r29, r4 /* 80307108 00302D68 7C FE 3B 78 */ mr r30, r7 /* 8030710C 00302D6C 7D 1F 43 78 */ mr r31, r8 /* 80307110 00302D70 41 82 00 24 */ beq lbl_80307134 /* 80307114 00302D74 2C 04 00 00 */ cmpwi r4, 0 /* 80307118 00302D78 41 82 00 1C */ beq lbl_80307134 /* 8030711C 00302D7C 2C 06 00 00 */ cmpwi r6, 0 /* 80307120 00302D80 41 82 00 14 */ beq lbl_80307134 /* 80307124 00302D84 2C 07 00 00 */ cmpwi r7, 0 /* 80307128 00302D88 41 82 00 0C */ beq lbl_80307134 /* 8030712C 00302D8C 2C 08 00 00 */ cmpwi r8, 0 /* 80307130 00302D90 40 82 00 0C */ bne lbl_8030713C lbl_80307134: /* 80307134 00302D94 38 60 00 01 */ li r3, 1 /* 80307138 00302D98 48 00 01 70 */ b lbl_803072A8 lbl_8030713C: /* 8030713C 00302D9C 54 68 06 3E */ clrlwi r8, r3, 0x18 /* 80307140 00302DA0 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 /* 80307144 00302DA4 28 08 00 1A */ cmplwi r8, 0x1a /* 80307148 00302DA8 54 69 84 3E */ srwi r9, r3, 0x10 /* 8030714C 00302DAC 40 80 00 28 */ bge lbl_80307174 /* 80307150 00302DB0 28 00 03 00 */ cmplwi r0, 0x300 /* 80307154 00302DB4 40 82 00 20 */ bne lbl_80307174 /* 80307158 00302DB8 1C 08 00 34 */ mulli r0, r8, 0x34 /* 8030715C 00302DBC 3C 60 80 58 */ lis r3, lbl_8057EA60@ha /* 80307160 00302DC0 38 83 EA 60 */ addi r4, r3, lbl_8057EA60@l /* 80307164 00302DC4 7C 64 02 14 */ add r3, r4, r0 /* 80307168 00302DC8 80 03 01 B0 */ lwz r0, 0x1b0(r3) /* 8030716C 00302DCC 7C 09 00 40 */ cmplw r9, r0 /* 80307170 00302DD0 40 81 00 0C */ ble lbl_8030717C lbl_80307174: /* 80307174 00302DD4 38 60 00 01 */ li r3, 1 /* 80307178 00302DD8 48 00 00 7C */ b lbl_803071F4 lbl_8030717C: /* 8030717C 00302DDC 38 00 00 0D */ li r0, 0xd /* 80307180 00302DE0 38 E3 01 A4 */ addi r7, r3, 0x1a4 /* 80307184 00302DE4 38 60 00 00 */ li r3, 0 /* 80307188 00302DE8 7C 09 03 A6 */ mtctr r0 lbl_8030718C: /* 8030718C 00302DEC 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c /* 80307190 00302DF0 7D 44 02 14 */ add r10, r4, r0 /* 80307194 00302DF4 80 0A 00 08 */ lwz r0, 8(r10) /* 80307198 00302DF8 7C 00 38 40 */ cmplw r0, r7 /* 8030719C 00302DFC 40 82 00 10 */ bne lbl_803071AC /* 803071A0 00302E00 80 0A 00 04 */ lwz r0, 4(r10) /* 803071A4 00302E04 7C 09 00 40 */ cmplw r9, r0 /* 803071A8 00302E08 41 82 00 30 */ beq lbl_803071D8 lbl_803071AC: /* 803071AC 00302E0C 38 63 00 01 */ addi r3, r3, 1 /* 803071B0 00302E10 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c /* 803071B4 00302E14 7D 44 02 14 */ add r10, r4, r0 /* 803071B8 00302E18 80 0A 00 08 */ lwz r0, 8(r10) /* 803071BC 00302E1C 7C 00 38 40 */ cmplw r0, r7 /* 803071C0 00302E20 40 82 00 10 */ bne lbl_803071D0 /* 803071C4 00302E24 80 0A 00 04 */ lwz r0, 4(r10) /* 803071C8 00302E28 7C 09 00 40 */ cmplw r9, r0 /* 803071CC 00302E2C 41 82 00 0C */ beq lbl_803071D8 lbl_803071D0: /* 803071D0 00302E30 38 63 00 01 */ addi r3, r3, 1 /* 803071D4 00302E34 42 00 FF B8 */ bdnz lbl_8030718C lbl_803071D8: /* 803071D8 00302E38 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 803071DC 00302E3C 38 60 00 1A */ li r3, 0x1a /* 803071E0 00302E40 38 04 FF E6 */ addi r0, r4, -26 /* 803071E4 00302E44 7C 83 1B 38 */ orc r3, r4, r3 /* 803071E8 00302E48 54 00 F8 7E */ srwi r0, r0, 1 /* 803071EC 00302E4C 7C 00 18 50 */ subf r0, r0, r3 /* 803071F0 00302E50 54 03 0F FE */ srwi r3, r0, 0x1f lbl_803071F4: /* 803071F4 00302E54 2C 03 00 00 */ cmpwi r3, 0 /* 803071F8 00302E58 41 82 00 08 */ beq lbl_80307200 /* 803071FC 00302E5C 48 00 00 AC */ b lbl_803072A8 lbl_80307200: /* 80307200 00302E60 1C 08 00 34 */ mulli r0, r8, 0x34 /* 80307204 00302E64 3C 60 80 58 */ lis r3, lbl_8057EA60@ha /* 80307208 00302E68 7C A4 2B 78 */ mr r4, r5 /* 8030720C 00302E6C 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l /* 80307210 00302E70 7C 63 02 14 */ add r3, r3, r0 /* 80307214 00302E74 7C C5 33 78 */ mr r5, r6 /* 80307218 00302E78 3B 63 01 A4 */ addi r27, r3, 0x1a4 /* 8030721C 00302E7C 7F C6 F3 78 */ mr r6, r30 /* 80307220 00302E80 7F 63 DB 78 */ mr r3, r27 /* 80307224 00302E84 38 E1 00 10 */ addi r7, r1, 0x10 /* 80307228 00302E88 39 01 00 0C */ addi r8, r1, 0xc /* 8030722C 00302E8C 4B FF F8 F5 */ bl VFipdm_disk_convert_sector_into_block /* 80307230 00302E90 2C 03 00 00 */ cmpwi r3, 0 /* 80307234 00302E94 41 82 00 08 */ beq lbl_8030723C /* 80307238 00302E98 48 00 00 70 */ b lbl_803072A8 lbl_8030723C: /* 8030723C 00302E9C 80 BB 00 04 */ lwz r5, 4(r27) /* 80307240 00302EA0 7F 83 E3 78 */ mr r3, r28 /* 80307244 00302EA4 7F A4 EB 78 */ mr r4, r29 /* 80307248 00302EA8 7F E7 FB 78 */ mr r7, r31 /* 8030724C 00302EAC 81 85 00 14 */ lwz r12, 0x14(r5) /* 80307250 00302EB0 80 A1 00 10 */ lwz r5, 0x10(r1) /* 80307254 00302EB4 80 C1 00 0C */ lwz r6, 0xc(r1) /* 80307258 00302EB8 7D 89 03 A6 */ mtctr r12 /* 8030725C 00302EBC 4E 80 04 21 */ bctrl /* 80307260 00302EC0 80 81 00 10 */ lwz r4, 0x10(r1) /* 80307264 00302EC4 7C 7C 1B 78 */ mr r28, r3 /* 80307268 00302EC8 80 BF 00 00 */ lwz r5, 0(r31) /* 8030726C 00302ECC 7F 63 DB 78 */ mr r3, r27 /* 80307270 00302ED0 7F C6 F3 78 */ mr r6, r30 /* 80307274 00302ED4 7F E8 FB 78 */ mr r8, r31 /* 80307278 00302ED8 38 E1 00 08 */ addi r7, r1, 8 /* 8030727C 00302EDC 4B FF F9 55 */ bl VFipdm_disk_convert_block_into_sector /* 80307280 00302EE0 2C 1C 00 00 */ cmpwi r28, 0 /* 80307284 00302EE4 41 82 00 20 */ beq lbl_803072A4 /* 80307288 00302EE8 80 7B 00 30 */ lwz r3, 0x30(r27) /* 8030728C 00302EEC 2C 03 00 00 */ cmpwi r3, 0 /* 80307290 00302EF0 41 82 00 0C */ beq lbl_8030729C /* 80307294 00302EF4 7F 84 E3 78 */ mr r4, r28 /* 80307298 00302EF8 48 00 15 21 */ bl VFipdm_part_set_driver_error_code lbl_8030729C: /* 8030729C 00302EFC 38 60 00 15 */ li r3, 0x15 /* 803072A0 00302F00 48 00 00 08 */ b lbl_803072A8 lbl_803072A4: /* 803072A4 00302F04 38 60 00 00 */ li r3, 0 lbl_803072A8: /* 803072A8 00302F08 39 61 00 30 */ addi r11, r1, 0x30 /* 803072AC 00302F0C 4B EB FE C9 */ bl _restgpr_27 /* 803072B0 00302F10 80 01 00 34 */ lwz r0, 0x34(r1) /* 803072B4 00302F14 7C 08 03 A6 */ mtlr r0 /* 803072B8 00302F18 38 21 00 30 */ addi r1, r1, 0x30 /* 803072BC 00302F1C 4E 80 00 20 */ blr .global VFipdm_disk_physical_write VFipdm_disk_physical_write: /* 803072C0 00302F20 94 21 FF D0 */ stwu r1, -0x30(r1) /* 803072C4 00302F24 7C 08 02 A6 */ mflr r0 /* 803072C8 00302F28 90 01 00 34 */ stw r0, 0x34(r1) /* 803072CC 00302F2C 39 61 00 30 */ addi r11, r1, 0x30 /* 803072D0 00302F30 4B EB FE 59 */ bl _savegpr_27 /* 803072D4 00302F34 2C 03 00 00 */ cmpwi r3, 0 /* 803072D8 00302F38 7C 7C 1B 78 */ mr r28, r3 /* 803072DC 00302F3C 7C 9D 23 78 */ mr r29, r4 /* 803072E0 00302F40 7C FE 3B 78 */ mr r30, r7 /* 803072E4 00302F44 7D 1F 43 78 */ mr r31, r8 /* 803072E8 00302F48 41 82 00 24 */ beq lbl_8030730C /* 803072EC 00302F4C 2C 04 00 00 */ cmpwi r4, 0 /* 803072F0 00302F50 41 82 00 1C */ beq lbl_8030730C /* 803072F4 00302F54 2C 06 00 00 */ cmpwi r6, 0 /* 803072F8 00302F58 41 82 00 14 */ beq lbl_8030730C /* 803072FC 00302F5C 2C 07 00 00 */ cmpwi r7, 0 /* 80307300 00302F60 41 82 00 0C */ beq lbl_8030730C /* 80307304 00302F64 2C 08 00 00 */ cmpwi r8, 0 /* 80307308 00302F68 40 82 00 0C */ bne lbl_80307314 lbl_8030730C: /* 8030730C 00302F6C 38 60 00 01 */ li r3, 1 /* 80307310 00302F70 48 00 01 70 */ b lbl_80307480 lbl_80307314: /* 80307314 00302F74 54 68 06 3E */ clrlwi r8, r3, 0x18 /* 80307318 00302F78 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 /* 8030731C 00302F7C 28 08 00 1A */ cmplwi r8, 0x1a /* 80307320 00302F80 54 69 84 3E */ srwi r9, r3, 0x10 /* 80307324 00302F84 40 80 00 28 */ bge lbl_8030734C /* 80307328 00302F88 28 00 03 00 */ cmplwi r0, 0x300 /* 8030732C 00302F8C 40 82 00 20 */ bne lbl_8030734C /* 80307330 00302F90 1C 08 00 34 */ mulli r0, r8, 0x34 /* 80307334 00302F94 3C 60 80 58 */ lis r3, lbl_8057EA60@ha /* 80307338 00302F98 38 83 EA 60 */ addi r4, r3, lbl_8057EA60@l /* 8030733C 00302F9C 7C 64 02 14 */ add r3, r4, r0 /* 80307340 00302FA0 80 03 01 B0 */ lwz r0, 0x1b0(r3) /* 80307344 00302FA4 7C 09 00 40 */ cmplw r9, r0 /* 80307348 00302FA8 40 81 00 0C */ ble lbl_80307354 lbl_8030734C: /* 8030734C 00302FAC 38 60 00 01 */ li r3, 1 /* 80307350 00302FB0 48 00 00 7C */ b lbl_803073CC lbl_80307354: /* 80307354 00302FB4 38 00 00 0D */ li r0, 0xd /* 80307358 00302FB8 38 E3 01 A4 */ addi r7, r3, 0x1a4 /* 8030735C 00302FBC 38 60 00 00 */ li r3, 0 /* 80307360 00302FC0 7C 09 03 A6 */ mtctr r0 lbl_80307364: /* 80307364 00302FC4 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c /* 80307368 00302FC8 7D 44 02 14 */ add r10, r4, r0 /* 8030736C 00302FCC 80 0A 00 08 */ lwz r0, 8(r10) /* 80307370 00302FD0 7C 00 38 40 */ cmplw r0, r7 /* 80307374 00302FD4 40 82 00 10 */ bne lbl_80307384 /* 80307378 00302FD8 80 0A 00 04 */ lwz r0, 4(r10) /* 8030737C 00302FDC 7C 09 00 40 */ cmplw r9, r0 /* 80307380 00302FE0 41 82 00 30 */ beq lbl_803073B0 lbl_80307384: /* 80307384 00302FE4 38 63 00 01 */ addi r3, r3, 1 /* 80307388 00302FE8 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c /* 8030738C 00302FEC 7D 44 02 14 */ add r10, r4, r0 /* 80307390 00302FF0 80 0A 00 08 */ lwz r0, 8(r10) /* 80307394 00302FF4 7C 00 38 40 */ cmplw r0, r7 /* 80307398 00302FF8 40 82 00 10 */ bne lbl_803073A8 /* 8030739C 00302FFC 80 0A 00 04 */ lwz r0, 4(r10) /* 803073A0 00303000 7C 09 00 40 */ cmplw r9, r0 /* 803073A4 00303004 41 82 00 0C */ beq lbl_803073B0 lbl_803073A8: /* 803073A8 00303008 38 63 00 01 */ addi r3, r3, 1 /* 803073AC 0030300C 42 00 FF B8 */ bdnz lbl_80307364 lbl_803073B0: /* 803073B0 00303010 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 803073B4 00303014 38 60 00 1A */ li r3, 0x1a /* 803073B8 00303018 38 04 FF E6 */ addi r0, r4, -26 /* 803073BC 0030301C 7C 83 1B 38 */ orc r3, r4, r3 /* 803073C0 00303020 54 00 F8 7E */ srwi r0, r0, 1 /* 803073C4 00303024 7C 00 18 50 */ subf r0, r0, r3 /* 803073C8 00303028 54 03 0F FE */ srwi r3, r0, 0x1f lbl_803073CC: /* 803073CC 0030302C 2C 03 00 00 */ cmpwi r3, 0 /* 803073D0 00303030 41 82 00 08 */ beq lbl_803073D8 /* 803073D4 00303034 48 00 00 AC */ b lbl_80307480 lbl_803073D8: /* 803073D8 00303038 1C 08 00 34 */ mulli r0, r8, 0x34 /* 803073DC 0030303C 3C 60 80 58 */ lis r3, lbl_8057EA60@ha /* 803073E0 00303040 7C A4 2B 78 */ mr r4, r5 /* 803073E4 00303044 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l /* 803073E8 00303048 7C 63 02 14 */ add r3, r3, r0 /* 803073EC 0030304C 7C C5 33 78 */ mr r5, r6 /* 803073F0 00303050 3B 63 01 A4 */ addi r27, r3, 0x1a4 /* 803073F4 00303054 7F C6 F3 78 */ mr r6, r30 /* 803073F8 00303058 7F 63 DB 78 */ mr r3, r27 /* 803073FC 0030305C 38 E1 00 10 */ addi r7, r1, 0x10 /* 80307400 00303060 39 01 00 0C */ addi r8, r1, 0xc /* 80307404 00303064 4B FF F7 1D */ bl VFipdm_disk_convert_sector_into_block /* 80307408 00303068 2C 03 00 00 */ cmpwi r3, 0 /* 8030740C 0030306C 41 82 00 08 */ beq lbl_80307414 /* 80307410 00303070 48 00 00 70 */ b lbl_80307480 lbl_80307414: /* 80307414 00303074 80 BB 00 04 */ lwz r5, 4(r27) /* 80307418 00303078 7F 83 E3 78 */ mr r3, r28 /* 8030741C 0030307C 7F A4 EB 78 */ mr r4, r29 /* 80307420 00303080 7F E7 FB 78 */ mr r7, r31 /* 80307424 00303084 81 85 00 18 */ lwz r12, 0x18(r5) /* 80307428 00303088 80 A1 00 10 */ lwz r5, 0x10(r1) /* 8030742C 0030308C 80 C1 00 0C */ lwz r6, 0xc(r1) /* 80307430 00303090 7D 89 03 A6 */ mtctr r12 /* 80307434 00303094 4E 80 04 21 */ bctrl /* 80307438 00303098 80 81 00 10 */ lwz r4, 0x10(r1) /* 8030743C 0030309C 7C 7C 1B 78 */ mr r28, r3 /* 80307440 003030A0 80 BF 00 00 */ lwz r5, 0(r31) /* 80307444 003030A4 7F 63 DB 78 */ mr r3, r27 /* 80307448 003030A8 7F C6 F3 78 */ mr r6, r30 /* 8030744C 003030AC 7F E8 FB 78 */ mr r8, r31 /* 80307450 003030B0 38 E1 00 08 */ addi r7, r1, 8 /* 80307454 003030B4 4B FF F7 7D */ bl VFipdm_disk_convert_block_into_sector /* 80307458 003030B8 2C 1C 00 00 */ cmpwi r28, 0 /* 8030745C 003030BC 41 82 00 20 */ beq lbl_8030747C /* 80307460 003030C0 80 7B 00 30 */ lwz r3, 0x30(r27) /* 80307464 003030C4 2C 03 00 00 */ cmpwi r3, 0 /* 80307468 003030C8 41 82 00 0C */ beq lbl_80307474 /* 8030746C 003030CC 7F 84 E3 78 */ mr r4, r28 /* 80307470 003030D0 48 00 13 49 */ bl VFipdm_part_set_driver_error_code lbl_80307474: /* 80307474 003030D4 38 60 00 15 */ li r3, 0x15 /* 80307478 003030D8 48 00 00 08 */ b lbl_80307480 lbl_8030747C: /* 8030747C 003030DC 38 60 00 00 */ li r3, 0 lbl_80307480: /* 80307480 003030E0 39 61 00 30 */ addi r11, r1, 0x30 /* 80307484 003030E4 4B EB FC F1 */ bl _restgpr_27 /* 80307488 003030E8 80 01 00 34 */ lwz r0, 0x34(r1) /* 8030748C 003030EC 7C 08 03 A6 */ mtlr r0 /* 80307490 003030F0 38 21 00 30 */ addi r1, r1, 0x30 /* 80307494 003030F4 4E 80 00 20 */ blr .global VFipdm_disk_format VFipdm_disk_format: /* 80307498 003030F8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8030749C 003030FC 7C 08 02 A6 */ mflr r0 /* 803074A0 00303100 2C 03 00 00 */ cmpwi r3, 0 /* 803074A4 00303104 90 01 00 14 */ stw r0, 0x14(r1) /* 803074A8 00303108 93 E1 00 0C */ stw r31, 0xc(r1) /* 803074AC 0030310C 40 82 00 0C */ bne lbl_803074B8 /* 803074B0 00303110 38 60 00 01 */ li r3, 1 /* 803074B4 00303114 48 00 01 14 */ b lbl_803075C8 lbl_803074B8: /* 803074B8 00303118 54 68 06 3E */ clrlwi r8, r3, 0x18 /* 803074BC 0030311C 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 /* 803074C0 00303120 28 08 00 1A */ cmplwi r8, 0x1a /* 803074C4 00303124 54 69 84 3E */ srwi r9, r3, 0x10 /* 803074C8 00303128 40 80 00 28 */ bge lbl_803074F0 /* 803074CC 0030312C 28 00 03 00 */ cmplwi r0, 0x300 /* 803074D0 00303130 40 82 00 20 */ bne lbl_803074F0 /* 803074D4 00303134 1C 08 00 34 */ mulli r0, r8, 0x34 /* 803074D8 00303138 3C A0 80 58 */ lis r5, lbl_8057EA60@ha /* 803074DC 0030313C 38 C5 EA 60 */ addi r6, r5, lbl_8057EA60@l /* 803074E0 00303140 7C A6 02 14 */ add r5, r6, r0 /* 803074E4 00303144 80 05 01 B0 */ lwz r0, 0x1b0(r5) /* 803074E8 00303148 7C 09 00 40 */ cmplw r9, r0 /* 803074EC 0030314C 40 81 00 0C */ ble lbl_803074F8 lbl_803074F0: /* 803074F0 00303150 38 00 00 01 */ li r0, 1 /* 803074F4 00303154 48 00 00 7C */ b lbl_80307570 lbl_803074F8: /* 803074F8 00303158 38 00 00 0D */ li r0, 0xd /* 803074FC 0030315C 38 E5 01 A4 */ addi r7, r5, 0x1a4 /* 80307500 00303160 38 A0 00 00 */ li r5, 0 /* 80307504 00303164 7C 09 03 A6 */ mtctr r0 lbl_80307508: /* 80307508 00303168 54 A0 1B 78 */ rlwinm r0, r5, 3, 0xd, 0x1c /* 8030750C 0030316C 7D 46 02 14 */ add r10, r6, r0 /* 80307510 00303170 80 0A 00 08 */ lwz r0, 8(r10) /* 80307514 00303174 7C 00 38 40 */ cmplw r0, r7 /* 80307518 00303178 40 82 00 10 */ bne lbl_80307528 /* 8030751C 0030317C 80 0A 00 04 */ lwz r0, 4(r10) /* 80307520 00303180 7C 09 00 40 */ cmplw r9, r0 /* 80307524 00303184 41 82 00 30 */ beq lbl_80307554 lbl_80307528: /* 80307528 00303188 38 A5 00 01 */ addi r5, r5, 1 /* 8030752C 0030318C 54 A0 1B 78 */ rlwinm r0, r5, 3, 0xd, 0x1c /* 80307530 00303190 7D 46 02 14 */ add r10, r6, r0 /* 80307534 00303194 80 0A 00 08 */ lwz r0, 8(r10) /* 80307538 00303198 7C 00 38 40 */ cmplw r0, r7 /* 8030753C 0030319C 40 82 00 10 */ bne lbl_8030754C /* 80307540 003031A0 80 0A 00 04 */ lwz r0, 4(r10) /* 80307544 003031A4 7C 09 00 40 */ cmplw r9, r0 /* 80307548 003031A8 41 82 00 0C */ beq lbl_80307554 lbl_8030754C: /* 8030754C 003031AC 38 A5 00 01 */ addi r5, r5, 1 /* 80307550 003031B0 42 00 FF B8 */ bdnz lbl_80307508 lbl_80307554: /* 80307554 003031B4 54 A6 04 3E */ clrlwi r6, r5, 0x10 /* 80307558 003031B8 38 A0 00 1A */ li r5, 0x1a /* 8030755C 003031BC 38 06 FF E6 */ addi r0, r6, -26 /* 80307560 003031C0 7C C5 2B 38 */ orc r5, r6, r5 /* 80307564 003031C4 54 00 F8 7E */ srwi r0, r0, 1 /* 80307568 003031C8 7C 00 28 50 */ subf r0, r0, r5 /* 8030756C 003031CC 54 00 0F FE */ srwi r0, r0, 0x1f lbl_80307570: /* 80307570 003031D0 2C 00 00 00 */ cmpwi r0, 0 /* 80307574 003031D4 41 82 00 0C */ beq lbl_80307580 /* 80307578 003031D8 7C 03 03 78 */ mr r3, r0 /* 8030757C 003031DC 48 00 00 4C */ b lbl_803075C8 lbl_80307580: /* 80307580 003031E0 1C 08 00 34 */ mulli r0, r8, 0x34 /* 80307584 003031E4 3C A0 80 58 */ lis r5, lbl_8057EA60@ha /* 80307588 003031E8 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l /* 8030758C 003031EC 7F E5 02 14 */ add r31, r5, r0 /* 80307590 003031F0 80 BF 01 A8 */ lwz r5, 0x1a8(r31) /* 80307594 003031F4 81 85 00 10 */ lwz r12, 0x10(r5) /* 80307598 003031F8 7D 89 03 A6 */ mtctr r12 /* 8030759C 003031FC 4E 80 04 21 */ bctrl /* 803075A0 00303200 2C 03 00 00 */ cmpwi r3, 0 /* 803075A4 00303204 7C 64 1B 78 */ mr r4, r3 /* 803075A8 00303208 41 82 00 1C */ beq lbl_803075C4 /* 803075AC 0030320C 80 7F 01 D4 */ lwz r3, 0x1d4(r31) /* 803075B0 00303210 2C 03 00 00 */ cmpwi r3, 0 /* 803075B4 00303214 41 82 00 08 */ beq lbl_803075BC /* 803075B8 00303218 48 00 12 01 */ bl VFipdm_part_set_driver_error_code lbl_803075BC: /* 803075BC 0030321C 38 60 00 15 */ li r3, 0x15 /* 803075C0 00303220 48 00 00 08 */ b lbl_803075C8 lbl_803075C4: /* 803075C4 00303224 38 60 00 00 */ li r3, 0 lbl_803075C8: /* 803075C8 00303228 80 01 00 14 */ lwz r0, 0x14(r1) /* 803075CC 0030322C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803075D0 00303230 7C 08 03 A6 */ mtlr r0 /* 803075D4 00303234 38 21 00 10 */ addi r1, r1, 0x10 /* 803075D8 00303238 4E 80 00 20 */ blr .global VFipdm_disk_get_lba_size VFipdm_disk_get_lba_size: /* 803075DC 0030323C 2C 03 00 00 */ cmpwi r3, 0 /* 803075E0 00303240 41 82 00 0C */ beq lbl_803075EC /* 803075E4 00303244 2C 04 00 00 */ cmpwi r4, 0 /* 803075E8 00303248 40 82 00 0C */ bne lbl_803075F4 lbl_803075EC: /* 803075EC 0030324C 38 60 00 01 */ li r3, 1 /* 803075F0 00303250 4E 80 00 20 */ blr lbl_803075F4: /* 803075F4 00303254 54 67 06 3E */ clrlwi r7, r3, 0x18 /* 803075F8 00303258 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 /* 803075FC 0030325C 28 07 00 1A */ cmplwi r7, 0x1a /* 80307600 00303260 54 68 84 3E */ srwi r8, r3, 0x10 /* 80307604 00303264 40 80 00 28 */ bge lbl_8030762C /* 80307608 00303268 28 00 03 00 */ cmplwi r0, 0x300 /* 8030760C 0030326C 40 82 00 20 */ bne lbl_8030762C /* 80307610 00303270 1C 07 00 34 */ mulli r0, r7, 0x34 /* 80307614 00303274 3C 60 80 58 */ lis r3, lbl_8057EA60@ha /* 80307618 00303278 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l /* 8030761C 0030327C 7C 65 02 14 */ add r3, r5, r0 /* 80307620 00303280 80 03 01 B0 */ lwz r0, 0x1b0(r3) /* 80307624 00303284 7C 08 00 40 */ cmplw r8, r0 /* 80307628 00303288 40 81 00 0C */ ble lbl_80307634 lbl_8030762C: /* 8030762C 0030328C 38 60 00 01 */ li r3, 1 /* 80307630 00303290 48 00 00 7C */ b lbl_803076AC lbl_80307634: /* 80307634 00303294 38 00 00 0D */ li r0, 0xd /* 80307638 00303298 38 C3 01 A4 */ addi r6, r3, 0x1a4 /* 8030763C 0030329C 38 60 00 00 */ li r3, 0 /* 80307640 003032A0 7C 09 03 A6 */ mtctr r0 lbl_80307644: /* 80307644 003032A4 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c /* 80307648 003032A8 7D 25 02 14 */ add r9, r5, r0 /* 8030764C 003032AC 80 09 00 08 */ lwz r0, 8(r9) /* 80307650 003032B0 7C 00 30 40 */ cmplw r0, r6 /* 80307654 003032B4 40 82 00 10 */ bne lbl_80307664 /* 80307658 003032B8 80 09 00 04 */ lwz r0, 4(r9) /* 8030765C 003032BC 7C 08 00 40 */ cmplw r8, r0 /* 80307660 003032C0 41 82 00 30 */ beq lbl_80307690 lbl_80307664: /* 80307664 003032C4 38 63 00 01 */ addi r3, r3, 1 /* 80307668 003032C8 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c /* 8030766C 003032CC 7D 25 02 14 */ add r9, r5, r0 /* 80307670 003032D0 80 09 00 08 */ lwz r0, 8(r9) /* 80307674 003032D4 7C 00 30 40 */ cmplw r0, r6 /* 80307678 003032D8 40 82 00 10 */ bne lbl_80307688 /* 8030767C 003032DC 80 09 00 04 */ lwz r0, 4(r9) /* 80307680 003032E0 7C 08 00 40 */ cmplw r8, r0 /* 80307684 003032E4 41 82 00 0C */ beq lbl_80307690 lbl_80307688: /* 80307688 003032E8 38 63 00 01 */ addi r3, r3, 1 /* 8030768C 003032EC 42 00 FF B8 */ bdnz lbl_80307644 lbl_80307690: /* 80307690 003032F0 54 65 04 3E */ clrlwi r5, r3, 0x10 /* 80307694 003032F4 38 60 00 1A */ li r3, 0x1a /* 80307698 003032F8 38 05 FF E6 */ addi r0, r5, -26 /* 8030769C 003032FC 7C A3 1B 38 */ orc r3, r5, r3 /* 803076A0 00303300 54 00 F8 7E */ srwi r0, r0, 1 /* 803076A4 00303304 7C 00 18 50 */ subf r0, r0, r3 /* 803076A8 00303308 54 03 0F FE */ srwi r3, r0, 0x1f lbl_803076AC: /* 803076AC 0030330C 2C 03 00 00 */ cmpwi r3, 0 /* 803076B0 00303310 4C 82 00 20 */ bnelr /* 803076B4 00303314 1C 07 00 34 */ mulli r0, r7, 0x34 /* 803076B8 00303318 3C A0 80 58 */ lis r5, lbl_8057EA60@ha /* 803076BC 0030331C 38 60 00 00 */ li r3, 0 /* 803076C0 00303320 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l /* 803076C4 00303324 7C A5 02 14 */ add r5, r5, r0 /* 803076C8 00303328 A0 05 01 C4 */ lhz r0, 0x1c4(r5) /* 803076CC 0030332C B0 04 00 00 */ sth r0, 0(r4) /* 803076D0 00303330 4E 80 00 20 */ blr .global VFipdm_disk_get_media_information VFipdm_disk_get_media_information: /* 803076D4 00303334 2C 03 00 00 */ cmpwi r3, 0 /* 803076D8 00303338 41 82 00 0C */ beq lbl_803076E4 /* 803076DC 0030333C 2C 04 00 00 */ cmpwi r4, 0 /* 803076E0 00303340 40 82 00 0C */ bne lbl_803076EC lbl_803076E4: /* 803076E4 00303344 38 60 00 01 */ li r3, 1 /* 803076E8 00303348 4E 80 00 20 */ blr lbl_803076EC: /* 803076EC 0030334C 54 67 06 3E */ clrlwi r7, r3, 0x18 /* 803076F0 00303350 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 /* 803076F4 00303354 28 07 00 1A */ cmplwi r7, 0x1a /* 803076F8 00303358 54 68 84 3E */ srwi r8, r3, 0x10 /* 803076FC 0030335C 40 80 00 28 */ bge lbl_80307724 /* 80307700 00303360 28 00 03 00 */ cmplwi r0, 0x300 /* 80307704 00303364 40 82 00 20 */ bne lbl_80307724 /* 80307708 00303368 1C 07 00 34 */ mulli r0, r7, 0x34 /* 8030770C 0030336C 3C 60 80 58 */ lis r3, lbl_8057EA60@ha /* 80307710 00303370 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l /* 80307714 00303374 7C 65 02 14 */ add r3, r5, r0 /* 80307718 00303378 80 03 01 B0 */ lwz r0, 0x1b0(r3) /* 8030771C 0030337C 7C 08 00 40 */ cmplw r8, r0 /* 80307720 00303380 40 81 00 0C */ ble lbl_8030772C lbl_80307724: /* 80307724 00303384 38 60 00 01 */ li r3, 1 /* 80307728 00303388 48 00 00 7C */ b lbl_803077A4 lbl_8030772C: /* 8030772C 0030338C 38 00 00 0D */ li r0, 0xd /* 80307730 00303390 38 C3 01 A4 */ addi r6, r3, 0x1a4 /* 80307734 00303394 38 60 00 00 */ li r3, 0 /* 80307738 00303398 7C 09 03 A6 */ mtctr r0 lbl_8030773C: /* 8030773C 0030339C 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c /* 80307740 003033A0 7D 25 02 14 */ add r9, r5, r0 /* 80307744 003033A4 80 09 00 08 */ lwz r0, 8(r9) /* 80307748 003033A8 7C 00 30 40 */ cmplw r0, r6 /* 8030774C 003033AC 40 82 00 10 */ bne lbl_8030775C /* 80307750 003033B0 80 09 00 04 */ lwz r0, 4(r9) /* 80307754 003033B4 7C 08 00 40 */ cmplw r8, r0 /* 80307758 003033B8 41 82 00 30 */ beq lbl_80307788 lbl_8030775C: /* 8030775C 003033BC 38 63 00 01 */ addi r3, r3, 1 /* 80307760 003033C0 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c /* 80307764 003033C4 7D 25 02 14 */ add r9, r5, r0 /* 80307768 003033C8 80 09 00 08 */ lwz r0, 8(r9) /* 8030776C 003033CC 7C 00 30 40 */ cmplw r0, r6 /* 80307770 003033D0 40 82 00 10 */ bne lbl_80307780 /* 80307774 003033D4 80 09 00 04 */ lwz r0, 4(r9) /* 80307778 003033D8 7C 08 00 40 */ cmplw r8, r0 /* 8030777C 003033DC 41 82 00 0C */ beq lbl_80307788 lbl_80307780: /* 80307780 003033E0 38 63 00 01 */ addi r3, r3, 1 /* 80307784 003033E4 42 00 FF B8 */ bdnz lbl_8030773C lbl_80307788: /* 80307788 003033E8 54 65 04 3E */ clrlwi r5, r3, 0x10 /* 8030778C 003033EC 38 60 00 1A */ li r3, 0x1a /* 80307790 003033F0 38 05 FF E6 */ addi r0, r5, -26 /* 80307794 003033F4 7C A3 1B 38 */ orc r3, r5, r3 /* 80307798 003033F8 54 00 F8 7E */ srwi r0, r0, 1 /* 8030779C 003033FC 7C 00 18 50 */ subf r0, r0, r3 /* 803077A0 00303400 54 03 0F FE */ srwi r3, r0, 0x1f lbl_803077A4: /* 803077A4 00303404 2C 03 00 00 */ cmpwi r3, 0 /* 803077A8 00303408 4C 82 00 20 */ bnelr /* 803077AC 0030340C 1C 07 00 34 */ mulli r0, r7, 0x34 /* 803077B0 00303410 3C A0 80 58 */ lis r5, lbl_8057EA60@ha /* 803077B4 00303414 38 60 00 00 */ li r3, 0 /* 803077B8 00303418 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l /* 803077BC 0030341C 7C C5 02 14 */ add r6, r5, r0 /* 803077C0 00303420 80 A6 01 BC */ lwz r5, 0x1bc(r6) /* 803077C4 00303424 80 06 01 C0 */ lwz r0, 0x1c0(r6) /* 803077C8 00303428 90 A4 00 00 */ stw r5, 0(r4) /* 803077CC 0030342C 90 04 00 04 */ stw r0, 4(r4) /* 803077D0 00303430 80 A6 01 C4 */ lwz r5, 0x1c4(r6) /* 803077D4 00303434 80 06 01 C8 */ lwz r0, 0x1c8(r6) /* 803077D8 00303438 90 A4 00 08 */ stw r5, 8(r4) /* 803077DC 0030343C 90 04 00 0C */ stw r0, 0xc(r4) /* 803077E0 00303440 80 06 01 CC */ lwz r0, 0x1cc(r6) /* 803077E4 00303444 90 04 00 10 */ stw r0, 0x10(r4) /* 803077E8 00303448 4E 80 00 20 */ blr .global VFipdm_disk_set_disk VFipdm_disk_set_disk: /* 803077EC 0030344C 2C 03 00 00 */ cmpwi r3, 0 /* 803077F0 00303450 41 82 00 0C */ beq lbl_803077FC /* 803077F4 00303454 2C 04 00 00 */ cmpwi r4, 0 /* 803077F8 00303458 40 82 00 0C */ bne lbl_80307804 lbl_803077FC: /* 803077FC 0030345C 38 60 00 01 */ li r3, 1 /* 80307800 00303460 4E 80 00 20 */ blr lbl_80307804: /* 80307804 00303464 54 67 06 3E */ clrlwi r7, r3, 0x18 /* 80307808 00303468 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17 /* 8030780C 0030346C 28 07 00 1A */ cmplwi r7, 0x1a /* 80307810 00303470 54 68 84 3E */ srwi r8, r3, 0x10 /* 80307814 00303474 40 80 00 28 */ bge lbl_8030783C /* 80307818 00303478 28 00 03 00 */ cmplwi r0, 0x300 /* 8030781C 0030347C 40 82 00 20 */ bne lbl_8030783C /* 80307820 00303480 1C 07 00 34 */ mulli r0, r7, 0x34 /* 80307824 00303484 3C 60 80 58 */ lis r3, lbl_8057EA60@ha /* 80307828 00303488 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l /* 8030782C 0030348C 7C 65 02 14 */ add r3, r5, r0 /* 80307830 00303490 80 03 01 B0 */ lwz r0, 0x1b0(r3) /* 80307834 00303494 7C 08 00 40 */ cmplw r8, r0 /* 80307838 00303498 40 81 00 0C */ ble lbl_80307844 lbl_8030783C: /* 8030783C 0030349C 38 60 00 01 */ li r3, 1 /* 80307840 003034A0 48 00 00 7C */ b lbl_803078BC lbl_80307844: /* 80307844 003034A4 38 00 00 0D */ li r0, 0xd /* 80307848 003034A8 38 C3 01 A4 */ addi r6, r3, 0x1a4 /* 8030784C 003034AC 38 60 00 00 */ li r3, 0 /* 80307850 003034B0 7C 09 03 A6 */ mtctr r0 lbl_80307854: /* 80307854 003034B4 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c /* 80307858 003034B8 7D 25 02 14 */ add r9, r5, r0 /* 8030785C 003034BC 80 09 00 08 */ lwz r0, 8(r9) /* 80307860 003034C0 7C 00 30 40 */ cmplw r0, r6 /* 80307864 003034C4 40 82 00 10 */ bne lbl_80307874 /* 80307868 003034C8 80 09 00 04 */ lwz r0, 4(r9) /* 8030786C 003034CC 7C 08 00 40 */ cmplw r8, r0 /* 80307870 003034D0 41 82 00 30 */ beq lbl_803078A0 lbl_80307874: /* 80307874 003034D4 38 63 00 01 */ addi r3, r3, 1 /* 80307878 003034D8 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c /* 8030787C 003034DC 7D 25 02 14 */ add r9, r5, r0 /* 80307880 003034E0 80 09 00 08 */ lwz r0, 8(r9) /* 80307884 003034E4 7C 00 30 40 */ cmplw r0, r6 /* 80307888 003034E8 40 82 00 10 */ bne lbl_80307898 /* 8030788C 003034EC 80 09 00 04 */ lwz r0, 4(r9) /* 80307890 003034F0 7C 08 00 40 */ cmplw r8, r0 /* 80307894 003034F4 41 82 00 0C */ beq lbl_803078A0 lbl_80307898: /* 80307898 003034F8 38 63 00 01 */ addi r3, r3, 1 /* 8030789C 003034FC 42 00 FF B8 */ bdnz lbl_80307854 lbl_803078A0: /* 803078A0 00303500 54 65 04 3E */ clrlwi r5, r3, 0x10 /* 803078A4 00303504 38 60 00 1A */ li r3, 0x1a /* 803078A8 00303508 38 05 FF E6 */ addi r0, r5, -26 /* 803078AC 0030350C 7C A3 1B 38 */ orc r3, r5, r3 /* 803078B0 00303510 54 00 F8 7E */ srwi r0, r0, 1 /* 803078B4 00303514 7C 00 18 50 */ subf r0, r0, r3 /* 803078B8 00303518 54 03 0F FE */ srwi r3, r0, 0x1f lbl_803078BC: /* 803078BC 0030351C 2C 03 00 00 */ cmpwi r3, 0 /* 803078C0 00303520 4C 82 00 20 */ bnelr /* 803078C4 00303524 1C 07 00 34 */ mulli r0, r7, 0x34 /* 803078C8 00303528 3C A0 80 58 */ lis r5, lbl_8057EA60@ha /* 803078CC 0030352C 38 60 00 00 */ li r3, 0 /* 803078D0 00303530 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l /* 803078D4 00303534 7C A5 02 14 */ add r5, r5, r0 /* 803078D8 00303538 90 85 01 D4 */ stw r4, 0x1d4(r5) /* 803078DC 0030353C 4E 80 00 20 */ blr