.include "macros.inc" .section .text, "ax" .global DeleteCallback DeleteCallback: /* 803BDC74 003BABD4 7C 08 02 A6 */ mflr r0 /* 803BDC78 003BABD8 90 01 00 04 */ stw r0, 4(r1) /* 803BDC7C 003BABDC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803BDC80 003BABE0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803BDC84 003BABE4 93 C1 00 18 */ stw r30, 0x18(r1) /* 803BDC88 003BABE8 93 A1 00 14 */ stw r29, 0x14(r1) /* 803BDC8C 003BABEC 7C 9D 23 79 */ or. r29, r4, r4 /* 803BDC90 003BABF0 93 81 00 10 */ stw r28, 0x10(r1) /* 803BDC94 003BABF4 3B 83 00 00 */ addi r28, r3, 0 /* 803BDC98 003BABF8 1C BC 01 10 */ mulli r5, r28, 0x110 /* 803BDC9C 003BABFC 3C 60 80 57 */ lis r3, lbl_80569A58@ha /* 803BDCA0 003BAC00 38 03 9A 58 */ addi r0, r3, lbl_80569A58@l /* 803BDCA4 003BAC04 7F E0 2A 14 */ add r31, r0, r5 /* 803BDCA8 003BAC08 83 DF 00 D0 */ lwz r30, 0xd0(r31) /* 803BDCAC 003BAC0C 38 00 00 00 */ li r0, 0 /* 803BDCB0 003BAC10 90 1F 00 D0 */ stw r0, 0xd0(r31) /* 803BDCB4 003BAC14 41 80 00 1C */ blt lbl_803BDCD0 /* 803BDCB8 003BAC18 A0 9F 00 BE */ lhz r4, 0xbe(r31) /* 803BDCBC 003BAC1C 38 7C 00 00 */ addi r3, r28, 0 /* 803BDCC0 003BAC20 38 BE 00 00 */ addi r5, r30, 0 /* 803BDCC4 003BAC24 4B FF CB 65 */ bl __CARDFreeBlock /* 803BDCC8 003BAC28 7C 7D 1B 79 */ or. r29, r3, r3 /* 803BDCCC 003BAC2C 40 80 00 2C */ bge lbl_803BDCF8 lbl_803BDCD0: /* 803BDCD0 003BAC30 38 7F 00 00 */ addi r3, r31, 0 /* 803BDCD4 003BAC34 38 9D 00 00 */ addi r4, r29, 0 /* 803BDCD8 003BAC38 4B FF B1 81 */ bl __CARDPutControlBlock /* 803BDCDC 003BAC3C 28 1E 00 00 */ cmplwi r30, 0 /* 803BDCE0 003BAC40 41 82 00 18 */ beq lbl_803BDCF8 /* 803BDCE4 003BAC44 39 9E 00 00 */ addi r12, r30, 0 /* 803BDCE8 003BAC48 7D 88 03 A6 */ mtlr r12 /* 803BDCEC 003BAC4C 38 7C 00 00 */ addi r3, r28, 0 /* 803BDCF0 003BAC50 38 9D 00 00 */ addi r4, r29, 0 /* 803BDCF4 003BAC54 4E 80 00 21 */ blrl lbl_803BDCF8: /* 803BDCF8 003BAC58 80 01 00 24 */ lwz r0, 0x24(r1) /* 803BDCFC 003BAC5C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 803BDD00 003BAC60 83 C1 00 18 */ lwz r30, 0x18(r1) /* 803BDD04 003BAC64 83 A1 00 14 */ lwz r29, 0x14(r1) /* 803BDD08 003BAC68 83 81 00 10 */ lwz r28, 0x10(r1) /* 803BDD0C 003BAC6C 38 21 00 20 */ addi r1, r1, 0x20 /* 803BDD10 003BAC70 7C 08 03 A6 */ mtlr r0 /* 803BDD14 003BAC74 4E 80 00 20 */ blr .global CARDFastDeleteAsync CARDFastDeleteAsync: /* 803BDD18 003BAC78 7C 08 02 A6 */ mflr r0 /* 803BDD1C 003BAC7C 90 01 00 04 */ stw r0, 4(r1) /* 803BDD20 003BAC80 94 21 FF D8 */ stwu r1, -0x28(r1) /* 803BDD24 003BAC84 93 E1 00 24 */ stw r31, 0x24(r1) /* 803BDD28 003BAC88 93 C1 00 20 */ stw r30, 0x20(r1) /* 803BDD2C 003BAC8C 3B C5 00 00 */ addi r30, r5, 0 /* 803BDD30 003BAC90 93 A1 00 1C */ stw r29, 0x1c(r1) /* 803BDD34 003BAC94 7C 9D 23 79 */ or. r29, r4, r4 /* 803BDD38 003BAC98 93 81 00 18 */ stw r28, 0x18(r1) /* 803BDD3C 003BAC9C 3B 83 00 00 */ addi r28, r3, 0 /* 803BDD40 003BACA0 41 80 00 0C */ blt lbl_803BDD4C /* 803BDD44 003BACA4 2C 1D 00 7F */ cmpwi r29, 0x7f /* 803BDD48 003BACA8 41 80 00 0C */ blt lbl_803BDD54 lbl_803BDD4C: /* 803BDD4C 003BACAC 38 60 FF 80 */ li r3, -128 /* 803BDD50 003BACB0 48 00 00 D4 */ b lbl_803BDE24 lbl_803BDD54: /* 803BDD54 003BACB4 38 7C 00 00 */ addi r3, r28, 0 /* 803BDD58 003BACB8 38 81 00 14 */ addi r4, r1, 0x14 /* 803BDD5C 003BACBC 4B FF B0 45 */ bl __CARDGetControlBlock /* 803BDD60 003BACC0 2C 03 00 00 */ cmpwi r3, 0 /* 803BDD64 003BACC4 40 80 00 08 */ bge lbl_803BDD6C /* 803BDD68 003BACC8 48 00 00 BC */ b lbl_803BDE24 lbl_803BDD6C: /* 803BDD6C 003BACCC 80 61 00 14 */ lwz r3, 0x14(r1) /* 803BDD70 003BACD0 4B FF CC 01 */ bl __CARDGetDirBlock /* 803BDD74 003BACD4 57 A0 30 32 */ slwi r0, r29, 6 /* 803BDD78 003BACD8 7F E3 02 14 */ add r31, r3, r0 /* 803BDD7C 003BACDC 80 61 00 14 */ lwz r3, 0x14(r1) /* 803BDD80 003BACE0 7F E4 FB 78 */ mr r4, r31 /* 803BDD84 003BACE4 4B FF F0 51 */ bl __CARDAccess /* 803BDD88 003BACE8 7C 64 1B 79 */ or. r4, r3, r3 /* 803BDD8C 003BACEC 40 80 00 10 */ bge lbl_803BDD9C /* 803BDD90 003BACF0 80 61 00 14 */ lwz r3, 0x14(r1) /* 803BDD94 003BACF4 4B FF B0 C5 */ bl __CARDPutControlBlock /* 803BDD98 003BACF8 48 00 00 8C */ b lbl_803BDE24 lbl_803BDD9C: /* 803BDD9C 003BACFC 80 61 00 14 */ lwz r3, 0x14(r1) /* 803BDDA0 003BAD00 7F A4 EB 78 */ mr r4, r29 /* 803BDDA4 003BAD04 4B FF F4 15 */ bl __CARDIsOpened /* 803BDDA8 003BAD08 2C 03 00 00 */ cmpwi r3, 0 /* 803BDDAC 003BAD0C 41 82 00 14 */ beq lbl_803BDDC0 /* 803BDDB0 003BAD10 80 61 00 14 */ lwz r3, 0x14(r1) /* 803BDDB4 003BAD14 38 80 FF FF */ li r4, -1 /* 803BDDB8 003BAD18 4B FF B0 A1 */ bl __CARDPutControlBlock /* 803BDDBC 003BAD1C 48 00 00 68 */ b lbl_803BDE24 lbl_803BDDC0: /* 803BDDC0 003BAD20 A0 1F 00 36 */ lhz r0, 0x36(r31) /* 803BDDC4 003BAD24 7F E3 FB 78 */ mr r3, r31 /* 803BDDC8 003BAD28 80 C1 00 14 */ lwz r6, 0x14(r1) /* 803BDDCC 003BAD2C 38 80 00 FF */ li r4, 0xff /* 803BDDD0 003BAD30 38 A0 00 40 */ li r5, 0x40 /* 803BDDD4 003BAD34 B0 06 00 BE */ sth r0, 0xbe(r6) /* 803BDDD8 003BAD38 4B C4 55 D1 */ bl memset /* 803BDDDC 003BAD3C 28 1E 00 00 */ cmplwi r30, 0 /* 803BDDE0 003BAD40 41 82 00 0C */ beq lbl_803BDDEC /* 803BDDE4 003BAD44 7F C0 F3 78 */ mr r0, r30 /* 803BDDE8 003BAD48 48 00 00 0C */ b lbl_803BDDF4 lbl_803BDDEC: /* 803BDDEC 003BAD4C 3C 60 80 3B */ lis r3, __CARDDefaultApiCallback@ha /* 803BDDF0 003BAD50 38 03 7E 74 */ addi r0, r3, __CARDDefaultApiCallback@l lbl_803BDDF4: /* 803BDDF4 003BAD54 80 A1 00 14 */ lwz r5, 0x14(r1) /* 803BDDF8 003BAD58 3C 60 80 3C */ lis r3, DeleteCallback@ha /* 803BDDFC 003BAD5C 38 83 DC 74 */ addi r4, r3, DeleteCallback@l /* 803BDE00 003BAD60 90 05 00 D0 */ stw r0, 0xd0(r5) /* 803BDE04 003BAD64 7F 83 E3 78 */ mr r3, r28 /* 803BDE08 003BAD68 4B FF CD 09 */ bl __CARDUpdateDir /* 803BDE0C 003BAD6C 7C 7F 1B 79 */ or. r31, r3, r3 /* 803BDE10 003BAD70 40 80 00 10 */ bge lbl_803BDE20 /* 803BDE14 003BAD74 80 61 00 14 */ lwz r3, 0x14(r1) /* 803BDE18 003BAD78 7F E4 FB 78 */ mr r4, r31 /* 803BDE1C 003BAD7C 4B FF B0 3D */ bl __CARDPutControlBlock lbl_803BDE20: /* 803BDE20 003BAD80 7F E3 FB 78 */ mr r3, r31 lbl_803BDE24: /* 803BDE24 003BAD84 80 01 00 2C */ lwz r0, 0x2c(r1) /* 803BDE28 003BAD88 83 E1 00 24 */ lwz r31, 0x24(r1) /* 803BDE2C 003BAD8C 83 C1 00 20 */ lwz r30, 0x20(r1) /* 803BDE30 003BAD90 83 A1 00 1C */ lwz r29, 0x1c(r1) /* 803BDE34 003BAD94 83 81 00 18 */ lwz r28, 0x18(r1) /* 803BDE38 003BAD98 38 21 00 28 */ addi r1, r1, 0x28 /* 803BDE3C 003BAD9C 7C 08 03 A6 */ mtlr r0 /* 803BDE40 003BADA0 4E 80 00 20 */ blr .global CARDDeleteAsync CARDDeleteAsync: /* 803BDE44 003BADA4 7C 08 02 A6 */ mflr r0 /* 803BDE48 003BADA8 90 01 00 04 */ stw r0, 4(r1) /* 803BDE4C 003BADAC 94 21 FF D0 */ stwu r1, -0x30(r1) /* 803BDE50 003BADB0 93 E1 00 2C */ stw r31, 0x2c(r1) /* 803BDE54 003BADB4 3B E3 00 00 */ addi r31, r3, 0 /* 803BDE58 003BADB8 93 C1 00 28 */ stw r30, 0x28(r1) /* 803BDE5C 003BADBC 3B C5 00 00 */ addi r30, r5, 0 /* 803BDE60 003BADC0 93 A1 00 24 */ stw r29, 0x24(r1) /* 803BDE64 003BADC4 3B A4 00 00 */ addi r29, r4, 0 /* 803BDE68 003BADC8 38 81 00 18 */ addi r4, r1, 0x18 /* 803BDE6C 003BADCC 4B FF AF 35 */ bl __CARDGetControlBlock /* 803BDE70 003BADD0 2C 03 00 00 */ cmpwi r3, 0 /* 803BDE74 003BADD4 40 80 00 08 */ bge lbl_803BDE7C /* 803BDE78 003BADD8 48 00 00 C0 */ b lbl_803BDF38 lbl_803BDE7C: /* 803BDE7C 003BADDC 80 61 00 18 */ lwz r3, 0x18(r1) /* 803BDE80 003BADE0 38 9D 00 00 */ addi r4, r29, 0 /* 803BDE84 003BADE4 38 A1 00 14 */ addi r5, r1, 0x14 /* 803BDE88 003BADE8 4B FF F0 15 */ bl sub_803bce9c /* 803BDE8C 003BADEC 7C 64 1B 79 */ or. r4, r3, r3 /* 803BDE90 003BADF0 40 80 00 10 */ bge lbl_803BDEA0 /* 803BDE94 003BADF4 80 61 00 18 */ lwz r3, 0x18(r1) /* 803BDE98 003BADF8 4B FF AF C1 */ bl __CARDPutControlBlock /* 803BDE9C 003BADFC 48 00 00 9C */ b lbl_803BDF38 lbl_803BDEA0: /* 803BDEA0 003BAE00 80 61 00 18 */ lwz r3, 0x18(r1) /* 803BDEA4 003BAE04 80 81 00 14 */ lwz r4, 0x14(r1) /* 803BDEA8 003BAE08 4B FF F3 11 */ bl __CARDIsOpened /* 803BDEAC 003BAE0C 2C 03 00 00 */ cmpwi r3, 0 /* 803BDEB0 003BAE10 41 82 00 14 */ beq lbl_803BDEC4 /* 803BDEB4 003BAE14 80 61 00 18 */ lwz r3, 0x18(r1) /* 803BDEB8 003BAE18 38 80 FF FF */ li r4, -1 /* 803BDEBC 003BAE1C 4B FF AF 9D */ bl __CARDPutControlBlock /* 803BDEC0 003BAE20 48 00 00 78 */ b lbl_803BDF38 lbl_803BDEC4: /* 803BDEC4 003BAE24 80 61 00 18 */ lwz r3, 0x18(r1) /* 803BDEC8 003BAE28 4B FF CA A9 */ bl __CARDGetDirBlock /* 803BDECC 003BAE2C 80 01 00 14 */ lwz r0, 0x14(r1) /* 803BDED0 003BAE30 38 80 00 FF */ li r4, 0xff /* 803BDED4 003BAE34 80 C1 00 18 */ lwz r6, 0x18(r1) /* 803BDED8 003BAE38 38 A0 00 40 */ li r5, 0x40 /* 803BDEDC 003BAE3C 54 00 30 32 */ slwi r0, r0, 6 /* 803BDEE0 003BAE40 7C 63 02 14 */ add r3, r3, r0 /* 803BDEE4 003BAE44 A0 03 00 36 */ lhz r0, 0x36(r3) /* 803BDEE8 003BAE48 B0 06 00 BE */ sth r0, 0xbe(r6) /* 803BDEEC 003BAE4C 4B C4 54 BD */ bl memset /* 803BDEF0 003BAE50 28 1E 00 00 */ cmplwi r30, 0 /* 803BDEF4 003BAE54 41 82 00 0C */ beq lbl_803BDF00 /* 803BDEF8 003BAE58 7F C0 F3 78 */ mr r0, r30 /* 803BDEFC 003BAE5C 48 00 00 0C */ b lbl_803BDF08 lbl_803BDF00: /* 803BDF00 003BAE60 3C 60 80 3B */ lis r3, __CARDDefaultApiCallback@ha /* 803BDF04 003BAE64 38 03 7E 74 */ addi r0, r3, __CARDDefaultApiCallback@l lbl_803BDF08: /* 803BDF08 003BAE68 80 A1 00 18 */ lwz r5, 0x18(r1) /* 803BDF0C 003BAE6C 3C 60 80 3C */ lis r3, DeleteCallback@ha /* 803BDF10 003BAE70 38 83 DC 74 */ addi r4, r3, DeleteCallback@l /* 803BDF14 003BAE74 90 05 00 D0 */ stw r0, 0xd0(r5) /* 803BDF18 003BAE78 7F E3 FB 78 */ mr r3, r31 /* 803BDF1C 003BAE7C 4B FF CB F5 */ bl __CARDUpdateDir /* 803BDF20 003BAE80 7C 7F 1B 79 */ or. r31, r3, r3 /* 803BDF24 003BAE84 40 80 00 10 */ bge lbl_803BDF34 /* 803BDF28 003BAE88 80 61 00 18 */ lwz r3, 0x18(r1) /* 803BDF2C 003BAE8C 7F E4 FB 78 */ mr r4, r31 /* 803BDF30 003BAE90 4B FF AF 29 */ bl __CARDPutControlBlock lbl_803BDF34: /* 803BDF34 003BAE94 7F E3 FB 78 */ mr r3, r31 lbl_803BDF38: /* 803BDF38 003BAE98 80 01 00 34 */ lwz r0, 0x34(r1) /* 803BDF3C 003BAE9C 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 803BDF40 003BAEA0 83 C1 00 28 */ lwz r30, 0x28(r1) /* 803BDF44 003BAEA4 83 A1 00 24 */ lwz r29, 0x24(r1) /* 803BDF48 003BAEA8 38 21 00 30 */ addi r1, r1, 0x30 /* 803BDF4C 003BAEAC 7C 08 03 A6 */ mtlr r0 /* 803BDF50 003BAEB0 4E 80 00 20 */ blr