.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global NWC24iOpenDlTaskList NWC24iOpenDlTaskList: /* 803047F0 00300450 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803047F4 00300454 7C 08 02 A6 */ mflr r0 /* 803047F8 00300458 90 01 00 14 */ stw r0, 0x14(r1) /* 803047FC 0030045C 48 00 02 B1 */ bl NWC24iLoadDlHeader /* 80304800 00300460 2C 03 00 00 */ cmpwi r3, 0 /* 80304804 00300464 41 80 00 28 */ blt lbl_8030482C /* 80304808 00300468 38 60 00 00 */ li r3, 0 /* 8030480C 0030046C 4B FF FD DD */ bl NWC24iSynchronizeRtcCounter /* 80304810 00300470 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) /* 80304814 00300474 38 80 00 00 */ li r4, 0 /* 80304818 00300478 38 63 30 00 */ addi r3, r3, 0x3000 /* 8030481C 0030047C 48 00 00 29 */ bl NWC24iCheckHeaderConsistency /* 80304820 00300480 2C 03 00 00 */ cmpwi r3, 0 /* 80304824 00300484 41 80 00 08 */ blt lbl_8030482C /* 80304828 00300488 38 60 00 00 */ li r3, 0 lbl_8030482C: /* 8030482C 0030048C 80 01 00 14 */ lwz r0, 0x14(r1) /* 80304830 00300490 7C 08 03 A6 */ mtlr r0 /* 80304834 00300494 38 21 00 10 */ addi r1, r1, 0x10 /* 80304838 00300498 4E 80 00 20 */ blr .global NWC24iCloseDlTaskList NWC24iCloseDlTaskList: /* 8030483C 0030049C 38 60 00 00 */ li r3, 0 /* 80304840 003004A0 4E 80 00 20 */ blr .global NWC24iCheckHeaderConsistency NWC24iCheckHeaderConsistency: /* 80304844 003004A4 94 21 FD 40 */ stwu r1, -0x2c0(r1) /* 80304848 003004A8 7C 08 02 A6 */ mflr r0 /* 8030484C 003004AC 90 01 02 C4 */ stw r0, 0x2c4(r1) /* 80304850 003004B0 39 61 02 C0 */ addi r11, r1, 0x2c0 /* 80304854 003004B4 4B EC 28 D1 */ bl _savegpr_26 /* 80304858 003004B8 3B E1 00 A8 */ addi r31, r1, 0xa8 /* 8030485C 003004BC 7C 7C 1B 78 */ mr r28, r3 /* 80304860 003004C0 7C 9D 23 78 */ mr r29, r4 /* 80304864 003004C4 3B C0 00 00 */ li r30, 0 /* 80304868 003004C8 3F 60 00 01 */ lis r27, 1 /* 8030486C 003004CC 48 00 02 14 */ b lbl_80304A80 lbl_80304870: /* 80304870 003004D0 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) /* 80304874 003004D4 57 C0 04 3E */ clrlwi r0, r30, 0x10 /* 80304878 003004D8 A0 C3 30 10 */ lhz r6, 0x3010(r3) /* 8030487C 003004DC 38 A3 30 00 */ addi r5, r3, 0x3000 /* 80304880 003004E0 7C 00 30 40 */ cmplw r0, r6 /* 80304884 003004E4 40 80 00 0C */ bge lbl_80304890 /* 80304888 003004E8 28 00 FF FF */ cmplwi r0, 0xffff /* 8030488C 003004EC 40 82 00 0C */ bne lbl_80304898 lbl_80304890: /* 80304890 003004F0 38 80 FF FD */ li r4, -3 /* 80304894 003004F4 48 00 00 20 */ b lbl_803048B4 lbl_80304898: /* 80304898 003004F8 57 C0 23 36 */ rlwinm r0, r30, 4, 0xc, 0x1b /* 8030489C 003004FC 38 80 00 00 */ li r4, 0 /* 803048A0 00300500 7C 65 02 14 */ add r3, r5, r0 /* 803048A4 00300504 80 03 00 80 */ lwz r0, 0x80(r3) /* 803048A8 00300508 2C 00 00 00 */ cmpwi r0, 0 /* 803048AC 0030050C 40 82 00 08 */ bne lbl_803048B4 /* 803048B0 00300510 38 80 FF F3 */ li r4, -13 lbl_803048B4: /* 803048B4 00300514 2C 04 00 00 */ cmpwi r4, 0 /* 803048B8 00300518 40 82 01 C4 */ bne lbl_80304A7C /* 803048BC 0030051C 2C 1D 00 00 */ cmpwi r29, 0 /* 803048C0 00300520 41 82 01 BC */ beq lbl_80304A7C /* 803048C4 00300524 57 C0 04 3E */ clrlwi r0, r30, 0x10 /* 803048C8 00300528 7C 00 30 40 */ cmplw r0, r6 /* 803048CC 0030052C 40 80 00 0C */ bge lbl_803048D8 /* 803048D0 00300530 28 00 FF FF */ cmplwi r0, 0xffff /* 803048D4 00300534 40 82 00 0C */ bne lbl_803048E0 lbl_803048D8: /* 803048D8 00300538 38 60 FF FD */ li r3, -3 /* 803048DC 0030053C 48 00 00 20 */ b lbl_803048FC lbl_803048E0: /* 803048E0 00300540 57 C0 23 36 */ rlwinm r0, r30, 4, 0xc, 0x1b /* 803048E4 00300544 38 60 00 00 */ li r3, 0 /* 803048E8 00300548 7C 85 02 14 */ add r4, r5, r0 /* 803048EC 0030054C 80 04 00 80 */ lwz r0, 0x80(r4) /* 803048F0 00300550 2C 00 00 00 */ cmpwi r0, 0 /* 803048F4 00300554 40 82 00 08 */ bne lbl_803048FC /* 803048F8 00300558 38 60 FF F3 */ li r3, -13 lbl_803048FC: /* 803048FC 0030055C 2C 03 00 00 */ cmpwi r3, 0 /* 80304900 00300560 40 80 00 08 */ bge lbl_80304908 /* 80304904 00300564 48 00 00 78 */ b lbl_8030497C lbl_80304908: /* 80304908 00300568 80 8D 8C C0 */ lwz r4, lbl_8063DF80-_SDA_BASE_(r13) /* 8030490C 0030056C 38 61 00 08 */ addi r3, r1, 8 /* 80304910 00300570 38 A0 00 0A */ li r5, 0xa /* 80304914 00300574 4B FF D2 35 */ bl NWC24FOpen /* 80304918 00300578 2C 03 00 00 */ cmpwi r3, 0 /* 8030491C 0030057C 40 80 00 08 */ bge lbl_80304924 /* 80304920 00300580 48 00 00 5C */ b lbl_8030497C lbl_80304924: /* 80304924 00300584 57 C4 49 EC */ rlwinm r4, r30, 9, 7, 0x16 /* 80304928 00300588 38 61 00 08 */ addi r3, r1, 8 /* 8030492C 0030058C 38 84 08 00 */ addi r4, r4, 0x800 /* 80304930 00300590 38 A0 00 00 */ li r5, 0 /* 80304934 00300594 4B FF D6 F9 */ bl NWC24FSeek /* 80304938 00300598 2C 03 00 00 */ cmpwi r3, 0 /* 8030493C 0030059C 40 80 00 0C */ bge lbl_80304948 /* 80304940 003005A0 7C 7A 1B 78 */ mr r26, r3 /* 80304944 003005A4 48 00 00 24 */ b lbl_80304968 lbl_80304948: /* 80304948 003005A8 7F E3 FB 78 */ mr r3, r31 /* 8030494C 003005AC 38 A1 00 08 */ addi r5, r1, 8 /* 80304950 003005B0 38 80 02 00 */ li r4, 0x200 /* 80304954 003005B4 4B FF D8 C5 */ bl NWC24FRead /* 80304958 003005B8 2C 03 00 00 */ cmpwi r3, 0 /* 8030495C 003005BC 3B 40 00 00 */ li r26, 0 /* 80304960 003005C0 40 80 00 08 */ bge lbl_80304968 /* 80304964 003005C4 7C 7A 1B 78 */ mr r26, r3 lbl_80304968: /* 80304968 003005C8 38 61 00 08 */ addi r3, r1, 8 /* 8030496C 003005CC 4B FF D5 2D */ bl NWC24FClose /* 80304970 003005D0 2C 1A 00 00 */ cmpwi r26, 0 /* 80304974 003005D4 41 82 00 08 */ beq lbl_8030497C /* 80304978 003005D8 7F 43 D3 78 */ mr r3, r26 lbl_8030497C: /* 8030497C 003005DC 2C 03 00 00 */ cmpwi r3, 0 /* 80304980 003005E0 40 80 00 74 */ bge lbl_803049F4 /* 80304984 003005E4 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) /* 80304988 003005E8 2C 1F 00 00 */ cmpwi r31, 0 /* 8030498C 003005EC 38 63 30 00 */ addi r3, r3, 0x3000 /* 80304990 003005F0 40 82 00 0C */ bne lbl_8030499C /* 80304994 003005F4 38 00 FF FD */ li r0, -3 /* 80304998 003005F8 48 00 00 38 */ b lbl_803049D0 lbl_8030499C: /* 8030499C 003005FC 2C 03 00 00 */ cmpwi r3, 0 /* 803049A0 00300600 40 82 00 0C */ bne lbl_803049AC /* 803049A4 00300604 38 00 FF F7 */ li r0, -9 /* 803049A8 00300608 48 00 00 28 */ b lbl_803049D0 lbl_803049AC: /* 803049AC 0030060C A0 81 00 A8 */ lhz r4, 0xa8(r1) /* 803049B0 00300610 28 04 FF FF */ cmplwi r4, 0xffff /* 803049B4 00300614 41 82 00 18 */ beq lbl_803049CC /* 803049B8 00300618 A0 03 00 10 */ lhz r0, 0x10(r3) /* 803049BC 0030061C 7C 04 00 40 */ cmplw r4, r0 /* 803049C0 00300620 41 80 00 0C */ blt lbl_803049CC /* 803049C4 00300624 38 00 FF FD */ li r0, -3 /* 803049C8 00300628 48 00 00 08 */ b lbl_803049D0 lbl_803049CC: /* 803049CC 0030062C 38 00 00 00 */ li r0, 0 lbl_803049D0: /* 803049D0 00300630 2C 00 00 00 */ cmpwi r0, 0 /* 803049D4 00300634 40 82 00 A8 */ bne lbl_80304A7C /* 803049D8 00300638 7F E3 FB 78 */ mr r3, r31 /* 803049DC 0030063C 48 00 01 C1 */ bl DeleteDlTask /* 803049E0 00300640 2C 03 00 00 */ cmpwi r3, 0 /* 803049E4 00300644 41 80 00 98 */ blt lbl_80304A7C /* 803049E8 00300648 38 1B FF FF */ addi r0, r27, -1 /* 803049EC 0030064C B0 01 00 A8 */ sth r0, 0xa8(r1) /* 803049F0 00300650 48 00 00 8C */ b lbl_80304A7C lbl_803049F4: /* 803049F4 00300654 80 8D AF 90 */ lwz r4, lbl_80640250-_SDA_BASE_(r13) /* 803049F8 00300658 57 C3 04 3E */ clrlwi r3, r30, 0x10 /* 803049FC 0030065C 38 84 30 00 */ addi r4, r4, 0x3000 /* 80304A00 00300660 A0 04 00 12 */ lhz r0, 0x12(r4) /* 80304A04 00300664 7C 03 00 40 */ cmplw r3, r0 /* 80304A08 00300668 41 80 00 74 */ blt lbl_80304A7C /* 80304A0C 0030066C A8 01 00 C0 */ lha r0, 0xc0(r1) /* 80304A10 00300670 2C 00 00 00 */ cmpwi r0, 0 /* 80304A14 00300674 40 82 00 68 */ bne lbl_80304A7C /* 80304A18 00300678 2C 1F 00 00 */ cmpwi r31, 0 /* 80304A1C 0030067C 40 82 00 0C */ bne lbl_80304A28 /* 80304A20 00300680 38 00 FF FD */ li r0, -3 /* 80304A24 00300684 48 00 00 38 */ b lbl_80304A5C lbl_80304A28: /* 80304A28 00300688 2C 04 00 00 */ cmpwi r4, 0 /* 80304A2C 0030068C 40 82 00 0C */ bne lbl_80304A38 /* 80304A30 00300690 38 00 FF F7 */ li r0, -9 /* 80304A34 00300694 48 00 00 28 */ b lbl_80304A5C lbl_80304A38: /* 80304A38 00300698 A0 61 00 A8 */ lhz r3, 0xa8(r1) /* 80304A3C 0030069C 28 03 FF FF */ cmplwi r3, 0xffff /* 80304A40 003006A0 41 82 00 18 */ beq lbl_80304A58 /* 80304A44 003006A4 A0 04 00 10 */ lhz r0, 0x10(r4) /* 80304A48 003006A8 7C 03 00 40 */ cmplw r3, r0 /* 80304A4C 003006AC 41 80 00 0C */ blt lbl_80304A58 /* 80304A50 003006B0 38 00 FF FD */ li r0, -3 /* 80304A54 003006B4 48 00 00 08 */ b lbl_80304A5C lbl_80304A58: /* 80304A58 003006B8 38 00 00 00 */ li r0, 0 lbl_80304A5C: /* 80304A5C 003006BC 2C 00 00 00 */ cmpwi r0, 0 /* 80304A60 003006C0 40 82 00 1C */ bne lbl_80304A7C /* 80304A64 003006C4 7F E3 FB 78 */ mr r3, r31 /* 80304A68 003006C8 48 00 01 35 */ bl DeleteDlTask /* 80304A6C 003006CC 2C 03 00 00 */ cmpwi r3, 0 /* 80304A70 003006D0 41 80 00 0C */ blt lbl_80304A7C /* 80304A74 003006D4 38 1B FF FF */ addi r0, r27, -1 /* 80304A78 003006D8 B0 01 00 A8 */ sth r0, 0xa8(r1) lbl_80304A7C: /* 80304A7C 003006DC 3B DE 00 01 */ addi r30, r30, 1 lbl_80304A80: /* 80304A80 003006E0 A0 1C 00 10 */ lhz r0, 0x10(r28) /* 80304A84 003006E4 57 C3 04 3E */ clrlwi r3, r30, 0x10 /* 80304A88 003006E8 7C 03 00 40 */ cmplw r3, r0 /* 80304A8C 003006EC 41 80 FD E4 */ blt lbl_80304870 /* 80304A90 003006F0 39 61 02 C0 */ addi r11, r1, 0x2c0 /* 80304A94 003006F4 38 60 00 00 */ li r3, 0 /* 80304A98 003006F8 4B EC 26 D9 */ bl _restgpr_26 /* 80304A9C 003006FC 80 01 02 C4 */ lwz r0, 0x2c4(r1) /* 80304AA0 00300700 7C 08 03 A6 */ mtlr r0 /* 80304AA4 00300704 38 21 02 C0 */ addi r1, r1, 0x2c0 /* 80304AA8 00300708 4E 80 00 20 */ blr .global NWC24iLoadDlHeader NWC24iLoadDlHeader: /* 80304AAC 0030070C 94 21 FF 50 */ stwu r1, -0xb0(r1) /* 80304AB0 00300710 7C 08 02 A6 */ mflr r0 /* 80304AB4 00300714 38 A0 00 02 */ li r5, 2 /* 80304AB8 00300718 90 01 00 B4 */ stw r0, 0xb4(r1) /* 80304ABC 0030071C 38 61 00 0C */ addi r3, r1, 0xc /* 80304AC0 00300720 93 E1 00 AC */ stw r31, 0xac(r1) /* 80304AC4 00300724 3B E0 00 00 */ li r31, 0 /* 80304AC8 00300728 80 8D 8C C0 */ lwz r4, lbl_8063DF80-_SDA_BASE_(r13) /* 80304ACC 0030072C 93 E1 00 08 */ stw r31, 8(r1) /* 80304AD0 00300730 4B FF D0 79 */ bl NWC24FOpen /* 80304AD4 00300734 2C 03 00 00 */ cmpwi r3, 0 /* 80304AD8 00300738 40 80 00 08 */ bge lbl_80304AE0 /* 80304ADC 0030073C 48 00 00 AC */ b lbl_80304B88 lbl_80304AE0: /* 80304AE0 00300740 38 61 00 0C */ addi r3, r1, 0xc /* 80304AE4 00300744 38 80 00 00 */ li r4, 0 /* 80304AE8 00300748 38 A0 00 00 */ li r5, 0 /* 80304AEC 0030074C 4B FF D5 41 */ bl NWC24FSeek /* 80304AF0 00300750 2C 03 00 00 */ cmpwi r3, 0 /* 80304AF4 00300754 40 80 00 08 */ bge lbl_80304AFC /* 80304AF8 00300758 48 00 00 28 */ b lbl_80304B20 lbl_80304AFC: /* 80304AFC 0030075C 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) /* 80304B00 00300760 38 A1 00 0C */ addi r5, r1, 0xc /* 80304B04 00300764 38 80 08 00 */ li r4, 0x800 /* 80304B08 00300768 38 63 30 00 */ addi r3, r3, 0x3000 /* 80304B0C 0030076C 4B FF D7 0D */ bl NWC24FRead /* 80304B10 00300770 2C 03 00 00 */ cmpwi r3, 0 /* 80304B14 00300774 40 80 00 08 */ bge lbl_80304B1C /* 80304B18 00300778 7C 7F 1B 78 */ mr r31, r3 lbl_80304B1C: /* 80304B1C 0030077C 7F E3 FB 78 */ mr r3, r31 lbl_80304B20: /* 80304B20 00300780 2C 03 00 00 */ cmpwi r3, 0 /* 80304B24 00300784 40 80 00 08 */ bge lbl_80304B2C /* 80304B28 00300788 48 00 00 60 */ b lbl_80304B88 lbl_80304B2C: /* 80304B2C 0030078C 38 61 00 0C */ addi r3, r1, 0xc /* 80304B30 00300790 38 81 00 08 */ addi r4, r1, 8 /* 80304B34 00300794 4B FF DA 85 */ bl NWC24FGetLength /* 80304B38 00300798 2C 03 00 00 */ cmpwi r3, 0 /* 80304B3C 0030079C 7C 7F 1B 78 */ mr r31, r3 /* 80304B40 003007A0 41 80 00 34 */ blt lbl_80304B74 /* 80304B44 003007A4 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) /* 80304B48 003007A8 A0 83 30 10 */ lhz r4, 0x3010(r3) /* 80304B4C 003007AC 28 04 00 01 */ cmplwi r4, 1 /* 80304B50 003007B0 41 80 00 18 */ blt lbl_80304B68 /* 80304B54 003007B4 A0 03 30 12 */ lhz r0, 0x3012(r3) /* 80304B58 003007B8 28 00 00 01 */ cmplwi r0, 1 /* 80304B5C 003007BC 41 80 00 0C */ blt lbl_80304B68 /* 80304B60 003007C0 7C 04 00 40 */ cmplw r4, r0 /* 80304B64 003007C4 40 80 00 0C */ bge lbl_80304B70 lbl_80304B68: /* 80304B68 003007C8 3B E0 FF F2 */ li r31, -14 /* 80304B6C 003007CC 48 00 00 08 */ b lbl_80304B74 lbl_80304B70: /* 80304B70 003007D0 3B E0 00 00 */ li r31, 0 lbl_80304B74: /* 80304B74 003007D4 38 61 00 0C */ addi r3, r1, 0xc /* 80304B78 003007D8 4B FF D3 21 */ bl NWC24FClose /* 80304B7C 003007DC 2C 1F 00 00 */ cmpwi r31, 0 /* 80304B80 003007E0 41 82 00 08 */ beq lbl_80304B88 /* 80304B84 003007E4 7F E3 FB 78 */ mr r3, r31 lbl_80304B88: /* 80304B88 003007E8 80 01 00 B4 */ lwz r0, 0xb4(r1) /* 80304B8C 003007EC 83 E1 00 AC */ lwz r31, 0xac(r1) /* 80304B90 003007F0 7C 08 03 A6 */ mtlr r0 /* 80304B94 003007F4 38 21 00 B0 */ addi r1, r1, 0xb0 /* 80304B98 003007F8 4E 80 00 20 */ blr .global DeleteDlTask DeleteDlTask: /* 80304B9C 003007FC 94 21 FF 40 */ stwu r1, -0xc0(r1) /* 80304BA0 00300800 7C 08 02 A6 */ mflr r0 /* 80304BA4 00300804 38 A0 00 04 */ li r5, 4 /* 80304BA8 00300808 90 01 00 C4 */ stw r0, 0xc4(r1) /* 80304BAC 0030080C 93 E1 00 BC */ stw r31, 0xbc(r1) /* 80304BB0 00300810 93 C1 00 B8 */ stw r30, 0xb8(r1) /* 80304BB4 00300814 93 A1 00 B4 */ stw r29, 0xb4(r1) /* 80304BB8 00300818 7C 7D 1B 78 */ mr r29, r3 /* 80304BBC 0030081C 38 61 00 08 */ addi r3, r1, 8 /* 80304BC0 00300820 80 8D 8C C0 */ lwz r4, lbl_8063DF80-_SDA_BASE_(r13) /* 80304BC4 00300824 4B FF CF 85 */ bl NWC24FOpen /* 80304BC8 00300828 2C 03 00 00 */ cmpwi r3, 0 /* 80304BCC 0030082C 40 80 00 08 */ bge lbl_80304BD4 /* 80304BD0 00300830 48 00 01 30 */ b lbl_80304D00 lbl_80304BD4: /* 80304BD4 00300834 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) /* 80304BD8 00300838 38 80 00 00 */ li r4, 0 /* 80304BDC 0030083C A3 FD 00 00 */ lhz r31, 0(r29) /* 80304BE0 00300840 38 A0 02 00 */ li r5, 0x200 /* 80304BE4 00300844 3B C3 38 00 */ addi r30, r3, 0x3800 /* 80304BE8 00300848 7F C3 F3 78 */ mr r3, r30 /* 80304BEC 0030084C 4B CF F5 19 */ bl memset /* 80304BF0 00300850 38 60 00 FF */ li r3, 0xff /* 80304BF4 00300854 57 E0 23 36 */ rlwinm r0, r31, 4, 0xc, 0x1b /* 80304BF8 00300858 98 7E 00 02 */ stb r3, 2(r30) /* 80304BFC 0030085C 38 80 00 00 */ li r4, 0 /* 80304C00 00300860 38 A0 00 10 */ li r5, 0x10 /* 80304C04 00300864 B3 FE 00 00 */ sth r31, 0(r30) /* 80304C08 00300868 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) /* 80304C0C 0030086C 7C 63 02 14 */ add r3, r3, r0 /* 80304C10 00300870 38 63 30 80 */ addi r3, r3, 0x3080 /* 80304C14 00300874 4B CF F4 F1 */ bl memset /* 80304C18 00300878 A0 1E 00 00 */ lhz r0, 0(r30) /* 80304C1C 0030087C 38 61 00 08 */ addi r3, r1, 8 /* 80304C20 00300880 38 A0 00 00 */ li r5, 0 /* 80304C24 00300884 54 04 48 2C */ slwi r4, r0, 9 /* 80304C28 00300888 38 84 08 00 */ addi r4, r4, 0x800 /* 80304C2C 0030088C 4B FF D4 01 */ bl NWC24FSeek /* 80304C30 00300890 2C 03 00 00 */ cmpwi r3, 0 /* 80304C34 00300894 40 80 00 08 */ bge lbl_80304C3C /* 80304C38 00300898 48 00 00 40 */ b lbl_80304C78 lbl_80304C3C: /* 80304C3C 0030089C 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) /* 80304C40 003008A0 7F C4 F3 78 */ mr r4, r30 /* 80304C44 003008A4 38 A0 02 00 */ li r5, 0x200 /* 80304C48 003008A8 38 63 38 00 */ addi r3, r3, 0x3800 /* 80304C4C 003008AC 4B CF F3 B5 */ bl memcpy /* 80304C50 003008B0 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) /* 80304C54 003008B4 38 A1 00 08 */ addi r5, r1, 8 /* 80304C58 003008B8 38 80 02 00 */ li r4, 0x200 /* 80304C5C 003008BC 38 63 38 00 */ addi r3, r3, 0x3800 /* 80304C60 003008C0 4B FF D7 85 */ bl NWC24FWrite /* 80304C64 003008C4 2C 03 00 00 */ cmpwi r3, 0 /* 80304C68 003008C8 38 00 00 00 */ li r0, 0 /* 80304C6C 003008CC 40 80 00 08 */ bge lbl_80304C74 /* 80304C70 003008D0 7C 60 1B 78 */ mr r0, r3 lbl_80304C74: /* 80304C74 003008D4 7C 03 03 78 */ mr r3, r0 lbl_80304C78: /* 80304C78 003008D8 2C 03 00 00 */ cmpwi r3, 0 /* 80304C7C 003008DC 7C 7E 1B 78 */ mr r30, r3 /* 80304C80 003008E0 41 80 00 6C */ blt lbl_80304CEC /* 80304C84 003008E4 A0 1D 00 00 */ lhz r0, 0(r29) /* 80304C88 003008E8 38 80 00 00 */ li r4, 0 /* 80304C8C 003008EC 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) /* 80304C90 003008F0 38 A0 00 10 */ li r5, 0x10 /* 80304C94 003008F4 54 00 20 36 */ slwi r0, r0, 4 /* 80304C98 003008F8 7C 63 02 14 */ add r3, r3, r0 /* 80304C9C 003008FC 38 63 30 80 */ addi r3, r3, 0x3080 /* 80304CA0 00300900 4B CF F4 65 */ bl memset /* 80304CA4 00300904 38 61 00 08 */ addi r3, r1, 8 /* 80304CA8 00300908 38 80 00 00 */ li r4, 0 /* 80304CAC 0030090C 38 A0 00 00 */ li r5, 0 /* 80304CB0 00300910 4B FF D3 7D */ bl NWC24FSeek /* 80304CB4 00300914 2C 03 00 00 */ cmpwi r3, 0 /* 80304CB8 00300918 40 80 00 08 */ bge lbl_80304CC0 /* 80304CBC 0030091C 48 00 00 2C */ b lbl_80304CE8 lbl_80304CC0: /* 80304CC0 00300920 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13) /* 80304CC4 00300924 38 A1 00 08 */ addi r5, r1, 8 /* 80304CC8 00300928 38 80 08 00 */ li r4, 0x800 /* 80304CCC 0030092C 38 63 30 00 */ addi r3, r3, 0x3000 /* 80304CD0 00300930 4B FF D7 15 */ bl NWC24FWrite /* 80304CD4 00300934 2C 03 00 00 */ cmpwi r3, 0 /* 80304CD8 00300938 38 00 00 00 */ li r0, 0 /* 80304CDC 0030093C 40 80 00 08 */ bge lbl_80304CE4 /* 80304CE0 00300940 7C 60 1B 78 */ mr r0, r3 lbl_80304CE4: /* 80304CE4 00300944 7C 03 03 78 */ mr r3, r0 lbl_80304CE8: /* 80304CE8 00300948 7C 7E 1B 78 */ mr r30, r3 lbl_80304CEC: /* 80304CEC 0030094C 38 61 00 08 */ addi r3, r1, 8 /* 80304CF0 00300950 4B FF D1 A9 */ bl NWC24FClose /* 80304CF4 00300954 2C 1E 00 00 */ cmpwi r30, 0 /* 80304CF8 00300958 41 82 00 08 */ beq lbl_80304D00 /* 80304CFC 0030095C 7F C3 F3 78 */ mr r3, r30 lbl_80304D00: /* 80304D00 00300960 80 01 00 C4 */ lwz r0, 0xc4(r1) /* 80304D04 00300964 83 E1 00 BC */ lwz r31, 0xbc(r1) /* 80304D08 00300968 83 C1 00 B8 */ lwz r30, 0xb8(r1) /* 80304D0C 0030096C 83 A1 00 B4 */ lwz r29, 0xb4(r1) /* 80304D10 00300970 7C 08 03 A6 */ mtlr r0 /* 80304D14 00300974 38 21 00 C0 */ addi r1, r1, 0xc0 /* 80304D18 00300978 4E 80 00 20 */ blr