.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global VFipdm_bpb_calculate_common_bpb_fields VFipdm_bpb_calculate_common_bpb_fields: /* 803062C4 00301F24 38 00 00 00 */ li r0, 0 /* 803062C8 00301F28 A0 A3 00 08 */ lhz r5, 8(r3) /* 803062CC 00301F2C 98 03 00 54 */ stb r0, 0x54(r3) /* 803062D0 00301F30 48 00 00 10 */ b lbl_803062E0 lbl_803062D4: /* 803062D4 00301F34 88 83 00 54 */ lbz r4, 0x54(r3) /* 803062D8 00301F38 38 04 00 01 */ addi r0, r4, 1 /* 803062DC 00301F3C 98 03 00 54 */ stb r0, 0x54(r3) lbl_803062E0: /* 803062E0 00301F40 54 A5 FC 7F */ rlwinm. r5, r5, 0x1f, 0x11, 0x1f /* 803062E4 00301F44 40 82 FF F0 */ bne lbl_803062D4 /* 803062E8 00301F48 38 00 00 00 */ li r0, 0 /* 803062EC 00301F4C 88 A3 00 0A */ lbz r5, 0xa(r3) /* 803062F0 00301F50 98 03 00 55 */ stb r0, 0x55(r3) /* 803062F4 00301F54 48 00 00 10 */ b lbl_80306304 lbl_803062F8: /* 803062F8 00301F58 88 83 00 55 */ lbz r4, 0x55(r3) /* 803062FC 00301F5C 38 04 00 01 */ addi r0, r4, 1 /* 80306300 00301F60 98 03 00 55 */ stb r0, 0x55(r3) lbl_80306304: /* 80306304 00301F64 54 A5 FC 7F */ rlwinm. r5, r5, 0x1f, 0x11, 0x1f /* 80306308 00301F68 40 82 FF F0 */ bne lbl_803062F8 /* 8030630C 00301F6C A0 03 00 0E */ lhz r0, 0xe(r3) /* 80306310 00301F70 A0 A3 00 08 */ lhz r5, 8(r3) /* 80306314 00301F74 54 06 28 34 */ slwi r6, r0, 5 /* 80306318 00301F78 88 83 00 0B */ lbz r4, 0xb(r3) /* 8030631C 00301F7C 80 03 00 6C */ lwz r0, 0x6c(r3) /* 80306320 00301F80 7C A5 32 14 */ add r5, r5, r6 /* 80306324 00301F84 88 E3 00 54 */ lbz r7, 0x54(r3) /* 80306328 00301F88 39 05 FF FF */ addi r8, r5, -1 /* 8030632C 00301F8C 7C C4 01 D6 */ mullw r6, r4, r0 /* 80306330 00301F90 A0 A3 00 0C */ lhz r5, 0xc(r3) /* 80306334 00301F94 7D 08 3E 30 */ sraw r8, r8, r7 /* 80306338 00301F98 80 83 00 68 */ lwz r4, 0x68(r3) /* 8030633C 00301F9C 88 03 00 55 */ lbz r0, 0x55(r3) /* 80306340 00301FA0 55 07 04 3E */ clrlwi r7, r8, 0x10 /* 80306344 00301FA4 7C A7 2A 14 */ add r5, r7, r5 /* 80306348 00301FA8 B1 03 00 56 */ sth r8, 0x56(r3) /* 8030634C 00301FAC 7C A6 2A 14 */ add r5, r6, r5 /* 80306350 00301FB0 7C 85 20 50 */ subf r4, r5, r4 /* 80306354 00301FB4 90 A3 00 60 */ stw r5, 0x60(r3) /* 80306358 00301FB8 7C 80 04 30 */ srw r0, r4, r0 /* 8030635C 00301FBC 28 00 0F F5 */ cmplwi r0, 0xff5 /* 80306360 00301FC0 90 03 00 64 */ stw r0, 0x64(r3) /* 80306364 00301FC4 40 80 00 10 */ bge lbl_80306374 /* 80306368 00301FC8 38 00 00 00 */ li r0, 0 /* 8030636C 00301FCC 90 03 00 50 */ stw r0, 0x50(r3) /* 80306370 00301FD0 4E 80 00 20 */ blr lbl_80306374: /* 80306374 00301FD4 28 00 FF F5 */ cmplwi r0, 0xfff5 /* 80306378 00301FD8 40 80 00 10 */ bge lbl_80306388 /* 8030637C 00301FDC 38 00 00 01 */ li r0, 1 /* 80306380 00301FE0 90 03 00 50 */ stw r0, 0x50(r3) /* 80306384 00301FE4 4E 80 00 20 */ blr lbl_80306388: /* 80306388 00301FE8 38 00 00 02 */ li r0, 2 /* 8030638C 00301FEC 90 03 00 50 */ stw r0, 0x50(r3) /* 80306390 00301FF0 4E 80 00 20 */ blr .global VFipdm_bpb_get_bpb_information VFipdm_bpb_get_bpb_information: /* 80306394 00301FF4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80306398 00301FF8 7C 08 02 A6 */ mflr r0 /* 8030639C 00301FFC 2C 83 00 00 */ cmpwi cr1, r3, 0 /* 803063A0 00302000 90 01 00 24 */ stw r0, 0x24(r1) /* 803063A4 00302004 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803063A8 00302008 93 C1 00 18 */ stw r30, 0x18(r1) /* 803063AC 0030200C 7C 9E 23 78 */ mr r30, r4 /* 803063B0 00302010 93 A1 00 14 */ stw r29, 0x14(r1) /* 803063B4 00302014 7C 7D 1B 78 */ mr r29, r3 /* 803063B8 00302018 41 86 00 0C */ beq cr1, lbl_803063C4 /* 803063BC 0030201C 2C 04 00 00 */ cmpwi r4, 0 /* 803063C0 00302020 40 82 00 0C */ bne lbl_803063CC lbl_803063C4: /* 803063C4 00302024 38 60 00 01 */ li r3, 1 /* 803063C8 00302028 48 00 04 E8 */ b lbl_803068B0 lbl_803063CC: /* 803063CC 0030202C 3B E0 00 00 */ li r31, 0 /* 803063D0 00302030 41 86 00 24 */ beq cr1, lbl_803063F4 /* 803063D4 00302034 34 04 00 4C */ addic. r0, r4, 0x4c /* 803063D8 00302038 41 82 00 1C */ beq lbl_803063F4 /* 803063DC 0030203C 88 03 00 00 */ lbz r0, 0(r3) /* 803063E0 00302040 98 04 00 4C */ stb r0, 0x4c(r4) /* 803063E4 00302044 88 03 00 01 */ lbz r0, 1(r3) /* 803063E8 00302048 98 04 00 4D */ stb r0, 0x4d(r4) /* 803063EC 0030204C 88 03 00 02 */ lbz r0, 2(r3) /* 803063F0 00302050 98 04 00 4E */ stb r0, 0x4e(r4) lbl_803063F4: /* 803063F4 00302054 34 03 00 03 */ addic. r0, r3, 3 /* 803063F8 00302058 41 82 00 4C */ beq lbl_80306444 /* 803063FC 0030205C 2C 04 00 00 */ cmpwi r4, 0 /* 80306400 00302060 41 82 00 44 */ beq lbl_80306444 /* 80306404 00302064 88 03 00 03 */ lbz r0, 3(r3) /* 80306408 00302068 98 04 00 00 */ stb r0, 0(r4) /* 8030640C 0030206C 88 03 00 04 */ lbz r0, 4(r3) /* 80306410 00302070 98 04 00 01 */ stb r0, 1(r4) /* 80306414 00302074 88 03 00 05 */ lbz r0, 5(r3) /* 80306418 00302078 98 04 00 02 */ stb r0, 2(r4) /* 8030641C 0030207C 88 03 00 06 */ lbz r0, 6(r3) /* 80306420 00302080 98 04 00 03 */ stb r0, 3(r4) /* 80306424 00302084 88 03 00 07 */ lbz r0, 7(r3) /* 80306428 00302088 98 04 00 04 */ stb r0, 4(r4) /* 8030642C 0030208C 88 03 00 08 */ lbz r0, 8(r3) /* 80306430 00302090 98 04 00 05 */ stb r0, 5(r4) /* 80306434 00302094 88 03 00 09 */ lbz r0, 9(r3) /* 80306438 00302098 98 04 00 06 */ stb r0, 6(r4) /* 8030643C 0030209C 88 03 00 0A */ lbz r0, 0xa(r3) /* 80306440 003020A0 98 04 00 07 */ stb r0, 7(r4) lbl_80306444: /* 80306444 003020A4 88 A3 00 0C */ lbz r5, 0xc(r3) /* 80306448 003020A8 88 03 00 0B */ lbz r0, 0xb(r3) /* 8030644C 003020AC 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 /* 80306450 003020B0 B0 04 00 08 */ sth r0, 8(r4) /* 80306454 003020B4 88 03 00 0D */ lbz r0, 0xd(r3) /* 80306458 003020B8 98 04 00 0A */ stb r0, 0xa(r4) /* 8030645C 003020BC 88 A3 00 0F */ lbz r5, 0xf(r3) /* 80306460 003020C0 88 03 00 0E */ lbz r0, 0xe(r3) /* 80306464 003020C4 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 /* 80306468 003020C8 B0 04 00 0C */ sth r0, 0xc(r4) /* 8030646C 003020CC 88 03 00 10 */ lbz r0, 0x10(r3) /* 80306470 003020D0 98 04 00 0B */ stb r0, 0xb(r4) /* 80306474 003020D4 88 A3 00 12 */ lbz r5, 0x12(r3) /* 80306478 003020D8 88 03 00 11 */ lbz r0, 0x11(r3) /* 8030647C 003020DC 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 /* 80306480 003020E0 B0 04 00 0E */ sth r0, 0xe(r4) /* 80306484 003020E4 88 03 00 14 */ lbz r0, 0x14(r3) /* 80306488 003020E8 88 E3 00 13 */ lbz r7, 0x13(r3) /* 8030648C 003020EC 50 07 44 2F */ rlwimi. r7, r0, 8, 0x10, 0x17 /* 80306490 003020F0 B0 E4 00 10 */ sth r7, 0x10(r4) /* 80306494 003020F4 88 03 00 15 */ lbz r0, 0x15(r3) /* 80306498 003020F8 98 04 00 22 */ stb r0, 0x22(r4) /* 8030649C 003020FC 88 A3 00 17 */ lbz r5, 0x17(r3) /* 803064A0 00302100 88 03 00 16 */ lbz r0, 0x16(r3) /* 803064A4 00302104 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 /* 803064A8 00302108 B0 04 00 12 */ sth r0, 0x12(r4) /* 803064AC 0030210C 88 A3 00 19 */ lbz r5, 0x19(r3) /* 803064B0 00302110 88 03 00 18 */ lbz r0, 0x18(r3) /* 803064B4 00302114 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 /* 803064B8 00302118 B0 04 00 14 */ sth r0, 0x14(r4) /* 803064BC 0030211C 88 A3 00 1B */ lbz r5, 0x1b(r3) /* 803064C0 00302120 88 03 00 1A */ lbz r0, 0x1a(r3) /* 803064C4 00302124 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 /* 803064C8 00302128 B0 04 00 20 */ sth r0, 0x20(r4) /* 803064CC 0030212C 88 A3 00 1D */ lbz r5, 0x1d(r3) /* 803064D0 00302130 88 03 00 1C */ lbz r0, 0x1c(r3) /* 803064D4 00302134 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 /* 803064D8 00302138 88 C3 00 1E */ lbz r6, 0x1e(r3) /* 803064DC 0030213C 88 A3 00 1F */ lbz r5, 0x1f(r3) /* 803064E0 00302140 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf /* 803064E4 00302144 50 A0 C0 0E */ rlwimi r0, r5, 0x18, 0, 7 /* 803064E8 00302148 90 04 00 18 */ stw r0, 0x18(r4) /* 803064EC 0030214C 88 A3 00 21 */ lbz r5, 0x21(r3) /* 803064F0 00302150 88 03 00 20 */ lbz r0, 0x20(r3) /* 803064F4 00302154 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 /* 803064F8 00302158 88 C3 00 22 */ lbz r6, 0x22(r3) /* 803064FC 0030215C 88 A3 00 23 */ lbz r5, 0x23(r3) /* 80306500 00302160 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf /* 80306504 00302164 50 A0 C0 0E */ rlwimi r0, r5, 0x18, 0, 7 /* 80306508 00302168 90 04 00 1C */ stw r0, 0x1c(r4) /* 8030650C 0030216C 40 82 00 08 */ bne lbl_80306514 /* 80306510 00302170 48 00 00 08 */ b lbl_80306518 lbl_80306514: /* 80306514 00302174 54 E0 04 3E */ clrlwi r0, r7, 0x10 lbl_80306518: /* 80306518 00302178 A0 A4 00 12 */ lhz r5, 0x12(r4) /* 8030651C 0030217C 90 04 00 68 */ stw r0, 0x68(r4) /* 80306520 00302180 2C 05 00 00 */ cmpwi r5, 0 /* 80306524 00302184 40 82 00 2C */ bne lbl_80306550 /* 80306528 00302188 88 A3 00 25 */ lbz r5, 0x25(r3) /* 8030652C 0030218C 88 03 00 24 */ lbz r0, 0x24(r3) /* 80306530 00302190 88 C3 00 26 */ lbz r6, 0x26(r3) /* 80306534 00302194 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 /* 80306538 00302198 88 63 00 27 */ lbz r3, 0x27(r3) /* 8030653C 0030219C 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf /* 80306540 003021A0 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7 /* 80306544 003021A4 90 04 00 3C */ stw r0, 0x3c(r4) /* 80306548 003021A8 90 04 00 6C */ stw r0, 0x6c(r4) /* 8030654C 003021AC 48 00 00 10 */ b lbl_8030655C lbl_80306550: /* 80306550 003021B0 38 00 00 00 */ li r0, 0 /* 80306554 003021B4 90 A4 00 6C */ stw r5, 0x6c(r4) /* 80306558 003021B8 90 04 00 3C */ stw r0, 0x3c(r4) lbl_8030655C: /* 8030655C 003021BC 7F C3 F3 78 */ mr r3, r30 /* 80306560 003021C0 4B FF FD 65 */ bl VFipdm_bpb_calculate_common_bpb_fields /* 80306564 003021C4 80 1E 00 50 */ lwz r0, 0x50(r30) /* 80306568 003021C8 2C 00 00 02 */ cmpwi r0, 2 /* 8030656C 003021CC 41 82 01 28 */ beq lbl_80306694 /* 80306570 003021D0 40 80 02 9C */ bge lbl_8030680C /* 80306574 003021D4 2C 00 00 00 */ cmpwi r0, 0 /* 80306578 003021D8 40 80 00 08 */ bge lbl_80306580 /* 8030657C 003021DC 48 00 02 90 */ b lbl_8030680C lbl_80306580: /* 80306580 003021E0 A0 1E 00 12 */ lhz r0, 0x12(r30) /* 80306584 003021E4 2C 00 00 00 */ cmpwi r0, 0 /* 80306588 003021E8 40 82 00 08 */ bne lbl_80306590 /* 8030658C 003021EC 3B E0 00 04 */ li r31, 4 lbl_80306590: /* 80306590 003021F0 38 60 00 00 */ li r3, 0 /* 80306594 003021F4 34 1D 00 2B */ addic. r0, r29, 0x2b /* 80306598 003021F8 B0 7E 00 40 */ sth r3, 0x40(r30) /* 8030659C 003021FC B0 7E 00 42 */ sth r3, 0x42(r30) /* 803065A0 00302200 90 7E 00 44 */ stw r3, 0x44(r30) /* 803065A4 00302204 B0 7E 00 48 */ sth r3, 0x48(r30) /* 803065A8 00302208 B0 7E 00 4A */ sth r3, 0x4a(r30) /* 803065AC 0030220C 88 1D 00 24 */ lbz r0, 0x24(r29) /* 803065B0 00302210 98 1E 00 23 */ stb r0, 0x23(r30) /* 803065B4 00302214 88 1D 00 26 */ lbz r0, 0x26(r29) /* 803065B8 00302218 98 1E 00 28 */ stb r0, 0x28(r30) /* 803065BC 0030221C 88 7D 00 28 */ lbz r3, 0x28(r29) /* 803065C0 00302220 88 1D 00 27 */ lbz r0, 0x27(r29) /* 803065C4 00302224 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 /* 803065C8 00302228 88 9D 00 29 */ lbz r4, 0x29(r29) /* 803065CC 0030222C 88 7D 00 2A */ lbz r3, 0x2a(r29) /* 803065D0 00302230 50 80 82 1E */ rlwimi r0, r4, 0x10, 8, 0xf /* 803065D4 00302234 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7 /* 803065D8 00302238 90 1E 00 24 */ stw r0, 0x24(r30) /* 803065DC 0030223C 41 82 00 64 */ beq lbl_80306640 /* 803065E0 00302240 34 1E 00 29 */ addic. r0, r30, 0x29 /* 803065E4 00302244 41 82 00 5C */ beq lbl_80306640 /* 803065E8 00302248 88 1D 00 2B */ lbz r0, 0x2b(r29) /* 803065EC 0030224C 98 1E 00 29 */ stb r0, 0x29(r30) /* 803065F0 00302250 88 1D 00 2C */ lbz r0, 0x2c(r29) /* 803065F4 00302254 98 1E 00 2A */ stb r0, 0x2a(r30) /* 803065F8 00302258 88 1D 00 2D */ lbz r0, 0x2d(r29) /* 803065FC 0030225C 98 1E 00 2B */ stb r0, 0x2b(r30) /* 80306600 00302260 88 1D 00 2E */ lbz r0, 0x2e(r29) /* 80306604 00302264 98 1E 00 2C */ stb r0, 0x2c(r30) /* 80306608 00302268 88 1D 00 2F */ lbz r0, 0x2f(r29) /* 8030660C 0030226C 98 1E 00 2D */ stb r0, 0x2d(r30) /* 80306610 00302270 88 1D 00 30 */ lbz r0, 0x30(r29) /* 80306614 00302274 98 1E 00 2E */ stb r0, 0x2e(r30) /* 80306618 00302278 88 1D 00 31 */ lbz r0, 0x31(r29) /* 8030661C 0030227C 98 1E 00 2F */ stb r0, 0x2f(r30) /* 80306620 00302280 88 1D 00 32 */ lbz r0, 0x32(r29) /* 80306624 00302284 98 1E 00 30 */ stb r0, 0x30(r30) /* 80306628 00302288 88 1D 00 33 */ lbz r0, 0x33(r29) /* 8030662C 0030228C 98 1E 00 31 */ stb r0, 0x31(r30) /* 80306630 00302290 88 1D 00 34 */ lbz r0, 0x34(r29) /* 80306634 00302294 98 1E 00 32 */ stb r0, 0x32(r30) /* 80306638 00302298 88 1D 00 35 */ lbz r0, 0x35(r29) /* 8030663C 0030229C 98 1E 00 33 */ stb r0, 0x33(r30) lbl_80306640: /* 80306640 003022A0 34 1D 00 36 */ addic. r0, r29, 0x36 /* 80306644 003022A4 41 82 01 CC */ beq lbl_80306810 /* 80306648 003022A8 34 1E 00 34 */ addic. r0, r30, 0x34 /* 8030664C 003022AC 41 82 01 C4 */ beq lbl_80306810 /* 80306650 003022B0 88 1D 00 36 */ lbz r0, 0x36(r29) /* 80306654 003022B4 98 1E 00 34 */ stb r0, 0x34(r30) /* 80306658 003022B8 88 1D 00 37 */ lbz r0, 0x37(r29) /* 8030665C 003022BC 98 1E 00 35 */ stb r0, 0x35(r30) /* 80306660 003022C0 88 1D 00 38 */ lbz r0, 0x38(r29) /* 80306664 003022C4 98 1E 00 36 */ stb r0, 0x36(r30) /* 80306668 003022C8 88 1D 00 39 */ lbz r0, 0x39(r29) /* 8030666C 003022CC 98 1E 00 37 */ stb r0, 0x37(r30) /* 80306670 003022D0 88 1D 00 3A */ lbz r0, 0x3a(r29) /* 80306674 003022D4 98 1E 00 38 */ stb r0, 0x38(r30) /* 80306678 003022D8 88 1D 00 3B */ lbz r0, 0x3b(r29) /* 8030667C 003022DC 98 1E 00 39 */ stb r0, 0x39(r30) /* 80306680 003022E0 88 1D 00 3C */ lbz r0, 0x3c(r29) /* 80306684 003022E4 98 1E 00 3A */ stb r0, 0x3a(r30) /* 80306688 003022E8 88 1D 00 3D */ lbz r0, 0x3d(r29) /* 8030668C 003022EC 98 1E 00 3B */ stb r0, 0x3b(r30) /* 80306690 003022F0 48 00 01 80 */ b lbl_80306810 lbl_80306694: /* 80306694 003022F4 A0 1E 00 10 */ lhz r0, 0x10(r30) /* 80306698 003022F8 2C 00 00 00 */ cmpwi r0, 0 /* 8030669C 003022FC 40 82 00 10 */ bne lbl_803066AC /* 803066A0 00302300 A0 1E 00 12 */ lhz r0, 0x12(r30) /* 803066A4 00302304 2C 00 00 00 */ cmpwi r0, 0 /* 803066A8 00302308 41 82 00 08 */ beq lbl_803066B0 lbl_803066AC: /* 803066AC 0030230C 3B E0 00 04 */ li r31, 4 lbl_803066B0: /* 803066B0 00302310 34 1D 00 47 */ addic. r0, r29, 0x47 /* 803066B4 00302314 88 7D 00 29 */ lbz r3, 0x29(r29) /* 803066B8 00302318 88 1D 00 28 */ lbz r0, 0x28(r29) /* 803066BC 0030231C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 /* 803066C0 00302320 B0 1E 00 40 */ sth r0, 0x40(r30) /* 803066C4 00302324 88 7D 00 2B */ lbz r3, 0x2b(r29) /* 803066C8 00302328 88 1D 00 2A */ lbz r0, 0x2a(r29) /* 803066CC 0030232C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 /* 803066D0 00302330 B0 1E 00 42 */ sth r0, 0x42(r30) /* 803066D4 00302334 88 7D 00 2D */ lbz r3, 0x2d(r29) /* 803066D8 00302338 88 1D 00 2C */ lbz r0, 0x2c(r29) /* 803066DC 0030233C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 /* 803066E0 00302340 88 9D 00 2E */ lbz r4, 0x2e(r29) /* 803066E4 00302344 88 7D 00 2F */ lbz r3, 0x2f(r29) /* 803066E8 00302348 50 80 82 1E */ rlwimi r0, r4, 0x10, 8, 0xf /* 803066EC 0030234C 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7 /* 803066F0 00302350 90 1E 00 44 */ stw r0, 0x44(r30) /* 803066F4 00302354 88 7D 00 31 */ lbz r3, 0x31(r29) /* 803066F8 00302358 88 1D 00 30 */ lbz r0, 0x30(r29) /* 803066FC 0030235C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 /* 80306700 00302360 B0 1E 00 48 */ sth r0, 0x48(r30) /* 80306704 00302364 88 7D 00 33 */ lbz r3, 0x33(r29) /* 80306708 00302368 88 1D 00 32 */ lbz r0, 0x32(r29) /* 8030670C 0030236C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 /* 80306710 00302370 B0 1E 00 4A */ sth r0, 0x4a(r30) /* 80306714 00302374 88 1D 00 40 */ lbz r0, 0x40(r29) /* 80306718 00302378 98 1E 00 23 */ stb r0, 0x23(r30) /* 8030671C 0030237C 88 1D 00 42 */ lbz r0, 0x42(r29) /* 80306720 00302380 98 1E 00 28 */ stb r0, 0x28(r30) /* 80306724 00302384 88 7D 00 44 */ lbz r3, 0x44(r29) /* 80306728 00302388 88 1D 00 43 */ lbz r0, 0x43(r29) /* 8030672C 0030238C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17 /* 80306730 00302390 88 9D 00 45 */ lbz r4, 0x45(r29) /* 80306734 00302394 88 7D 00 46 */ lbz r3, 0x46(r29) /* 80306738 00302398 50 80 82 1E */ rlwimi r0, r4, 0x10, 8, 0xf /* 8030673C 0030239C 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7 /* 80306740 003023A0 90 1E 00 24 */ stw r0, 0x24(r30) /* 80306744 003023A4 41 82 00 64 */ beq lbl_803067A8 /* 80306748 003023A8 34 1E 00 29 */ addic. r0, r30, 0x29 /* 8030674C 003023AC 41 82 00 5C */ beq lbl_803067A8 /* 80306750 003023B0 88 1D 00 47 */ lbz r0, 0x47(r29) /* 80306754 003023B4 98 1E 00 29 */ stb r0, 0x29(r30) /* 80306758 003023B8 88 1D 00 48 */ lbz r0, 0x48(r29) /* 8030675C 003023BC 98 1E 00 2A */ stb r0, 0x2a(r30) /* 80306760 003023C0 88 1D 00 49 */ lbz r0, 0x49(r29) /* 80306764 003023C4 98 1E 00 2B */ stb r0, 0x2b(r30) /* 80306768 003023C8 88 1D 00 4A */ lbz r0, 0x4a(r29) /* 8030676C 003023CC 98 1E 00 2C */ stb r0, 0x2c(r30) /* 80306770 003023D0 88 1D 00 4B */ lbz r0, 0x4b(r29) /* 80306774 003023D4 98 1E 00 2D */ stb r0, 0x2d(r30) /* 80306778 003023D8 88 1D 00 4C */ lbz r0, 0x4c(r29) /* 8030677C 003023DC 98 1E 00 2E */ stb r0, 0x2e(r30) /* 80306780 003023E0 88 1D 00 4D */ lbz r0, 0x4d(r29) /* 80306784 003023E4 98 1E 00 2F */ stb r0, 0x2f(r30) /* 80306788 003023E8 88 1D 00 4E */ lbz r0, 0x4e(r29) /* 8030678C 003023EC 98 1E 00 30 */ stb r0, 0x30(r30) /* 80306790 003023F0 88 1D 00 4F */ lbz r0, 0x4f(r29) /* 80306794 003023F4 98 1E 00 31 */ stb r0, 0x31(r30) /* 80306798 003023F8 88 1D 00 50 */ lbz r0, 0x50(r29) /* 8030679C 003023FC 98 1E 00 32 */ stb r0, 0x32(r30) /* 803067A0 00302400 88 1D 00 51 */ lbz r0, 0x51(r29) /* 803067A4 00302404 98 1E 00 33 */ stb r0, 0x33(r30) lbl_803067A8: /* 803067A8 00302408 34 1D 00 52 */ addic. r0, r29, 0x52 /* 803067AC 0030240C 41 82 00 4C */ beq lbl_803067F8 /* 803067B0 00302410 34 1E 00 34 */ addic. r0, r30, 0x34 /* 803067B4 00302414 41 82 00 44 */ beq lbl_803067F8 /* 803067B8 00302418 88 1D 00 52 */ lbz r0, 0x52(r29) /* 803067BC 0030241C 98 1E 00 34 */ stb r0, 0x34(r30) /* 803067C0 00302420 88 1D 00 53 */ lbz r0, 0x53(r29) /* 803067C4 00302424 98 1E 00 35 */ stb r0, 0x35(r30) /* 803067C8 00302428 88 1D 00 54 */ lbz r0, 0x54(r29) /* 803067CC 0030242C 98 1E 00 36 */ stb r0, 0x36(r30) /* 803067D0 00302430 88 1D 00 55 */ lbz r0, 0x55(r29) /* 803067D4 00302434 98 1E 00 37 */ stb r0, 0x37(r30) /* 803067D8 00302438 88 1D 00 56 */ lbz r0, 0x56(r29) /* 803067DC 0030243C 98 1E 00 38 */ stb r0, 0x38(r30) /* 803067E0 00302440 88 1D 00 57 */ lbz r0, 0x57(r29) /* 803067E4 00302444 98 1E 00 39 */ stb r0, 0x39(r30) /* 803067E8 00302448 88 1D 00 58 */ lbz r0, 0x58(r29) /* 803067EC 0030244C 98 1E 00 3A */ stb r0, 0x3a(r30) /* 803067F0 00302450 88 1D 00 59 */ lbz r0, 0x59(r29) /* 803067F4 00302454 98 1E 00 3B */ stb r0, 0x3b(r30) lbl_803067F8: /* 803067F8 00302458 A0 1E 00 42 */ lhz r0, 0x42(r30) /* 803067FC 0030245C 2C 00 00 00 */ cmpwi r0, 0 /* 80306800 00302460 41 82 00 10 */ beq lbl_80306810 /* 80306804 00302464 3B E0 00 04 */ li r31, 4 /* 80306808 00302468 48 00 00 08 */ b lbl_80306810 lbl_8030680C: /* 8030680C 0030246C 3B E0 00 04 */ li r31, 4 lbl_80306810: /* 80306810 00302470 80 1E 00 50 */ lwz r0, 0x50(r30) /* 80306814 00302474 2C 00 00 02 */ cmpwi r0, 2 /* 80306818 00302478 41 82 00 38 */ beq lbl_80306850 /* 8030681C 0030247C 40 80 00 90 */ bge lbl_803068AC /* 80306820 00302480 2C 00 00 00 */ cmpwi r0, 0 /* 80306824 00302484 40 80 00 08 */ bge lbl_8030682C /* 80306828 00302488 48 00 00 84 */ b lbl_803068AC lbl_8030682C: /* 8030682C 0030248C 88 7E 00 0B */ lbz r3, 0xb(r30) /* 80306830 00302490 80 1E 00 6C */ lwz r0, 0x6c(r30) /* 80306834 00302494 A0 9E 00 0C */ lhz r4, 0xc(r30) /* 80306838 00302498 7C 03 01 D6 */ mullw r0, r3, r0 /* 8030683C 0030249C 98 7E 00 4F */ stb r3, 0x4f(r30) /* 80306840 003024A0 90 9E 00 58 */ stw r4, 0x58(r30) /* 80306844 003024A4 7C 04 02 14 */ add r0, r4, r0 /* 80306848 003024A8 90 1E 00 5C */ stw r0, 0x5c(r30) /* 8030684C 003024AC 48 00 00 60 */ b lbl_803068AC lbl_80306850: /* 80306850 003024B0 A0 7E 00 40 */ lhz r3, 0x40(r30) /* 80306854 003024B4 80 BE 00 44 */ lwz r5, 0x44(r30) /* 80306858 003024B8 88 9E 00 55 */ lbz r4, 0x55(r30) /* 8030685C 003024BC 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18 /* 80306860 003024C0 38 A5 FF FE */ addi r5, r5, -2 /* 80306864 003024C4 80 DE 00 60 */ lwz r6, 0x60(r30) /* 80306868 003024C8 7C A0 20 30 */ slw r0, r5, r4 /* 8030686C 003024CC 7C 06 02 14 */ add r0, r6, r0 /* 80306870 003024D0 90 1E 00 5C */ stw r0, 0x5c(r30) /* 80306874 003024D4 41 82 00 28 */ beq lbl_8030689C /* 80306878 003024D8 80 1E 00 6C */ lwz r0, 0x6c(r30) /* 8030687C 003024DC 54 63 07 7E */ clrlwi r3, r3, 0x1d /* 80306880 003024E0 38 A0 00 01 */ li r5, 1 /* 80306884 003024E4 A0 9E 00 0C */ lhz r4, 0xc(r30) /* 80306888 003024E8 7C 03 01 D6 */ mullw r0, r3, r0 /* 8030688C 003024EC 98 BE 00 4F */ stb r5, 0x4f(r30) /* 80306890 003024F0 7C 04 02 14 */ add r0, r4, r0 /* 80306894 003024F4 90 1E 00 58 */ stw r0, 0x58(r30) /* 80306898 003024F8 48 00 00 14 */ b lbl_803068AC lbl_8030689C: /* 8030689C 003024FC 88 7E 00 0B */ lbz r3, 0xb(r30) /* 803068A0 00302500 A0 1E 00 0C */ lhz r0, 0xc(r30) /* 803068A4 00302504 98 7E 00 4F */ stb r3, 0x4f(r30) /* 803068A8 00302508 90 1E 00 58 */ stw r0, 0x58(r30) lbl_803068AC: /* 803068AC 0030250C 7F E3 FB 78 */ mr r3, r31 lbl_803068B0: /* 803068B0 00302510 80 01 00 24 */ lwz r0, 0x24(r1) /* 803068B4 00302514 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 803068B8 00302518 83 C1 00 18 */ lwz r30, 0x18(r1) /* 803068BC 0030251C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 803068C0 00302520 7C 08 03 A6 */ mtlr r0 /* 803068C4 00302524 38 21 00 20 */ addi r1, r1, 0x20 /* 803068C8 00302528 4E 80 00 20 */ blr .global VFipdm_bpb_get_fsinfo_information VFipdm_bpb_get_fsinfo_information: /* 803068CC 0030252C 2C 03 00 00 */ cmpwi r3, 0 /* 803068D0 00302530 41 82 00 0C */ beq lbl_803068DC /* 803068D4 00302534 2C 04 00 00 */ cmpwi r4, 0 /* 803068D8 00302538 40 82 00 0C */ bne lbl_803068E4 lbl_803068DC: /* 803068DC 0030253C 38 60 00 01 */ li r3, 1 /* 803068E0 00302540 4E 80 00 20 */ blr lbl_803068E4: /* 803068E4 00302544 88 A3 01 E9 */ lbz r5, 0x1e9(r3) /* 803068E8 00302548 88 03 01 E8 */ lbz r0, 0x1e8(r3) /* 803068EC 0030254C 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 /* 803068F0 00302550 88 C3 01 EA */ lbz r6, 0x1ea(r3) /* 803068F4 00302554 88 A3 01 EB */ lbz r5, 0x1eb(r3) /* 803068F8 00302558 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf /* 803068FC 0030255C 50 A0 C0 0E */ rlwimi r0, r5, 0x18, 0, 7 /* 80306900 00302560 90 04 00 00 */ stw r0, 0(r4) /* 80306904 00302564 88 C3 01 EE */ lbz r6, 0x1ee(r3) /* 80306908 00302568 88 A3 01 ED */ lbz r5, 0x1ed(r3) /* 8030690C 0030256C 88 03 01 EC */ lbz r0, 0x1ec(r3) /* 80306910 00302570 88 E3 01 EF */ lbz r7, 0x1ef(r3) /* 80306914 00302574 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 /* 80306918 00302578 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf /* 8030691C 0030257C 38 60 00 00 */ li r3, 0 /* 80306920 00302580 50 E0 C0 0E */ rlwimi r0, r7, 0x18, 0, 7 /* 80306924 00302584 90 04 00 04 */ stw r0, 4(r4) /* 80306928 00302588 4E 80 00 20 */ blr .global VFipdm_bpb_check_boot_sector VFipdm_bpb_check_boot_sector: /* 8030692C 0030258C 2C 03 00 00 */ cmpwi r3, 0 /* 80306930 00302590 41 82 00 0C */ beq lbl_8030693C /* 80306934 00302594 2C 04 00 00 */ cmpwi r4, 0 /* 80306938 00302598 40 82 00 0C */ bne lbl_80306944 lbl_8030693C: /* 8030693C 0030259C 38 60 00 01 */ li r3, 1 /* 80306940 003025A0 4E 80 00 20 */ blr lbl_80306944: /* 80306944 003025A4 38 00 00 01 */ li r0, 1 /* 80306948 003025A8 90 04 00 00 */ stw r0, 0(r4) /* 8030694C 003025AC 88 A3 00 00 */ lbz r5, 0(r3) /* 80306950 003025B0 28 05 00 EB */ cmplwi r5, 0xeb /* 80306954 003025B4 40 82 00 10 */ bne lbl_80306964 /* 80306958 003025B8 88 03 00 02 */ lbz r0, 2(r3) /* 8030695C 003025BC 28 00 00 90 */ cmplwi r0, 0x90 /* 80306960 003025C0 41 82 00 14 */ beq lbl_80306974 lbl_80306964: /* 80306964 003025C4 28 05 00 E9 */ cmplwi r5, 0xe9 /* 80306968 003025C8 41 82 00 0C */ beq lbl_80306974 /* 8030696C 003025CC 38 00 00 00 */ li r0, 0 /* 80306970 003025D0 90 04 00 00 */ stw r0, 0(r4) lbl_80306974: /* 80306974 003025D4 88 03 01 FE */ lbz r0, 0x1fe(r3) /* 80306978 003025D8 28 00 00 55 */ cmplwi r0, 0x55 /* 8030697C 003025DC 40 82 00 10 */ bne lbl_8030698C /* 80306980 003025E0 88 03 01 FF */ lbz r0, 0x1ff(r3) /* 80306984 003025E4 28 00 00 AA */ cmplwi r0, 0xaa /* 80306988 003025E8 41 82 00 0C */ beq lbl_80306994 lbl_8030698C: /* 8030698C 003025EC 38 00 00 00 */ li r0, 0 /* 80306990 003025F0 90 04 00 00 */ stw r0, 0(r4) lbl_80306994: /* 80306994 003025F4 88 A3 00 0C */ lbz r5, 0xc(r3) /* 80306998 003025F8 88 03 00 0B */ lbz r0, 0xb(r3) /* 8030699C 003025FC 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17 /* 803069A0 00302600 28 00 02 00 */ cmplwi r0, 0x200 /* 803069A4 00302604 41 82 00 28 */ beq lbl_803069CC /* 803069A8 00302608 54 00 04 3E */ clrlwi r0, r0, 0x10 /* 803069AC 0030260C 28 00 04 00 */ cmplwi r0, 0x400 /* 803069B0 00302610 41 82 00 1C */ beq lbl_803069CC /* 803069B4 00302614 28 00 08 00 */ cmplwi r0, 0x800 /* 803069B8 00302618 41 82 00 14 */ beq lbl_803069CC /* 803069BC 0030261C 28 00 10 00 */ cmplwi r0, 0x1000 /* 803069C0 00302620 41 82 00 0C */ beq lbl_803069CC /* 803069C4 00302624 38 00 00 00 */ li r0, 0 /* 803069C8 00302628 90 04 00 00 */ stw r0, 0(r4) lbl_803069CC: /* 803069CC 0030262C 88 03 00 0D */ lbz r0, 0xd(r3) /* 803069D0 00302630 28 00 00 01 */ cmplwi r0, 1 /* 803069D4 00302634 41 82 00 44 */ beq lbl_80306A18 /* 803069D8 00302638 28 00 00 02 */ cmplwi r0, 2 /* 803069DC 0030263C 41 82 00 3C */ beq lbl_80306A18 /* 803069E0 00302640 28 00 00 04 */ cmplwi r0, 4 /* 803069E4 00302644 41 82 00 34 */ beq lbl_80306A18 /* 803069E8 00302648 28 00 00 08 */ cmplwi r0, 8 /* 803069EC 0030264C 41 82 00 2C */ beq lbl_80306A18 /* 803069F0 00302650 28 00 00 10 */ cmplwi r0, 0x10 /* 803069F4 00302654 41 82 00 24 */ beq lbl_80306A18 /* 803069F8 00302658 28 00 00 20 */ cmplwi r0, 0x20 /* 803069FC 0030265C 41 82 00 1C */ beq lbl_80306A18 /* 80306A00 00302660 28 00 00 40 */ cmplwi r0, 0x40 /* 80306A04 00302664 41 82 00 14 */ beq lbl_80306A18 /* 80306A08 00302668 28 00 00 80 */ cmplwi r0, 0x80 /* 80306A0C 0030266C 41 82 00 0C */ beq lbl_80306A18 /* 80306A10 00302670 38 00 00 00 */ li r0, 0 /* 80306A14 00302674 90 04 00 00 */ stw r0, 0(r4) lbl_80306A18: /* 80306A18 00302678 88 03 00 15 */ lbz r0, 0x15(r3) /* 80306A1C 0030267C 28 00 00 F0 */ cmplwi r0, 0xf0 /* 80306A20 00302680 41 82 00 4C */ beq lbl_80306A6C /* 80306A24 00302684 28 00 00 F8 */ cmplwi r0, 0xf8 /* 80306A28 00302688 41 82 00 44 */ beq lbl_80306A6C /* 80306A2C 0030268C 28 00 00 F9 */ cmplwi r0, 0xf9 /* 80306A30 00302690 41 82 00 3C */ beq lbl_80306A6C /* 80306A34 00302694 28 00 00 FA */ cmplwi r0, 0xfa /* 80306A38 00302698 41 82 00 34 */ beq lbl_80306A6C /* 80306A3C 0030269C 28 00 00 FB */ cmplwi r0, 0xfb /* 80306A40 003026A0 41 82 00 2C */ beq lbl_80306A6C /* 80306A44 003026A4 28 00 00 FC */ cmplwi r0, 0xfc /* 80306A48 003026A8 41 82 00 24 */ beq lbl_80306A6C /* 80306A4C 003026AC 28 00 00 FD */ cmplwi r0, 0xfd /* 80306A50 003026B0 41 82 00 1C */ beq lbl_80306A6C /* 80306A54 003026B4 28 00 00 FE */ cmplwi r0, 0xfe /* 80306A58 003026B8 41 82 00 14 */ beq lbl_80306A6C /* 80306A5C 003026BC 28 00 00 FF */ cmplwi r0, 0xff /* 80306A60 003026C0 41 82 00 0C */ beq lbl_80306A6C /* 80306A64 003026C4 38 00 00 00 */ li r0, 0 /* 80306A68 003026C8 90 04 00 00 */ stw r0, 0(r4) lbl_80306A6C: /* 80306A6C 003026CC 38 60 00 00 */ li r3, 0 /* 80306A70 003026D0 4E 80 00 20 */ blr .global VFipdm_bpb_check_fsinfo_sector VFipdm_bpb_check_fsinfo_sector: /* 80306A74 003026D4 2C 03 00 00 */ cmpwi r3, 0 /* 80306A78 003026D8 41 82 00 0C */ beq lbl_80306A84 /* 80306A7C 003026DC 2C 04 00 00 */ cmpwi r4, 0 /* 80306A80 003026E0 40 82 00 0C */ bne lbl_80306A8C lbl_80306A84: /* 80306A84 003026E4 38 60 00 01 */ li r3, 1 /* 80306A88 003026E8 4E 80 00 20 */ blr lbl_80306A8C: /* 80306A8C 003026EC 88 03 00 01 */ lbz r0, 1(r3) /* 80306A90 003026F0 88 A3 00 00 */ lbz r5, 0(r3) /* 80306A94 003026F4 50 05 44 2E */ rlwimi r5, r0, 8, 0x10, 0x17 /* 80306A98 003026F8 88 C3 00 02 */ lbz r6, 2(r3) /* 80306A9C 003026FC 88 03 00 03 */ lbz r0, 3(r3) /* 80306AA0 00302700 50 C5 82 1E */ rlwimi r5, r6, 0x10, 8, 0xf /* 80306AA4 00302704 88 E3 01 E5 */ lbz r7, 0x1e5(r3) /* 80306AA8 00302708 50 05 C0 0E */ rlwimi r5, r0, 0x18, 0, 7 /* 80306AAC 0030270C 89 23 01 E4 */ lbz r9, 0x1e4(r3) /* 80306AB0 00302710 3C 05 BE 9F */ addis r0, r5, 0xbe9f /* 80306AB4 00302714 88 A3 01 FD */ lbz r5, 0x1fd(r3) /* 80306AB8 00302718 50 E9 44 2E */ rlwimi r9, r7, 8, 0x10, 0x17 /* 80306ABC 0030271C 89 03 01 E6 */ lbz r8, 0x1e6(r3) /* 80306AC0 00302720 88 E3 01 FC */ lbz r7, 0x1fc(r3) /* 80306AC4 00302724 50 A7 44 2E */ rlwimi r7, r5, 8, 0x10, 0x17 /* 80306AC8 00302728 88 C3 01 FE */ lbz r6, 0x1fe(r3) /* 80306ACC 0030272C 28 00 52 52 */ cmplwi r0, 0x5252 /* 80306AD0 00302730 88 A3 01 E7 */ lbz r5, 0x1e7(r3) /* 80306AD4 00302734 51 09 82 1E */ rlwimi r9, r8, 0x10, 8, 0xf /* 80306AD8 00302738 88 03 01 FF */ lbz r0, 0x1ff(r3) /* 80306ADC 0030273C 50 C7 82 1E */ rlwimi r7, r6, 0x10, 8, 0xf /* 80306AE0 00302740 50 A9 C0 0E */ rlwimi r9, r5, 0x18, 0, 7 /* 80306AE4 00302744 50 07 C0 0E */ rlwimi r7, r0, 0x18, 0, 7 /* 80306AE8 00302748 40 82 00 28 */ bne lbl_80306B10 /* 80306AEC 0030274C 3C 09 9E BF */ addis r0, r9, 0x9ebf /* 80306AF0 00302750 28 00 72 72 */ cmplwi r0, 0x7272 /* 80306AF4 00302754 40 82 00 1C */ bne lbl_80306B10 /* 80306AF8 00302758 3C 07 55 AB */ addis r0, r7, 0x55ab /* 80306AFC 0030275C 28 00 00 00 */ cmplwi r0, 0 /* 80306B00 00302760 40 82 00 10 */ bne lbl_80306B10 /* 80306B04 00302764 38 00 00 01 */ li r0, 1 /* 80306B08 00302768 90 04 00 00 */ stw r0, 0(r4) /* 80306B0C 0030276C 48 00 00 0C */ b lbl_80306B18 lbl_80306B10: /* 80306B10 00302770 38 00 00 00 */ li r0, 0 /* 80306B14 00302774 90 04 00 00 */ stw r0, 0(r4) lbl_80306B18: /* 80306B18 00302778 38 60 00 00 */ li r3, 0 /* 80306B1C 0030277C 4E 80 00 20 */ blr