summaryrefslogtreecommitdiff
path: root/asm/SDK
diff options
context:
space:
mode:
Diffstat (limited to 'asm/SDK')
-rw-r--r--asm/SDK/DVD/dvd.s5134
-rw-r--r--asm/SDK/DVD/dvdFatal.s98
-rw-r--r--asm/SDK/DVD/dvd_broadway.s1874
-rw-r--r--asm/SDK/DVD/dvderror.s221
-rw-r--r--asm/SDK/DVD/dvdfs.s845
-rw-r--r--asm/SDK/DVD/dvdidutils.s72
-rw-r--r--asm/SDK/DVD/dvdqueue.s183
-rw-r--r--asm/SDK/OS/OS.s4
-rw-r--r--asm/SDK/OS/OSAlarm.s2
-rw-r--r--asm/SDK/OS/OSExec.s92
-rw-r--r--asm/SDK/OS/OSReset.s12
-rw-r--r--asm/SDK/VI/vi.s6
12 files changed, 8485 insertions, 58 deletions
diff --git a/asm/SDK/DVD/dvd.s b/asm/SDK/DVD/dvd.s
new file mode 100644
index 0000000..e515fa0
--- /dev/null
+++ b/asm/SDK/DVD/dvd.s
@@ -0,0 +1,5134 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global StampCommand
+StampCommand:
+/* 8028818C 00283DEC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80288190 00283DF0 7C 08 02 A6 */ mflr r0
+/* 80288194 00283DF4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80288198 00283DF8 39 61 00 20 */ addi r11, r1, 0x20
+/* 8028819C 00283DFC 4B F3 EF 8D */ bl _savegpr_27
+/* 802881A0 00283E00 7C 7B 1B 78 */ mr r27, r3
+/* 802881A4 00283E04 7C 9C 23 78 */ mr r28, r4
+/* 802881A8 00283E08 7C BD 2B 78 */ mr r29, r5
+/* 802881AC 00283E0C 4B FE 65 B1 */ bl OSDisableInterrupts
+/* 802881B0 00283E10 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802881B4 00283E14 7C 7F 1B 78 */ mr r31, r3
+/* 802881B8 00283E18 28 00 00 05 */ cmplwi r0, 5
+/* 802881BC 00283E1C 41 80 00 0C */ blt lbl_802881C8
+/* 802881C0 00283E20 38 00 00 00 */ li r0, 0
+/* 802881C4 00283E24 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+lbl_802881C8:
+/* 802881C8 00283E28 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802881CC 00283E2C 3F C0 80 52 */ lis r30, lbl_8051B6E0@ha
+/* 802881D0 00283E30 80 6D AA 10 */ lwz r3, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802881D4 00283E34 3B DE B6 E0 */ addi r30, r30, lbl_8051B6E0@l
+/* 802881D8 00283E38 1C 80 00 14 */ mulli r4, r0, 0x14
+/* 802881DC 00283E3C 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802881E0 00283E40 1C 63 00 14 */ mulli r3, r3, 0x14
+/* 802881E4 00283E44 7C 9E 22 14 */ add r4, r30, r4
+/* 802881E8 00283E48 93 64 00 1C */ stw r27, 0x1c(r4)
+/* 802881EC 00283E4C 7C 7E 1A 14 */ add r3, r30, r3
+/* 802881F0 00283E50 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 802881F4 00283E54 93 83 00 20 */ stw r28, 0x20(r3)
+/* 802881F8 00283E58 7C 7E 02 14 */ add r3, r30, r0
+/* 802881FC 00283E5C 93 A3 00 24 */ stw r29, 0x24(r3)
+/* 80288200 00283E60 4B FE A5 D1 */ bl OSGetTick
+/* 80288204 00283E64 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288208 00283E68 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028820C 00283E6C 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 80288210 00283E70 38 04 00 01 */ addi r0, r4, 1
+/* 80288214 00283E74 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288218 00283E78 7C 9E 2A 14 */ add r4, r30, r5
+/* 8028821C 00283E7C 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 80288220 00283E80 7F E3 FB 78 */ mr r3, r31
+/* 80288224 00283E84 4B FE 65 61 */ bl OSRestoreInterrupts
+/* 80288228 00283E88 39 61 00 20 */ addi r11, r1, 0x20
+/* 8028822C 00283E8C 4B F3 EF 49 */ bl _restgpr_27
+/* 80288230 00283E90 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80288234 00283E94 7C 08 03 A6 */ mtlr r0
+/* 80288238 00283E98 38 21 00 20 */ addi r1, r1, 0x20
+/* 8028823C 00283E9C 4E 80 00 20 */ blr
+
+.global defaultOptionalCommandChecker
+defaultOptionalCommandChecker:
+/* 80288240 00283EA0 4E 80 00 20 */ blr
+
+.global DVDInit
+DVDInit:
+/* 80288244 00283EA4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80288248 00283EA8 7C 08 02 A6 */ mflr r0
+/* 8028824C 00283EAC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80288250 00283EB0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80288254 00283EB4 80 0D AA 4C */ lwz r0, lbl_8063FD0C-_SDA_BASE_(r13)
+/* 80288258 00283EB8 2C 00 00 00 */ cmpwi r0, 0
+/* 8028825C 00283EBC 40 82 00 B4 */ bne lbl_80288310
+/* 80288260 00283EC0 80 6D 88 B8 */ lwz r3, lbl_8063DB78-_SDA_BASE_(r13)
+/* 80288264 00283EC4 4B FE 13 ED */ bl OSRegisterVersion
+/* 80288268 00283EC8 3B E0 00 01 */ li r31, 1
+/* 8028826C 00283ECC 93 ED AA 4C */ stw r31, lbl_8063FD0C-_SDA_BASE_(r13)
+/* 80288270 00283ED0 48 00 50 1D */ bl DVDLowInit
+/* 80288274 00283ED4 4B FF F4 19 */ bl __DVDFSInit
+/* 80288278 00283ED8 48 00 47 15 */ bl __DVDClearWaitingQueue
+/* 8028827C 00283EDC 3C 00 80 00 */ lis r0, 0x8000
+/* 80288280 00283EE0 38 60 00 00 */ li r3, 0
+/* 80288284 00283EE4 90 6D AA 70 */ stw r3, lbl_8063FD30-_SDA_BASE_(r13)
+/* 80288288 00283EE8 38 6D A9 F8 */ addi r3, r13, lbl_8063FCB8-_SDA_BASE_
+/* 8028828C 00283EEC 90 0D AA 88 */ stw r0, lbl_8063FD48-_SDA_BASE_(r13)
+/* 80288290 00283EF0 90 0D AA 8C */ stw r0, lbl_8063FD4C-_SDA_BASE_(r13)
+/* 80288294 00283EF4 4B FE 90 55 */ bl OSInitThreadQueue
+/* 80288298 00283EF8 48 00 66 F1 */ bl DVDLowUnmaskStatusInterrupts
+/* 8028829C 00283EFC 48 00 66 F5 */ bl DVDLowMaskCoverInterrupt
+/* 802882A0 00283F00 80 6D AA 88 */ lwz r3, lbl_8063FD48-_SDA_BASE_(r13)
+/* 802882A4 00283F04 80 63 00 20 */ lwz r3, 0x20(r3)
+/* 802882A8 00283F08 3C 03 1A E0 */ addis r0, r3, 0x1ae0
+/* 802882AC 00283F0C 28 00 7C 22 */ cmplwi r0, 0x7c22
+/* 802882B0 00283F10 41 82 00 14 */ beq lbl_802882C4
+/* 802882B4 00283F14 3C 03 F2 EB */ addis r0, r3, 0xf2eb
+/* 802882B8 00283F18 28 00 EA 5E */ cmplwi r0, 0xea5e
+/* 802882BC 00283F1C 41 82 00 08 */ beq lbl_802882C4
+/* 802882C0 00283F20 93 ED AA 2C */ stw r31, lbl_8063FCEC-_SDA_BASE_(r13)
+lbl_802882C4:
+/* 802882C4 00283F24 3F E0 80 52 */ lis r31, lbl_8051B6E0@ha
+/* 802882C8 00283F28 38 80 00 00 */ li r4, 0
+/* 802882CC 00283F2C 38 7F B6 E0 */ addi r3, r31, lbl_8051B6E0@l
+/* 802882D0 00283F30 38 A0 00 80 */ li r5, 0x80
+/* 802882D4 00283F34 4B D7 BE 31 */ bl memset
+/* 802882D8 00283F38 38 7F B6 E0 */ addi r3, r31, -18720
+/* 802882DC 00283F3C 3C 80 80 00 */ lis r4, 0x8000
+/* 802882E0 00283F40 38 A0 00 04 */ li r5, 4
+/* 802882E4 00283F44 4B D7 BD 1D */ bl memcpy
+/* 802882E8 00283F48 3C C0 80 00 */ lis r6, 0x80000006@ha
+/* 802882EC 00283F4C 38 BF B6 E0 */ addi r5, r31, -18720
+/* 802882F0 00283F50 88 86 00 06 */ lbz r4, 0x80000006@l(r6)
+/* 802882F4 00283F54 38 00 00 00 */ li r0, 0
+/* 802882F8 00283F58 38 60 00 01 */ li r3, 1
+/* 802882FC 00283F5C 98 85 00 04 */ stb r4, 4(r5)
+/* 80288300 00283F60 88 86 00 07 */ lbz r4, 7(r6)
+/* 80288304 00283F64 98 85 00 05 */ stb r4, 5(r5)
+/* 80288308 00283F68 90 0D AA 48 */ stw r0, lbl_8063FD08-_SDA_BASE_(r13)
+/* 8028830C 00283F6C 48 00 4D 85 */ bl DVDSetAutoFatalMessaging
+lbl_80288310:
+/* 80288310 00283F70 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80288314 00283F74 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80288318 00283F78 7C 08 03 A6 */ mtlr r0
+/* 8028831C 00283F7C 38 21 00 10 */ addi r1, r1, 0x10
+/* 80288320 00283F80 4E 80 00 20 */ blr
+
+.global stateReadingFST
+stateReadingFST:
+/* 80288324 00283F84 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80288328 00283F88 7C 08 02 A6 */ mflr r0
+/* 8028832C 00283F8C 3C A0 80 29 */ lis r5, stateReadingFST@ha
+/* 80288330 00283F90 3C 60 80 51 */ lis r3, lbl_80516980@ha
+/* 80288334 00283F94 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80288338 00283F98 38 A5 83 24 */ addi r5, r5, stateReadingFST@l
+/* 8028833C 00283F9C 38 63 69 80 */ addi r3, r3, lbl_80516980@l
+/* 80288340 00283FA0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80288344 00283FA4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80288348 00283FA8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8028834C 00283FAC 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80288350 00283FB0 80 8D AA 88 */ lwz r4, lbl_8063FD48-_SDA_BASE_(r13)
+/* 80288354 00283FB4 90 AD AA 94 */ stw r5, lbl_8063FD54-_SDA_BASE_(r13)
+/* 80288358 00283FB8 80 03 00 08 */ lwz r0, 8(r3)
+/* 8028835C 00283FBC 80 64 00 3C */ lwz r3, 0x3c(r4)
+/* 80288360 00283FC0 7C 03 00 40 */ cmplw r3, r0
+/* 80288364 00283FC4 40 80 00 1C */ bge lbl_80288380
+/* 80288368 00283FC8 3C A0 80 43 */ lis r5, lbl_80435F40@ha
+/* 8028836C 00283FCC 38 6D 88 C4 */ addi r3, r13, lbl_8063DB84-_SDA_BASE_
+/* 80288370 00283FD0 38 A5 5F 40 */ addi r5, r5, lbl_80435F40@l
+/* 80288374 00283FD4 38 80 04 0B */ li r4, 0x40b
+/* 80288378 00283FD8 4C C6 31 82 */ crclr 6
+/* 8028837C 00283FDC 4B FE 31 21 */ bl OSPanic
+lbl_80288380:
+/* 80288380 00283FE0 38 60 00 00 */ li r3, 0
+/* 80288384 00283FE4 48 00 66 15 */ bl DVDLowClearCoverInterrupt
+/* 80288388 00283FE8 80 6D AA 48 */ lwz r3, lbl_8063FD08-_SDA_BASE_(r13)
+/* 8028838C 00283FEC 3C C0 80 51 */ lis r6, lbl_80516980@ha
+/* 80288390 00283FF0 38 C6 69 80 */ addi r6, r6, lbl_80516980@l
+/* 80288394 00283FF4 80 0D AA 48 */ lwz r0, lbl_8063FD08-_SDA_BASE_(r13)
+/* 80288398 00283FF8 7C 63 18 F8 */ nor r3, r3, r3
+/* 8028839C 00283FFC 80 A6 00 08 */ lwz r5, 8(r6)
+/* 802883A0 00284000 54 64 07 BC */ rlwinm r4, r3, 0, 0x1e, 0x1e
+/* 802883A4 00284004 80 66 00 04 */ lwz r3, 4(r6)
+/* 802883A8 00284008 7C A4 20 30 */ slw r4, r5, r4
+/* 802883AC 0028400C 38 84 00 1F */ addi r4, r4, 0x1f
+/* 802883B0 00284010 7C 7D 04 30 */ srw r29, r3, r0
+/* 802883B4 00284014 54 9C 00 34 */ rlwinm r28, r4, 0, 0, 0x1a
+/* 802883B8 00284018 4B FE 63 A5 */ bl OSDisableInterrupts
+/* 802883BC 0028401C 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802883C0 00284020 7C 7F 1B 78 */ mr r31, r3
+/* 802883C4 00284024 28 00 00 05 */ cmplwi r0, 5
+/* 802883C8 00284028 41 80 00 0C */ blt lbl_802883D4
+/* 802883CC 0028402C 38 00 00 00 */ li r0, 0
+/* 802883D0 00284030 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+lbl_802883D4:
+/* 802883D4 00284034 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802883D8 00284038 3F C0 80 52 */ lis r30, lbl_8051B6E0@ha
+/* 802883DC 0028403C 80 6D AA 10 */ lwz r3, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802883E0 00284040 3B DE B6 E0 */ addi r30, r30, lbl_8051B6E0@l
+/* 802883E4 00284044 1C 80 00 14 */ mulli r4, r0, 0x14
+/* 802883E8 00284048 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802883EC 0028404C 38 A0 00 01 */ li r5, 1
+/* 802883F0 00284050 1C 63 00 14 */ mulli r3, r3, 0x14
+/* 802883F4 00284054 7C 9E 22 14 */ add r4, r30, r4
+/* 802883F8 00284058 90 A4 00 1C */ stw r5, 0x1c(r4)
+/* 802883FC 0028405C 7C 7E 1A 14 */ add r3, r30, r3
+/* 80288400 00284060 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 80288404 00284064 93 A3 00 20 */ stw r29, 0x20(r3)
+/* 80288408 00284068 7C 7E 02 14 */ add r3, r30, r0
+/* 8028840C 0028406C 93 83 00 24 */ stw r28, 0x24(r3)
+/* 80288410 00284070 4B FE A3 C1 */ bl OSGetTick
+/* 80288414 00284074 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288418 00284078 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028841C 0028407C 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 80288420 00284080 38 04 00 01 */ addi r0, r4, 1
+/* 80288424 00284084 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288428 00284088 7C 9E 2A 14 */ add r4, r30, r5
+/* 8028842C 0028408C 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 80288430 00284090 7F E3 FB 78 */ mr r3, r31
+/* 80288434 00284094 4B FE 63 51 */ bl OSRestoreInterrupts
+/* 80288438 00284098 80 0D AA 48 */ lwz r0, lbl_8063FD08-_SDA_BASE_(r13)
+/* 8028843C 0028409C 3C 80 80 51 */ lis r4, lbl_80516980@ha
+/* 80288440 002840A0 38 84 69 80 */ addi r4, r4, lbl_80516980@l
+/* 80288444 002840A4 3C C0 80 29 */ lis r6, cbForStateReadingFST@ha
+/* 80288448 002840A8 7C 00 00 F8 */ nor r0, r0, r0
+/* 8028844C 002840AC 80 64 00 08 */ lwz r3, 8(r4)
+/* 80288450 002840B0 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e
+/* 80288454 002840B4 80 ED AA 88 */ lwz r7, lbl_8063FD48-_SDA_BASE_(r13)
+/* 80288458 002840B8 7C 63 00 30 */ slw r3, r3, r0
+/* 8028845C 002840BC 80 A4 00 04 */ lwz r5, 4(r4)
+/* 80288460 002840C0 38 83 00 1F */ addi r4, r3, 0x1f
+/* 80288464 002840C4 80 0D AA 48 */ lwz r0, lbl_8063FD08-_SDA_BASE_(r13)
+/* 80288468 002840C8 80 67 00 38 */ lwz r3, 0x38(r7)
+/* 8028846C 002840CC 54 84 00 34 */ rlwinm r4, r4, 0, 0, 0x1a
+/* 80288470 002840D0 7C A5 04 30 */ srw r5, r5, r0
+/* 80288474 002840D4 38 C6 84 9C */ addi r6, r6, cbForStateReadingFST@l
+/* 80288478 002840D8 48 00 60 61 */ bl DVDLowRead
+/* 8028847C 002840DC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80288480 002840E0 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80288484 002840E4 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80288488 002840E8 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8028848C 002840EC 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 80288490 002840F0 7C 08 03 A6 */ mtlr r0
+/* 80288494 002840F4 38 21 00 20 */ addi r1, r1, 0x20
+/* 80288498 002840F8 4E 80 00 20 */ blr
+
+.global cbForStateReadingFST
+cbForStateReadingFST:
+/* 8028849C 002840FC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802884A0 00284100 7C 08 02 A6 */ mflr r0
+/* 802884A4 00284104 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802884A8 00284108 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802884AC 0028410C 93 C1 00 08 */ stw r30, 8(r1)
+/* 802884B0 00284110 7C 7E 1B 78 */ mr r30, r3
+/* 802884B4 00284114 4B FE 62 A9 */ bl OSDisableInterrupts
+/* 802884B8 00284118 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802884BC 0028411C 2C 00 00 00 */ cmpwi r0, 0
+/* 802884C0 00284120 40 82 00 14 */ bne lbl_802884D4
+/* 802884C4 00284124 3C 80 80 52 */ lis r4, lbl_8051B6E0@ha
+/* 802884C8 00284128 38 84 B6 E0 */ addi r4, r4, lbl_8051B6E0@l
+/* 802884CC 0028412C 93 C4 00 78 */ stw r30, 0x78(r4)
+/* 802884D0 00284130 48 00 00 1C */ b lbl_802884EC
+lbl_802884D4:
+/* 802884D4 00284134 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802884D8 00284138 3C 80 80 52 */ lis r4, lbl_8051B6E0@ha
+/* 802884DC 0028413C 38 84 B6 E0 */ addi r4, r4, lbl_8051B6E0@l
+/* 802884E0 00284140 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 802884E4 00284144 7C 84 02 14 */ add r4, r4, r0
+/* 802884E8 00284148 93 C4 00 14 */ stw r30, 0x14(r4)
+lbl_802884EC:
+/* 802884EC 0028414C 4B FE 62 99 */ bl OSRestoreInterrupts
+/* 802884F0 00284150 28 1E 00 10 */ cmplwi r30, 0x10
+/* 802884F4 00284154 40 82 00 1C */ bne lbl_80288510
+/* 802884F8 00284158 3C 60 01 23 */ lis r3, 0x01234568@ha
+/* 802884FC 0028415C 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 80288500 00284160 38 63 45 68 */ addi r3, r3, 0x01234568@l
+/* 80288504 00284164 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 80288508 00284168 48 00 49 41 */ bl __DVDStoreErrorCode
+/* 8028850C 0028416C 48 00 00 FC */ b lbl_80288608
+lbl_80288510:
+/* 80288510 00284170 28 1E 00 20 */ cmplwi r30, 0x20
+/* 80288514 00284174 40 82 00 1C */ bne lbl_80288530
+/* 80288518 00284178 3C 60 01 23 */ lis r3, 0x01234569@ha
+/* 8028851C 0028417C 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 80288520 00284180 38 63 45 69 */ addi r3, r3, 0x01234569@l
+/* 80288524 00284184 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 80288528 00284188 48 00 49 21 */ bl __DVDStoreErrorCode
+/* 8028852C 0028418C 48 00 00 DC */ b lbl_80288608
+lbl_80288530:
+/* 80288530 00284190 57 C0 07 FF */ clrlwi. r0, r30, 0x1f
+/* 80288534 00284194 41 82 00 44 */ beq lbl_80288578
+/* 80288538 00284198 3B C0 00 00 */ li r30, 0
+/* 8028853C 0028419C 93 CD AA 28 */ stw r30, lbl_8063FCE8-_SDA_BASE_(r13)
+/* 80288540 002841A0 4B FF F1 4D */ bl __DVDFSInit
+/* 80288544 002841A4 3C 60 80 51 */ lis r3, lbl_805169A0@ha
+/* 80288548 002841A8 80 8D AA 90 */ lwz r4, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028854C 002841AC 38 63 69 A0 */ addi r3, r3, lbl_805169A0@l
+/* 80288550 002841B0 90 6D AA 90 */ stw r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 80288554 002841B4 93 C4 00 0C */ stw r30, 0xc(r4)
+/* 80288558 002841B8 81 84 00 28 */ lwz r12, 0x28(r4)
+/* 8028855C 002841BC 2C 0C 00 00 */ cmpwi r12, 0
+/* 80288560 002841C0 41 82 00 10 */ beq lbl_80288570
+/* 80288564 002841C4 38 60 00 00 */ li r3, 0
+/* 80288568 002841C8 7D 89 03 A6 */ mtctr r12
+/* 8028856C 002841CC 4E 80 04 21 */ bctrl
+lbl_80288570:
+/* 80288570 002841D0 48 00 25 A1 */ bl stateReady
+/* 80288574 002841D4 48 00 00 94 */ b lbl_80288608
+lbl_80288578:
+/* 80288578 002841D8 4B FE 61 E5 */ bl OSDisableInterrupts
+/* 8028857C 002841DC 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288580 002841E0 7C 7F 1B 78 */ mr r31, r3
+/* 80288584 002841E4 28 00 00 05 */ cmplwi r0, 5
+/* 80288588 002841E8 41 80 00 0C */ blt lbl_80288594
+/* 8028858C 002841EC 38 00 00 00 */ li r0, 0
+/* 80288590 002841F0 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+lbl_80288594:
+/* 80288594 002841F4 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288598 002841F8 3F C0 80 52 */ lis r30, lbl_8051B6E0@ha
+/* 8028859C 002841FC 80 6D AA 10 */ lwz r3, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802885A0 00284200 3B DE B6 E0 */ addi r30, r30, lbl_8051B6E0@l
+/* 802885A4 00284204 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 802885A8 00284208 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802885AC 0028420C 38 C0 00 27 */ li r6, 0x27
+/* 802885B0 00284210 38 80 00 00 */ li r4, 0
+/* 802885B4 00284214 1C 63 00 14 */ mulli r3, r3, 0x14
+/* 802885B8 00284218 7C BE 2A 14 */ add r5, r30, r5
+/* 802885BC 0028421C 90 C5 00 1C */ stw r6, 0x1c(r5)
+/* 802885C0 00284220 7C 7E 1A 14 */ add r3, r30, r3
+/* 802885C4 00284224 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 802885C8 00284228 90 83 00 20 */ stw r4, 0x20(r3)
+/* 802885CC 0028422C 7C 7E 02 14 */ add r3, r30, r0
+/* 802885D0 00284230 90 83 00 24 */ stw r4, 0x24(r3)
+/* 802885D4 00284234 4B FE A1 FD */ bl OSGetTick
+/* 802885D8 00284238 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802885DC 0028423C 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802885E0 00284240 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 802885E4 00284244 38 04 00 01 */ addi r0, r4, 1
+/* 802885E8 00284248 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802885EC 0028424C 7C 9E 2A 14 */ add r4, r30, r5
+/* 802885F0 00284250 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 802885F4 00284254 7F E3 FB 78 */ mr r3, r31
+/* 802885F8 00284258 4B FE 61 8D */ bl OSRestoreInterrupts
+/* 802885FC 0028425C 3C 60 80 29 */ lis r3, cbForStateGettingError@ha
+/* 80288600 00284260 38 63 89 3C */ addi r3, r3, cbForStateGettingError@l
+/* 80288604 00284264 48 00 58 D1 */ bl DVDLowRequestError
+lbl_80288608:
+/* 80288608 00284268 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028860C 0028426C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80288610 00284270 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80288614 00284274 7C 08 03 A6 */ mtlr r0
+/* 80288618 00284278 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028861C 0028427C 4E 80 00 20 */ blr
+
+.global FatalAlarmHandler
+FatalAlarmHandler:
+/* 80288620 00284280 48 00 4A E0 */ b __DVDPrintFatalMessage
+
+.global cbForStateError
+cbForStateError:
+/* 80288624 00284284 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80288628 00284288 7C 08 02 A6 */ mflr r0
+/* 8028862C 0028428C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80288630 00284290 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80288634 00284294 7C 7F 1B 78 */ mr r31, r3
+/* 80288638 00284298 48 00 4A B5 */ bl __DVDGetAutoFatalMessaging
+/* 8028863C 0028429C 2C 03 00 00 */ cmpwi r3, 0
+/* 80288640 002842A0 41 82 00 2C */ beq lbl_8028866C
+/* 80288644 002842A4 3F E0 80 51 */ lis r31, lbl_805169D0@ha
+/* 80288648 002842A8 38 7F 69 D0 */ addi r3, r31, lbl_805169D0@l
+/* 8028864C 002842AC 4B FE 10 D9 */ bl OSCreateAlarm
+/* 80288650 002842B0 3C E0 80 29 */ lis r7, FatalAlarmHandler@ha
+/* 80288654 002842B4 38 7F 69 D0 */ addi r3, r31, 0x69d0
+/* 80288658 002842B8 38 E7 86 20 */ addi r7, r7, FatalAlarmHandler@l
+/* 8028865C 002842BC 38 C0 00 01 */ li r6, 1
+/* 80288660 002842C0 38 A0 00 00 */ li r5, 0
+/* 80288664 002842C4 4B FE 13 21 */ bl OSSetAlarm
+/* 80288668 002842C8 48 00 00 B8 */ b lbl_80288720
+lbl_8028866C:
+/* 8028866C 002842CC 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 80288670 002842D0 38 00 FF FF */ li r0, -1
+/* 80288674 002842D4 28 1F 00 10 */ cmplwi r31, 0x10
+/* 80288678 002842D8 90 03 00 0C */ stw r0, 0xc(r3)
+/* 8028867C 002842DC 40 82 00 1C */ bne lbl_80288698
+/* 80288680 002842E0 3C 60 01 23 */ lis r3, 0x01234568@ha
+/* 80288684 002842E4 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 80288688 002842E8 38 63 45 68 */ addi r3, r3, 0x01234568@l
+/* 8028868C 002842EC 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 80288690 002842F0 48 00 47 B9 */ bl __DVDStoreErrorCode
+/* 80288694 002842F4 48 00 00 8C */ b lbl_80288720
+lbl_80288698:
+/* 80288698 002842F8 28 1F 00 20 */ cmplwi r31, 0x20
+/* 8028869C 002842FC 40 82 00 1C */ bne lbl_802886B8
+/* 802886A0 00284300 3C 60 01 23 */ lis r3, 0x01234569@ha
+/* 802886A4 00284304 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 802886A8 00284308 38 63 45 69 */ addi r3, r3, 0x01234569@l
+/* 802886AC 0028430C 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 802886B0 00284310 48 00 47 99 */ bl __DVDStoreErrorCode
+/* 802886B4 00284314 48 00 00 6C */ b lbl_80288720
+lbl_802886B8:
+/* 802886B8 00284318 3C 60 80 51 */ lis r3, lbl_805169A0@ha
+/* 802886BC 0028431C 83 ED AA 90 */ lwz r31, lbl_8063FD50-_SDA_BASE_(r13)
+/* 802886C0 00284320 38 63 69 A0 */ addi r3, r3, lbl_805169A0@l
+/* 802886C4 00284324 38 00 00 01 */ li r0, 1
+/* 802886C8 00284328 90 0D AA 1C */ stw r0, lbl_8063FCDC-_SDA_BASE_(r13)
+/* 802886CC 0028432C 90 6D AA 90 */ stw r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 802886D0 00284330 81 9F 00 28 */ lwz r12, 0x28(r31)
+/* 802886D4 00284334 2C 0C 00 00 */ cmpwi r12, 0
+/* 802886D8 00284338 41 82 00 14 */ beq lbl_802886EC
+/* 802886DC 0028433C 7F E4 FB 78 */ mr r4, r31
+/* 802886E0 00284340 38 60 FF FF */ li r3, -1
+/* 802886E4 00284344 7D 89 03 A6 */ mtctr r12
+/* 802886E8 00284348 4E 80 04 21 */ bctrl
+lbl_802886EC:
+/* 802886EC 0028434C 80 0D AA 20 */ lwz r0, lbl_8063FCE0-_SDA_BASE_(r13)
+/* 802886F0 00284350 2C 00 00 00 */ cmpwi r0, 0
+/* 802886F4 00284354 41 82 00 28 */ beq lbl_8028871C
+/* 802886F8 00284358 81 8D AA 80 */ lwz r12, lbl_8063FD40-_SDA_BASE_(r13)
+/* 802886FC 0028435C 38 00 00 00 */ li r0, 0
+/* 80288700 00284360 90 0D AA 20 */ stw r0, lbl_8063FCE0-_SDA_BASE_(r13)
+/* 80288704 00284364 2C 0C 00 00 */ cmpwi r12, 0
+/* 80288708 00284368 41 82 00 14 */ beq lbl_8028871C
+/* 8028870C 0028436C 7F E4 FB 78 */ mr r4, r31
+/* 80288710 00284370 38 60 00 00 */ li r3, 0
+/* 80288714 00284374 7D 89 03 A6 */ mtctr r12
+/* 80288718 00284378 4E 80 04 21 */ bctrl
+lbl_8028871C:
+/* 8028871C 0028437C 48 00 23 F5 */ bl stateReady
+lbl_80288720:
+/* 80288720 00284380 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80288724 00284384 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80288728 00284388 7C 08 03 A6 */ mtlr r0
+/* 8028872C 0028438C 38 21 00 10 */ addi r1, r1, 0x10
+/* 80288730 00284390 4E 80 00 20 */ blr
+
+.global cbForStoreErrorCode1
+cbForStoreErrorCode1:
+/* 80288734 00284394 3C A0 80 29 */ lis r5, cbForStateError@ha
+/* 80288738 00284398 38 60 00 00 */ li r3, 0
+/* 8028873C 0028439C 38 A5 86 24 */ addi r5, r5, cbForStateError@l
+/* 80288740 002843A0 38 80 00 00 */ li r4, 0
+/* 80288744 002843A4 48 00 54 94 */ b DVDLowStopMotor
+
+.global cbForStoreErrorCode2
+cbForStoreErrorCode2:
+/* 80288748 002843A8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028874C 002843AC 7C 08 02 A6 */ mflr r0
+/* 80288750 002843B0 38 60 00 00 */ li r3, 0
+/* 80288754 002843B4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80288758 002843B8 48 00 58 E5 */ bl DVDLowSetSpinupFlag
+/* 8028875C 002843BC 3C 60 80 29 */ lis r3, cbForStateError@ha
+/* 80288760 002843C0 38 63 86 24 */ addi r3, r3, cbForStateError@l
+/* 80288764 002843C4 48 00 58 E5 */ bl DVDLowReset
+/* 80288768 002843C8 38 00 00 00 */ li r0, 0
+/* 8028876C 002843CC 90 0D AA 74 */ stw r0, lbl_8063FD34-_SDA_BASE_(r13)
+/* 80288770 002843D0 90 0D AA 24 */ stw r0, lbl_8063FCE4-_SDA_BASE_(r13)
+/* 80288774 002843D4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80288778 002843D8 7C 08 03 A6 */ mtlr r0
+/* 8028877C 002843DC 38 21 00 10 */ addi r1, r1, 0x10
+/* 80288780 002843E0 4E 80 00 20 */ blr
+
+.global CategorizeError
+CategorizeError:
+/* 80288784 002843E4 3C 03 FF FE */ addis r0, r3, 0xfffe
+/* 80288788 002843E8 28 00 04 00 */ cmplwi r0, 0x400
+/* 8028878C 002843EC 40 82 00 10 */ bne lbl_8028879C
+/* 80288790 002843F0 90 6D AA 78 */ stw r3, lbl_8063FD38-_SDA_BASE_(r13)
+/* 80288794 002843F4 38 60 00 01 */ li r3, 1
+/* 80288798 002843F8 4E 80 00 20 */ blr
+lbl_8028879C:
+/* 8028879C 002843FC 54 64 02 3E */ clrlwi r4, r3, 8
+/* 802887A0 00284400 3C 04 FF FA */ addis r0, r4, 0xfffa
+/* 802887A4 00284404 28 00 28 00 */ cmplwi r0, 0x2800
+/* 802887A8 00284408 41 82 00 28 */ beq lbl_802887D0
+/* 802887AC 0028440C 3C 04 FF FE */ addis r0, r4, 0xfffe
+/* 802887B0 00284410 28 00 3A 00 */ cmplwi r0, 0x3a00
+/* 802887B4 00284414 41 82 00 1C */ beq lbl_802887D0
+/* 802887B8 00284418 3C 64 FF FB */ addis r3, r4, 0xfffb
+/* 802887BC 0028441C 28 03 30 00 */ cmplwi r3, 0x3000
+/* 802887C0 00284420 41 82 00 10 */ beq lbl_802887D0
+/* 802887C4 00284424 3C 04 FF F5 */ addis r0, r4, 0xfff5
+/* 802887C8 00284428 28 00 5A 01 */ cmplwi r0, 0x5a01
+/* 802887CC 0028442C 40 82 00 0C */ bne lbl_802887D8
+lbl_802887D0:
+/* 802887D0 00284430 38 60 00 00 */ li r3, 0
+/* 802887D4 00284434 4E 80 00 20 */ blr
+lbl_802887D8:
+/* 802887D8 00284438 28 03 20 00 */ cmplwi r3, 0x2000
+/* 802887DC 0028443C 40 82 00 30 */ bne lbl_8028880C
+/* 802887E0 00284440 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 802887E4 00284444 80 03 00 08 */ lwz r0, 8(r3)
+/* 802887E8 00284448 28 00 00 25 */ cmplwi r0, 0x25
+/* 802887EC 0028444C 41 82 00 18 */ beq lbl_80288804
+/* 802887F0 00284450 3C 60 80 29 */ lis r3, stateDownRotation@ha
+/* 802887F4 00284454 80 0D AA 94 */ lwz r0, lbl_8063FD54-_SDA_BASE_(r13)
+/* 802887F8 00284458 38 63 A5 5C */ addi r3, r3, stateDownRotation@l
+/* 802887FC 0028445C 7C 00 18 40 */ cmplw r0, r3
+/* 80288800 00284460 40 82 00 0C */ bne lbl_8028880C
+lbl_80288804:
+/* 80288804 00284464 38 60 00 00 */ li r3, 0
+/* 80288808 00284468 4E 80 00 20 */ blr
+lbl_8028880C:
+/* 8028880C 0028446C 80 6D AA 28 */ lwz r3, lbl_8063FCE8-_SDA_BASE_(r13)
+/* 80288810 00284470 38 03 00 01 */ addi r0, r3, 1
+/* 80288814 00284474 90 0D AA 28 */ stw r0, lbl_8063FCE8-_SDA_BASE_(r13)
+/* 80288818 00284478 80 0D AA 28 */ lwz r0, lbl_8063FCE8-_SDA_BASE_(r13)
+/* 8028881C 0028447C 2C 00 00 02 */ cmpwi r0, 2
+/* 80288820 00284480 40 82 00 28 */ bne lbl_80288848
+/* 80288824 00284484 80 0D AA 78 */ lwz r0, lbl_8063FD38-_SDA_BASE_(r13)
+/* 80288828 00284488 7C 04 00 40 */ cmplw r4, r0
+/* 8028882C 0028448C 40 82 00 10 */ bne lbl_8028883C
+/* 80288830 00284490 90 8D AA 78 */ stw r4, lbl_8063FD38-_SDA_BASE_(r13)
+/* 80288834 00284494 38 60 00 01 */ li r3, 1
+/* 80288838 00284498 4E 80 00 20 */ blr
+lbl_8028883C:
+/* 8028883C 0028449C 90 8D AA 78 */ stw r4, lbl_8063FD38-_SDA_BASE_(r13)
+/* 80288840 002844A0 38 60 00 02 */ li r3, 2
+/* 80288844 002844A4 4E 80 00 20 */ blr
+lbl_80288848:
+/* 80288848 002844A8 3C 04 FF FD */ addis r0, r4, 0xfffd
+/* 8028884C 002844AC 90 8D AA 78 */ stw r4, lbl_8063FD38-_SDA_BASE_(r13)
+/* 80288850 002844B0 28 00 11 00 */ cmplwi r0, 0x1100
+/* 80288854 002844B4 41 82 00 14 */ beq lbl_80288868
+/* 80288858 002844B8 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028885C 002844BC 80 03 00 08 */ lwz r0, 8(r3)
+/* 80288860 002844C0 28 00 00 05 */ cmplwi r0, 5
+/* 80288864 002844C4 40 82 00 0C */ bne lbl_80288870
+lbl_80288868:
+/* 80288868 002844C8 38 60 00 02 */ li r3, 2
+/* 8028886C 002844CC 4E 80 00 20 */ blr
+lbl_80288870:
+/* 80288870 002844D0 38 60 00 03 */ li r3, 3
+/* 80288874 002844D4 4E 80 00 20 */ blr
+
+.global cbForStoreErrorCode3
+cbForStoreErrorCode3:
+/* 80288878 002844D8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028887C 002844DC 7C 08 02 A6 */ mflr r0
+/* 80288880 002844E0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80288884 002844E4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80288888 002844E8 93 C1 00 08 */ stw r30, 8(r1)
+/* 8028888C 002844EC 4B FE 5E D1 */ bl OSDisableInterrupts
+/* 80288890 002844F0 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288894 002844F4 7C 7F 1B 78 */ mr r31, r3
+/* 80288898 002844F8 28 00 00 05 */ cmplwi r0, 5
+/* 8028889C 002844FC 41 80 00 0C */ blt lbl_802888A8
+/* 802888A0 00284500 38 00 00 00 */ li r0, 0
+/* 802888A4 00284504 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+lbl_802888A8:
+/* 802888A8 00284508 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802888AC 0028450C 3F C0 80 52 */ lis r30, lbl_8051B6E0@ha
+/* 802888B0 00284510 80 6D AA 10 */ lwz r3, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802888B4 00284514 3B DE B6 E0 */ addi r30, r30, lbl_8051B6E0@l
+/* 802888B8 00284518 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 802888BC 0028451C 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802888C0 00284520 38 C0 00 10 */ li r6, 0x10
+/* 802888C4 00284524 38 80 00 00 */ li r4, 0
+/* 802888C8 00284528 1C 63 00 14 */ mulli r3, r3, 0x14
+/* 802888CC 0028452C 7C BE 2A 14 */ add r5, r30, r5
+/* 802888D0 00284530 90 C5 00 1C */ stw r6, 0x1c(r5)
+/* 802888D4 00284534 7C 7E 1A 14 */ add r3, r30, r3
+/* 802888D8 00284538 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 802888DC 0028453C 90 83 00 20 */ stw r4, 0x20(r3)
+/* 802888E0 00284540 7C 7E 02 14 */ add r3, r30, r0
+/* 802888E4 00284544 90 83 00 24 */ stw r4, 0x24(r3)
+/* 802888E8 00284548 4B FE 9E E9 */ bl OSGetTick
+/* 802888EC 0028454C 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802888F0 00284550 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802888F4 00284554 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 802888F8 00284558 38 04 00 01 */ addi r0, r4, 1
+/* 802888FC 0028455C 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288900 00284560 7C 9E 2A 14 */ add r4, r30, r5
+/* 80288904 00284564 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 80288908 00284568 7F E3 FB 78 */ mr r3, r31
+/* 8028890C 0028456C 4B FE 5E 79 */ bl OSRestoreInterrupts
+/* 80288910 00284570 3C A0 80 29 */ lis r5, cbForStateGoToRetry@ha
+/* 80288914 00284574 38 60 00 00 */ li r3, 0
+/* 80288918 00284578 38 A5 90 F4 */ addi r5, r5, cbForStateGoToRetry@l
+/* 8028891C 0028457C 38 80 00 00 */ li r4, 0
+/* 80288920 00284580 48 00 52 B9 */ bl DVDLowStopMotor
+/* 80288924 00284584 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80288928 00284588 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028892C 0028458C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80288930 00284590 7C 08 03 A6 */ mtlr r0
+/* 80288934 00284594 38 21 00 10 */ addi r1, r1, 0x10
+/* 80288938 00284598 4E 80 00 20 */ blr
+
+.global cbForStateGettingError
+cbForStateGettingError:
+/* 8028893C 0028459C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80288940 002845A0 7C 08 02 A6 */ mflr r0
+/* 80288944 002845A4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80288948 002845A8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8028894C 002845AC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80288950 002845B0 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80288954 002845B4 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80288958 002845B8 7C 7C 1B 78 */ mr r28, r3
+/* 8028895C 002845BC 4B FE 5E 01 */ bl OSDisableInterrupts
+/* 80288960 002845C0 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288964 002845C4 2C 00 00 00 */ cmpwi r0, 0
+/* 80288968 002845C8 40 82 00 14 */ bne lbl_8028897C
+/* 8028896C 002845CC 3C 80 80 52 */ lis r4, lbl_8051B6E0@ha
+/* 80288970 002845D0 38 84 B6 E0 */ addi r4, r4, lbl_8051B6E0@l
+/* 80288974 002845D4 93 84 00 78 */ stw r28, 0x78(r4)
+/* 80288978 002845D8 48 00 00 1C */ b lbl_80288994
+lbl_8028897C:
+/* 8028897C 002845DC 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288980 002845E0 3C 80 80 52 */ lis r4, lbl_8051B6E0@ha
+/* 80288984 002845E4 38 84 B6 E0 */ addi r4, r4, lbl_8051B6E0@l
+/* 80288988 002845E8 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 8028898C 002845EC 7C 84 02 14 */ add r4, r4, r0
+/* 80288990 002845F0 93 84 00 14 */ stw r28, 0x14(r4)
+lbl_80288994:
+/* 80288994 002845F4 4B FE 5D F1 */ bl OSRestoreInterrupts
+/* 80288998 002845F8 28 1C 00 10 */ cmplwi r28, 0x10
+/* 8028899C 002845FC 40 82 00 1C */ bne lbl_802889B8
+/* 802889A0 00284600 3C 60 01 23 */ lis r3, 0x01234568@ha
+/* 802889A4 00284604 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 802889A8 00284608 38 63 45 68 */ addi r3, r3, 0x01234568@l
+/* 802889AC 0028460C 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 802889B0 00284610 48 00 44 99 */ bl __DVDStoreErrorCode
+/* 802889B4 00284614 48 00 04 6C */ b lbl_80288E20
+lbl_802889B8:
+/* 802889B8 00284618 28 1C 00 20 */ cmplwi r28, 0x20
+/* 802889BC 0028461C 40 82 00 1C */ bne lbl_802889D8
+/* 802889C0 00284620 3C 60 01 23 */ lis r3, 0x01234569@ha
+/* 802889C4 00284624 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 802889C8 00284628 38 63 45 69 */ addi r3, r3, 0x01234569@l
+/* 802889CC 0028462C 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 802889D0 00284630 48 00 44 79 */ bl __DVDStoreErrorCode
+/* 802889D4 00284634 48 00 04 4C */ b lbl_80288E20
+lbl_802889D8:
+/* 802889D8 00284638 57 80 07 BD */ rlwinm. r0, r28, 0, 0x1e, 0x1e
+/* 802889DC 0028463C 41 82 00 1C */ beq lbl_802889F8
+/* 802889E0 00284640 3C 60 01 23 */ lis r3, 0x01234567@ha
+/* 802889E4 00284644 3C 80 80 29 */ lis r4, cbForStoreErrorCode1@ha
+/* 802889E8 00284648 38 63 45 67 */ addi r3, r3, 0x01234567@l
+/* 802889EC 0028464C 38 84 87 34 */ addi r4, r4, cbForStoreErrorCode1@l
+/* 802889F0 00284650 48 00 44 59 */ bl __DVDStoreErrorCode
+/* 802889F4 00284654 48 00 04 2C */ b lbl_80288E20
+lbl_802889F8:
+/* 802889F8 00284658 48 00 5F 85 */ bl DVDLowGetImmBufferReg
+/* 802889FC 0028465C 7C 7D 1B 78 */ mr r29, r3
+/* 80288A00 00284660 54 7C 00 0E */ rlwinm r28, r3, 0, 0, 7
+/* 80288A04 00284664 4B FF FD 81 */ bl CategorizeError
+/* 80288A08 00284668 28 03 00 01 */ cmplwi r3, 1
+/* 80288A0C 0028466C 7C 7E 1B 78 */ mr r30, r3
+/* 80288A10 00284670 40 82 00 18 */ bne lbl_80288A28
+/* 80288A14 00284674 3C 80 80 29 */ lis r4, cbForStoreErrorCode1@ha
+/* 80288A18 00284678 7F A3 EB 78 */ mr r3, r29
+/* 80288A1C 0028467C 38 84 87 34 */ addi r4, r4, cbForStoreErrorCode1@l
+/* 80288A20 00284680 48 00 44 29 */ bl __DVDStoreErrorCode
+/* 80288A24 00284684 48 00 03 FC */ b lbl_80288E20
+lbl_80288A28:
+/* 80288A28 00284688 38 03 FF FE */ addi r0, r3, -2
+/* 80288A2C 0028468C 28 00 00 01 */ cmplwi r0, 1
+/* 80288A30 00284690 41 81 00 0C */ bgt lbl_80288A3C
+/* 80288A34 00284694 38 A0 00 00 */ li r5, 0
+/* 80288A38 00284698 48 00 00 68 */ b lbl_80288AA0
+lbl_80288A3C:
+/* 80288A3C 0028469C 3C 1C FF 00 */ addis r0, r28, 0xff00
+/* 80288A40 002846A0 28 00 00 00 */ cmplwi r0, 0
+/* 80288A44 002846A4 40 82 00 0C */ bne lbl_80288A50
+/* 80288A48 002846A8 38 A0 00 04 */ li r5, 4
+/* 80288A4C 002846AC 48 00 00 54 */ b lbl_80288AA0
+lbl_80288A50:
+/* 80288A50 002846B0 3C 1C FE 00 */ addis r0, r28, 0xfe00
+/* 80288A54 002846B4 28 00 00 00 */ cmplwi r0, 0
+/* 80288A58 002846B8 40 82 00 0C */ bne lbl_80288A64
+/* 80288A5C 002846BC 38 A0 00 06 */ li r5, 6
+/* 80288A60 002846C0 48 00 00 40 */ b lbl_80288AA0
+lbl_80288A64:
+/* 80288A64 002846C4 3C 1C FD 00 */ addis r0, r28, 0xfd00
+/* 80288A68 002846C8 28 00 00 00 */ cmplwi r0, 0
+/* 80288A6C 002846CC 40 82 00 0C */ bne lbl_80288A78
+/* 80288A70 002846D0 38 A0 00 03 */ li r5, 3
+/* 80288A74 002846D4 48 00 00 2C */ b lbl_80288AA0
+lbl_80288A78:
+/* 80288A78 002846D8 2C 1C 00 00 */ cmpwi r28, 0
+/* 80288A7C 002846DC 40 82 00 20 */ bne lbl_80288A9C
+/* 80288A80 002846E0 3C 1D FF FB */ addis r0, r29, 0xfffb
+/* 80288A84 002846E4 28 00 30 00 */ cmplwi r0, 0x3000
+/* 80288A88 002846E8 40 82 00 0C */ bne lbl_80288A94
+/* 80288A8C 002846EC 38 A0 00 01 */ li r5, 1
+/* 80288A90 002846F0 48 00 00 10 */ b lbl_80288AA0
+lbl_80288A94:
+/* 80288A94 002846F4 38 A0 00 05 */ li r5, 5
+/* 80288A98 002846F8 48 00 00 08 */ b lbl_80288AA0
+lbl_80288A9C:
+/* 80288A9C 002846FC 38 A0 00 05 */ li r5, 5
+lbl_80288AA0:
+/* 80288AA0 00284700 80 0D AA 20 */ lwz r0, lbl_8063FCE0-_SDA_BASE_(r13)
+/* 80288AA4 00284704 2C 00 00 00 */ cmpwi r0, 0
+/* 80288AA8 00284708 41 82 00 6C */ beq lbl_80288B14
+/* 80288AAC 0028470C 3C 60 80 51 */ lis r3, lbl_805169A0@ha
+/* 80288AB0 00284710 83 ED AA 90 */ lwz r31, lbl_8063FD50-_SDA_BASE_(r13)
+/* 80288AB4 00284714 38 63 69 A0 */ addi r3, r3, lbl_805169A0@l
+/* 80288AB8 00284718 38 80 00 00 */ li r4, 0
+/* 80288ABC 0028471C 90 AD AA 24 */ stw r5, lbl_8063FCE4-_SDA_BASE_(r13)
+/* 80288AC0 00284720 38 00 00 0A */ li r0, 0xa
+/* 80288AC4 00284724 90 8D AA 20 */ stw r4, lbl_8063FCE0-_SDA_BASE_(r13)
+/* 80288AC8 00284728 90 6D AA 90 */ stw r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 80288ACC 0028472C 90 1F 00 0C */ stw r0, 0xc(r31)
+/* 80288AD0 00284730 81 9F 00 28 */ lwz r12, 0x28(r31)
+/* 80288AD4 00284734 2C 0C 00 00 */ cmpwi r12, 0
+/* 80288AD8 00284738 41 82 00 14 */ beq lbl_80288AEC
+/* 80288ADC 0028473C 7F E4 FB 78 */ mr r4, r31
+/* 80288AE0 00284740 38 60 FF FD */ li r3, -3
+/* 80288AE4 00284744 7D 89 03 A6 */ mtctr r12
+/* 80288AE8 00284748 4E 80 04 21 */ bctrl
+lbl_80288AEC:
+/* 80288AEC 0028474C 81 8D AA 80 */ lwz r12, lbl_8063FD40-_SDA_BASE_(r13)
+/* 80288AF0 00284750 2C 0C 00 00 */ cmpwi r12, 0
+/* 80288AF4 00284754 41 82 00 14 */ beq lbl_80288B08
+/* 80288AF8 00284758 7F E4 FB 78 */ mr r4, r31
+/* 80288AFC 0028475C 38 60 00 00 */ li r3, 0
+/* 80288B00 00284760 7D 89 03 A6 */ mtctr r12
+/* 80288B04 00284764 4E 80 04 21 */ bctrl
+lbl_80288B08:
+/* 80288B08 00284768 48 00 20 09 */ bl stateReady
+/* 80288B0C 0028476C 38 00 00 01 */ li r0, 1
+/* 80288B10 00284770 48 00 00 08 */ b lbl_80288B18
+lbl_80288B14:
+/* 80288B14 00284774 38 00 00 00 */ li r0, 0
+lbl_80288B18:
+/* 80288B18 00284778 2C 00 00 00 */ cmpwi r0, 0
+/* 80288B1C 0028477C 40 82 03 04 */ bne lbl_80288E20
+/* 80288B20 00284780 28 1E 00 02 */ cmplwi r30, 2
+/* 80288B24 00284784 40 82 00 18 */ bne lbl_80288B3C
+/* 80288B28 00284788 3C 80 80 29 */ lis r4, cbForStoreErrorCode3@ha
+/* 80288B2C 0028478C 7F A3 EB 78 */ mr r3, r29
+/* 80288B30 00284790 38 84 88 78 */ addi r4, r4, cbForStoreErrorCode3@l
+/* 80288B34 00284794 48 00 43 15 */ bl __DVDStoreErrorCode
+/* 80288B38 00284798 48 00 02 E8 */ b lbl_80288E20
+lbl_80288B3C:
+/* 80288B3C 0028479C 28 1E 00 03 */ cmplwi r30, 3
+/* 80288B40 002847A0 40 82 00 CC */ bne lbl_80288C0C
+/* 80288B44 002847A4 57 A3 02 3E */ clrlwi r3, r29, 8
+/* 80288B48 002847A8 3C 03 FF FD */ addis r0, r3, 0xfffd
+/* 80288B4C 002847AC 28 00 11 00 */ cmplwi r0, 0x1100
+/* 80288B50 002847B0 40 82 00 A8 */ bne lbl_80288BF8
+/* 80288B54 002847B4 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 80288B58 002847B8 83 A3 00 10 */ lwz r29, 0x10(r3)
+/* 80288B5C 002847BC 4B FE 5C 01 */ bl OSDisableInterrupts
+/* 80288B60 002847C0 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288B64 002847C4 7C 7F 1B 78 */ mr r31, r3
+/* 80288B68 002847C8 28 00 00 05 */ cmplwi r0, 5
+/* 80288B6C 002847CC 41 80 00 0C */ blt lbl_80288B78
+/* 80288B70 002847D0 38 00 00 00 */ li r0, 0
+/* 80288B74 002847D4 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+lbl_80288B78:
+/* 80288B78 002847D8 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288B7C 002847DC 3F C0 80 52 */ lis r30, lbl_8051B6E0@ha
+/* 80288B80 002847E0 80 6D AA 10 */ lwz r3, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288B84 002847E4 3B DE B6 E0 */ addi r30, r30, lbl_8051B6E0@l
+/* 80288B88 002847E8 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 80288B8C 002847EC 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288B90 002847F0 38 C0 00 02 */ li r6, 2
+/* 80288B94 002847F4 38 80 00 00 */ li r4, 0
+/* 80288B98 002847F8 1C 63 00 14 */ mulli r3, r3, 0x14
+/* 80288B9C 002847FC 7C BE 2A 14 */ add r5, r30, r5
+/* 80288BA0 00284800 90 C5 00 1C */ stw r6, 0x1c(r5)
+/* 80288BA4 00284804 7C 7E 1A 14 */ add r3, r30, r3
+/* 80288BA8 00284808 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 80288BAC 0028480C 93 A3 00 20 */ stw r29, 0x20(r3)
+/* 80288BB0 00284810 7C 7E 02 14 */ add r3, r30, r0
+/* 80288BB4 00284814 90 83 00 24 */ stw r4, 0x24(r3)
+/* 80288BB8 00284818 4B FE 9C 19 */ bl OSGetTick
+/* 80288BBC 0028481C 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288BC0 00284820 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288BC4 00284824 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 80288BC8 00284828 38 04 00 01 */ addi r0, r4, 1
+/* 80288BCC 0028482C 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288BD0 00284830 7C 9E 2A 14 */ add r4, r30, r5
+/* 80288BD4 00284834 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 80288BD8 00284838 7F E3 FB 78 */ mr r3, r31
+/* 80288BDC 0028483C 4B FE 5B A9 */ bl OSRestoreInterrupts
+/* 80288BE0 00284840 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 80288BE4 00284844 3C 80 80 29 */ lis r4, cbForUnrecoveredError@ha
+/* 80288BE8 00284848 38 84 8E 40 */ addi r4, r4, cbForUnrecoveredError@l
+/* 80288BEC 0028484C 80 63 00 10 */ lwz r3, 0x10(r3)
+/* 80288BF0 00284850 48 00 5A 99 */ bl DVDLowSeek
+/* 80288BF4 00284854 48 00 02 2C */ b lbl_80288E20
+lbl_80288BF8:
+/* 80288BF8 00284858 81 8D AA 94 */ lwz r12, lbl_8063FD54-_SDA_BASE_(r13)
+/* 80288BFC 0028485C 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 80288C00 00284860 7D 89 03 A6 */ mtctr r12
+/* 80288C04 00284864 4E 80 04 21 */ bctrl
+/* 80288C08 00284868 48 00 02 18 */ b lbl_80288E20
+lbl_80288C0C:
+/* 80288C0C 0028486C 3C 1C FF 00 */ addis r0, r28, 0xff00
+/* 80288C10 00284870 28 00 00 00 */ cmplwi r0, 0
+/* 80288C14 00284874 40 82 00 84 */ bne lbl_80288C98
+/* 80288C18 00284878 80 8D AA 90 */ lwz r4, lbl_8063FD50-_SDA_BASE_(r13)
+/* 80288C1C 0028487C 38 00 00 05 */ li r0, 5
+/* 80288C20 00284880 38 60 00 01 */ li r3, 1
+/* 80288C24 00284884 90 04 00 0C */ stw r0, 0xc(r4)
+/* 80288C28 00284888 80 0D AA 34 */ lwz r0, lbl_8063FCF4-_SDA_BASE_(r13)
+/* 80288C2C 0028488C 90 6D AA 70 */ stw r3, lbl_8063FD30-_SDA_BASE_(r13)
+/* 80288C30 00284890 2C 00 00 00 */ cmpwi r0, 0
+/* 80288C34 00284894 40 82 01 EC */ bne lbl_80288E20
+/* 80288C38 00284898 80 0D AA 38 */ lwz r0, lbl_8063FCF8-_SDA_BASE_(r13)
+/* 80288C3C 0028489C 2C 00 00 00 */ cmpwi r0, 0
+/* 80288C40 002848A0 40 82 01 E0 */ bne lbl_80288E20
+/* 80288C44 002848A4 3F C0 80 51 */ lis r30, lbl_80516A00@ha
+/* 80288C48 002848A8 90 6D AA 34 */ stw r3, lbl_8063FCF4-_SDA_BASE_(r13)
+/* 80288C4C 002848AC 38 7E 6A 00 */ addi r3, r30, lbl_80516A00@l
+/* 80288C50 002848B0 4B FE 0A D5 */ bl OSCreateAlarm
+/* 80288C54 002848B4 4B FE 9B 7D */ bl OSGetTick
+/* 80288C58 002848B8 3C A0 80 00 */ lis r5, 0x800000F8@ha
+/* 80288C5C 002848BC 3C 80 10 62 */ lis r4, 0x10624DD3@ha
+/* 80288C60 002848C0 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
+/* 80288C64 002848C4 3D 20 80 29 */ lis r9, CoverAlarmHandler@ha
+/* 80288C68 002848C8 7C 66 1B 78 */ mr r6, r3
+/* 80288C6C 002848CC 38 84 4D D3 */ addi r4, r4, 0x10624DD3@l
+/* 80288C70 002848D0 54 00 F0 BE */ srwi r0, r0, 2
+/* 80288C74 002848D4 38 7E 6A 00 */ addi r3, r30, 0x6a00
+/* 80288C78 002848D8 7C 04 00 16 */ mulhwu r0, r4, r0
+/* 80288C7C 002848DC 39 29 AA EC */ addi r9, r9, CoverAlarmHandler@l
+/* 80288C80 002848E0 38 A0 00 00 */ li r5, 0
+/* 80288C84 002848E4 38 E0 00 00 */ li r7, 0
+/* 80288C88 002848E8 54 00 D1 BE */ srwi r0, r0, 6
+/* 80288C8C 002848EC 1D 00 00 64 */ mulli r8, r0, 0x64
+/* 80288C90 002848F0 4B FE 0D 65 */ bl OSSetPeriodicAlarm
+/* 80288C94 002848F4 48 00 01 8C */ b lbl_80288E20
+lbl_80288C98:
+/* 80288C98 002848F8 3C 1C FE 00 */ addis r0, r28, 0xfe00
+/* 80288C9C 002848FC 28 00 00 00 */ cmplwi r0, 0
+/* 80288CA0 00284900 40 82 00 18 */ bne lbl_80288CB8
+/* 80288CA4 00284904 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 80288CA8 00284908 38 00 00 03 */ li r0, 3
+/* 80288CAC 0028490C 90 03 00 0C */ stw r0, 0xc(r3)
+/* 80288CB0 00284910 48 00 15 5D */ bl stateCoverClosed
+/* 80288CB4 00284914 48 00 01 6C */ b lbl_80288E20
+lbl_80288CB8:
+/* 80288CB8 00284918 3C 1C FD 00 */ addis r0, r28, 0xfd00
+/* 80288CBC 0028491C 28 00 00 00 */ cmplwi r0, 0
+/* 80288CC0 00284920 40 82 00 84 */ bne lbl_80288D44
+/* 80288CC4 00284924 80 8D AA 90 */ lwz r4, lbl_8063FD50-_SDA_BASE_(r13)
+/* 80288CC8 00284928 38 00 00 04 */ li r0, 4
+/* 80288CCC 0028492C 38 60 00 01 */ li r3, 1
+/* 80288CD0 00284930 90 04 00 0C */ stw r0, 0xc(r4)
+/* 80288CD4 00284934 80 0D AA 34 */ lwz r0, lbl_8063FCF4-_SDA_BASE_(r13)
+/* 80288CD8 00284938 90 6D AA 70 */ stw r3, lbl_8063FD30-_SDA_BASE_(r13)
+/* 80288CDC 0028493C 2C 00 00 00 */ cmpwi r0, 0
+/* 80288CE0 00284940 40 82 01 40 */ bne lbl_80288E20
+/* 80288CE4 00284944 80 0D AA 38 */ lwz r0, lbl_8063FCF8-_SDA_BASE_(r13)
+/* 80288CE8 00284948 2C 00 00 00 */ cmpwi r0, 0
+/* 80288CEC 0028494C 40 82 01 34 */ bne lbl_80288E20
+/* 80288CF0 00284950 3F C0 80 51 */ lis r30, lbl_80516A00@ha
+/* 80288CF4 00284954 90 6D AA 34 */ stw r3, lbl_8063FCF4-_SDA_BASE_(r13)
+/* 80288CF8 00284958 38 7E 6A 00 */ addi r3, r30, lbl_80516A00@l
+/* 80288CFC 0028495C 4B FE 0A 29 */ bl OSCreateAlarm
+/* 80288D00 00284960 4B FE 9A D1 */ bl OSGetTick
+/* 80288D04 00284964 3C A0 80 00 */ lis r5, 0x800000F8@ha
+/* 80288D08 00284968 3C 80 10 62 */ lis r4, 0x10624DD3@ha
+/* 80288D0C 0028496C 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
+/* 80288D10 00284970 3D 20 80 29 */ lis r9, CoverAlarmHandler@ha
+/* 80288D14 00284974 7C 66 1B 78 */ mr r6, r3
+/* 80288D18 00284978 38 84 4D D3 */ addi r4, r4, 0x10624DD3@l
+/* 80288D1C 0028497C 54 00 F0 BE */ srwi r0, r0, 2
+/* 80288D20 00284980 38 7E 6A 00 */ addi r3, r30, 0x6a00
+/* 80288D24 00284984 7C 04 00 16 */ mulhwu r0, r4, r0
+/* 80288D28 00284988 39 29 AA EC */ addi r9, r9, CoverAlarmHandler@l
+/* 80288D2C 0028498C 38 A0 00 00 */ li r5, 0
+/* 80288D30 00284990 38 E0 00 00 */ li r7, 0
+/* 80288D34 00284994 54 00 D1 BE */ srwi r0, r0, 6
+/* 80288D38 00284998 1D 00 00 64 */ mulli r8, r0, 0x64
+/* 80288D3C 0028499C 4B FE 0C B9 */ bl OSSetPeriodicAlarm
+/* 80288D40 002849A0 48 00 00 E0 */ b lbl_80288E20
+lbl_80288D44:
+/* 80288D44 002849A4 2C 1C 00 00 */ cmpwi r28, 0
+/* 80288D48 002849A8 40 82 00 C4 */ bne lbl_80288E0C
+/* 80288D4C 002849AC 3C 1D FF FB */ addis r0, r29, 0xfffb
+/* 80288D50 002849B0 28 00 30 00 */ cmplwi r0, 0x3000
+/* 80288D54 002849B4 40 82 00 A0 */ bne lbl_80288DF4
+/* 80288D58 002849B8 4B FE 5A 05 */ bl OSDisableInterrupts
+/* 80288D5C 002849BC 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288D60 002849C0 7C 7F 1B 78 */ mr r31, r3
+/* 80288D64 002849C4 28 00 00 05 */ cmplwi r0, 5
+/* 80288D68 002849C8 41 80 00 0C */ blt lbl_80288D74
+/* 80288D6C 002849CC 38 00 00 00 */ li r0, 0
+/* 80288D70 002849D0 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+lbl_80288D74:
+/* 80288D74 002849D4 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288D78 002849D8 3F C0 80 52 */ lis r30, lbl_8051B6E0@ha
+/* 80288D7C 002849DC 80 6D AA 10 */ lwz r3, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288D80 002849E0 3B DE B6 E0 */ addi r30, r30, lbl_8051B6E0@l
+/* 80288D84 002849E4 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 80288D88 002849E8 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288D8C 002849EC 38 C0 00 10 */ li r6, 0x10
+/* 80288D90 002849F0 38 80 00 00 */ li r4, 0
+/* 80288D94 002849F4 1C 63 00 14 */ mulli r3, r3, 0x14
+/* 80288D98 002849F8 7C BE 2A 14 */ add r5, r30, r5
+/* 80288D9C 002849FC 90 C5 00 1C */ stw r6, 0x1c(r5)
+/* 80288DA0 00284A00 7C 7E 1A 14 */ add r3, r30, r3
+/* 80288DA4 00284A04 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 80288DA8 00284A08 90 83 00 20 */ stw r4, 0x20(r3)
+/* 80288DAC 00284A0C 7C 7E 02 14 */ add r3, r30, r0
+/* 80288DB0 00284A10 90 83 00 24 */ stw r4, 0x24(r3)
+/* 80288DB4 00284A14 4B FE 9A 1D */ bl OSGetTick
+/* 80288DB8 00284A18 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288DBC 00284A1C 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288DC0 00284A20 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 80288DC4 00284A24 38 04 00 01 */ addi r0, r4, 1
+/* 80288DC8 00284A28 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288DCC 00284A2C 7C 9E 2A 14 */ add r4, r30, r5
+/* 80288DD0 00284A30 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 80288DD4 00284A34 7F E3 FB 78 */ mr r3, r31
+/* 80288DD8 00284A38 4B FE 59 AD */ bl OSRestoreInterrupts
+/* 80288DDC 00284A3C 3C A0 80 29 */ lis r5, cbForStateCheckID1@ha
+/* 80288DE0 00284A40 38 60 00 00 */ li r3, 0
+/* 80288DE4 00284A44 38 A5 9E B0 */ addi r5, r5, cbForStateCheckID1@l
+/* 80288DE8 00284A48 38 80 00 00 */ li r4, 0
+/* 80288DEC 00284A4C 48 00 4D ED */ bl DVDLowStopMotor
+/* 80288DF0 00284A50 48 00 00 30 */ b lbl_80288E20
+lbl_80288DF4:
+/* 80288DF4 00284A54 3C 60 01 23 */ lis r3, 0x01234567@ha
+/* 80288DF8 00284A58 3C 80 80 29 */ lis r4, cbForStoreErrorCode1@ha
+/* 80288DFC 00284A5C 38 63 45 67 */ addi r3, r3, 0x01234567@l
+/* 80288E00 00284A60 38 84 87 34 */ addi r4, r4, cbForStoreErrorCode1@l
+/* 80288E04 00284A64 48 00 40 45 */ bl __DVDStoreErrorCode
+/* 80288E08 00284A68 48 00 00 18 */ b lbl_80288E20
+lbl_80288E0C:
+/* 80288E0C 00284A6C 3C 60 01 23 */ lis r3, 0x01234567@ha
+/* 80288E10 00284A70 3C 80 80 29 */ lis r4, cbForStoreErrorCode1@ha
+/* 80288E14 00284A74 38 63 45 67 */ addi r3, r3, 0x01234567@l
+/* 80288E18 00284A78 38 84 87 34 */ addi r4, r4, cbForStoreErrorCode1@l
+/* 80288E1C 00284A7C 48 00 40 2D */ bl __DVDStoreErrorCode
+lbl_80288E20:
+/* 80288E20 00284A80 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80288E24 00284A84 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80288E28 00284A88 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80288E2C 00284A8C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80288E30 00284A90 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 80288E34 00284A94 7C 08 03 A6 */ mtlr r0
+/* 80288E38 00284A98 38 21 00 20 */ addi r1, r1, 0x20
+/* 80288E3C 00284A9C 4E 80 00 20 */ blr
+cbForUnrecoveredError:
+/* 80288E40 00284AA0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80288E44 00284AA4 7C 08 02 A6 */ mflr r0
+/* 80288E48 00284AA8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80288E4C 00284AAC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80288E50 00284AB0 93 C1 00 08 */ stw r30, 8(r1)
+/* 80288E54 00284AB4 7C 7E 1B 78 */ mr r30, r3
+/* 80288E58 00284AB8 4B FE 59 05 */ bl OSDisableInterrupts
+/* 80288E5C 00284ABC 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288E60 00284AC0 2C 00 00 00 */ cmpwi r0, 0
+/* 80288E64 00284AC4 40 82 00 14 */ bne lbl_80288E78
+/* 80288E68 00284AC8 3C 80 80 52 */ lis r4, lbl_8051B6E0@ha
+/* 80288E6C 00284ACC 38 84 B6 E0 */ addi r4, r4, lbl_8051B6E0@l
+/* 80288E70 00284AD0 93 C4 00 78 */ stw r30, 0x78(r4)
+/* 80288E74 00284AD4 48 00 00 1C */ b lbl_80288E90
+lbl_80288E78:
+/* 80288E78 00284AD8 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288E7C 00284ADC 3C 80 80 52 */ lis r4, lbl_8051B6E0@ha
+/* 80288E80 00284AE0 38 84 B6 E0 */ addi r4, r4, lbl_8051B6E0@l
+/* 80288E84 00284AE4 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 80288E88 00284AE8 7C 84 02 14 */ add r4, r4, r0
+/* 80288E8C 00284AEC 93 C4 00 14 */ stw r30, 0x14(r4)
+lbl_80288E90:
+/* 80288E90 00284AF0 4B FE 58 F5 */ bl OSRestoreInterrupts
+/* 80288E94 00284AF4 28 1E 00 10 */ cmplwi r30, 0x10
+/* 80288E98 00284AF8 40 82 00 1C */ bne lbl_80288EB4
+/* 80288E9C 00284AFC 3C 60 01 23 */ lis r3, 0x01234568@ha
+/* 80288EA0 00284B00 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 80288EA4 00284B04 38 63 45 68 */ addi r3, r3, 0x01234568@l
+/* 80288EA8 00284B08 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 80288EAC 00284B0C 48 00 3F 9D */ bl __DVDStoreErrorCode
+/* 80288EB0 00284B10 48 00 01 58 */ b lbl_80289008
+lbl_80288EB4:
+/* 80288EB4 00284B14 28 1E 00 20 */ cmplwi r30, 0x20
+/* 80288EB8 00284B18 40 82 00 1C */ bne lbl_80288ED4
+/* 80288EBC 00284B1C 3C 60 01 23 */ lis r3, 0x01234569@ha
+/* 80288EC0 00284B20 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 80288EC4 00284B24 38 63 45 69 */ addi r3, r3, 0x01234569@l
+/* 80288EC8 00284B28 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 80288ECC 00284B2C 48 00 3F 7D */ bl __DVDStoreErrorCode
+/* 80288ED0 00284B30 48 00 01 38 */ b lbl_80289008
+lbl_80288ED4:
+/* 80288ED4 00284B34 57 C0 07 FF */ clrlwi. r0, r30, 0x1f
+/* 80288ED8 00284B38 41 82 00 A0 */ beq lbl_80288F78
+/* 80288EDC 00284B3C 4B FE 58 81 */ bl OSDisableInterrupts
+/* 80288EE0 00284B40 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288EE4 00284B44 7C 7F 1B 78 */ mr r31, r3
+/* 80288EE8 00284B48 28 00 00 05 */ cmplwi r0, 5
+/* 80288EEC 00284B4C 41 80 00 0C */ blt lbl_80288EF8
+/* 80288EF0 00284B50 38 00 00 00 */ li r0, 0
+/* 80288EF4 00284B54 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+lbl_80288EF8:
+/* 80288EF8 00284B58 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288EFC 00284B5C 3F C0 80 52 */ lis r30, lbl_8051B6E0@ha
+/* 80288F00 00284B60 80 6D AA 10 */ lwz r3, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288F04 00284B64 3B DE B6 E0 */ addi r30, r30, lbl_8051B6E0@l
+/* 80288F08 00284B68 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 80288F0C 00284B6C 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288F10 00284B70 38 C0 00 10 */ li r6, 0x10
+/* 80288F14 00284B74 38 80 00 00 */ li r4, 0
+/* 80288F18 00284B78 1C 63 00 14 */ mulli r3, r3, 0x14
+/* 80288F1C 00284B7C 7C BE 2A 14 */ add r5, r30, r5
+/* 80288F20 00284B80 90 C5 00 1C */ stw r6, 0x1c(r5)
+/* 80288F24 00284B84 7C 7E 1A 14 */ add r3, r30, r3
+/* 80288F28 00284B88 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 80288F2C 00284B8C 90 83 00 20 */ stw r4, 0x20(r3)
+/* 80288F30 00284B90 7C 7E 02 14 */ add r3, r30, r0
+/* 80288F34 00284B94 90 83 00 24 */ stw r4, 0x24(r3)
+/* 80288F38 00284B98 4B FE 98 99 */ bl OSGetTick
+/* 80288F3C 00284B9C 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288F40 00284BA0 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288F44 00284BA4 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 80288F48 00284BA8 38 04 00 01 */ addi r0, r4, 1
+/* 80288F4C 00284BAC 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288F50 00284BB0 7C 9E 2A 14 */ add r4, r30, r5
+/* 80288F54 00284BB4 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 80288F58 00284BB8 7F E3 FB 78 */ mr r3, r31
+/* 80288F5C 00284BBC 4B FE 58 29 */ bl OSRestoreInterrupts
+/* 80288F60 00284BC0 3C A0 80 29 */ lis r5, cbForStateGoToRetry@ha
+/* 80288F64 00284BC4 38 60 00 00 */ li r3, 0
+/* 80288F68 00284BC8 38 A5 90 F4 */ addi r5, r5, cbForStateGoToRetry@l
+/* 80288F6C 00284BCC 38 80 00 00 */ li r4, 0
+/* 80288F70 00284BD0 48 00 4C 69 */ bl DVDLowStopMotor
+/* 80288F74 00284BD4 48 00 00 94 */ b lbl_80289008
+lbl_80288F78:
+/* 80288F78 00284BD8 4B FE 57 E5 */ bl OSDisableInterrupts
+/* 80288F7C 00284BDC 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288F80 00284BE0 7C 7F 1B 78 */ mr r31, r3
+/* 80288F84 00284BE4 28 00 00 05 */ cmplwi r0, 5
+/* 80288F88 00284BE8 41 80 00 0C */ blt lbl_80288F94
+/* 80288F8C 00284BEC 38 00 00 00 */ li r0, 0
+/* 80288F90 00284BF0 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+lbl_80288F94:
+/* 80288F94 00284BF4 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288F98 00284BF8 3F C0 80 52 */ lis r30, lbl_8051B6E0@ha
+/* 80288F9C 00284BFC 80 6D AA 10 */ lwz r3, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288FA0 00284C00 3B DE B6 E0 */ addi r30, r30, lbl_8051B6E0@l
+/* 80288FA4 00284C04 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 80288FA8 00284C08 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288FAC 00284C0C 38 C0 00 27 */ li r6, 0x27
+/* 80288FB0 00284C10 38 80 00 00 */ li r4, 0
+/* 80288FB4 00284C14 1C 63 00 14 */ mulli r3, r3, 0x14
+/* 80288FB8 00284C18 7C BE 2A 14 */ add r5, r30, r5
+/* 80288FBC 00284C1C 90 C5 00 1C */ stw r6, 0x1c(r5)
+/* 80288FC0 00284C20 7C 7E 1A 14 */ add r3, r30, r3
+/* 80288FC4 00284C24 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 80288FC8 00284C28 90 83 00 20 */ stw r4, 0x20(r3)
+/* 80288FCC 00284C2C 7C 7E 02 14 */ add r3, r30, r0
+/* 80288FD0 00284C30 90 83 00 24 */ stw r4, 0x24(r3)
+/* 80288FD4 00284C34 4B FE 97 FD */ bl OSGetTick
+/* 80288FD8 00284C38 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288FDC 00284C3C 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288FE0 00284C40 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 80288FE4 00284C44 38 04 00 01 */ addi r0, r4, 1
+/* 80288FE8 00284C48 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80288FEC 00284C4C 7C 9E 2A 14 */ add r4, r30, r5
+/* 80288FF0 00284C50 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 80288FF4 00284C54 7F E3 FB 78 */ mr r3, r31
+/* 80288FF8 00284C58 4B FE 57 8D */ bl OSRestoreInterrupts
+/* 80288FFC 00284C5C 3C 60 80 29 */ lis r3, cbForUnrecoveredErrorRetry@ha
+/* 80289000 00284C60 38 63 90 20 */ addi r3, r3, cbForUnrecoveredErrorRetry@l
+/* 80289004 00284C64 48 00 4E D1 */ bl DVDLowRequestError
+lbl_80289008:
+/* 80289008 00284C68 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028900C 00284C6C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80289010 00284C70 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80289014 00284C74 7C 08 03 A6 */ mtlr r0
+/* 80289018 00284C78 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028901C 00284C7C 4E 80 00 20 */ blr
+
+.global cbForUnrecoveredErrorRetry
+cbForUnrecoveredErrorRetry:
+/* 80289020 00284C80 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80289024 00284C84 7C 08 02 A6 */ mflr r0
+/* 80289028 00284C88 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028902C 00284C8C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80289030 00284C90 7C 7F 1B 78 */ mr r31, r3
+/* 80289034 00284C94 4B FE 57 29 */ bl OSDisableInterrupts
+/* 80289038 00284C98 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028903C 00284C9C 2C 00 00 00 */ cmpwi r0, 0
+/* 80289040 00284CA0 40 82 00 14 */ bne lbl_80289054
+/* 80289044 00284CA4 3C 80 80 52 */ lis r4, lbl_8051B6E0@ha
+/* 80289048 00284CA8 38 84 B6 E0 */ addi r4, r4, lbl_8051B6E0@l
+/* 8028904C 00284CAC 93 E4 00 78 */ stw r31, 0x78(r4)
+/* 80289050 00284CB0 48 00 00 1C */ b lbl_8028906C
+lbl_80289054:
+/* 80289054 00284CB4 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289058 00284CB8 3C 80 80 52 */ lis r4, lbl_8051B6E0@ha
+/* 8028905C 00284CBC 38 84 B6 E0 */ addi r4, r4, lbl_8051B6E0@l
+/* 80289060 00284CC0 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 80289064 00284CC4 7C 84 02 14 */ add r4, r4, r0
+/* 80289068 00284CC8 93 E4 00 14 */ stw r31, 0x14(r4)
+lbl_8028906C:
+/* 8028906C 00284CCC 4B FE 57 19 */ bl OSRestoreInterrupts
+/* 80289070 00284CD0 28 1F 00 10 */ cmplwi r31, 0x10
+/* 80289074 00284CD4 40 82 00 1C */ bne lbl_80289090
+/* 80289078 00284CD8 3C 60 01 23 */ lis r3, 0x01234568@ha
+/* 8028907C 00284CDC 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 80289080 00284CE0 38 63 45 68 */ addi r3, r3, 0x01234568@l
+/* 80289084 00284CE4 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 80289088 00284CE8 48 00 3D C1 */ bl __DVDStoreErrorCode
+/* 8028908C 00284CEC 48 00 00 54 */ b lbl_802890E0
+lbl_80289090:
+/* 80289090 00284CF0 28 1F 00 20 */ cmplwi r31, 0x20
+/* 80289094 00284CF4 40 82 00 1C */ bne lbl_802890B0
+/* 80289098 00284CF8 3C 60 01 23 */ lis r3, 0x01234569@ha
+/* 8028909C 00284CFC 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 802890A0 00284D00 38 63 45 69 */ addi r3, r3, 0x01234569@l
+/* 802890A4 00284D04 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 802890A8 00284D08 48 00 3D A1 */ bl __DVDStoreErrorCode
+/* 802890AC 00284D0C 48 00 00 34 */ b lbl_802890E0
+lbl_802890B0:
+/* 802890B0 00284D10 57 E0 07 BD */ rlwinm. r0, r31, 0, 0x1e, 0x1e
+/* 802890B4 00284D14 41 82 00 1C */ beq lbl_802890D0
+/* 802890B8 00284D18 3C 60 01 23 */ lis r3, 0x01234567@ha
+/* 802890BC 00284D1C 3C 80 80 29 */ lis r4, cbForStoreErrorCode1@ha
+/* 802890C0 00284D20 38 63 45 67 */ addi r3, r3, 0x01234567@l
+/* 802890C4 00284D24 38 84 87 34 */ addi r4, r4, cbForStoreErrorCode1@l
+/* 802890C8 00284D28 48 00 3D 81 */ bl __DVDStoreErrorCode
+/* 802890CC 00284D2C 48 00 00 14 */ b lbl_802890E0
+lbl_802890D0:
+/* 802890D0 00284D30 48 00 58 AD */ bl DVDLowGetImmBufferReg
+/* 802890D4 00284D34 3C 80 80 29 */ lis r4, cbForStoreErrorCode1@ha
+/* 802890D8 00284D38 38 84 87 34 */ addi r4, r4, cbForStoreErrorCode1@l
+/* 802890DC 00284D3C 48 00 3D 6D */ bl __DVDStoreErrorCode
+lbl_802890E0:
+/* 802890E0 00284D40 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802890E4 00284D44 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802890E8 00284D48 7C 08 03 A6 */ mtlr r0
+/* 802890EC 00284D4C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802890F0 00284D50 4E 80 00 20 */ blr
+
+.global cbForStateGoToRetry
+cbForStateGoToRetry:
+/* 802890F4 00284D54 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802890F8 00284D58 7C 08 02 A6 */ mflr r0
+/* 802890FC 00284D5C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80289100 00284D60 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80289104 00284D64 7C 7F 1B 78 */ mr r31, r3
+/* 80289108 00284D68 4B FE 56 55 */ bl OSDisableInterrupts
+/* 8028910C 00284D6C 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289110 00284D70 2C 00 00 00 */ cmpwi r0, 0
+/* 80289114 00284D74 40 82 00 14 */ bne lbl_80289128
+/* 80289118 00284D78 3C 80 80 52 */ lis r4, lbl_8051B6E0@ha
+/* 8028911C 00284D7C 38 84 B6 E0 */ addi r4, r4, lbl_8051B6E0@l
+/* 80289120 00284D80 93 E4 00 78 */ stw r31, 0x78(r4)
+/* 80289124 00284D84 48 00 00 1C */ b lbl_80289140
+lbl_80289128:
+/* 80289128 00284D88 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028912C 00284D8C 3C 80 80 52 */ lis r4, lbl_8051B6E0@ha
+/* 80289130 00284D90 38 84 B6 E0 */ addi r4, r4, lbl_8051B6E0@l
+/* 80289134 00284D94 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 80289138 00284D98 7C 84 02 14 */ add r4, r4, r0
+/* 8028913C 00284D9C 93 E4 00 14 */ stw r31, 0x14(r4)
+lbl_80289140:
+/* 80289140 00284DA0 4B FE 56 45 */ bl OSRestoreInterrupts
+/* 80289144 00284DA4 28 1F 00 10 */ cmplwi r31, 0x10
+/* 80289148 00284DA8 40 82 00 1C */ bne lbl_80289164
+/* 8028914C 00284DAC 3C 60 01 23 */ lis r3, 0x01234568@ha
+/* 80289150 00284DB0 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 80289154 00284DB4 38 63 45 68 */ addi r3, r3, 0x01234568@l
+/* 80289158 00284DB8 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 8028915C 00284DBC 48 00 3C ED */ bl __DVDStoreErrorCode
+/* 80289160 00284DC0 48 00 01 A8 */ b lbl_80289308
+lbl_80289164:
+/* 80289164 00284DC4 28 1F 00 20 */ cmplwi r31, 0x20
+/* 80289168 00284DC8 40 82 00 1C */ bne lbl_80289184
+/* 8028916C 00284DCC 3C 60 01 23 */ lis r3, 0x01234569@ha
+/* 80289170 00284DD0 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 80289174 00284DD4 38 63 45 69 */ addi r3, r3, 0x01234569@l
+/* 80289178 00284DD8 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 8028917C 00284DDC 48 00 3C CD */ bl __DVDStoreErrorCode
+/* 80289180 00284DE0 48 00 01 88 */ b lbl_80289308
+lbl_80289184:
+/* 80289184 00284DE4 57 E0 07 BD */ rlwinm. r0, r31, 0, 0x1e, 0x1e
+/* 80289188 00284DE8 41 82 00 1C */ beq lbl_802891A4
+/* 8028918C 00284DEC 3C 60 01 23 */ lis r3, 0x01234567@ha
+/* 80289190 00284DF0 3C 80 80 29 */ lis r4, cbForStoreErrorCode1@ha
+/* 80289194 00284DF4 38 63 45 67 */ addi r3, r3, 0x01234567@l
+/* 80289198 00284DF8 38 84 87 34 */ addi r4, r4, cbForStoreErrorCode1@l
+/* 8028919C 00284DFC 48 00 3C AD */ bl __DVDStoreErrorCode
+/* 802891A0 00284E00 48 00 01 68 */ b lbl_80289308
+lbl_802891A4:
+/* 802891A4 00284E04 38 00 00 00 */ li r0, 0
+/* 802891A8 00284E08 90 0D AA 28 */ stw r0, lbl_8063FCE8-_SDA_BASE_(r13)
+/* 802891AC 00284E0C 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 802891B0 00284E10 28 00 00 04 */ cmplwi r0, 4
+/* 802891B4 00284E14 41 82 00 4C */ beq lbl_80289200
+/* 802891B8 00284E18 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 802891BC 00284E1C 28 00 00 05 */ cmplwi r0, 5
+/* 802891C0 00284E20 41 82 00 40 */ beq lbl_80289200
+/* 802891C4 00284E24 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 802891C8 00284E28 28 00 00 0D */ cmplwi r0, 0xd
+/* 802891CC 00284E2C 41 82 00 34 */ beq lbl_80289200
+/* 802891D0 00284E30 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 802891D4 00284E34 28 00 00 21 */ cmplwi r0, 0x21
+/* 802891D8 00284E38 41 82 00 28 */ beq lbl_80289200
+/* 802891DC 00284E3C 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 802891E0 00284E40 28 00 00 22 */ cmplwi r0, 0x22
+/* 802891E4 00284E44 41 82 00 1C */ beq lbl_80289200
+/* 802891E8 00284E48 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 802891EC 00284E4C 28 00 00 0F */ cmplwi r0, 0xf
+/* 802891F0 00284E50 41 82 00 10 */ beq lbl_80289200
+/* 802891F4 00284E54 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 802891F8 00284E58 28 00 00 25 */ cmplwi r0, 0x25
+/* 802891FC 00284E5C 40 82 00 0C */ bne lbl_80289208
+lbl_80289200:
+/* 80289200 00284E60 38 00 00 01 */ li r0, 1
+/* 80289204 00284E64 90 0D AA 74 */ stw r0, lbl_8063FD34-_SDA_BASE_(r13)
+lbl_80289208:
+/* 80289208 00284E68 80 0D AA 20 */ lwz r0, lbl_8063FCE0-_SDA_BASE_(r13)
+/* 8028920C 00284E6C 2C 00 00 00 */ cmpwi r0, 0
+/* 80289210 00284E70 41 82 00 70 */ beq lbl_80289280
+/* 80289214 00284E74 3C 60 80 51 */ lis r3, lbl_805169A0@ha
+/* 80289218 00284E78 83 ED AA 90 */ lwz r31, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028921C 00284E7C 38 63 69 A0 */ addi r3, r3, lbl_805169A0@l
+/* 80289220 00284E80 38 00 00 02 */ li r0, 2
+/* 80289224 00284E84 90 0D AA 24 */ stw r0, lbl_8063FCE4-_SDA_BASE_(r13)
+/* 80289228 00284E88 38 80 00 00 */ li r4, 0
+/* 8028922C 00284E8C 38 00 00 0A */ li r0, 0xa
+/* 80289230 00284E90 90 8D AA 20 */ stw r4, lbl_8063FCE0-_SDA_BASE_(r13)
+/* 80289234 00284E94 90 6D AA 90 */ stw r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 80289238 00284E98 90 1F 00 0C */ stw r0, 0xc(r31)
+/* 8028923C 00284E9C 81 9F 00 28 */ lwz r12, 0x28(r31)
+/* 80289240 00284EA0 2C 0C 00 00 */ cmpwi r12, 0
+/* 80289244 00284EA4 41 82 00 14 */ beq lbl_80289258
+/* 80289248 00284EA8 7F E4 FB 78 */ mr r4, r31
+/* 8028924C 00284EAC 38 60 FF FD */ li r3, -3
+/* 80289250 00284EB0 7D 89 03 A6 */ mtctr r12
+/* 80289254 00284EB4 4E 80 04 21 */ bctrl
+lbl_80289258:
+/* 80289258 00284EB8 81 8D AA 80 */ lwz r12, lbl_8063FD40-_SDA_BASE_(r13)
+/* 8028925C 00284EBC 2C 0C 00 00 */ cmpwi r12, 0
+/* 80289260 00284EC0 41 82 00 14 */ beq lbl_80289274
+/* 80289264 00284EC4 7F E4 FB 78 */ mr r4, r31
+/* 80289268 00284EC8 38 60 00 00 */ li r3, 0
+/* 8028926C 00284ECC 7D 89 03 A6 */ mtctr r12
+/* 80289270 00284ED0 4E 80 04 21 */ bctrl
+lbl_80289274:
+/* 80289274 00284ED4 48 00 18 9D */ bl stateReady
+/* 80289278 00284ED8 38 00 00 01 */ li r0, 1
+/* 8028927C 00284EDC 48 00 00 08 */ b lbl_80289284
+lbl_80289280:
+/* 80289280 00284EE0 38 00 00 00 */ li r0, 0
+lbl_80289284:
+/* 80289284 00284EE4 2C 00 00 00 */ cmpwi r0, 0
+/* 80289288 00284EE8 40 82 00 80 */ bne lbl_80289308
+/* 8028928C 00284EEC 80 8D AA 90 */ lwz r4, lbl_8063FD50-_SDA_BASE_(r13)
+/* 80289290 00284EF0 38 00 00 0B */ li r0, 0xb
+/* 80289294 00284EF4 38 60 00 01 */ li r3, 1
+/* 80289298 00284EF8 90 04 00 0C */ stw r0, 0xc(r4)
+/* 8028929C 00284EFC 80 0D AA 34 */ lwz r0, lbl_8063FCF4-_SDA_BASE_(r13)
+/* 802892A0 00284F00 90 6D AA 70 */ stw r3, lbl_8063FD30-_SDA_BASE_(r13)
+/* 802892A4 00284F04 2C 00 00 00 */ cmpwi r0, 0
+/* 802892A8 00284F08 40 82 00 60 */ bne lbl_80289308
+/* 802892AC 00284F0C 80 0D AA 38 */ lwz r0, lbl_8063FCF8-_SDA_BASE_(r13)
+/* 802892B0 00284F10 2C 00 00 00 */ cmpwi r0, 0
+/* 802892B4 00284F14 40 82 00 54 */ bne lbl_80289308
+/* 802892B8 00284F18 3F E0 80 51 */ lis r31, lbl_80516A00@ha
+/* 802892BC 00284F1C 90 6D AA 34 */ stw r3, lbl_8063FCF4-_SDA_BASE_(r13)
+/* 802892C0 00284F20 38 7F 6A 00 */ addi r3, r31, lbl_80516A00@l
+/* 802892C4 00284F24 4B FE 04 61 */ bl OSCreateAlarm
+/* 802892C8 00284F28 4B FE 95 09 */ bl OSGetTick
+/* 802892CC 00284F2C 3C A0 80 00 */ lis r5, 0x800000F8@ha
+/* 802892D0 00284F30 3C 80 10 62 */ lis r4, 0x10624DD3@ha
+/* 802892D4 00284F34 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
+/* 802892D8 00284F38 3D 20 80 29 */ lis r9, CoverAlarmHandler@ha
+/* 802892DC 00284F3C 7C 66 1B 78 */ mr r6, r3
+/* 802892E0 00284F40 38 84 4D D3 */ addi r4, r4, 0x10624DD3@l
+/* 802892E4 00284F44 54 00 F0 BE */ srwi r0, r0, 2
+/* 802892E8 00284F48 38 7F 6A 00 */ addi r3, r31, 0x6a00
+/* 802892EC 00284F4C 7C 04 00 16 */ mulhwu r0, r4, r0
+/* 802892F0 00284F50 39 29 AA EC */ addi r9, r9, CoverAlarmHandler@l
+/* 802892F4 00284F54 38 A0 00 00 */ li r5, 0
+/* 802892F8 00284F58 38 E0 00 00 */ li r7, 0
+/* 802892FC 00284F5C 54 00 D1 BE */ srwi r0, r0, 6
+/* 80289300 00284F60 1D 00 00 64 */ mulli r8, r0, 0x64
+/* 80289304 00284F64 4B FE 06 F1 */ bl OSSetPeriodicAlarm
+lbl_80289308:
+/* 80289308 00284F68 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028930C 00284F6C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80289310 00284F70 7C 08 03 A6 */ mtlr r0
+/* 80289314 00284F74 38 21 00 10 */ addi r1, r1, 0x10
+/* 80289318 00284F78 4E 80 00 20 */ blr
+
+.global stateCheckID
+stateCheckID:
+/* 8028931C 00284F7C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80289320 00284F80 7C 08 02 A6 */ mflr r0
+/* 80289324 00284F84 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80289328 00284F88 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8028932C 00284F8C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80289330 00284F90 3F C0 80 51 */ lis r30, lbl_80516980@ha
+/* 80289334 00284F94 3B DE 69 80 */ addi r30, r30, lbl_80516980@l
+/* 80289338 00284F98 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8028933C 00284F9C 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 80289340 00284FA0 2C 00 00 03 */ cmpwi r0, 3
+/* 80289344 00284FA4 41 82 00 08 */ beq lbl_8028934C
+/* 80289348 00284FA8 48 00 01 90 */ b lbl_802894D8
+lbl_8028934C:
+/* 8028934C 00284FAC 3B E0 00 00 */ li r31, 0
+/* 80289350 00284FB0 80 8D AA 90 */ lwz r4, lbl_8063FD50-_SDA_BASE_(r13)
+/* 80289354 00284FB4 93 ED AA 40 */ stw r31, lbl_8063FD00-_SDA_BASE_(r13)
+/* 80289358 00284FB8 38 7E 00 C0 */ addi r3, r30, 0xc0
+/* 8028935C 00284FBC 80 84 00 24 */ lwz r4, 0x24(r4)
+/* 80289360 00284FC0 48 00 3B 8D */ bl DVDCompareDiskID
+/* 80289364 00284FC4 2C 03 00 00 */ cmpwi r3, 0
+/* 80289368 00284FC8 41 82 00 D8 */ beq lbl_80289440
+/* 8028936C 00284FCC 80 6D AA 8C */ lwz r3, lbl_8063FD4C-_SDA_BASE_(r13)
+/* 80289370 00284FD0 38 9E 00 C0 */ addi r4, r30, 0xc0
+/* 80289374 00284FD4 38 A0 00 20 */ li r5, 0x20
+/* 80289378 00284FD8 4B D7 AC 89 */ bl memcpy
+/* 8028937C 00284FDC 80 AD AA 90 */ lwz r5, lbl_8063FD50-_SDA_BASE_(r13)
+/* 80289380 00284FE0 38 00 00 01 */ li r0, 1
+/* 80289384 00284FE4 38 7E 00 00 */ addi r3, r30, 0
+/* 80289388 00284FE8 38 80 00 20 */ li r4, 0x20
+/* 8028938C 00284FEC 90 05 00 0C */ stw r0, 0xc(r5)
+/* 80289390 00284FF0 4B FE 12 99 */ bl DCInvalidateRange
+/* 80289394 00284FF4 93 ED AA 28 */ stw r31, lbl_8063FCE8-_SDA_BASE_(r13)
+/* 80289398 00284FF8 38 60 00 00 */ li r3, 0
+/* 8028939C 00284FFC 48 00 55 FD */ bl DVDLowClearCoverInterrupt
+/* 802893A0 00285000 4B FE 53 BD */ bl OSDisableInterrupts
+/* 802893A4 00285004 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802893A8 00285008 7C 7D 1B 78 */ mr r29, r3
+/* 802893AC 0028500C 28 00 00 05 */ cmplwi r0, 5
+/* 802893B0 00285010 41 80 00 08 */ blt lbl_802893B8
+/* 802893B4 00285014 93 ED AA 10 */ stw r31, lbl_8063FCD0-_SDA_BASE_(r13)
+lbl_802893B8:
+/* 802893B8 00285018 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802893BC 0028501C 3F E0 80 52 */ lis r31, lbl_8051B6E0@ha
+/* 802893C0 00285020 80 6D AA 10 */ lwz r3, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802893C4 00285024 3B FF B6 E0 */ addi r31, r31, lbl_8051B6E0@l
+/* 802893C8 00285028 1C C0 00 14 */ mulli r6, r0, 0x14
+/* 802893CC 0028502C 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802893D0 00285030 38 E0 00 21 */ li r7, 0x21
+/* 802893D4 00285034 3C A0 00 01 */ lis r5, 1
+/* 802893D8 00285038 1C 63 00 14 */ mulli r3, r3, 0x14
+/* 802893DC 0028503C 38 80 00 20 */ li r4, 0x20
+/* 802893E0 00285040 7C DF 32 14 */ add r6, r31, r6
+/* 802893E4 00285044 90 E6 00 1C */ stw r7, 0x1c(r6)
+/* 802893E8 00285048 7C 7F 1A 14 */ add r3, r31, r3
+/* 802893EC 0028504C 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 802893F0 00285050 90 A3 00 20 */ stw r5, 0x20(r3)
+/* 802893F4 00285054 7C 7F 02 14 */ add r3, r31, r0
+/* 802893F8 00285058 90 83 00 24 */ stw r4, 0x24(r3)
+/* 802893FC 0028505C 4B FE 93 D5 */ bl OSGetTick
+/* 80289400 00285060 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289404 00285064 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289408 00285068 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 8028940C 0028506C 38 04 00 01 */ addi r0, r4, 1
+/* 80289410 00285070 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289414 00285074 7C 9F 2A 14 */ add r4, r31, r5
+/* 80289418 00285078 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 8028941C 0028507C 7F A3 EB 78 */ mr r3, r29
+/* 80289420 00285080 4B FE 53 65 */ bl OSRestoreInterrupts
+/* 80289424 00285084 3C C0 80 29 */ lis r6, cbForStateReadingTOC@ha
+/* 80289428 00285088 38 7E 00 E0 */ addi r3, r30, 0xe0
+/* 8028942C 0028508C 38 C6 96 54 */ addi r6, r6, cbForStateReadingTOC@l
+/* 80289430 00285090 38 80 00 20 */ li r4, 0x20
+/* 80289434 00285094 3C A0 00 01 */ lis r5, 1
+/* 80289438 00285098 48 00 46 0D */ bl DVDLowUnencryptedRead
+/* 8028943C 0028509C 48 00 01 FC */ b lbl_80289638
+lbl_80289440:
+/* 80289440 002850A0 4B FE 53 1D */ bl OSDisableInterrupts
+/* 80289444 002850A4 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289448 002850A8 7C 7D 1B 78 */ mr r29, r3
+/* 8028944C 002850AC 28 00 00 05 */ cmplwi r0, 5
+/* 80289450 002850B0 41 80 00 08 */ blt lbl_80289458
+/* 80289454 002850B4 93 ED AA 10 */ stw r31, lbl_8063FCD0-_SDA_BASE_(r13)
+lbl_80289458:
+/* 80289458 002850B8 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028945C 002850BC 3F C0 80 52 */ lis r30, lbl_8051B6E0@ha
+/* 80289460 002850C0 80 6D AA 10 */ lwz r3, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289464 002850C4 3B DE B6 E0 */ addi r30, r30, lbl_8051B6E0@l
+/* 80289468 002850C8 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 8028946C 002850CC 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289470 002850D0 38 C0 00 10 */ li r6, 0x10
+/* 80289474 002850D4 38 80 00 00 */ li r4, 0
+/* 80289478 002850D8 1C 63 00 14 */ mulli r3, r3, 0x14
+/* 8028947C 002850DC 7C BE 2A 14 */ add r5, r30, r5
+/* 80289480 002850E0 90 C5 00 1C */ stw r6, 0x1c(r5)
+/* 80289484 002850E4 7C 7E 1A 14 */ add r3, r30, r3
+/* 80289488 002850E8 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 8028948C 002850EC 90 83 00 20 */ stw r4, 0x20(r3)
+/* 80289490 002850F0 7C 7E 02 14 */ add r3, r30, r0
+/* 80289494 002850F4 90 83 00 24 */ stw r4, 0x24(r3)
+/* 80289498 002850F8 4B FE 93 39 */ bl OSGetTick
+/* 8028949C 002850FC 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802894A0 00285100 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802894A4 00285104 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 802894A8 00285108 38 04 00 01 */ addi r0, r4, 1
+/* 802894AC 0028510C 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802894B0 00285110 7C 9E 2A 14 */ add r4, r30, r5
+/* 802894B4 00285114 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 802894B8 00285118 7F A3 EB 78 */ mr r3, r29
+/* 802894BC 0028511C 4B FE 52 C9 */ bl OSRestoreInterrupts
+/* 802894C0 00285120 3C A0 80 29 */ lis r5, cbForStateCheckID1@ha
+/* 802894C4 00285124 38 60 00 00 */ li r3, 0
+/* 802894C8 00285128 38 A5 9E B0 */ addi r5, r5, cbForStateCheckID1@l
+/* 802894CC 0028512C 38 80 00 00 */ li r4, 0
+/* 802894D0 00285130 48 00 47 09 */ bl DVDLowStopMotor
+/* 802894D4 00285134 48 00 01 64 */ b lbl_80289638
+lbl_802894D8:
+/* 802894D8 00285138 80 8D AA 8C */ lwz r4, lbl_8063FD4C-_SDA_BASE_(r13)
+/* 802894DC 0028513C 38 7E 00 C0 */ addi r3, r30, 0xc0
+/* 802894E0 00285140 38 A0 00 20 */ li r5, 0x20
+/* 802894E4 00285144 4B F4 0E B5 */ bl memcmp
+/* 802894E8 00285148 2C 03 00 00 */ cmpwi r3, 0
+/* 802894EC 0028514C 41 82 00 A0 */ beq lbl_8028958C
+/* 802894F0 00285150 4B FE 52 6D */ bl OSDisableInterrupts
+/* 802894F4 00285154 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802894F8 00285158 7C 7D 1B 78 */ mr r29, r3
+/* 802894FC 0028515C 28 00 00 05 */ cmplwi r0, 5
+/* 80289500 00285160 41 80 00 0C */ blt lbl_8028950C
+/* 80289504 00285164 38 00 00 00 */ li r0, 0
+/* 80289508 00285168 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+lbl_8028950C:
+/* 8028950C 0028516C 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289510 00285170 3F C0 80 52 */ lis r30, lbl_8051B6E0@ha
+/* 80289514 00285174 80 6D AA 10 */ lwz r3, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289518 00285178 3B DE B6 E0 */ addi r30, r30, lbl_8051B6E0@l
+/* 8028951C 0028517C 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 80289520 00285180 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289524 00285184 38 C0 00 10 */ li r6, 0x10
+/* 80289528 00285188 38 80 00 00 */ li r4, 0
+/* 8028952C 0028518C 1C 63 00 14 */ mulli r3, r3, 0x14
+/* 80289530 00285190 7C BE 2A 14 */ add r5, r30, r5
+/* 80289534 00285194 90 C5 00 1C */ stw r6, 0x1c(r5)
+/* 80289538 00285198 7C 7E 1A 14 */ add r3, r30, r3
+/* 8028953C 0028519C 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 80289540 002851A0 90 83 00 20 */ stw r4, 0x20(r3)
+/* 80289544 002851A4 7C 7E 02 14 */ add r3, r30, r0
+/* 80289548 002851A8 90 83 00 24 */ stw r4, 0x24(r3)
+/* 8028954C 002851AC 4B FE 92 85 */ bl OSGetTick
+/* 80289550 002851B0 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289554 002851B4 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289558 002851B8 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 8028955C 002851BC 38 04 00 01 */ addi r0, r4, 1
+/* 80289560 002851C0 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289564 002851C4 7C 9E 2A 14 */ add r4, r30, r5
+/* 80289568 002851C8 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 8028956C 002851CC 7F A3 EB 78 */ mr r3, r29
+/* 80289570 002851D0 4B FE 52 15 */ bl OSRestoreInterrupts
+/* 80289574 002851D4 3C A0 80 29 */ lis r5, cbForStateCheckID1@ha
+/* 80289578 002851D8 38 60 00 00 */ li r3, 0
+/* 8028957C 002851DC 38 A5 9E B0 */ addi r5, r5, cbForStateCheckID1@l
+/* 80289580 002851E0 38 80 00 00 */ li r4, 0
+/* 80289584 002851E4 48 00 46 55 */ bl DVDLowStopMotor
+/* 80289588 002851E8 48 00 00 B0 */ b lbl_80289638
+lbl_8028958C:
+/* 8028958C 002851EC 3B E0 00 00 */ li r31, 0
+/* 80289590 002851F0 38 60 00 00 */ li r3, 0
+/* 80289594 002851F4 93 ED AA 28 */ stw r31, lbl_8063FCE8-_SDA_BASE_(r13)
+/* 80289598 002851F8 48 00 54 01 */ bl DVDLowClearCoverInterrupt
+/* 8028959C 002851FC 4B FE 51 C1 */ bl OSDisableInterrupts
+/* 802895A0 00285200 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802895A4 00285204 7C 7D 1B 78 */ mr r29, r3
+/* 802895A8 00285208 28 00 00 05 */ cmplwi r0, 5
+/* 802895AC 0028520C 41 80 00 08 */ blt lbl_802895B4
+/* 802895B0 00285210 93 ED AA 10 */ stw r31, lbl_8063FCD0-_SDA_BASE_(r13)
+lbl_802895B4:
+/* 802895B4 00285214 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802895B8 00285218 3F E0 80 52 */ lis r31, lbl_8051B6E0@ha
+/* 802895BC 0028521C 80 6D AA 10 */ lwz r3, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802895C0 00285220 3B FF B6 E0 */ addi r31, r31, lbl_8051B6E0@l
+/* 802895C4 00285224 1C C0 00 14 */ mulli r6, r0, 0x14
+/* 802895C8 00285228 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802895CC 0028522C 38 E0 00 21 */ li r7, 0x21
+/* 802895D0 00285230 3C A0 00 01 */ lis r5, 1
+/* 802895D4 00285234 1C 63 00 14 */ mulli r3, r3, 0x14
+/* 802895D8 00285238 38 80 00 20 */ li r4, 0x20
+/* 802895DC 0028523C 7C DF 32 14 */ add r6, r31, r6
+/* 802895E0 00285240 90 E6 00 1C */ stw r7, 0x1c(r6)
+/* 802895E4 00285244 7C 7F 1A 14 */ add r3, r31, r3
+/* 802895E8 00285248 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 802895EC 0028524C 90 A3 00 20 */ stw r5, 0x20(r3)
+/* 802895F0 00285250 7C 7F 02 14 */ add r3, r31, r0
+/* 802895F4 00285254 90 83 00 24 */ stw r4, 0x24(r3)
+/* 802895F8 00285258 4B FE 91 D9 */ bl OSGetTick
+/* 802895FC 0028525C 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289600 00285260 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289604 00285264 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 80289608 00285268 38 04 00 01 */ addi r0, r4, 1
+/* 8028960C 0028526C 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289610 00285270 7C 9F 2A 14 */ add r4, r31, r5
+/* 80289614 00285274 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 80289618 00285278 7F A3 EB 78 */ mr r3, r29
+/* 8028961C 0028527C 4B FE 51 69 */ bl OSRestoreInterrupts
+/* 80289620 00285280 3C C0 80 29 */ lis r6, cbForStateReadingTOC@ha
+/* 80289624 00285284 38 7E 00 E0 */ addi r3, r30, 0xe0
+/* 80289628 00285288 38 C6 96 54 */ addi r6, r6, cbForStateReadingTOC@l
+/* 8028962C 0028528C 38 80 00 20 */ li r4, 0x20
+/* 80289630 00285290 3C A0 00 01 */ lis r5, 1
+/* 80289634 00285294 48 00 44 11 */ bl DVDLowUnencryptedRead
+lbl_80289638:
+/* 80289638 00285298 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8028963C 0028529C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80289640 002852A0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80289644 002852A4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80289648 002852A8 7C 08 03 A6 */ mtlr r0
+/* 8028964C 002852AC 38 21 00 20 */ addi r1, r1, 0x20
+/* 80289650 002852B0 4E 80 00 20 */ blr
+cbForStateReadingTOC:
+/* 80289654 002852B4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80289658 002852B8 7C 08 02 A6 */ mflr r0
+/* 8028965C 002852BC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80289660 002852C0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80289664 002852C4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80289668 002852C8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8028966C 002852CC 7C 7D 1B 78 */ mr r29, r3
+/* 80289670 002852D0 4B FE 50 ED */ bl OSDisableInterrupts
+/* 80289674 002852D4 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289678 002852D8 2C 00 00 00 */ cmpwi r0, 0
+/* 8028967C 002852DC 40 82 00 14 */ bne lbl_80289690
+/* 80289680 002852E0 3C 80 80 52 */ lis r4, lbl_8051B6E0@ha
+/* 80289684 002852E4 38 84 B6 E0 */ addi r4, r4, lbl_8051B6E0@l
+/* 80289688 002852E8 93 A4 00 78 */ stw r29, 0x78(r4)
+/* 8028968C 002852EC 48 00 00 20 */ b lbl_802896AC
+lbl_80289690:
+/* 80289690 002852F0 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289694 002852F4 3C A0 80 52 */ lis r5, lbl_8051B6E0@ha
+/* 80289698 002852F8 38 A5 B6 E0 */ addi r5, r5, lbl_8051B6E0@l
+/* 8028969C 002852FC 38 04 FF FF */ addi r0, r4, -1
+/* 802896A0 00285300 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 802896A4 00285304 7C 85 02 14 */ add r4, r5, r0
+/* 802896A8 00285308 93 A4 00 28 */ stw r29, 0x28(r4)
+lbl_802896AC:
+/* 802896AC 0028530C 4B FE 50 D9 */ bl OSRestoreInterrupts
+/* 802896B0 00285310 28 1D 00 10 */ cmplwi r29, 0x10
+/* 802896B4 00285314 40 82 00 1C */ bne lbl_802896D0
+/* 802896B8 00285318 3C 60 01 23 */ lis r3, 0x01234568@ha
+/* 802896BC 0028531C 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 802896C0 00285320 38 63 45 68 */ addi r3, r3, 0x01234568@l
+/* 802896C4 00285324 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 802896C8 00285328 48 00 37 81 */ bl __DVDStoreErrorCode
+/* 802896CC 0028532C 48 00 01 0C */ b lbl_802897D8
+lbl_802896D0:
+/* 802896D0 00285330 28 1D 00 20 */ cmplwi r29, 0x20
+/* 802896D4 00285334 40 82 00 1C */ bne lbl_802896F0
+/* 802896D8 00285338 3C 60 01 23 */ lis r3, 0x01234569@ha
+/* 802896DC 0028533C 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 802896E0 00285340 38 63 45 69 */ addi r3, r3, 0x01234569@l
+/* 802896E4 00285344 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 802896E8 00285348 48 00 37 61 */ bl __DVDStoreErrorCode
+/* 802896EC 0028534C 48 00 00 EC */ b lbl_802897D8
+lbl_802896F0:
+/* 802896F0 00285350 57 A0 07 FF */ clrlwi. r0, r29, 0x1f
+/* 802896F4 00285354 41 82 00 C8 */ beq lbl_802897BC
+/* 802896F8 00285358 3C 80 80 51 */ lis r4, lbl_80516A60@ha
+/* 802896FC 0028535C 3B A0 00 00 */ li r29, 0
+/* 80289700 00285360 38 84 6A 60 */ addi r4, r4, lbl_80516A60@l
+/* 80289704 00285364 93 AD AA 28 */ stw r29, lbl_8063FCE8-_SDA_BASE_(r13)
+/* 80289708 00285368 38 60 00 00 */ li r3, 0
+/* 8028970C 0028536C 90 8D AA 60 */ stw r4, lbl_8063FD20-_SDA_BASE_(r13)
+/* 80289710 00285370 48 00 52 89 */ bl DVDLowClearCoverInterrupt
+/* 80289714 00285374 4B FE 50 49 */ bl OSDisableInterrupts
+/* 80289718 00285378 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028971C 0028537C 7C 7E 1B 78 */ mr r30, r3
+/* 80289720 00285380 28 00 00 05 */ cmplwi r0, 5
+/* 80289724 00285384 41 80 00 08 */ blt lbl_8028972C
+/* 80289728 00285388 93 AD AA 10 */ stw r29, lbl_8063FCD0-_SDA_BASE_(r13)
+lbl_8028972C:
+/* 8028972C 0028538C 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289730 00285390 3F E0 80 52 */ lis r31, lbl_8051B6E0@ha
+/* 80289734 00285394 80 6D AA 10 */ lwz r3, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289738 00285398 3F A0 00 01 */ lis r29, 0x00010008@ha
+/* 8028973C 0028539C 1C 80 00 14 */ mulli r4, r0, 0x14
+/* 80289740 002853A0 3B FF B6 E0 */ addi r31, r31, lbl_8051B6E0@l
+/* 80289744 002853A4 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289748 002853A8 38 C0 00 21 */ li r6, 0x21
+/* 8028974C 002853AC 38 BD 00 08 */ addi r5, r29, 0x00010008@l
+/* 80289750 002853B0 1C 63 00 14 */ mulli r3, r3, 0x14
+/* 80289754 002853B4 7C 9F 22 14 */ add r4, r31, r4
+/* 80289758 002853B8 90 C4 00 1C */ stw r6, 0x1c(r4)
+/* 8028975C 002853BC 7C 7F 1A 14 */ add r3, r31, r3
+/* 80289760 002853C0 38 80 00 20 */ li r4, 0x20
+/* 80289764 002853C4 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 80289768 002853C8 90 A3 00 20 */ stw r5, 0x20(r3)
+/* 8028976C 002853CC 7C 7F 02 14 */ add r3, r31, r0
+/* 80289770 002853D0 90 83 00 24 */ stw r4, 0x24(r3)
+/* 80289774 002853D4 4B FE 90 5D */ bl OSGetTick
+/* 80289778 002853D8 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028977C 002853DC 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289780 002853E0 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 80289784 002853E4 38 04 00 01 */ addi r0, r4, 1
+/* 80289788 002853E8 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028978C 002853EC 7C 9F 2A 14 */ add r4, r31, r5
+/* 80289790 002853F0 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 80289794 002853F4 7F C3 F3 78 */ mr r3, r30
+/* 80289798 002853F8 4B FE 4F ED */ bl OSRestoreInterrupts
+/* 8028979C 002853FC 3C 60 80 51 */ lis r3, lbl_80516A80@ha
+/* 802897A0 00285400 3C C0 80 29 */ lis r6, cbForStateReadingPartitionInfo@ha
+/* 802897A4 00285404 38 BD 00 08 */ addi r5, r29, 8
+/* 802897A8 00285408 38 80 00 20 */ li r4, 0x20
+/* 802897AC 0028540C 38 63 6A 80 */ addi r3, r3, lbl_80516A80@l
+/* 802897B0 00285410 38 C6 97 F4 */ addi r6, r6, cbForStateReadingPartitionInfo@l
+/* 802897B4 00285414 48 00 42 91 */ bl DVDLowUnencryptedRead
+/* 802897B8 00285418 48 00 00 20 */ b lbl_802897D8
+lbl_802897BC:
+/* 802897BC 0028541C 38 60 00 27 */ li r3, 0x27
+/* 802897C0 00285420 38 80 00 00 */ li r4, 0
+/* 802897C4 00285424 38 A0 00 00 */ li r5, 0
+/* 802897C8 00285428 4B FF E9 C5 */ bl StampCommand
+/* 802897CC 0028542C 3C 60 80 29 */ lis r3, cbForStateGettingError@ha
+/* 802897D0 00285430 38 63 89 3C */ addi r3, r3, cbForStateGettingError@l
+/* 802897D4 00285434 48 00 47 01 */ bl DVDLowRequestError
+lbl_802897D8:
+/* 802897D8 00285438 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802897DC 0028543C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802897E0 00285440 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802897E4 00285444 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802897E8 00285448 7C 08 03 A6 */ mtlr r0
+/* 802897EC 0028544C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802897F0 00285450 4E 80 00 20 */ blr
+
+.global cbForStateReadingPartitionInfo
+cbForStateReadingPartitionInfo:
+/* 802897F4 00285454 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802897F8 00285458 7C 08 02 A6 */ mflr r0
+/* 802897FC 0028545C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80289800 00285460 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80289804 00285464 3F E0 80 51 */ lis r31, lbl_80516980@ha
+/* 80289808 00285468 3B FF 69 80 */ addi r31, r31, lbl_80516980@l
+/* 8028980C 0028546C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80289810 00285470 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80289814 00285474 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80289818 00285478 7C 7C 1B 78 */ mr r28, r3
+/* 8028981C 0028547C 4B FE 4F 41 */ bl OSDisableInterrupts
+/* 80289820 00285480 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289824 00285484 2C 00 00 00 */ cmpwi r0, 0
+/* 80289828 00285488 40 82 00 14 */ bne lbl_8028983C
+/* 8028982C 0028548C 3C 80 80 52 */ lis r4, lbl_8051B6E0@ha
+/* 80289830 00285490 38 84 B6 E0 */ addi r4, r4, lbl_8051B6E0@l
+/* 80289834 00285494 93 84 00 78 */ stw r28, 0x78(r4)
+/* 80289838 00285498 48 00 00 20 */ b lbl_80289858
+lbl_8028983C:
+/* 8028983C 0028549C 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289840 002854A0 3C A0 80 52 */ lis r5, lbl_8051B6E0@ha
+/* 80289844 002854A4 38 A5 B6 E0 */ addi r5, r5, lbl_8051B6E0@l
+/* 80289848 002854A8 38 04 FF FF */ addi r0, r4, -1
+/* 8028984C 002854AC 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 80289850 002854B0 7C 85 02 14 */ add r4, r5, r0
+/* 80289854 002854B4 93 84 00 28 */ stw r28, 0x28(r4)
+lbl_80289858:
+/* 80289858 002854B8 4B FE 4F 2D */ bl OSRestoreInterrupts
+/* 8028985C 002854BC 28 1C 00 10 */ cmplwi r28, 0x10
+/* 80289860 002854C0 40 82 00 1C */ bne lbl_8028987C
+/* 80289864 002854C4 3C 60 01 23 */ lis r3, 0x01234568@ha
+/* 80289868 002854C8 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 8028986C 002854CC 38 63 45 68 */ addi r3, r3, 0x01234568@l
+/* 80289870 002854D0 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 80289874 002854D4 48 00 35 D5 */ bl __DVDStoreErrorCode
+/* 80289878 002854D8 48 00 03 2C */ b lbl_80289BA4
+lbl_8028987C:
+/* 8028987C 002854DC 28 1C 00 20 */ cmplwi r28, 0x20
+/* 80289880 002854E0 40 82 00 1C */ bne lbl_8028989C
+/* 80289884 002854E4 3C 60 01 23 */ lis r3, 0x01234569@ha
+/* 80289888 002854E8 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 8028988C 002854EC 38 63 45 69 */ addi r3, r3, 0x01234569@l
+/* 80289890 002854F0 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 80289894 002854F4 48 00 35 B5 */ bl __DVDStoreErrorCode
+/* 80289898 002854F8 48 00 03 0C */ b lbl_80289BA4
+lbl_8028989C:
+/* 8028989C 002854FC 57 80 07 FF */ clrlwi. r0, r28, 0x1f
+/* 802898A0 00285500 41 82 02 E8 */ beq lbl_80289B88
+/* 802898A4 00285504 38 C0 00 00 */ li r6, 0
+/* 802898A8 00285508 38 7F 01 00 */ addi r3, r31, 0x100
+/* 802898AC 0028550C 90 CD AA 28 */ stw r6, lbl_8063FCE8-_SDA_BASE_(r13)
+/* 802898B0 00285510 38 E0 00 00 */ li r7, 0
+/* 802898B4 00285514 80 8D AA 60 */ lwz r4, lbl_8063FD20-_SDA_BASE_(r13)
+/* 802898B8 00285518 90 6D AA 5C */ stw r3, lbl_8063FD1C-_SDA_BASE_(r13)
+/* 802898BC 0028551C 90 CD AA 58 */ stw r6, lbl_8063FD18-_SDA_BASE_(r13)
+/* 802898C0 00285520 48 00 00 24 */ b lbl_802898E4
+lbl_802898C4:
+/* 802898C4 00285524 80 03 00 04 */ lwz r0, 4(r3)
+/* 802898C8 00285528 2C 00 00 00 */ cmpwi r0, 0
+/* 802898CC 0028552C 40 82 00 0C */ bne lbl_802898D8
+/* 802898D0 00285530 7C 66 1B 78 */ mr r6, r3
+/* 802898D4 00285534 90 6D AA 58 */ stw r3, lbl_8063FD18-_SDA_BASE_(r13)
+lbl_802898D8:
+/* 802898D8 00285538 38 63 00 08 */ addi r3, r3, 8
+/* 802898DC 0028553C 38 E7 00 01 */ addi r7, r7, 1
+/* 802898E0 00285540 90 6D AA 5C */ stw r3, lbl_8063FD1C-_SDA_BASE_(r13)
+lbl_802898E4:
+/* 802898E4 00285544 80 04 00 00 */ lwz r0, 0(r4)
+/* 802898E8 00285548 7C E5 07 34 */ extsh r5, r7
+/* 802898EC 0028554C 7C 05 00 40 */ cmplw r5, r0
+/* 802898F0 00285550 41 80 FF D4 */ blt lbl_802898C4
+/* 802898F4 00285554 2C 06 00 00 */ cmpwi r6, 0
+/* 802898F8 00285558 41 82 01 94 */ beq lbl_80289A8C
+/* 802898FC 0028555C 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 80289900 00285560 2C 00 00 03 */ cmpwi r0, 3
+/* 80289904 00285564 41 82 00 08 */ beq lbl_8028990C
+/* 80289908 00285568 48 00 00 C4 */ b lbl_802899CC
+lbl_8028990C:
+/* 8028990C 0028556C 3B A0 00 00 */ li r29, 0
+/* 80289910 00285570 38 60 00 00 */ li r3, 0
+/* 80289914 00285574 93 AD AA 28 */ stw r29, lbl_8063FCE8-_SDA_BASE_(r13)
+/* 80289918 00285578 48 00 50 81 */ bl DVDLowClearCoverInterrupt
+/* 8028991C 0028557C 80 6D AA 58 */ lwz r3, lbl_8063FD18-_SDA_BASE_(r13)
+/* 80289920 00285580 83 83 00 00 */ lwz r28, 0(r3)
+/* 80289924 00285584 4B FE 4E 39 */ bl OSDisableInterrupts
+/* 80289928 00285588 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028992C 0028558C 7C 7E 1B 78 */ mr r30, r3
+/* 80289930 00285590 28 00 00 05 */ cmplwi r0, 5
+/* 80289934 00285594 41 80 00 08 */ blt lbl_8028993C
+/* 80289938 00285598 93 AD AA 10 */ stw r29, lbl_8063FCD0-_SDA_BASE_(r13)
+lbl_8028993C:
+/* 8028993C 0028559C 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289940 002855A0 3F A0 80 52 */ lis r29, lbl_8051B6E0@ha
+/* 80289944 002855A4 80 6D AA 10 */ lwz r3, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289948 002855A8 3B BD B6 E0 */ addi r29, r29, lbl_8051B6E0@l
+/* 8028994C 002855AC 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 80289950 002855B0 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289954 002855B4 38 C0 00 22 */ li r6, 0x22
+/* 80289958 002855B8 38 80 00 00 */ li r4, 0
+/* 8028995C 002855BC 1C 63 00 14 */ mulli r3, r3, 0x14
+/* 80289960 002855C0 7C BD 2A 14 */ add r5, r29, r5
+/* 80289964 002855C4 90 C5 00 1C */ stw r6, 0x1c(r5)
+/* 80289968 002855C8 7C 7D 1A 14 */ add r3, r29, r3
+/* 8028996C 002855CC 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 80289970 002855D0 93 83 00 20 */ stw r28, 0x20(r3)
+/* 80289974 002855D4 7C 7D 02 14 */ add r3, r29, r0
+/* 80289978 002855D8 90 83 00 24 */ stw r4, 0x24(r3)
+/* 8028997C 002855DC 4B FE 8E 55 */ bl OSGetTick
+/* 80289980 002855E0 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289984 002855E4 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289988 002855E8 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 8028998C 002855EC 38 04 00 01 */ addi r0, r4, 1
+/* 80289990 002855F0 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289994 002855F4 7C 9D 2A 14 */ add r4, r29, r5
+/* 80289998 002855F8 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 8028999C 002855FC 7F C3 F3 78 */ mr r3, r30
+/* 802899A0 00285600 4B FE 4D E5 */ bl OSRestoreInterrupts
+/* 802899A4 00285604 80 6D AA 58 */ lwz r3, lbl_8063FD18-_SDA_BASE_(r13)
+/* 802899A8 00285608 3D 00 80 29 */ lis r8, cbForStateOpenPartition@ha
+/* 802899AC 0028560C 38 FF 01 40 */ addi r7, r31, 0x140
+/* 802899B0 00285610 38 80 00 00 */ li r4, 0
+/* 802899B4 00285614 80 63 00 00 */ lwz r3, 0(r3)
+/* 802899B8 00285618 39 08 9B C4 */ addi r8, r8, cbForStateOpenPartition@l
+/* 802899BC 0028561C 38 A0 00 00 */ li r5, 0
+/* 802899C0 00285620 38 C0 00 00 */ li r6, 0
+/* 802899C4 00285624 48 00 3C B5 */ bl DVDLowOpenPartition
+/* 802899C8 00285628 48 00 01 DC */ b lbl_80289BA4
+lbl_802899CC:
+/* 802899CC 0028562C 3B A0 00 00 */ li r29, 0
+/* 802899D0 00285630 38 60 00 00 */ li r3, 0
+/* 802899D4 00285634 93 AD AA 28 */ stw r29, lbl_8063FCE8-_SDA_BASE_(r13)
+/* 802899D8 00285638 48 00 4F C1 */ bl DVDLowClearCoverInterrupt
+/* 802899DC 0028563C 80 6D AA 58 */ lwz r3, lbl_8063FD18-_SDA_BASE_(r13)
+/* 802899E0 00285640 83 83 00 00 */ lwz r28, 0(r3)
+/* 802899E4 00285644 4B FE 4D 79 */ bl OSDisableInterrupts
+/* 802899E8 00285648 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 802899EC 0028564C 7C 7E 1B 78 */ mr r30, r3
+/* 802899F0 00285650 28 00 00 05 */ cmplwi r0, 5
+/* 802899F4 00285654 41 80 00 08 */ blt lbl_802899FC
+/* 802899F8 00285658 93 AD AA 10 */ stw r29, lbl_8063FCD0-_SDA_BASE_(r13)
+lbl_802899FC:
+/* 802899FC 0028565C 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289A00 00285660 3F A0 80 52 */ lis r29, lbl_8051B6E0@ha
+/* 80289A04 00285664 80 6D AA 10 */ lwz r3, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289A08 00285668 3B BD B6 E0 */ addi r29, r29, lbl_8051B6E0@l
+/* 80289A0C 0028566C 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 80289A10 00285670 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289A14 00285674 38 C0 00 22 */ li r6, 0x22
+/* 80289A18 00285678 38 80 00 00 */ li r4, 0
+/* 80289A1C 0028567C 1C 63 00 14 */ mulli r3, r3, 0x14
+/* 80289A20 00285680 7C BD 2A 14 */ add r5, r29, r5
+/* 80289A24 00285684 90 C5 00 1C */ stw r6, 0x1c(r5)
+/* 80289A28 00285688 7C 7D 1A 14 */ add r3, r29, r3
+/* 80289A2C 0028568C 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 80289A30 00285690 93 83 00 20 */ stw r28, 0x20(r3)
+/* 80289A34 00285694 7C 7D 02 14 */ add r3, r29, r0
+/* 80289A38 00285698 90 83 00 24 */ stw r4, 0x24(r3)
+/* 80289A3C 0028569C 4B FE 8D 95 */ bl OSGetTick
+/* 80289A40 002856A0 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289A44 002856A4 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289A48 002856A8 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 80289A4C 002856AC 38 04 00 01 */ addi r0, r4, 1
+/* 80289A50 002856B0 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289A54 002856B4 7C 9D 2A 14 */ add r4, r29, r5
+/* 80289A58 002856B8 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 80289A5C 002856BC 7F C3 F3 78 */ mr r3, r30
+/* 80289A60 002856C0 4B FE 4D 25 */ bl OSRestoreInterrupts
+/* 80289A64 002856C4 80 6D AA 58 */ lwz r3, lbl_8063FD18-_SDA_BASE_(r13)
+/* 80289A68 002856C8 3D 00 80 29 */ lis r8, cbForStateOpenPartition2@ha
+/* 80289A6C 002856CC 38 FF 01 40 */ addi r7, r31, 0x140
+/* 80289A70 002856D0 38 80 00 00 */ li r4, 0
+/* 80289A74 002856D4 80 63 00 00 */ lwz r3, 0(r3)
+/* 80289A78 002856D8 39 08 9D 4C */ addi r8, r8, cbForStateOpenPartition2@l
+/* 80289A7C 002856DC 38 A0 00 00 */ li r5, 0
+/* 80289A80 002856E0 38 C0 00 00 */ li r6, 0
+/* 80289A84 002856E4 48 00 3B F5 */ bl DVDLowOpenPartition
+/* 80289A88 002856E8 48 00 01 1C */ b lbl_80289BA4
+lbl_80289A8C:
+/* 80289A8C 002856EC 80 0D AA 20 */ lwz r0, lbl_8063FCE0-_SDA_BASE_(r13)
+/* 80289A90 002856F0 2C 00 00 00 */ cmpwi r0, 0
+/* 80289A94 002856F4 41 82 00 6C */ beq lbl_80289B00
+/* 80289A98 002856F8 83 8D AA 90 */ lwz r28, lbl_8063FD50-_SDA_BASE_(r13)
+/* 80289A9C 002856FC 38 7F 00 20 */ addi r3, r31, 0x20
+/* 80289AA0 00285700 38 00 00 01 */ li r0, 1
+/* 80289AA4 00285704 38 80 00 00 */ li r4, 0
+/* 80289AA8 00285708 90 0D AA 24 */ stw r0, lbl_8063FCE4-_SDA_BASE_(r13)
+/* 80289AAC 0028570C 38 00 00 0A */ li r0, 0xa
+/* 80289AB0 00285710 90 8D AA 20 */ stw r4, lbl_8063FCE0-_SDA_BASE_(r13)
+/* 80289AB4 00285714 90 6D AA 90 */ stw r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 80289AB8 00285718 90 1C 00 0C */ stw r0, 0xc(r28)
+/* 80289ABC 0028571C 81 9C 00 28 */ lwz r12, 0x28(r28)
+/* 80289AC0 00285720 2C 0C 00 00 */ cmpwi r12, 0
+/* 80289AC4 00285724 41 82 00 14 */ beq lbl_80289AD8
+/* 80289AC8 00285728 7F 84 E3 78 */ mr r4, r28
+/* 80289ACC 0028572C 38 60 FF FD */ li r3, -3
+/* 80289AD0 00285730 7D 89 03 A6 */ mtctr r12
+/* 80289AD4 00285734 4E 80 04 21 */ bctrl
+lbl_80289AD8:
+/* 80289AD8 00285738 81 8D AA 80 */ lwz r12, lbl_8063FD40-_SDA_BASE_(r13)
+/* 80289ADC 0028573C 2C 0C 00 00 */ cmpwi r12, 0
+/* 80289AE0 00285740 41 82 00 14 */ beq lbl_80289AF4
+/* 80289AE4 00285744 7F 84 E3 78 */ mr r4, r28
+/* 80289AE8 00285748 38 60 00 00 */ li r3, 0
+/* 80289AEC 0028574C 7D 89 03 A6 */ mtctr r12
+/* 80289AF0 00285750 4E 80 04 21 */ bctrl
+lbl_80289AF4:
+/* 80289AF4 00285754 48 00 10 1D */ bl stateReady
+/* 80289AF8 00285758 38 00 00 01 */ li r0, 1
+/* 80289AFC 0028575C 48 00 00 08 */ b lbl_80289B04
+lbl_80289B00:
+/* 80289B00 00285760 38 00 00 00 */ li r0, 0
+lbl_80289B04:
+/* 80289B04 00285764 2C 00 00 00 */ cmpwi r0, 0
+/* 80289B08 00285768 40 82 00 9C */ bne lbl_80289BA4
+/* 80289B0C 0028576C 80 8D AA 90 */ lwz r4, lbl_8063FD50-_SDA_BASE_(r13)
+/* 80289B10 00285770 38 00 00 06 */ li r0, 6
+/* 80289B14 00285774 38 60 00 01 */ li r3, 1
+/* 80289B18 00285778 90 04 00 0C */ stw r0, 0xc(r4)
+/* 80289B1C 0028577C 80 0D AA 34 */ lwz r0, lbl_8063FCF4-_SDA_BASE_(r13)
+/* 80289B20 00285780 90 6D AA 70 */ stw r3, lbl_8063FD30-_SDA_BASE_(r13)
+/* 80289B24 00285784 2C 00 00 00 */ cmpwi r0, 0
+/* 80289B28 00285788 40 82 00 7C */ bne lbl_80289BA4
+/* 80289B2C 0028578C 80 0D AA 38 */ lwz r0, lbl_8063FCF8-_SDA_BASE_(r13)
+/* 80289B30 00285790 2C 00 00 00 */ cmpwi r0, 0
+/* 80289B34 00285794 40 82 00 70 */ bne lbl_80289BA4
+/* 80289B38 00285798 90 6D AA 34 */ stw r3, lbl_8063FCF4-_SDA_BASE_(r13)
+/* 80289B3C 0028579C 38 7F 00 80 */ addi r3, r31, 0x80
+/* 80289B40 002857A0 4B FD FB E5 */ bl OSCreateAlarm
+/* 80289B44 002857A4 4B FE 8C 8D */ bl OSGetTick
+/* 80289B48 002857A8 3C A0 80 00 */ lis r5, 0x800000F8@ha
+/* 80289B4C 002857AC 3C 80 10 62 */ lis r4, 0x10624DD3@ha
+/* 80289B50 002857B0 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
+/* 80289B54 002857B4 3D 20 80 29 */ lis r9, CoverAlarmHandler@ha
+/* 80289B58 002857B8 7C 66 1B 78 */ mr r6, r3
+/* 80289B5C 002857BC 38 84 4D D3 */ addi r4, r4, 0x10624DD3@l
+/* 80289B60 002857C0 54 00 F0 BE */ srwi r0, r0, 2
+/* 80289B64 002857C4 38 7F 00 80 */ addi r3, r31, 0x80
+/* 80289B68 002857C8 7C 04 00 16 */ mulhwu r0, r4, r0
+/* 80289B6C 002857CC 39 29 AA EC */ addi r9, r9, CoverAlarmHandler@l
+/* 80289B70 002857D0 38 A0 00 00 */ li r5, 0
+/* 80289B74 002857D4 38 E0 00 00 */ li r7, 0
+/* 80289B78 002857D8 54 00 D1 BE */ srwi r0, r0, 6
+/* 80289B7C 002857DC 1D 00 00 64 */ mulli r8, r0, 0x64
+/* 80289B80 002857E0 4B FD FE 75 */ bl OSSetPeriodicAlarm
+/* 80289B84 002857E4 48 00 00 20 */ b lbl_80289BA4
+lbl_80289B88:
+/* 80289B88 002857E8 38 60 00 27 */ li r3, 0x27
+/* 80289B8C 002857EC 38 80 00 00 */ li r4, 0
+/* 80289B90 002857F0 38 A0 00 00 */ li r5, 0
+/* 80289B94 002857F4 4B FF E5 F9 */ bl StampCommand
+/* 80289B98 002857F8 3C 60 80 29 */ lis r3, cbForStateGettingError@ha
+/* 80289B9C 002857FC 38 63 89 3C */ addi r3, r3, cbForStateGettingError@l
+/* 80289BA0 00285800 48 00 43 35 */ bl DVDLowRequestError
+lbl_80289BA4:
+/* 80289BA4 00285804 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80289BA8 00285808 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80289BAC 0028580C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80289BB0 00285810 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80289BB4 00285814 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 80289BB8 00285818 7C 08 03 A6 */ mtlr r0
+/* 80289BBC 0028581C 38 21 00 20 */ addi r1, r1, 0x20
+/* 80289BC0 00285820 4E 80 00 20 */ blr
+
+cbForStateOpenPartition:
+/* 80289BC4 00285824 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80289BC8 00285828 7C 08 02 A6 */ mflr r0
+/* 80289BCC 0028582C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80289BD0 00285830 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80289BD4 00285834 93 C1 00 08 */ stw r30, 8(r1)
+/* 80289BD8 00285838 7C 7E 1B 78 */ mr r30, r3
+/* 80289BDC 0028583C 4B FE 4B 81 */ bl OSDisableInterrupts
+/* 80289BE0 00285840 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289BE4 00285844 2C 00 00 00 */ cmpwi r0, 0
+/* 80289BE8 00285848 40 82 00 14 */ bne lbl_80289BFC
+/* 80289BEC 0028584C 3C 80 80 52 */ lis r4, lbl_8051B6E0@ha
+/* 80289BF0 00285850 38 84 B6 E0 */ addi r4, r4, lbl_8051B6E0@l
+/* 80289BF4 00285854 93 C4 00 78 */ stw r30, 0x78(r4)
+/* 80289BF8 00285858 48 00 00 20 */ b lbl_80289C18
+lbl_80289BFC:
+/* 80289BFC 0028585C 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289C00 00285860 3C A0 80 52 */ lis r5, lbl_8051B6E0@ha
+/* 80289C04 00285864 38 A5 B6 E0 */ addi r5, r5, lbl_8051B6E0@l
+/* 80289C08 00285868 38 04 FF FF */ addi r0, r4, -1
+/* 80289C0C 0028586C 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 80289C10 00285870 7C 85 02 14 */ add r4, r5, r0
+/* 80289C14 00285874 93 C4 00 28 */ stw r30, 0x28(r4)
+lbl_80289C18:
+/* 80289C18 00285878 4B FE 4B 6D */ bl OSRestoreInterrupts
+/* 80289C1C 0028587C 28 1E 00 10 */ cmplwi r30, 0x10
+/* 80289C20 00285880 40 82 00 1C */ bne lbl_80289C3C
+/* 80289C24 00285884 3C 60 01 23 */ lis r3, 0x01234568@ha
+/* 80289C28 00285888 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 80289C2C 0028588C 38 63 45 68 */ addi r3, r3, 0x01234568@l
+/* 80289C30 00285890 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 80289C34 00285894 48 00 32 15 */ bl __DVDStoreErrorCode
+/* 80289C38 00285898 48 00 00 FC */ b lbl_80289D34
+lbl_80289C3C:
+/* 80289C3C 0028589C 28 1E 00 20 */ cmplwi r30, 0x20
+/* 80289C40 002858A0 40 82 00 1C */ bne lbl_80289C5C
+/* 80289C44 002858A4 3C 60 01 23 */ lis r3, 0x01234569@ha
+/* 80289C48 002858A8 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 80289C4C 002858AC 38 63 45 69 */ addi r3, r3, 0x01234569@l
+/* 80289C50 002858B0 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 80289C54 002858B4 48 00 31 F5 */ bl __DVDStoreErrorCode
+/* 80289C58 002858B8 48 00 00 DC */ b lbl_80289D34
+lbl_80289C5C:
+/* 80289C5C 002858BC 57 C0 07 FF */ clrlwi. r0, r30, 0x1f
+/* 80289C60 002858C0 41 82 00 B8 */ beq lbl_80289D18
+/* 80289C64 002858C4 3B C0 00 00 */ li r30, 0
+/* 80289C68 002858C8 38 60 00 00 */ li r3, 0
+/* 80289C6C 002858CC 93 CD AA 28 */ stw r30, lbl_8063FCE8-_SDA_BASE_(r13)
+/* 80289C70 002858D0 48 00 4D 29 */ bl DVDLowClearCoverInterrupt
+/* 80289C74 002858D4 4B FE 4A E9 */ bl OSDisableInterrupts
+/* 80289C78 002858D8 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289C7C 002858DC 7C 7F 1B 78 */ mr r31, r3
+/* 80289C80 002858E0 28 00 00 05 */ cmplwi r0, 5
+/* 80289C84 002858E4 41 80 00 08 */ blt lbl_80289C8C
+/* 80289C88 002858E8 93 CD AA 10 */ stw r30, lbl_8063FCD0-_SDA_BASE_(r13)
+lbl_80289C8C:
+/* 80289C8C 002858EC 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289C90 002858F0 3F C0 80 52 */ lis r30, lbl_8051B6E0@ha
+/* 80289C94 002858F4 80 6D AA 10 */ lwz r3, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289C98 002858F8 3B DE B6 E0 */ addi r30, r30, lbl_8051B6E0@l
+/* 80289C9C 002858FC 1C C0 00 14 */ mulli r6, r0, 0x14
+/* 80289CA0 00285900 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289CA4 00285904 38 E0 00 01 */ li r7, 1
+/* 80289CA8 00285908 38 A0 01 08 */ li r5, 0x108
+/* 80289CAC 0028590C 1C 63 00 14 */ mulli r3, r3, 0x14
+/* 80289CB0 00285910 38 80 00 20 */ li r4, 0x20
+/* 80289CB4 00285914 7C DE 32 14 */ add r6, r30, r6
+/* 80289CB8 00285918 90 E6 00 1C */ stw r7, 0x1c(r6)
+/* 80289CBC 0028591C 7C 7E 1A 14 */ add r3, r30, r3
+/* 80289CC0 00285920 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 80289CC4 00285924 90 A3 00 20 */ stw r5, 0x20(r3)
+/* 80289CC8 00285928 7C 7E 02 14 */ add r3, r30, r0
+/* 80289CCC 0028592C 90 83 00 24 */ stw r4, 0x24(r3)
+/* 80289CD0 00285930 4B FE 8B 01 */ bl OSGetTick
+/* 80289CD4 00285934 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289CD8 00285938 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289CDC 0028593C 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 80289CE0 00285940 38 04 00 01 */ addi r0, r4, 1
+/* 80289CE4 00285944 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289CE8 00285948 7C 9E 2A 14 */ add r4, r30, r5
+/* 80289CEC 0028594C 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 80289CF0 00285950 7F E3 FB 78 */ mr r3, r31
+/* 80289CF4 00285954 4B FE 4A 91 */ bl OSRestoreInterrupts
+/* 80289CF8 00285958 3C 60 80 51 */ lis r3, lbl_80516980@ha
+/* 80289CFC 0028595C 3C C0 80 29 */ lis r6, cbForStateCheckID2@ha
+/* 80289D00 00285960 38 63 69 80 */ addi r3, r3, lbl_80516980@l
+/* 80289D04 00285964 38 80 00 20 */ li r4, 0x20
+/* 80289D08 00285968 38 C6 A0 78 */ addi r6, r6, cbForStateCheckID2@l
+/* 80289D0C 0028596C 38 A0 01 08 */ li r5, 0x108
+/* 80289D10 00285970 48 00 47 C9 */ bl DVDLowRead
+/* 80289D14 00285974 48 00 00 20 */ b lbl_80289D34
+lbl_80289D18:
+/* 80289D18 00285978 38 60 00 27 */ li r3, 0x27
+/* 80289D1C 0028597C 38 80 00 00 */ li r4, 0
+/* 80289D20 00285980 38 A0 00 00 */ li r5, 0
+/* 80289D24 00285984 4B FF E4 69 */ bl StampCommand
+/* 80289D28 00285988 3C 60 80 29 */ lis r3, cbForStateGettingError@ha
+/* 80289D2C 0028598C 38 63 89 3C */ addi r3, r3, cbForStateGettingError@l
+/* 80289D30 00285990 48 00 41 A5 */ bl DVDLowRequestError
+lbl_80289D34:
+/* 80289D34 00285994 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80289D38 00285998 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80289D3C 0028599C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80289D40 002859A0 7C 08 03 A6 */ mtlr r0
+/* 80289D44 002859A4 38 21 00 10 */ addi r1, r1, 0x10
+/* 80289D48 002859A8 4E 80 00 20 */ blr
+cbForStateOpenPartition2:
+/* 80289D4C 002859AC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80289D50 002859B0 7C 08 02 A6 */ mflr r0
+/* 80289D54 002859B4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80289D58 002859B8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80289D5C 002859BC 7C 7F 1B 78 */ mr r31, r3
+/* 80289D60 002859C0 4B FE 49 FD */ bl OSDisableInterrupts
+/* 80289D64 002859C4 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289D68 002859C8 2C 00 00 00 */ cmpwi r0, 0
+/* 80289D6C 002859CC 40 82 00 14 */ bne lbl_80289D80
+/* 80289D70 002859D0 3C 80 80 52 */ lis r4, lbl_8051B6E0@ha
+/* 80289D74 002859D4 38 84 B6 E0 */ addi r4, r4, lbl_8051B6E0@l
+/* 80289D78 002859D8 93 E4 00 78 */ stw r31, 0x78(r4)
+/* 80289D7C 002859DC 48 00 00 1C */ b lbl_80289D98
+lbl_80289D80:
+/* 80289D80 002859E0 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289D84 002859E4 3C 80 80 52 */ lis r4, lbl_8051B6E0@ha
+/* 80289D88 002859E8 38 84 B6 E0 */ addi r4, r4, lbl_8051B6E0@l
+/* 80289D8C 002859EC 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 80289D90 002859F0 7C 84 02 14 */ add r4, r4, r0
+/* 80289D94 002859F4 93 E4 00 14 */ stw r31, 0x14(r4)
+lbl_80289D98:
+/* 80289D98 002859F8 4B FE 49 ED */ bl OSRestoreInterrupts
+/* 80289D9C 002859FC 28 1F 00 10 */ cmplwi r31, 0x10
+/* 80289DA0 00285A00 40 82 00 1C */ bne lbl_80289DBC
+/* 80289DA4 00285A04 3C 60 01 23 */ lis r3, 0x01234568@ha
+/* 80289DA8 00285A08 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 80289DAC 00285A0C 38 63 45 68 */ addi r3, r3, 0x01234568@l
+/* 80289DB0 00285A10 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 80289DB4 00285A14 48 00 30 95 */ bl __DVDStoreErrorCode
+/* 80289DB8 00285A18 48 00 00 E4 */ b lbl_80289E9C
+lbl_80289DBC:
+/* 80289DBC 00285A1C 28 1F 00 20 */ cmplwi r31, 0x20
+/* 80289DC0 00285A20 40 82 00 1C */ bne lbl_80289DDC
+/* 80289DC4 00285A24 3C 60 01 23 */ lis r3, 0x01234569@ha
+/* 80289DC8 00285A28 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 80289DCC 00285A2C 38 63 45 69 */ addi r3, r3, 0x01234569@l
+/* 80289DD0 00285A30 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 80289DD4 00285A34 48 00 30 75 */ bl __DVDStoreErrorCode
+/* 80289DD8 00285A38 48 00 00 C4 */ b lbl_80289E9C
+lbl_80289DDC:
+/* 80289DDC 00285A3C 57 E0 07 FF */ clrlwi. r0, r31, 0x1f
+/* 80289DE0 00285A40 41 82 00 A0 */ beq lbl_80289E80
+/* 80289DE4 00285A44 38 80 00 00 */ li r4, 0
+/* 80289DE8 00285A48 90 8D AA 28 */ stw r4, lbl_8063FCE8-_SDA_BASE_(r13)
+/* 80289DEC 00285A4C 80 0D AA 20 */ lwz r0, lbl_8063FCE0-_SDA_BASE_(r13)
+/* 80289DF0 00285A50 2C 00 00 00 */ cmpwi r0, 0
+/* 80289DF4 00285A54 41 82 00 68 */ beq lbl_80289E5C
+/* 80289DF8 00285A58 3C 60 80 51 */ lis r3, lbl_805169A0@ha
+/* 80289DFC 00285A5C 83 ED AA 90 */ lwz r31, lbl_8063FD50-_SDA_BASE_(r13)
+/* 80289E00 00285A60 38 63 69 A0 */ addi r3, r3, lbl_805169A0@l
+/* 80289E04 00285A64 90 8D AA 24 */ stw r4, lbl_8063FCE4-_SDA_BASE_(r13)
+/* 80289E08 00285A68 38 00 00 0A */ li r0, 0xa
+/* 80289E0C 00285A6C 90 8D AA 20 */ stw r4, lbl_8063FCE0-_SDA_BASE_(r13)
+/* 80289E10 00285A70 90 6D AA 90 */ stw r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 80289E14 00285A74 90 1F 00 0C */ stw r0, 0xc(r31)
+/* 80289E18 00285A78 81 9F 00 28 */ lwz r12, 0x28(r31)
+/* 80289E1C 00285A7C 2C 0C 00 00 */ cmpwi r12, 0
+/* 80289E20 00285A80 41 82 00 14 */ beq lbl_80289E34
+/* 80289E24 00285A84 7F E4 FB 78 */ mr r4, r31
+/* 80289E28 00285A88 38 60 FF FD */ li r3, -3
+/* 80289E2C 00285A8C 7D 89 03 A6 */ mtctr r12
+/* 80289E30 00285A90 4E 80 04 21 */ bctrl
+lbl_80289E34:
+/* 80289E34 00285A94 81 8D AA 80 */ lwz r12, lbl_8063FD40-_SDA_BASE_(r13)
+/* 80289E38 00285A98 2C 0C 00 00 */ cmpwi r12, 0
+/* 80289E3C 00285A9C 41 82 00 14 */ beq lbl_80289E50
+/* 80289E40 00285AA0 7F E4 FB 78 */ mr r4, r31
+/* 80289E44 00285AA4 38 60 00 00 */ li r3, 0
+/* 80289E48 00285AA8 7D 89 03 A6 */ mtctr r12
+/* 80289E4C 00285AAC 4E 80 04 21 */ bctrl
+lbl_80289E50:
+/* 80289E50 00285AB0 48 00 0C C1 */ bl stateReady
+/* 80289E54 00285AB4 38 00 00 01 */ li r0, 1
+/* 80289E58 00285AB8 48 00 00 08 */ b lbl_80289E60
+lbl_80289E5C:
+/* 80289E5C 00285ABC 38 00 00 00 */ li r0, 0
+lbl_80289E60:
+/* 80289E60 00285AC0 2C 00 00 00 */ cmpwi r0, 0
+/* 80289E64 00285AC4 40 82 00 38 */ bne lbl_80289E9C
+/* 80289E68 00285AC8 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 80289E6C 00285ACC 38 00 00 01 */ li r0, 1
+/* 80289E70 00285AD0 90 03 00 0C */ stw r0, 0xc(r3)
+/* 80289E74 00285AD4 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 80289E78 00285AD8 48 00 0F C1 */ bl stateBusy
+/* 80289E7C 00285ADC 48 00 00 20 */ b lbl_80289E9C
+lbl_80289E80:
+/* 80289E80 00285AE0 38 60 00 27 */ li r3, 0x27
+/* 80289E84 00285AE4 38 80 00 00 */ li r4, 0
+/* 80289E88 00285AE8 38 A0 00 00 */ li r5, 0
+/* 80289E8C 00285AEC 4B FF E3 01 */ bl StampCommand
+/* 80289E90 00285AF0 3C 60 80 29 */ lis r3, cbForStateGettingError@ha
+/* 80289E94 00285AF4 38 63 89 3C */ addi r3, r3, cbForStateGettingError@l
+/* 80289E98 00285AF8 48 00 40 3D */ bl DVDLowRequestError
+lbl_80289E9C:
+/* 80289E9C 00285AFC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80289EA0 00285B00 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80289EA4 00285B04 7C 08 03 A6 */ mtlr r0
+/* 80289EA8 00285B08 38 21 00 10 */ addi r1, r1, 0x10
+/* 80289EAC 00285B0C 4E 80 00 20 */ blr
+cbForStateCheckID1:
+/* 80289EB0 00285B10 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80289EB4 00285B14 7C 08 02 A6 */ mflr r0
+/* 80289EB8 00285B18 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80289EBC 00285B1C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80289EC0 00285B20 7C 7F 1B 78 */ mr r31, r3
+/* 80289EC4 00285B24 4B FE 48 99 */ bl OSDisableInterrupts
+/* 80289EC8 00285B28 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289ECC 00285B2C 2C 00 00 00 */ cmpwi r0, 0
+/* 80289ED0 00285B30 40 82 00 14 */ bne lbl_80289EE4
+/* 80289ED4 00285B34 3C 80 80 52 */ lis r4, lbl_8051B6E0@ha
+/* 80289ED8 00285B38 38 84 B6 E0 */ addi r4, r4, lbl_8051B6E0@l
+/* 80289EDC 00285B3C 93 E4 00 78 */ stw r31, 0x78(r4)
+/* 80289EE0 00285B40 48 00 00 1C */ b lbl_80289EFC
+lbl_80289EE4:
+/* 80289EE4 00285B44 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 80289EE8 00285B48 3C 80 80 52 */ lis r4, lbl_8051B6E0@ha
+/* 80289EEC 00285B4C 38 84 B6 E0 */ addi r4, r4, lbl_8051B6E0@l
+/* 80289EF0 00285B50 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 80289EF4 00285B54 7C 84 02 14 */ add r4, r4, r0
+/* 80289EF8 00285B58 93 E4 00 14 */ stw r31, 0x14(r4)
+lbl_80289EFC:
+/* 80289EFC 00285B5C 4B FE 48 89 */ bl OSRestoreInterrupts
+/* 80289F00 00285B60 28 1F 00 10 */ cmplwi r31, 0x10
+/* 80289F04 00285B64 40 82 00 1C */ bne lbl_80289F20
+/* 80289F08 00285B68 3C 60 01 23 */ lis r3, 0x01234568@ha
+/* 80289F0C 00285B6C 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 80289F10 00285B70 38 63 45 68 */ addi r3, r3, 0x01234568@l
+/* 80289F14 00285B74 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 80289F18 00285B78 48 00 2F 31 */ bl __DVDStoreErrorCode
+/* 80289F1C 00285B7C 48 00 01 48 */ b lbl_8028A064
+lbl_80289F20:
+/* 80289F20 00285B80 28 1F 00 20 */ cmplwi r31, 0x20
+/* 80289F24 00285B84 40 82 00 1C */ bne lbl_80289F40
+/* 80289F28 00285B88 3C 60 01 23 */ lis r3, 0x01234569@ha
+/* 80289F2C 00285B8C 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 80289F30 00285B90 38 63 45 69 */ addi r3, r3, 0x01234569@l
+/* 80289F34 00285B94 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 80289F38 00285B98 48 00 2F 11 */ bl __DVDStoreErrorCode
+/* 80289F3C 00285B9C 48 00 01 28 */ b lbl_8028A064
+lbl_80289F40:
+/* 80289F40 00285BA0 57 E0 07 BD */ rlwinm. r0, r31, 0, 0x1e, 0x1e
+/* 80289F44 00285BA4 41 82 00 1C */ beq lbl_80289F60
+/* 80289F48 00285BA8 3C 60 01 23 */ lis r3, 0x01234567@ha
+/* 80289F4C 00285BAC 3C 80 80 29 */ lis r4, cbForStoreErrorCode1@ha
+/* 80289F50 00285BB0 38 63 45 67 */ addi r3, r3, 0x01234567@l
+/* 80289F54 00285BB4 38 84 87 34 */ addi r4, r4, cbForStoreErrorCode1@l
+/* 80289F58 00285BB8 48 00 2E F1 */ bl __DVDStoreErrorCode
+/* 80289F5C 00285BBC 48 00 01 08 */ b lbl_8028A064
+lbl_80289F60:
+/* 80289F60 00285BC0 38 80 00 00 */ li r4, 0
+/* 80289F64 00285BC4 90 8D AA 28 */ stw r4, lbl_8063FCE8-_SDA_BASE_(r13)
+/* 80289F68 00285BC8 80 0D AA 20 */ lwz r0, lbl_8063FCE0-_SDA_BASE_(r13)
+/* 80289F6C 00285BCC 2C 00 00 00 */ cmpwi r0, 0
+/* 80289F70 00285BD0 41 82 00 6C */ beq lbl_80289FDC
+/* 80289F74 00285BD4 3C 60 80 51 */ lis r3, lbl_805169A0@ha
+/* 80289F78 00285BD8 83 ED AA 90 */ lwz r31, lbl_8063FD50-_SDA_BASE_(r13)
+/* 80289F7C 00285BDC 38 63 69 A0 */ addi r3, r3, lbl_805169A0@l
+/* 80289F80 00285BE0 38 00 00 01 */ li r0, 1
+/* 80289F84 00285BE4 90 0D AA 24 */ stw r0, lbl_8063FCE4-_SDA_BASE_(r13)
+/* 80289F88 00285BE8 38 00 00 0A */ li r0, 0xa
+/* 80289F8C 00285BEC 90 8D AA 20 */ stw r4, lbl_8063FCE0-_SDA_BASE_(r13)
+/* 80289F90 00285BF0 90 6D AA 90 */ stw r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 80289F94 00285BF4 90 1F 00 0C */ stw r0, 0xc(r31)
+/* 80289F98 00285BF8 81 9F 00 28 */ lwz r12, 0x28(r31)
+/* 80289F9C 00285BFC 2C 0C 00 00 */ cmpwi r12, 0
+/* 80289FA0 00285C00 41 82 00 14 */ beq lbl_80289FB4
+/* 80289FA4 00285C04 7F E4 FB 78 */ mr r4, r31
+/* 80289FA8 00285C08 38 60 FF FD */ li r3, -3
+/* 80289FAC 00285C0C 7D 89 03 A6 */ mtctr r12
+/* 80289FB0 00285C10 4E 80 04 21 */ bctrl
+lbl_80289FB4:
+/* 80289FB4 00285C14 81 8D AA 80 */ lwz r12, lbl_8063FD40-_SDA_BASE_(r13)
+/* 80289FB8 00285C18 2C 0C 00 00 */ cmpwi r12, 0
+/* 80289FBC 00285C1C 41 82 00 14 */ beq lbl_80289FD0
+/* 80289FC0 00285C20 7F E4 FB 78 */ mr r4, r31
+/* 80289FC4 00285C24 38 60 00 00 */ li r3, 0
+/* 80289FC8 00285C28 7D 89 03 A6 */ mtctr r12
+/* 80289FCC 00285C2C 4E 80 04 21 */ bctrl
+lbl_80289FD0:
+/* 80289FD0 00285C30 48 00 0B 41 */ bl stateReady
+/* 80289FD4 00285C34 38 00 00 01 */ li r0, 1
+/* 80289FD8 00285C38 48 00 00 08 */ b lbl_80289FE0
+lbl_80289FDC:
+/* 80289FDC 00285C3C 38 00 00 00 */ li r0, 0
+lbl_80289FE0:
+/* 80289FE0 00285C40 2C 00 00 00 */ cmpwi r0, 0
+/* 80289FE4 00285C44 40 82 00 80 */ bne lbl_8028A064
+/* 80289FE8 00285C48 80 8D AA 90 */ lwz r4, lbl_8063FD50-_SDA_BASE_(r13)
+/* 80289FEC 00285C4C 38 00 00 06 */ li r0, 6
+/* 80289FF0 00285C50 38 60 00 01 */ li r3, 1
+/* 80289FF4 00285C54 90 04 00 0C */ stw r0, 0xc(r4)
+/* 80289FF8 00285C58 80 0D AA 34 */ lwz r0, lbl_8063FCF4-_SDA_BASE_(r13)
+/* 80289FFC 00285C5C 90 6D AA 70 */ stw r3, lbl_8063FD30-_SDA_BASE_(r13)
+/* 8028A000 00285C60 2C 00 00 00 */ cmpwi r0, 0
+/* 8028A004 00285C64 40 82 00 60 */ bne lbl_8028A064
+/* 8028A008 00285C68 80 0D AA 38 */ lwz r0, lbl_8063FCF8-_SDA_BASE_(r13)
+/* 8028A00C 00285C6C 2C 00 00 00 */ cmpwi r0, 0
+/* 8028A010 00285C70 40 82 00 54 */ bne lbl_8028A064
+/* 8028A014 00285C74 3F E0 80 51 */ lis r31, lbl_80516A00@ha
+/* 8028A018 00285C78 90 6D AA 34 */ stw r3, lbl_8063FCF4-_SDA_BASE_(r13)
+/* 8028A01C 00285C7C 38 7F 6A 00 */ addi r3, r31, lbl_80516A00@l
+/* 8028A020 00285C80 4B FD F7 05 */ bl OSCreateAlarm
+/* 8028A024 00285C84 4B FE 87 AD */ bl OSGetTick
+/* 8028A028 00285C88 3C A0 80 00 */ lis r5, 0x800000F8@ha
+/* 8028A02C 00285C8C 3C 80 10 62 */ lis r4, 0x10624DD3@ha
+/* 8028A030 00285C90 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
+/* 8028A034 00285C94 3D 20 80 29 */ lis r9, CoverAlarmHandler@ha
+/* 8028A038 00285C98 7C 66 1B 78 */ mr r6, r3
+/* 8028A03C 00285C9C 38 84 4D D3 */ addi r4, r4, 0x10624DD3@l
+/* 8028A040 00285CA0 54 00 F0 BE */ srwi r0, r0, 2
+/* 8028A044 00285CA4 38 7F 6A 00 */ addi r3, r31, 0x6a00
+/* 8028A048 00285CA8 7C 04 00 16 */ mulhwu r0, r4, r0
+/* 8028A04C 00285CAC 39 29 AA EC */ addi r9, r9, CoverAlarmHandler@l
+/* 8028A050 00285CB0 38 A0 00 00 */ li r5, 0
+/* 8028A054 00285CB4 38 E0 00 00 */ li r7, 0
+/* 8028A058 00285CB8 54 00 D1 BE */ srwi r0, r0, 6
+/* 8028A05C 00285CBC 1D 00 00 64 */ mulli r8, r0, 0x64
+/* 8028A060 00285CC0 4B FD F9 95 */ bl OSSetPeriodicAlarm
+lbl_8028A064:
+/* 8028A064 00285CC4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028A068 00285CC8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028A06C 00285CCC 7C 08 03 A6 */ mtlr r0
+/* 8028A070 00285CD0 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028A074 00285CD4 4E 80 00 20 */ blr
+
+.global cbForStateCheckID2
+cbForStateCheckID2:
+/* 8028A078 00285CD8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028A07C 00285CDC 7C 08 02 A6 */ mflr r0
+/* 8028A080 00285CE0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028A084 00285CE4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028A088 00285CE8 7C 7F 1B 78 */ mr r31, r3
+/* 8028A08C 00285CEC 4B FE 46 D1 */ bl OSDisableInterrupts
+/* 8028A090 00285CF0 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A094 00285CF4 2C 00 00 00 */ cmpwi r0, 0
+/* 8028A098 00285CF8 40 82 00 14 */ bne lbl_8028A0AC
+/* 8028A09C 00285CFC 3C 80 80 52 */ lis r4, lbl_8051B6E0@ha
+/* 8028A0A0 00285D00 38 84 B6 E0 */ addi r4, r4, lbl_8051B6E0@l
+/* 8028A0A4 00285D04 93 E4 00 78 */ stw r31, 0x78(r4)
+/* 8028A0A8 00285D08 48 00 00 20 */ b lbl_8028A0C8
+lbl_8028A0AC:
+/* 8028A0AC 00285D0C 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A0B0 00285D10 3C A0 80 52 */ lis r5, lbl_8051B6E0@ha
+/* 8028A0B4 00285D14 38 A5 B6 E0 */ addi r5, r5, lbl_8051B6E0@l
+/* 8028A0B8 00285D18 38 04 FF FF */ addi r0, r4, -1
+/* 8028A0BC 00285D1C 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 8028A0C0 00285D20 7C 85 02 14 */ add r4, r5, r0
+/* 8028A0C4 00285D24 93 E4 00 28 */ stw r31, 0x28(r4)
+lbl_8028A0C8:
+/* 8028A0C8 00285D28 4B FE 46 BD */ bl OSRestoreInterrupts
+/* 8028A0CC 00285D2C 28 1F 00 10 */ cmplwi r31, 0x10
+/* 8028A0D0 00285D30 40 82 00 1C */ bne lbl_8028A0EC
+/* 8028A0D4 00285D34 3C 60 01 23 */ lis r3, 0x01234568@ha
+/* 8028A0D8 00285D38 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 8028A0DC 00285D3C 38 63 45 68 */ addi r3, r3, 0x01234568@l
+/* 8028A0E0 00285D40 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 8028A0E4 00285D44 48 00 2D 65 */ bl __DVDStoreErrorCode
+/* 8028A0E8 00285D48 48 00 01 10 */ b lbl_8028A1F8
+lbl_8028A0EC:
+/* 8028A0EC 00285D4C 28 1F 00 20 */ cmplwi r31, 0x20
+/* 8028A0F0 00285D50 40 82 00 1C */ bne lbl_8028A10C
+/* 8028A0F4 00285D54 3C 60 01 23 */ lis r3, 0x01234569@ha
+/* 8028A0F8 00285D58 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 8028A0FC 00285D5C 38 63 45 69 */ addi r3, r3, 0x01234569@l
+/* 8028A100 00285D60 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 8028A104 00285D64 48 00 2D 45 */ bl __DVDStoreErrorCode
+/* 8028A108 00285D68 48 00 00 F0 */ b lbl_8028A1F8
+lbl_8028A10C:
+/* 8028A10C 00285D6C 57 E0 07 FF */ clrlwi. r0, r31, 0x1f
+/* 8028A110 00285D70 41 82 00 CC */ beq lbl_8028A1DC
+/* 8028A114 00285D74 3C A0 80 29 */ lis r5, stateReadingFST@ha
+/* 8028A118 00285D78 38 00 00 00 */ li r0, 0
+/* 8028A11C 00285D7C 38 A5 83 24 */ addi r5, r5, stateReadingFST@l
+/* 8028A120 00285D80 3C 60 80 51 */ lis r3, lbl_80516980@ha
+/* 8028A124 00285D84 90 0D AA 28 */ stw r0, lbl_8063FCE8-_SDA_BASE_(r13)
+/* 8028A128 00285D88 38 63 69 80 */ addi r3, r3, lbl_80516980@l
+/* 8028A12C 00285D8C 80 8D AA 88 */ lwz r4, lbl_8063FD48-_SDA_BASE_(r13)
+/* 8028A130 00285D90 90 AD AA 94 */ stw r5, lbl_8063FD54-_SDA_BASE_(r13)
+/* 8028A134 00285D94 80 03 00 08 */ lwz r0, 8(r3)
+/* 8028A138 00285D98 80 64 00 3C */ lwz r3, 0x3c(r4)
+/* 8028A13C 00285D9C 7C 03 00 40 */ cmplw r3, r0
+/* 8028A140 00285DA0 40 80 00 1C */ bge lbl_8028A15C
+/* 8028A144 00285DA4 3C A0 80 43 */ lis r5, lbl_80435F40@ha
+/* 8028A148 00285DA8 38 6D 88 C4 */ addi r3, r13, lbl_8063DB84-_SDA_BASE_
+/* 8028A14C 00285DAC 38 A5 5F 40 */ addi r5, r5, lbl_80435F40@l
+/* 8028A150 00285DB0 38 80 04 0B */ li r4, 0x40b
+/* 8028A154 00285DB4 4C C6 31 82 */ crclr 6
+/* 8028A158 00285DB8 4B FE 13 45 */ bl OSPanic
+lbl_8028A15C:
+/* 8028A15C 00285DBC 38 60 00 00 */ li r3, 0
+/* 8028A160 00285DC0 48 00 48 39 */ bl DVDLowClearCoverInterrupt
+/* 8028A164 00285DC4 80 CD AA 48 */ lwz r6, lbl_8063FD08-_SDA_BASE_(r13)
+/* 8028A168 00285DC8 3F E0 80 51 */ lis r31, lbl_80516980@ha
+/* 8028A16C 00285DCC 3B FF 69 80 */ addi r31, r31, lbl_80516980@l
+/* 8028A170 00285DD0 80 0D AA 48 */ lwz r0, lbl_8063FD08-_SDA_BASE_(r13)
+/* 8028A174 00285DD4 80 9F 00 08 */ lwz r4, 8(r31)
+/* 8028A178 00285DD8 38 60 00 01 */ li r3, 1
+/* 8028A17C 00285DDC 7C 00 00 F8 */ nor r0, r0, r0
+/* 8028A180 00285DE0 80 FF 00 04 */ lwz r7, 4(r31)
+/* 8028A184 00285DE4 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e
+/* 8028A188 00285DE8 7C 85 00 30 */ slw r5, r4, r0
+/* 8028A18C 00285DEC 7C E4 34 30 */ srw r4, r7, r6
+/* 8028A190 00285DF0 38 05 00 1F */ addi r0, r5, 0x1f
+/* 8028A194 00285DF4 54 05 00 34 */ rlwinm r5, r0, 0, 0, 0x1a
+/* 8028A198 00285DF8 4B FF DF F5 */ bl StampCommand
+/* 8028A19C 00285DFC 80 0D AA 48 */ lwz r0, lbl_8063FD08-_SDA_BASE_(r13)
+/* 8028A1A0 00285E00 3C C0 80 29 */ lis r6, cbForStateReadingFST@ha
+/* 8028A1A4 00285E04 80 7F 00 08 */ lwz r3, 8(r31)
+/* 8028A1A8 00285E08 38 C6 84 9C */ addi r6, r6, cbForStateReadingFST@l
+/* 8028A1AC 00285E0C 7C 00 00 F8 */ nor r0, r0, r0
+/* 8028A1B0 00285E10 80 ED AA 88 */ lwz r7, lbl_8063FD48-_SDA_BASE_(r13)
+/* 8028A1B4 00285E14 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e
+/* 8028A1B8 00285E18 80 BF 00 04 */ lwz r5, 4(r31)
+/* 8028A1BC 00285E1C 7C 63 00 30 */ slw r3, r3, r0
+/* 8028A1C0 00285E20 80 0D AA 48 */ lwz r0, lbl_8063FD08-_SDA_BASE_(r13)
+/* 8028A1C4 00285E24 38 83 00 1F */ addi r4, r3, 0x1f
+/* 8028A1C8 00285E28 80 67 00 38 */ lwz r3, 0x38(r7)
+/* 8028A1CC 00285E2C 54 84 00 34 */ rlwinm r4, r4, 0, 0, 0x1a
+/* 8028A1D0 00285E30 7C A5 04 30 */ srw r5, r5, r0
+/* 8028A1D4 00285E34 48 00 43 05 */ bl DVDLowRead
+/* 8028A1D8 00285E38 48 00 00 20 */ b lbl_8028A1F8
+lbl_8028A1DC:
+/* 8028A1DC 00285E3C 38 60 00 27 */ li r3, 0x27
+/* 8028A1E0 00285E40 38 80 00 00 */ li r4, 0
+/* 8028A1E4 00285E44 38 A0 00 00 */ li r5, 0
+/* 8028A1E8 00285E48 4B FF DF A5 */ bl StampCommand
+/* 8028A1EC 00285E4C 3C 60 80 29 */ lis r3, cbForStateGettingError@ha
+/* 8028A1F0 00285E50 38 63 89 3C */ addi r3, r3, cbForStateGettingError@l
+/* 8028A1F4 00285E54 48 00 3C E1 */ bl DVDLowRequestError
+lbl_8028A1F8:
+/* 8028A1F8 00285E58 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028A1FC 00285E5C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028A200 00285E60 7C 08 03 A6 */ mtlr r0
+/* 8028A204 00285E64 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028A208 00285E68 4E 80 00 20 */ blr
+
+.global stateCoverClosed
+stateCoverClosed:
+/* 8028A20C 00285E6C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028A210 00285E70 7C 08 02 A6 */ mflr r0
+/* 8028A214 00285E74 38 60 00 01 */ li r3, 1
+/* 8028A218 00285E78 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028A21C 00285E7C 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 8028A220 00285E80 90 6D AA 70 */ stw r3, lbl_8063FD30-_SDA_BASE_(r13)
+/* 8028A224 00285E84 28 00 00 26 */ cmplwi r0, 0x26
+/* 8028A228 00285E88 41 81 00 7C */ bgt lbl_8028A2A4
+/* 8028A22C 00285E8C 3C 60 80 43 */ lis r3, lbl_80435F74@ha
+/* 8028A230 00285E90 54 00 10 3A */ slwi r0, r0, 2
+/* 8028A234 00285E94 38 63 5F 74 */ addi r3, r3, lbl_80435F74@l
+/* 8028A238 00285E98 7C 63 00 2E */ lwzx r3, r3, r0
+/* 8028A23C 00285E9C 7C 69 03 A6 */ mtctr r3
+/* 8028A240 00285EA0 4E 80 04 20 */ bctr
+/* 8028A244 00285EA4 48 00 27 49 */ bl __DVDClearWaitingQueue
+/* 8028A248 00285EA8 3C 60 80 51 */ lis r3, lbl_805169A0@ha
+/* 8028A24C 00285EAC 80 8D AA 90 */ lwz r4, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028A250 00285EB0 38 63 69 A0 */ addi r3, r3, lbl_805169A0@l
+/* 8028A254 00285EB4 90 6D AA 90 */ stw r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028A258 00285EB8 81 84 00 28 */ lwz r12, 0x28(r4)
+/* 8028A25C 00285EBC 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028A260 00285EC0 41 82 00 10 */ beq lbl_8028A270
+/* 8028A264 00285EC4 38 60 FF FC */ li r3, -4
+/* 8028A268 00285EC8 7D 89 03 A6 */ mtctr r12
+/* 8028A26C 00285ECC 4E 80 04 21 */ bctrl
+lbl_8028A270:
+/* 8028A270 00285ED0 48 00 08 A1 */ bl stateReady
+/* 8028A274 00285ED4 48 00 00 4C */ b lbl_8028A2C0
+/* 8028A278 00285ED8 38 00 00 00 */ li r0, 0
+/* 8028A27C 00285EDC 90 0D AA 70 */ stw r0, lbl_8063FD30-_SDA_BASE_(r13)
+/* 8028A280 00285EE0 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028A284 00285EE4 38 00 00 01 */ li r0, 1
+/* 8028A288 00285EE8 90 03 00 0C */ stw r0, 0xc(r3)
+/* 8028A28C 00285EEC 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028A290 00285EF0 48 00 0B A9 */ bl stateBusy
+/* 8028A294 00285EF4 48 00 00 2C */ b lbl_8028A2C0
+/* 8028A298 00285EF8 80 0D A7 68 */ lwz r0, lbl_8063FA28-_SDA_BASE_(r13)
+/* 8028A29C 00285EFC 2C 00 00 00 */ cmpwi r0, 0
+/* 8028A2A0 00285F00 40 82 00 20 */ bne lbl_8028A2C0
+lbl_8028A2A4:
+/* 8028A2A4 00285F04 38 00 00 00 */ li r0, 0
+/* 8028A2A8 00285F08 38 60 00 01 */ li r3, 1
+/* 8028A2AC 00285F0C 90 0D AA 70 */ stw r0, lbl_8063FD30-_SDA_BASE_(r13)
+/* 8028A2B0 00285F10 48 00 3D 8D */ bl DVDLowSetSpinupFlag
+/* 8028A2B4 00285F14 3C 60 80 29 */ lis r3, cbForStateReset@ha
+/* 8028A2B8 00285F18 38 63 A4 78 */ addi r3, r3, cbForStateReset@l
+/* 8028A2BC 00285F1C 48 00 3D 8D */ bl DVDLowReset
+lbl_8028A2C0:
+/* 8028A2C0 00285F20 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028A2C4 00285F24 7C 08 03 A6 */ mtlr r0
+/* 8028A2C8 00285F28 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028A2CC 00285F2C 4E 80 00 20 */ blr
+
+.global ResetAlarmHandler
+ResetAlarmHandler:
+/* 8028A2D0 00285F30 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028A2D4 00285F34 7C 08 02 A6 */ mflr r0
+/* 8028A2D8 00285F38 3C 60 80 00 */ lis r3, 0x800030E6@ha
+/* 8028A2DC 00285F3C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028A2E0 00285F40 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028A2E4 00285F44 93 C1 00 08 */ stw r30, 8(r1)
+/* 8028A2E8 00285F48 A0 03 30 E6 */ lhz r0, 0x800030E6@l(r3)
+/* 8028A2EC 00285F4C 28 00 80 03 */ cmplwi r0, 0x8003
+/* 8028A2F0 00285F50 40 82 00 B0 */ bne lbl_8028A3A0
+/* 8028A2F4 00285F54 3C 80 80 29 */ lis r4, stateDownRotation@ha
+/* 8028A2F8 00285F58 38 60 00 00 */ li r3, 0
+/* 8028A2FC 00285F5C 38 84 A5 5C */ addi r4, r4, stateDownRotation@l
+/* 8028A300 00285F60 90 8D AA 94 */ stw r4, lbl_8063FD54-_SDA_BASE_(r13)
+/* 8028A304 00285F64 48 00 46 95 */ bl DVDLowClearCoverInterrupt
+/* 8028A308 00285F68 4B FE 44 55 */ bl OSDisableInterrupts
+/* 8028A30C 00285F6C 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A310 00285F70 7C 7F 1B 78 */ mr r31, r3
+/* 8028A314 00285F74 28 00 00 05 */ cmplwi r0, 5
+/* 8028A318 00285F78 41 80 00 0C */ blt lbl_8028A324
+/* 8028A31C 00285F7C 38 00 00 00 */ li r0, 0
+/* 8028A320 00285F80 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+lbl_8028A324:
+/* 8028A324 00285F84 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A328 00285F88 3F C0 80 52 */ lis r30, lbl_8051B6E0@ha
+/* 8028A32C 00285F8C 80 6D AA 10 */ lwz r3, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A330 00285F90 3B DE B6 E0 */ addi r30, r30, lbl_8051B6E0@l
+/* 8028A334 00285F94 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 8028A338 00285F98 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A33C 00285F9C 38 C0 00 25 */ li r6, 0x25
+/* 8028A340 00285FA0 38 80 00 00 */ li r4, 0
+/* 8028A344 00285FA4 1C 63 00 14 */ mulli r3, r3, 0x14
+/* 8028A348 00285FA8 7C BE 2A 14 */ add r5, r30, r5
+/* 8028A34C 00285FAC 90 C5 00 1C */ stw r6, 0x1c(r5)
+/* 8028A350 00285FB0 7C 7E 1A 14 */ add r3, r30, r3
+/* 8028A354 00285FB4 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 8028A358 00285FB8 90 83 00 20 */ stw r4, 0x20(r3)
+/* 8028A35C 00285FBC 7C 7E 02 14 */ add r3, r30, r0
+/* 8028A360 00285FC0 90 83 00 24 */ stw r4, 0x24(r3)
+/* 8028A364 00285FC4 4B FE 84 6D */ bl OSGetTick
+/* 8028A368 00285FC8 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A36C 00285FCC 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A370 00285FD0 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 8028A374 00285FD4 38 04 00 01 */ addi r0, r4, 1
+/* 8028A378 00285FD8 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A37C 00285FDC 7C 9E 2A 14 */ add r4, r30, r5
+/* 8028A380 00285FE0 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 8028A384 00285FE4 7F E3 FB 78 */ mr r3, r31
+/* 8028A388 00285FE8 4B FE 43 FD */ bl OSRestoreInterrupts
+/* 8028A38C 00285FEC 3C 80 80 29 */ lis r4, cbForStateDownRotation@ha
+/* 8028A390 00285FF0 3C 60 00 02 */ lis r3, 2
+/* 8028A394 00285FF4 38 84 A6 24 */ addi r4, r4, cbForStateDownRotation@l
+/* 8028A398 00285FF8 48 00 3F C1 */ bl DVDLowSetMaximumRotation
+/* 8028A39C 00285FFC 48 00 00 C4 */ b lbl_8028A460
+lbl_8028A3A0:
+/* 8028A3A0 00286000 3C 60 80 51 */ lis r3, lbl_80516A40@ha
+/* 8028A3A4 00286004 38 80 00 20 */ li r4, 0x20
+/* 8028A3A8 00286008 38 63 6A 40 */ addi r3, r3, lbl_80516A40@l
+/* 8028A3AC 0028600C 4B FE 02 7D */ bl DCInvalidateRange
+/* 8028A3B0 00286010 3C 80 80 29 */ lis r4, stateCoverClosed_CMD@ha
+/* 8028A3B4 00286014 38 60 00 00 */ li r3, 0
+/* 8028A3B8 00286018 38 84 A7 BC */ addi r4, r4, stateCoverClosed_CMD@l
+/* 8028A3BC 0028601C 90 8D AA 94 */ stw r4, lbl_8063FD54-_SDA_BASE_(r13)
+/* 8028A3C0 00286020 48 00 45 D9 */ bl DVDLowClearCoverInterrupt
+/* 8028A3C4 00286024 4B FE 43 99 */ bl OSDisableInterrupts
+/* 8028A3C8 00286028 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A3CC 0028602C 7C 7F 1B 78 */ mr r31, r3
+/* 8028A3D0 00286030 28 00 00 05 */ cmplwi r0, 5
+/* 8028A3D4 00286034 41 80 00 0C */ blt lbl_8028A3E0
+/* 8028A3D8 00286038 38 00 00 00 */ li r0, 0
+/* 8028A3DC 0028603C 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+lbl_8028A3E0:
+/* 8028A3E0 00286040 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A3E4 00286044 3F C0 80 52 */ lis r30, lbl_8051B6E0@ha
+/* 8028A3E8 00286048 80 6D AA 10 */ lwz r3, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A3EC 0028604C 3B DE B6 E0 */ addi r30, r30, lbl_8051B6E0@l
+/* 8028A3F0 00286050 1C C0 00 14 */ mulli r6, r0, 0x14
+/* 8028A3F4 00286054 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A3F8 00286058 38 E0 00 05 */ li r7, 5
+/* 8028A3FC 0028605C 38 A0 00 00 */ li r5, 0
+/* 8028A400 00286060 1C 63 00 14 */ mulli r3, r3, 0x14
+/* 8028A404 00286064 38 80 00 20 */ li r4, 0x20
+/* 8028A408 00286068 7C DE 32 14 */ add r6, r30, r6
+/* 8028A40C 0028606C 90 E6 00 1C */ stw r7, 0x1c(r6)
+/* 8028A410 00286070 7C 7E 1A 14 */ add r3, r30, r3
+/* 8028A414 00286074 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 8028A418 00286078 90 A3 00 20 */ stw r5, 0x20(r3)
+/* 8028A41C 0028607C 7C 7E 02 14 */ add r3, r30, r0
+/* 8028A420 00286080 90 83 00 24 */ stw r4, 0x24(r3)
+/* 8028A424 00286084 4B FE 83 AD */ bl OSGetTick
+/* 8028A428 00286088 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A42C 0028608C 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A430 00286090 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 8028A434 00286094 38 04 00 01 */ addi r0, r4, 1
+/* 8028A438 00286098 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A43C 0028609C 7C 9E 2A 14 */ add r4, r30, r5
+/* 8028A440 002860A0 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 8028A444 002860A4 7F E3 FB 78 */ mr r3, r31
+/* 8028A448 002860A8 4B FE 43 3D */ bl OSRestoreInterrupts
+/* 8028A44C 002860AC 3C 60 80 51 */ lis r3, lbl_80516A40@ha
+/* 8028A450 002860B0 3C 80 80 29 */ lis r4, cbForStateCoverClosed@ha
+/* 8028A454 002860B4 38 63 6A 40 */ addi r3, r3, lbl_80516A40@l
+/* 8028A458 002860B8 38 84 A8 8C */ addi r4, r4, cbForStateCoverClosed@l
+/* 8028A45C 002860BC 48 00 30 95 */ bl DVDLowReadDiskID
+lbl_8028A460:
+/* 8028A460 002860C0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028A464 002860C4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028A468 002860C8 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8028A46C 002860CC 7C 08 03 A6 */ mtlr r0
+/* 8028A470 002860D0 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028A474 002860D4 4E 80 00 20 */ blr
+
+.global cbForStateReset
+cbForStateReset:
+/* 8028A478 002860D8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028A47C 002860DC 7C 08 02 A6 */ mflr r0
+/* 8028A480 002860E0 28 03 00 10 */ cmplwi r3, 0x10
+/* 8028A484 002860E4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028A488 002860E8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028A48C 002860EC 40 82 00 1C */ bne lbl_8028A4A8
+/* 8028A490 002860F0 3C 60 01 23 */ lis r3, 0x01234568@ha
+/* 8028A494 002860F4 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 8028A498 002860F8 38 63 45 68 */ addi r3, r3, 0x01234568@l
+/* 8028A49C 002860FC 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 8028A4A0 00286100 48 00 29 A9 */ bl __DVDStoreErrorCode
+/* 8028A4A4 00286104 48 00 00 A4 */ b lbl_8028A548
+lbl_8028A4A8:
+/* 8028A4A8 00286108 28 03 00 20 */ cmplwi r3, 0x20
+/* 8028A4AC 0028610C 40 82 00 1C */ bne lbl_8028A4C8
+/* 8028A4B0 00286110 3C 60 01 23 */ lis r3, 0x01234569@ha
+/* 8028A4B4 00286114 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 8028A4B8 00286118 38 63 45 69 */ addi r3, r3, 0x01234569@l
+/* 8028A4BC 0028611C 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 8028A4C0 00286120 48 00 29 89 */ bl __DVDStoreErrorCode
+/* 8028A4C4 00286124 48 00 00 84 */ b lbl_8028A548
+lbl_8028A4C8:
+/* 8028A4C8 00286128 54 60 07 FF */ clrlwi. r0, r3, 0x1f
+/* 8028A4CC 0028612C 41 82 00 60 */ beq lbl_8028A52C
+/* 8028A4D0 00286130 4B FE 83 09 */ bl __OSGetSystemTime
+/* 8028A4D4 00286134 38 00 00 00 */ li r0, 0
+/* 8028A4D8 00286138 90 8D AA 6C */ stw r4, lbl_8063FD2C-_SDA_BASE_(r13)
+/* 8028A4DC 0028613C 3F E0 80 52 */ lis r31, lbl_8051B4C0@ha
+/* 8028A4E0 00286140 90 6D AA 68 */ stw r3, lbl_8063FD28-_SDA_BASE_(r13)
+/* 8028A4E4 00286144 38 7F B4 C0 */ addi r3, r31, lbl_8051B4C0@l
+/* 8028A4E8 00286148 90 0D AA 74 */ stw r0, lbl_8063FD34-_SDA_BASE_(r13)
+/* 8028A4EC 0028614C 90 0D AA 24 */ stw r0, lbl_8063FCE4-_SDA_BASE_(r13)
+/* 8028A4F0 00286150 4B FD F2 35 */ bl OSCreateAlarm
+/* 8028A4F4 00286154 3C 80 80 00 */ lis r4, 0x800000F8@ha
+/* 8028A4F8 00286158 3C E0 80 29 */ lis r7, ResetAlarmHandler@ha
+/* 8028A4FC 0028615C 80 04 00 F8 */ lwz r0, 0x800000F8@l(r4)
+/* 8028A500 00286160 3C 60 10 62 */ lis r3, 0x10624DD3@ha
+/* 8028A504 00286164 38 83 4D D3 */ addi r4, r3, 0x10624DD3@l
+/* 8028A508 00286168 38 E7 A2 D0 */ addi r7, r7, ResetAlarmHandler@l
+/* 8028A50C 0028616C 54 00 F0 BE */ srwi r0, r0, 2
+/* 8028A510 00286170 38 7F B4 C0 */ addi r3, r31, -19264
+/* 8028A514 00286174 7C 04 00 16 */ mulhwu r0, r4, r0
+/* 8028A518 00286178 38 A0 00 00 */ li r5, 0
+/* 8028A51C 0028617C 54 00 D1 BE */ srwi r0, r0, 6
+/* 8028A520 00286180 1C C0 00 64 */ mulli r6, r0, 0x64
+/* 8028A524 00286184 4B FD F4 61 */ bl OSSetAlarm
+/* 8028A528 00286188 48 00 00 20 */ b lbl_8028A548
+lbl_8028A52C:
+/* 8028A52C 0028618C 38 60 00 27 */ li r3, 0x27
+/* 8028A530 00286190 38 80 00 00 */ li r4, 0
+/* 8028A534 00286194 38 A0 00 00 */ li r5, 0
+/* 8028A538 00286198 4B FF DC 55 */ bl StampCommand
+/* 8028A53C 0028619C 3C 60 80 29 */ lis r3, cbForStateGettingError@ha
+/* 8028A540 002861A0 38 63 89 3C */ addi r3, r3, cbForStateGettingError@l
+/* 8028A544 002861A4 48 00 39 91 */ bl DVDLowRequestError
+lbl_8028A548:
+/* 8028A548 002861A8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028A54C 002861AC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028A550 002861B0 7C 08 03 A6 */ mtlr r0
+/* 8028A554 002861B4 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028A558 002861B8 4E 80 00 20 */ blr
+stateDownRotation:
+/* 8028A55C 002861BC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028A560 002861C0 7C 08 02 A6 */ mflr r0
+/* 8028A564 002861C4 38 60 00 00 */ li r3, 0
+/* 8028A568 002861C8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028A56C 002861CC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028A570 002861D0 93 C1 00 08 */ stw r30, 8(r1)
+/* 8028A574 002861D4 48 00 44 25 */ bl DVDLowClearCoverInterrupt
+/* 8028A578 002861D8 4B FE 41 E5 */ bl OSDisableInterrupts
+/* 8028A57C 002861DC 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A580 002861E0 7C 7F 1B 78 */ mr r31, r3
+/* 8028A584 002861E4 28 00 00 05 */ cmplwi r0, 5
+/* 8028A588 002861E8 41 80 00 0C */ blt lbl_8028A594
+/* 8028A58C 002861EC 38 00 00 00 */ li r0, 0
+/* 8028A590 002861F0 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+lbl_8028A594:
+/* 8028A594 002861F4 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A598 002861F8 3F C0 80 52 */ lis r30, lbl_8051B6E0@ha
+/* 8028A59C 002861FC 80 6D AA 10 */ lwz r3, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A5A0 00286200 3B DE B6 E0 */ addi r30, r30, lbl_8051B6E0@l
+/* 8028A5A4 00286204 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 8028A5A8 00286208 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A5AC 0028620C 38 C0 00 25 */ li r6, 0x25
+/* 8028A5B0 00286210 38 80 00 00 */ li r4, 0
+/* 8028A5B4 00286214 1C 63 00 14 */ mulli r3, r3, 0x14
+/* 8028A5B8 00286218 7C BE 2A 14 */ add r5, r30, r5
+/* 8028A5BC 0028621C 90 C5 00 1C */ stw r6, 0x1c(r5)
+/* 8028A5C0 00286220 7C 7E 1A 14 */ add r3, r30, r3
+/* 8028A5C4 00286224 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 8028A5C8 00286228 90 83 00 20 */ stw r4, 0x20(r3)
+/* 8028A5CC 0028622C 7C 7E 02 14 */ add r3, r30, r0
+/* 8028A5D0 00286230 90 83 00 24 */ stw r4, 0x24(r3)
+/* 8028A5D4 00286234 4B FE 81 FD */ bl OSGetTick
+/* 8028A5D8 00286238 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A5DC 0028623C 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A5E0 00286240 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 8028A5E4 00286244 38 04 00 01 */ addi r0, r4, 1
+/* 8028A5E8 00286248 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A5EC 0028624C 7C 9E 2A 14 */ add r4, r30, r5
+/* 8028A5F0 00286250 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 8028A5F4 00286254 7F E3 FB 78 */ mr r3, r31
+/* 8028A5F8 00286258 4B FE 41 8D */ bl OSRestoreInterrupts
+/* 8028A5FC 0028625C 3C 80 80 29 */ lis r4, cbForStateDownRotation@ha
+/* 8028A600 00286260 3C 60 00 02 */ lis r3, 2
+/* 8028A604 00286264 38 84 A6 24 */ addi r4, r4, cbForStateDownRotation@l
+/* 8028A608 00286268 48 00 3D 51 */ bl DVDLowSetMaximumRotation
+/* 8028A60C 0028626C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028A610 00286270 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028A614 00286274 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8028A618 00286278 7C 08 03 A6 */ mtlr r0
+/* 8028A61C 0028627C 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028A620 00286280 4E 80 00 20 */ blr
+
+.global cbForStateDownRotation
+cbForStateDownRotation:
+/* 8028A624 00286284 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028A628 00286288 7C 08 02 A6 */ mflr r0
+/* 8028A62C 0028628C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028A630 00286290 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028A634 00286294 93 C1 00 08 */ stw r30, 8(r1)
+/* 8028A638 00286298 7C 7E 1B 78 */ mr r30, r3
+/* 8028A63C 0028629C 4B FE 41 21 */ bl OSDisableInterrupts
+/* 8028A640 002862A0 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A644 002862A4 2C 00 00 00 */ cmpwi r0, 0
+/* 8028A648 002862A8 40 82 00 14 */ bne lbl_8028A65C
+/* 8028A64C 002862AC 3C 80 80 52 */ lis r4, lbl_8051B6E0@ha
+/* 8028A650 002862B0 38 84 B6 E0 */ addi r4, r4, lbl_8051B6E0@l
+/* 8028A654 002862B4 93 C4 00 78 */ stw r30, 0x78(r4)
+/* 8028A658 002862B8 48 00 00 20 */ b lbl_8028A678
+lbl_8028A65C:
+/* 8028A65C 002862BC 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A660 002862C0 3C A0 80 52 */ lis r5, lbl_8051B6E0@ha
+/* 8028A664 002862C4 38 A5 B6 E0 */ addi r5, r5, lbl_8051B6E0@l
+/* 8028A668 002862C8 38 04 FF FF */ addi r0, r4, -1
+/* 8028A66C 002862CC 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 8028A670 002862D0 7C 85 02 14 */ add r4, r5, r0
+/* 8028A674 002862D4 93 C4 00 28 */ stw r30, 0x28(r4)
+lbl_8028A678:
+/* 8028A678 002862D8 4B FE 41 0D */ bl OSRestoreInterrupts
+/* 8028A67C 002862DC 28 1E 00 10 */ cmplwi r30, 0x10
+/* 8028A680 002862E0 40 82 00 1C */ bne lbl_8028A69C
+/* 8028A684 002862E4 3C 60 01 23 */ lis r3, 0x01234568@ha
+/* 8028A688 002862E8 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 8028A68C 002862EC 38 63 45 68 */ addi r3, r3, 0x01234568@l
+/* 8028A690 002862F0 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 8028A694 002862F4 48 00 27 B5 */ bl __DVDStoreErrorCode
+/* 8028A698 002862F8 48 00 01 0C */ b lbl_8028A7A4
+lbl_8028A69C:
+/* 8028A69C 002862FC 28 1E 00 20 */ cmplwi r30, 0x20
+/* 8028A6A0 00286300 40 82 00 1C */ bne lbl_8028A6BC
+/* 8028A6A4 00286304 3C 60 01 23 */ lis r3, 0x01234569@ha
+/* 8028A6A8 00286308 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 8028A6AC 0028630C 38 63 45 69 */ addi r3, r3, 0x01234569@l
+/* 8028A6B0 00286310 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 8028A6B4 00286314 48 00 27 95 */ bl __DVDStoreErrorCode
+/* 8028A6B8 00286318 48 00 00 EC */ b lbl_8028A7A4
+lbl_8028A6BC:
+/* 8028A6BC 0028631C 57 C0 07 FF */ clrlwi. r0, r30, 0x1f
+/* 8028A6C0 00286320 41 82 00 C8 */ beq lbl_8028A788
+/* 8028A6C4 00286324 3C 60 80 51 */ lis r3, lbl_80516A40@ha
+/* 8028A6C8 00286328 38 80 00 20 */ li r4, 0x20
+/* 8028A6CC 0028632C 38 63 6A 40 */ addi r3, r3, lbl_80516A40@l
+/* 8028A6D0 00286330 4B FD FF 59 */ bl DCInvalidateRange
+/* 8028A6D4 00286334 3C 80 80 29 */ lis r4, stateCoverClosed_CMD@ha
+/* 8028A6D8 00286338 38 60 00 00 */ li r3, 0
+/* 8028A6DC 0028633C 38 84 A7 BC */ addi r4, r4, stateCoverClosed_CMD@l
+/* 8028A6E0 00286340 90 8D AA 94 */ stw r4, lbl_8063FD54-_SDA_BASE_(r13)
+/* 8028A6E4 00286344 48 00 42 B5 */ bl DVDLowClearCoverInterrupt
+/* 8028A6E8 00286348 4B FE 40 75 */ bl OSDisableInterrupts
+/* 8028A6EC 0028634C 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A6F0 00286350 7C 7F 1B 78 */ mr r31, r3
+/* 8028A6F4 00286354 28 00 00 05 */ cmplwi r0, 5
+/* 8028A6F8 00286358 41 80 00 0C */ blt lbl_8028A704
+/* 8028A6FC 0028635C 38 00 00 00 */ li r0, 0
+/* 8028A700 00286360 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+lbl_8028A704:
+/* 8028A704 00286364 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A708 00286368 3F C0 80 52 */ lis r30, lbl_8051B6E0@ha
+/* 8028A70C 0028636C 80 6D AA 10 */ lwz r3, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A710 00286370 3B DE B6 E0 */ addi r30, r30, lbl_8051B6E0@l
+/* 8028A714 00286374 1C C0 00 14 */ mulli r6, r0, 0x14
+/* 8028A718 00286378 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A71C 0028637C 38 E0 00 05 */ li r7, 5
+/* 8028A720 00286380 38 A0 00 00 */ li r5, 0
+/* 8028A724 00286384 1C 63 00 14 */ mulli r3, r3, 0x14
+/* 8028A728 00286388 38 80 00 20 */ li r4, 0x20
+/* 8028A72C 0028638C 7C DE 32 14 */ add r6, r30, r6
+/* 8028A730 00286390 90 E6 00 1C */ stw r7, 0x1c(r6)
+/* 8028A734 00286394 7C 7E 1A 14 */ add r3, r30, r3
+/* 8028A738 00286398 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 8028A73C 0028639C 90 A3 00 20 */ stw r5, 0x20(r3)
+/* 8028A740 002863A0 7C 7E 02 14 */ add r3, r30, r0
+/* 8028A744 002863A4 90 83 00 24 */ stw r4, 0x24(r3)
+/* 8028A748 002863A8 4B FE 80 89 */ bl OSGetTick
+/* 8028A74C 002863AC 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A750 002863B0 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A754 002863B4 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 8028A758 002863B8 38 04 00 01 */ addi r0, r4, 1
+/* 8028A75C 002863BC 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A760 002863C0 7C 9E 2A 14 */ add r4, r30, r5
+/* 8028A764 002863C4 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 8028A768 002863C8 7F E3 FB 78 */ mr r3, r31
+/* 8028A76C 002863CC 4B FE 40 19 */ bl OSRestoreInterrupts
+/* 8028A770 002863D0 3C 60 80 51 */ lis r3, lbl_80516A40@ha
+/* 8028A774 002863D4 3C 80 80 29 */ lis r4, cbForStateCoverClosed@ha
+/* 8028A778 002863D8 38 63 6A 40 */ addi r3, r3, lbl_80516A40@l
+/* 8028A77C 002863DC 38 84 A8 8C */ addi r4, r4, cbForStateCoverClosed@l
+/* 8028A780 002863E0 48 00 2D 71 */ bl DVDLowReadDiskID
+/* 8028A784 002863E4 48 00 00 20 */ b lbl_8028A7A4
+lbl_8028A788:
+/* 8028A788 002863E8 38 60 00 27 */ li r3, 0x27
+/* 8028A78C 002863EC 38 80 00 00 */ li r4, 0
+/* 8028A790 002863F0 38 A0 00 00 */ li r5, 0
+/* 8028A794 002863F4 4B FF D9 F9 */ bl StampCommand
+/* 8028A798 002863F8 3C 60 80 29 */ lis r3, cbForStateGettingError@ha
+/* 8028A79C 002863FC 38 63 89 3C */ addi r3, r3, cbForStateGettingError@l
+/* 8028A7A0 00286400 48 00 37 35 */ bl DVDLowRequestError
+lbl_8028A7A4:
+/* 8028A7A4 00286404 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028A7A8 00286408 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028A7AC 0028640C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8028A7B0 00286410 7C 08 03 A6 */ mtlr r0
+/* 8028A7B4 00286414 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028A7B8 00286418 4E 80 00 20 */ blr
+
+.global stateCoverClosed_CMD
+stateCoverClosed_CMD:
+/* 8028A7BC 0028641C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028A7C0 00286420 7C 08 02 A6 */ mflr r0
+/* 8028A7C4 00286424 38 60 00 00 */ li r3, 0
+/* 8028A7C8 00286428 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028A7CC 0028642C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028A7D0 00286430 93 C1 00 08 */ stw r30, 8(r1)
+/* 8028A7D4 00286434 48 00 41 C5 */ bl DVDLowClearCoverInterrupt
+/* 8028A7D8 00286438 4B FE 3F 85 */ bl OSDisableInterrupts
+/* 8028A7DC 0028643C 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A7E0 00286440 7C 7F 1B 78 */ mr r31, r3
+/* 8028A7E4 00286444 28 00 00 05 */ cmplwi r0, 5
+/* 8028A7E8 00286448 41 80 00 0C */ blt lbl_8028A7F4
+/* 8028A7EC 0028644C 38 00 00 00 */ li r0, 0
+/* 8028A7F0 00286450 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+lbl_8028A7F4:
+/* 8028A7F4 00286454 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A7F8 00286458 3F C0 80 52 */ lis r30, lbl_8051B6E0@ha
+/* 8028A7FC 0028645C 80 6D AA 10 */ lwz r3, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A800 00286460 3B DE B6 E0 */ addi r30, r30, lbl_8051B6E0@l
+/* 8028A804 00286464 1C C0 00 14 */ mulli r6, r0, 0x14
+/* 8028A808 00286468 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A80C 0028646C 38 E0 00 05 */ li r7, 5
+/* 8028A810 00286470 38 A0 00 00 */ li r5, 0
+/* 8028A814 00286474 1C 63 00 14 */ mulli r3, r3, 0x14
+/* 8028A818 00286478 38 80 00 20 */ li r4, 0x20
+/* 8028A81C 0028647C 7C DE 32 14 */ add r6, r30, r6
+/* 8028A820 00286480 90 E6 00 1C */ stw r7, 0x1c(r6)
+/* 8028A824 00286484 7C 7E 1A 14 */ add r3, r30, r3
+/* 8028A828 00286488 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 8028A82C 0028648C 90 A3 00 20 */ stw r5, 0x20(r3)
+/* 8028A830 00286490 7C 7E 02 14 */ add r3, r30, r0
+/* 8028A834 00286494 90 83 00 24 */ stw r4, 0x24(r3)
+/* 8028A838 00286498 4B FE 7F 99 */ bl OSGetTick
+/* 8028A83C 0028649C 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A840 002864A0 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A844 002864A4 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 8028A848 002864A8 38 04 00 01 */ addi r0, r4, 1
+/* 8028A84C 002864AC 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A850 002864B0 7C 9E 2A 14 */ add r4, r30, r5
+/* 8028A854 002864B4 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 8028A858 002864B8 7F E3 FB 78 */ mr r3, r31
+/* 8028A85C 002864BC 4B FE 3F 29 */ bl OSRestoreInterrupts
+/* 8028A860 002864C0 3C 60 80 51 */ lis r3, lbl_80516A40@ha
+/* 8028A864 002864C4 3C 80 80 29 */ lis r4, cbForStateCoverClosed@ha
+/* 8028A868 002864C8 38 63 6A 40 */ addi r3, r3, lbl_80516A40@l
+/* 8028A86C 002864CC 38 84 A8 8C */ addi r4, r4, cbForStateCoverClosed@l
+/* 8028A870 002864D0 48 00 2C 81 */ bl DVDLowReadDiskID
+/* 8028A874 002864D4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028A878 002864D8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028A87C 002864DC 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8028A880 002864E0 7C 08 03 A6 */ mtlr r0
+/* 8028A884 002864E4 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028A888 002864E8 4E 80 00 20 */ blr
+
+.global cbForStateCoverClosed
+cbForStateCoverClosed:
+/* 8028A88C 002864EC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028A890 002864F0 7C 08 02 A6 */ mflr r0
+/* 8028A894 002864F4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028A898 002864F8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028A89C 002864FC 7C 7F 1B 78 */ mr r31, r3
+/* 8028A8A0 00286500 4B FE 3E BD */ bl OSDisableInterrupts
+/* 8028A8A4 00286504 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A8A8 00286508 2C 00 00 00 */ cmpwi r0, 0
+/* 8028A8AC 0028650C 40 82 00 14 */ bne lbl_8028A8C0
+/* 8028A8B0 00286510 3C 80 80 52 */ lis r4, lbl_8051B6E0@ha
+/* 8028A8B4 00286514 38 84 B6 E0 */ addi r4, r4, lbl_8051B6E0@l
+/* 8028A8B8 00286518 93 E4 00 78 */ stw r31, 0x78(r4)
+/* 8028A8BC 0028651C 48 00 00 1C */ b lbl_8028A8D8
+lbl_8028A8C0:
+/* 8028A8C0 00286520 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028A8C4 00286524 3C 80 80 52 */ lis r4, lbl_8051B6E0@ha
+/* 8028A8C8 00286528 38 84 B6 E0 */ addi r4, r4, lbl_8051B6E0@l
+/* 8028A8CC 0028652C 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 8028A8D0 00286530 7C 84 02 14 */ add r4, r4, r0
+/* 8028A8D4 00286534 93 E4 00 14 */ stw r31, 0x14(r4)
+lbl_8028A8D8:
+/* 8028A8D8 00286538 4B FE 3E AD */ bl OSRestoreInterrupts
+/* 8028A8DC 0028653C 28 1F 00 10 */ cmplwi r31, 0x10
+/* 8028A8E0 00286540 40 82 00 1C */ bne lbl_8028A8FC
+/* 8028A8E4 00286544 3C 60 01 23 */ lis r3, 0x01234568@ha
+/* 8028A8E8 00286548 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 8028A8EC 0028654C 38 63 45 68 */ addi r3, r3, 0x01234568@l
+/* 8028A8F0 00286550 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 8028A8F4 00286554 48 00 25 55 */ bl __DVDStoreErrorCode
+/* 8028A8F8 00286558 48 00 00 58 */ b lbl_8028A950
+lbl_8028A8FC:
+/* 8028A8FC 0028655C 28 1F 00 20 */ cmplwi r31, 0x20
+/* 8028A900 00286560 40 82 00 1C */ bne lbl_8028A91C
+/* 8028A904 00286564 3C 60 01 23 */ lis r3, 0x01234569@ha
+/* 8028A908 00286568 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 8028A90C 0028656C 38 63 45 69 */ addi r3, r3, 0x01234569@l
+/* 8028A910 00286570 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 8028A914 00286574 48 00 25 35 */ bl __DVDStoreErrorCode
+/* 8028A918 00286578 48 00 00 38 */ b lbl_8028A950
+lbl_8028A91C:
+/* 8028A91C 0028657C 57 E0 07 FF */ clrlwi. r0, r31, 0x1f
+/* 8028A920 00286580 41 82 00 14 */ beq lbl_8028A934
+/* 8028A924 00286584 38 00 00 00 */ li r0, 0
+/* 8028A928 00286588 90 0D AA 28 */ stw r0, lbl_8063FCE8-_SDA_BASE_(r13)
+/* 8028A92C 0028658C 4B FF E9 F1 */ bl stateCheckID
+/* 8028A930 00286590 48 00 00 20 */ b lbl_8028A950
+lbl_8028A934:
+/* 8028A934 00286594 38 60 00 27 */ li r3, 0x27
+/* 8028A938 00286598 38 80 00 00 */ li r4, 0
+/* 8028A93C 0028659C 38 A0 00 00 */ li r5, 0
+/* 8028A940 002865A0 4B FF D8 4D */ bl StampCommand
+/* 8028A944 002865A4 3C 60 80 29 */ lis r3, cbForStateGettingError@ha
+/* 8028A948 002865A8 38 63 89 3C */ addi r3, r3, cbForStateGettingError@l
+/* 8028A94C 002865AC 48 00 35 89 */ bl DVDLowRequestError
+lbl_8028A950:
+/* 8028A950 002865B0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028A954 002865B4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028A958 002865B8 7C 08 03 A6 */ mtlr r0
+/* 8028A95C 002865BC 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028A960 002865C0 4E 80 00 20 */ blr
+cbForPrepareCoverRegister:
+/* 8028A964 002865C4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028A968 002865C8 7C 08 02 A6 */ mflr r0
+/* 8028A96C 002865CC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028A970 002865D0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028A974 002865D4 3B E0 00 00 */ li r31, 0
+/* 8028A978 002865D8 93 ED AA 44 */ stw r31, lbl_8063FD04-_SDA_BASE_(r13)
+/* 8028A97C 002865DC 80 0D AA 38 */ lwz r0, lbl_8063FCF8-_SDA_BASE_(r13)
+/* 8028A980 002865E0 2C 00 00 00 */ cmpwi r0, 0
+/* 8028A984 002865E4 41 82 00 88 */ beq lbl_8028AA0C
+/* 8028A988 002865E8 48 00 3E 7D */ bl DVDLowGetCoverRegister
+/* 8028A98C 002865EC 54 60 07 FF */ clrlwi. r0, r3, 0x1f
+/* 8028A990 002865F0 40 82 01 48 */ bne lbl_8028AAD8
+/* 8028A994 002865F4 3C 60 80 51 */ lis r3, lbl_80516A00@ha
+/* 8028A998 002865F8 38 63 6A 00 */ addi r3, r3, lbl_80516A00@l
+/* 8028A99C 002865FC 4B FD F0 DD */ bl OSCancelAlarm
+/* 8028A9A0 00286600 93 ED AA 38 */ stw r31, lbl_8063FCF8-_SDA_BASE_(r13)
+/* 8028A9A4 00286604 93 ED AA 38 */ stw r31, lbl_8063FCF8-_SDA_BASE_(r13)
+/* 8028A9A8 00286608 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 8028A9AC 0028660C 28 00 00 03 */ cmplwi r0, 3
+/* 8028A9B0 00286610 40 82 00 0C */ bne lbl_8028A9BC
+/* 8028A9B4 00286614 38 00 00 01 */ li r0, 1
+/* 8028A9B8 00286618 90 0D AA 40 */ stw r0, lbl_8063FD00-_SDA_BASE_(r13)
+lbl_8028A9BC:
+/* 8028A9BC 0028661C 80 0D AA 70 */ lwz r0, lbl_8063FD30-_SDA_BASE_(r13)
+/* 8028A9C0 00286620 28 00 00 02 */ cmplwi r0, 2
+/* 8028A9C4 00286624 40 82 00 1C */ bne lbl_8028A9E0
+/* 8028A9C8 00286628 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028A9CC 0028662C 2C 03 00 00 */ cmpwi r3, 0
+/* 8028A9D0 00286630 41 82 01 08 */ beq lbl_8028AAD8
+/* 8028A9D4 00286634 38 00 00 0C */ li r0, 0xc
+/* 8028A9D8 00286638 90 03 00 0C */ stw r0, 0xc(r3)
+/* 8028A9DC 0028663C 48 00 00 FC */ b lbl_8028AAD8
+lbl_8028A9E0:
+/* 8028A9E0 00286640 48 00 3F B1 */ bl DVDLowMaskCoverInterrupt
+/* 8028A9E4 00286644 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028A9E8 00286648 2C 03 00 00 */ cmpwi r3, 0
+/* 8028A9EC 0028664C 41 82 00 14 */ beq lbl_8028AA00
+/* 8028A9F0 00286650 38 00 00 03 */ li r0, 3
+/* 8028A9F4 00286654 90 03 00 0C */ stw r0, 0xc(r3)
+/* 8028A9F8 00286658 4B FF F8 15 */ bl stateCoverClosed
+/* 8028A9FC 0028665C 48 00 00 DC */ b lbl_8028AAD8
+lbl_8028AA00:
+/* 8028AA00 00286660 38 00 00 07 */ li r0, 7
+/* 8028AA04 00286664 90 0D AA 24 */ stw r0, lbl_8063FCE4-_SDA_BASE_(r13)
+/* 8028AA08 00286668 48 00 00 D0 */ b lbl_8028AAD8
+lbl_8028AA0C:
+/* 8028AA0C 0028666C 48 00 3D F9 */ bl DVDLowGetCoverRegister
+/* 8028AA10 00286670 54 60 07 FF */ clrlwi. r0, r3, 0x1f
+/* 8028AA14 00286674 41 82 00 3C */ beq lbl_8028AA50
+/* 8028AA18 00286678 80 0D AA 70 */ lwz r0, lbl_8063FD30-_SDA_BASE_(r13)
+/* 8028AA1C 0028667C 38 60 00 01 */ li r3, 1
+/* 8028AA20 00286680 93 ED AA 34 */ stw r31, lbl_8063FCF4-_SDA_BASE_(r13)
+/* 8028AA24 00286684 28 00 00 02 */ cmplwi r0, 2
+/* 8028AA28 00286688 90 6D AA 38 */ stw r3, lbl_8063FCF8-_SDA_BASE_(r13)
+/* 8028AA2C 0028668C 40 82 00 14 */ bne lbl_8028AA40
+/* 8028AA30 00286690 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028AA34 00286694 38 00 00 0C */ li r0, 0xc
+/* 8028AA38 00286698 90 03 00 0C */ stw r0, 0xc(r3)
+/* 8028AA3C 0028669C 48 00 00 9C */ b lbl_8028AAD8
+lbl_8028AA40:
+/* 8028AA40 002866A0 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028AA44 002866A4 38 00 00 05 */ li r0, 5
+/* 8028AA48 002866A8 90 03 00 0C */ stw r0, 0xc(r3)
+/* 8028AA4C 002866AC 48 00 00 8C */ b lbl_8028AAD8
+lbl_8028AA50:
+/* 8028AA50 002866B0 48 00 3D B5 */ bl DVDLowGetCoverRegister
+/* 8028AA54 002866B4 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d
+/* 8028AA58 002866B8 41 82 00 80 */ beq lbl_8028AAD8
+/* 8028AA5C 002866BC 3C 60 80 51 */ lis r3, lbl_80516A00@ha
+/* 8028AA60 002866C0 38 63 6A 00 */ addi r3, r3, lbl_80516A00@l
+/* 8028AA64 002866C4 4B FD F0 15 */ bl OSCancelAlarm
+/* 8028AA68 002866C8 93 ED AA 34 */ stw r31, lbl_8063FCF4-_SDA_BASE_(r13)
+/* 8028AA6C 002866CC 38 60 00 00 */ li r3, 0
+/* 8028AA70 002866D0 48 00 3F 29 */ bl DVDLowClearCoverInterrupt
+/* 8028AA74 002866D4 93 ED AA 38 */ stw r31, lbl_8063FCF8-_SDA_BASE_(r13)
+/* 8028AA78 002866D8 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 8028AA7C 002866DC 28 00 00 03 */ cmplwi r0, 3
+/* 8028AA80 002866E0 40 82 00 0C */ bne lbl_8028AA8C
+/* 8028AA84 002866E4 38 00 00 01 */ li r0, 1
+/* 8028AA88 002866E8 90 0D AA 40 */ stw r0, lbl_8063FD00-_SDA_BASE_(r13)
+lbl_8028AA8C:
+/* 8028AA8C 002866EC 80 0D AA 70 */ lwz r0, lbl_8063FD30-_SDA_BASE_(r13)
+/* 8028AA90 002866F0 28 00 00 02 */ cmplwi r0, 2
+/* 8028AA94 002866F4 40 82 00 1C */ bne lbl_8028AAB0
+/* 8028AA98 002866F8 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028AA9C 002866FC 2C 03 00 00 */ cmpwi r3, 0
+/* 8028AAA0 00286700 41 82 00 38 */ beq lbl_8028AAD8
+/* 8028AAA4 00286704 38 00 00 0C */ li r0, 0xc
+/* 8028AAA8 00286708 90 03 00 0C */ stw r0, 0xc(r3)
+/* 8028AAAC 0028670C 48 00 00 2C */ b lbl_8028AAD8
+lbl_8028AAB0:
+/* 8028AAB0 00286710 48 00 3E E1 */ bl DVDLowMaskCoverInterrupt
+/* 8028AAB4 00286714 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028AAB8 00286718 2C 03 00 00 */ cmpwi r3, 0
+/* 8028AABC 0028671C 41 82 00 14 */ beq lbl_8028AAD0
+/* 8028AAC0 00286720 38 00 00 03 */ li r0, 3
+/* 8028AAC4 00286724 90 03 00 0C */ stw r0, 0xc(r3)
+/* 8028AAC8 00286728 4B FF F7 45 */ bl stateCoverClosed
+/* 8028AACC 0028672C 48 00 00 0C */ b lbl_8028AAD8
+lbl_8028AAD0:
+/* 8028AAD0 00286730 38 00 00 07 */ li r0, 7
+/* 8028AAD4 00286734 90 0D AA 24 */ stw r0, lbl_8063FCE4-_SDA_BASE_(r13)
+lbl_8028AAD8:
+/* 8028AAD8 00286738 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028AADC 0028673C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028AAE0 00286740 7C 08 03 A6 */ mtlr r0
+/* 8028AAE4 00286744 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028AAE8 00286748 4E 80 00 20 */ blr
+CoverAlarmHandler:
+/* 8028AAEC 0028674C 80 0D AA 44 */ lwz r0, lbl_8063FD04-_SDA_BASE_(r13)
+/* 8028AAF0 00286750 2C 00 00 00 */ cmpwi r0, 0
+/* 8028AAF4 00286754 4C 82 00 20 */ bnelr
+/* 8028AAF8 00286758 38 00 00 01 */ li r0, 1
+/* 8028AAFC 0028675C 3C 60 80 29 */ lis r3, cbForPrepareCoverRegister@ha
+/* 8028AB00 00286760 90 0D AA 44 */ stw r0, lbl_8063FD04-_SDA_BASE_(r13)
+/* 8028AB04 00286764 38 63 A9 64 */ addi r3, r3, cbForPrepareCoverRegister@l
+/* 8028AB08 00286768 48 00 3D 0C */ b DVDLowPrepareCoverRegister
+/* 8028AB0C 0028676C 4E 80 00 20 */ blr
+
+.global stateReady
+stateReady:
+/* 8028AB10 00286770 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028AB14 00286774 7C 08 02 A6 */ mflr r0
+/* 8028AB18 00286778 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028AB1C 0028677C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028AB20 00286780 48 00 1F AD */ bl __DVDCheckWaitingQueue
+/* 8028AB24 00286784 2C 03 00 00 */ cmpwi r3, 0
+/* 8028AB28 00286788 40 82 00 10 */ bne lbl_8028AB38
+/* 8028AB2C 0028678C 38 00 00 00 */ li r0, 0
+/* 8028AB30 00286790 90 0D AA 90 */ stw r0, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028AB34 00286794 48 00 02 F0 */ b lbl_8028AE24
+lbl_8028AB38:
+/* 8028AB38 00286798 80 0D AA 14 */ lwz r0, lbl_8063FCD4-_SDA_BASE_(r13)
+/* 8028AB3C 0028679C 2C 00 00 00 */ cmpwi r0, 0
+/* 8028AB40 002867A0 41 82 00 18 */ beq lbl_8028AB58
+/* 8028AB44 002867A4 38 60 00 01 */ li r3, 1
+/* 8028AB48 002867A8 38 00 00 00 */ li r0, 0
+/* 8028AB4C 002867AC 90 6D AA 18 */ stw r3, lbl_8063FCD8-_SDA_BASE_(r13)
+/* 8028AB50 002867B0 90 0D AA 90 */ stw r0, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028AB54 002867B4 48 00 02 D0 */ b lbl_8028AE24
+lbl_8028AB58:
+/* 8028AB58 002867B8 48 00 1E D5 */ bl __DVDPopWaitingQueue
+/* 8028AB5C 002867BC 80 0D AA 1C */ lwz r0, lbl_8063FCDC-_SDA_BASE_(r13)
+/* 8028AB60 002867C0 90 6D AA 90 */ stw r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028AB64 002867C4 2C 00 00 00 */ cmpwi r0, 0
+/* 8028AB68 002867C8 41 82 00 3C */ beq lbl_8028ABA4
+/* 8028AB6C 002867CC 38 00 FF FF */ li r0, -1
+/* 8028AB70 002867D0 3C A0 80 51 */ lis r5, lbl_805169A0@ha
+/* 8028AB74 002867D4 90 03 00 0C */ stw r0, 0xc(r3)
+/* 8028AB78 002867D8 38 A5 69 A0 */ addi r5, r5, lbl_805169A0@l
+/* 8028AB7C 002867DC 80 8D AA 90 */ lwz r4, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028AB80 002867E0 90 AD AA 90 */ stw r5, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028AB84 002867E4 81 84 00 28 */ lwz r12, 0x28(r4)
+/* 8028AB88 002867E8 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028AB8C 002867EC 41 82 00 10 */ beq lbl_8028AB9C
+/* 8028AB90 002867F0 38 60 FF FF */ li r3, -1
+/* 8028AB94 002867F4 7D 89 03 A6 */ mtctr r12
+/* 8028AB98 002867F8 4E 80 04 21 */ bctrl
+lbl_8028AB9C:
+/* 8028AB9C 002867FC 4B FF FF 75 */ bl stateReady
+/* 8028ABA0 00286800 48 00 02 84 */ b lbl_8028AE24
+lbl_8028ABA4:
+/* 8028ABA4 00286804 80 03 00 08 */ lwz r0, 8(r3)
+/* 8028ABA8 00286808 90 0D AA 84 */ stw r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 8028ABAC 0028680C 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 8028ABB0 00286810 28 00 00 20 */ cmplwi r0, 0x20
+/* 8028ABB4 00286814 41 82 00 1C */ beq lbl_8028ABD0
+/* 8028ABB8 00286818 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 8028ABBC 0028681C 28 00 00 0E */ cmplwi r0, 0xe
+/* 8028ABC0 00286820 41 82 00 10 */ beq lbl_8028ABD0
+/* 8028ABC4 00286824 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 8028ABC8 00286828 28 00 00 23 */ cmplwi r0, 0x23
+/* 8028ABCC 0028682C 40 82 00 0C */ bne lbl_8028ABD8
+lbl_8028ABD0:
+/* 8028ABD0 00286830 38 00 00 00 */ li r0, 0
+/* 8028ABD4 00286834 90 0D AA 24 */ stw r0, lbl_8063FCE4-_SDA_BASE_(r13)
+lbl_8028ABD8:
+/* 8028ABD8 00286838 80 0D AA 24 */ lwz r0, lbl_8063FCE4-_SDA_BASE_(r13)
+/* 8028ABDC 0028683C 2C 00 00 00 */ cmpwi r0, 0
+/* 8028ABE0 00286840 41 82 01 E0 */ beq lbl_8028ADC0
+/* 8028ABE4 00286844 80 0D AA 24 */ lwz r0, lbl_8063FCE4-_SDA_BASE_(r13)
+/* 8028ABE8 00286848 2C 00 00 04 */ cmpwi r0, 4
+/* 8028ABEC 0028684C 41 82 01 2C */ beq lbl_8028AD18
+/* 8028ABF0 00286850 40 80 00 1C */ bge lbl_8028AC0C
+/* 8028ABF4 00286854 2C 00 00 02 */ cmpwi r0, 2
+/* 8028ABF8 00286858 41 82 00 28 */ beq lbl_8028AC20
+/* 8028ABFC 0028685C 40 80 00 A0 */ bge lbl_8028AC9C
+/* 8028AC00 00286860 2C 00 00 01 */ cmpwi r0, 1
+/* 8028AC04 00286864 40 80 01 90 */ bge lbl_8028AD94
+/* 8028AC08 00286868 48 00 01 AC */ b lbl_8028ADB4
+lbl_8028AC0C:
+/* 8028AC0C 0028686C 2C 00 00 08 */ cmpwi r0, 8
+/* 8028AC10 00286870 40 80 01 A4 */ bge lbl_8028ADB4
+/* 8028AC14 00286874 2C 00 00 06 */ cmpwi r0, 6
+/* 8028AC18 00286878 40 80 01 7C */ bge lbl_8028AD94
+/* 8028AC1C 0028687C 48 00 01 88 */ b lbl_8028ADA4
+lbl_8028AC20:
+/* 8028AC20 00286880 38 00 00 0B */ li r0, 0xb
+/* 8028AC24 00286884 38 80 00 01 */ li r4, 1
+/* 8028AC28 00286888 90 03 00 0C */ stw r0, 0xc(r3)
+/* 8028AC2C 0028688C 80 0D AA 34 */ lwz r0, lbl_8063FCF4-_SDA_BASE_(r13)
+/* 8028AC30 00286890 90 8D AA 70 */ stw r4, lbl_8063FD30-_SDA_BASE_(r13)
+/* 8028AC34 00286894 2C 00 00 00 */ cmpwi r0, 0
+/* 8028AC38 00286898 40 82 01 7C */ bne lbl_8028ADB4
+/* 8028AC3C 0028689C 80 0D AA 38 */ lwz r0, lbl_8063FCF8-_SDA_BASE_(r13)
+/* 8028AC40 002868A0 2C 00 00 00 */ cmpwi r0, 0
+/* 8028AC44 002868A4 40 82 01 70 */ bne lbl_8028ADB4
+/* 8028AC48 002868A8 3F E0 80 51 */ lis r31, lbl_80516A00@ha
+/* 8028AC4C 002868AC 90 8D AA 34 */ stw r4, lbl_8063FCF4-_SDA_BASE_(r13)
+/* 8028AC50 002868B0 38 7F 6A 00 */ addi r3, r31, lbl_80516A00@l
+/* 8028AC54 002868B4 4B FD EA D1 */ bl OSCreateAlarm
+/* 8028AC58 002868B8 4B FE 7B 79 */ bl OSGetTick
+/* 8028AC5C 002868BC 3C A0 80 00 */ lis r5, 0x800000F8@ha
+/* 8028AC60 002868C0 3C 80 10 62 */ lis r4, 0x10624DD3@ha
+/* 8028AC64 002868C4 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
+/* 8028AC68 002868C8 3D 20 80 29 */ lis r9, CoverAlarmHandler@ha
+/* 8028AC6C 002868CC 7C 66 1B 78 */ mr r6, r3
+/* 8028AC70 002868D0 38 84 4D D3 */ addi r4, r4, 0x10624DD3@l
+/* 8028AC74 002868D4 54 00 F0 BE */ srwi r0, r0, 2
+/* 8028AC78 002868D8 38 7F 6A 00 */ addi r3, r31, 0x6a00
+/* 8028AC7C 002868DC 7C 04 00 16 */ mulhwu r0, r4, r0
+/* 8028AC80 002868E0 39 29 AA EC */ addi r9, r9, CoverAlarmHandler@l
+/* 8028AC84 002868E4 38 A0 00 00 */ li r5, 0
+/* 8028AC88 002868E8 38 E0 00 00 */ li r7, 0
+/* 8028AC8C 002868EC 54 00 D1 BE */ srwi r0, r0, 6
+/* 8028AC90 002868F0 1D 00 00 64 */ mulli r8, r0, 0x64
+/* 8028AC94 002868F4 4B FD ED 61 */ bl OSSetPeriodicAlarm
+/* 8028AC98 002868F8 48 00 01 1C */ b lbl_8028ADB4
+lbl_8028AC9C:
+/* 8028AC9C 002868FC 38 00 00 04 */ li r0, 4
+/* 8028ACA0 00286900 38 80 00 01 */ li r4, 1
+/* 8028ACA4 00286904 90 03 00 0C */ stw r0, 0xc(r3)
+/* 8028ACA8 00286908 80 0D AA 34 */ lwz r0, lbl_8063FCF4-_SDA_BASE_(r13)
+/* 8028ACAC 0028690C 90 8D AA 70 */ stw r4, lbl_8063FD30-_SDA_BASE_(r13)
+/* 8028ACB0 00286910 2C 00 00 00 */ cmpwi r0, 0
+/* 8028ACB4 00286914 40 82 01 00 */ bne lbl_8028ADB4
+/* 8028ACB8 00286918 80 0D AA 38 */ lwz r0, lbl_8063FCF8-_SDA_BASE_(r13)
+/* 8028ACBC 0028691C 2C 00 00 00 */ cmpwi r0, 0
+/* 8028ACC0 00286920 40 82 00 F4 */ bne lbl_8028ADB4
+/* 8028ACC4 00286924 3F E0 80 51 */ lis r31, lbl_80516A00@ha
+/* 8028ACC8 00286928 90 8D AA 34 */ stw r4, lbl_8063FCF4-_SDA_BASE_(r13)
+/* 8028ACCC 0028692C 38 7F 6A 00 */ addi r3, r31, lbl_80516A00@l
+/* 8028ACD0 00286930 4B FD EA 55 */ bl OSCreateAlarm
+/* 8028ACD4 00286934 4B FE 7A FD */ bl OSGetTick
+/* 8028ACD8 00286938 3C A0 80 00 */ lis r5, 0x800000F8@ha
+/* 8028ACDC 0028693C 3C 80 10 62 */ lis r4, 0x10624DD3@ha
+/* 8028ACE0 00286940 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
+/* 8028ACE4 00286944 3D 20 80 29 */ lis r9, CoverAlarmHandler@ha
+/* 8028ACE8 00286948 7C 66 1B 78 */ mr r6, r3
+/* 8028ACEC 0028694C 38 84 4D D3 */ addi r4, r4, 0x10624DD3@l
+/* 8028ACF0 00286950 54 00 F0 BE */ srwi r0, r0, 2
+/* 8028ACF4 00286954 38 7F 6A 00 */ addi r3, r31, 0x6a00
+/* 8028ACF8 00286958 7C 04 00 16 */ mulhwu r0, r4, r0
+/* 8028ACFC 0028695C 39 29 AA EC */ addi r9, r9, CoverAlarmHandler@l
+/* 8028AD00 00286960 38 A0 00 00 */ li r5, 0
+/* 8028AD04 00286964 38 E0 00 00 */ li r7, 0
+/* 8028AD08 00286968 54 00 D1 BE */ srwi r0, r0, 6
+/* 8028AD0C 0028696C 1D 00 00 64 */ mulli r8, r0, 0x64
+/* 8028AD10 00286970 4B FD EC E5 */ bl OSSetPeriodicAlarm
+/* 8028AD14 00286974 48 00 00 A0 */ b lbl_8028ADB4
+lbl_8028AD18:
+/* 8028AD18 00286978 38 00 00 05 */ li r0, 5
+/* 8028AD1C 0028697C 38 80 00 01 */ li r4, 1
+/* 8028AD20 00286980 90 03 00 0C */ stw r0, 0xc(r3)
+/* 8028AD24 00286984 80 0D AA 34 */ lwz r0, lbl_8063FCF4-_SDA_BASE_(r13)
+/* 8028AD28 00286988 90 8D AA 70 */ stw r4, lbl_8063FD30-_SDA_BASE_(r13)
+/* 8028AD2C 0028698C 2C 00 00 00 */ cmpwi r0, 0
+/* 8028AD30 00286990 40 82 00 84 */ bne lbl_8028ADB4
+/* 8028AD34 00286994 80 0D AA 38 */ lwz r0, lbl_8063FCF8-_SDA_BASE_(r13)
+/* 8028AD38 00286998 2C 00 00 00 */ cmpwi r0, 0
+/* 8028AD3C 0028699C 40 82 00 78 */ bne lbl_8028ADB4
+/* 8028AD40 002869A0 3F E0 80 51 */ lis r31, lbl_80516A00@ha
+/* 8028AD44 002869A4 90 8D AA 34 */ stw r4, lbl_8063FCF4-_SDA_BASE_(r13)
+/* 8028AD48 002869A8 38 7F 6A 00 */ addi r3, r31, lbl_80516A00@l
+/* 8028AD4C 002869AC 4B FD E9 D9 */ bl OSCreateAlarm
+/* 8028AD50 002869B0 4B FE 7A 81 */ bl OSGetTick
+/* 8028AD54 002869B4 3C A0 80 00 */ lis r5, 0x800000F8@ha
+/* 8028AD58 002869B8 3C 80 10 62 */ lis r4, 0x10624DD3@ha
+/* 8028AD5C 002869BC 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
+/* 8028AD60 002869C0 3D 20 80 29 */ lis r9, CoverAlarmHandler@ha
+/* 8028AD64 002869C4 7C 66 1B 78 */ mr r6, r3
+/* 8028AD68 002869C8 38 84 4D D3 */ addi r4, r4, 0x10624DD3@l
+/* 8028AD6C 002869CC 54 00 F0 BE */ srwi r0, r0, 2
+/* 8028AD70 002869D0 38 7F 6A 00 */ addi r3, r31, 0x6a00
+/* 8028AD74 002869D4 7C 04 00 16 */ mulhwu r0, r4, r0
+/* 8028AD78 002869D8 39 29 AA EC */ addi r9, r9, CoverAlarmHandler@l
+/* 8028AD7C 002869DC 38 A0 00 00 */ li r5, 0
+/* 8028AD80 002869E0 38 E0 00 00 */ li r7, 0
+/* 8028AD84 002869E4 54 00 D1 BE */ srwi r0, r0, 6
+/* 8028AD88 002869E8 1D 00 00 64 */ mulli r8, r0, 0x64
+/* 8028AD8C 002869EC 4B FD EC 69 */ bl OSSetPeriodicAlarm
+/* 8028AD90 002869F0 48 00 00 24 */ b lbl_8028ADB4
+lbl_8028AD94:
+/* 8028AD94 002869F4 38 00 00 03 */ li r0, 3
+/* 8028AD98 002869F8 90 03 00 0C */ stw r0, 0xc(r3)
+/* 8028AD9C 002869FC 4B FF F4 71 */ bl stateCoverClosed
+/* 8028ADA0 00286A00 48 00 00 14 */ b lbl_8028ADB4
+lbl_8028ADA4:
+/* 8028ADA4 00286A04 3C 80 80 29 */ lis r4, cbForStoreErrorCode1@ha
+/* 8028ADA8 00286A08 80 6D AA 7C */ lwz r3, lbl_8063FD3C-_SDA_BASE_(r13)
+/* 8028ADAC 00286A0C 38 84 87 34 */ addi r4, r4, cbForStoreErrorCode1@l
+/* 8028ADB0 00286A10 48 00 20 99 */ bl __DVDStoreErrorCode
+lbl_8028ADB4:
+/* 8028ADB4 00286A14 38 00 00 00 */ li r0, 0
+/* 8028ADB8 00286A18 90 0D AA 24 */ stw r0, lbl_8063FCE4-_SDA_BASE_(r13)
+/* 8028ADBC 00286A1C 48 00 00 68 */ b lbl_8028AE24
+lbl_8028ADC0:
+/* 8028ADC0 00286A20 80 0D AA 70 */ lwz r0, lbl_8063FD30-_SDA_BASE_(r13)
+/* 8028ADC4 00286A24 2C 00 00 01 */ cmpwi r0, 1
+/* 8028ADC8 00286A28 41 82 00 58 */ beq lbl_8028AE20
+/* 8028ADCC 00286A2C 40 80 00 10 */ bge lbl_8028ADDC
+/* 8028ADD0 00286A30 2C 00 00 00 */ cmpwi r0, 0
+/* 8028ADD4 00286A34 40 80 00 38 */ bge lbl_8028AE0C
+/* 8028ADD8 00286A38 48 00 00 48 */ b lbl_8028AE20
+lbl_8028ADDC:
+/* 8028ADDC 00286A3C 2C 00 00 03 */ cmpwi r0, 3
+/* 8028ADE0 00286A40 40 80 00 40 */ bge lbl_8028AE20
+/* 8028ADE4 00286A44 80 0D AA 3C */ lwz r0, lbl_8063FCFC-_SDA_BASE_(r13)
+/* 8028ADE8 00286A48 2C 00 00 00 */ cmpwi r0, 0
+/* 8028ADEC 00286A4C 41 82 00 10 */ beq lbl_8028ADFC
+/* 8028ADF0 00286A50 38 00 00 0C */ li r0, 0xc
+/* 8028ADF4 00286A54 90 03 00 0C */ stw r0, 0xc(r3)
+/* 8028ADF8 00286A58 48 00 00 2C */ b lbl_8028AE24
+lbl_8028ADFC:
+/* 8028ADFC 00286A5C 38 00 00 03 */ li r0, 3
+/* 8028AE00 00286A60 90 03 00 0C */ stw r0, 0xc(r3)
+/* 8028AE04 00286A64 4B FF F4 09 */ bl stateCoverClosed
+/* 8028AE08 00286A68 48 00 00 1C */ b lbl_8028AE24
+lbl_8028AE0C:
+/* 8028AE0C 00286A6C 38 00 00 01 */ li r0, 1
+/* 8028AE10 00286A70 90 03 00 0C */ stw r0, 0xc(r3)
+/* 8028AE14 00286A74 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028AE18 00286A78 48 00 00 21 */ bl stateBusy
+/* 8028AE1C 00286A7C 48 00 00 08 */ b lbl_8028AE24
+lbl_8028AE20:
+/* 8028AE20 00286A80 4B FF F3 ED */ bl stateCoverClosed
+lbl_8028AE24:
+/* 8028AE24 00286A84 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028AE28 00286A88 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028AE2C 00286A8C 7C 08 03 A6 */ mtlr r0
+/* 8028AE30 00286A90 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028AE34 00286A94 4E 80 00 20 */ blr
+
+.global stateBusy
+stateBusy:
+/* 8028AE38 00286A98 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8028AE3C 00286A9C 7C 08 02 A6 */ mflr r0
+/* 8028AE40 00286AA0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8028AE44 00286AA4 39 61 00 20 */ addi r11, r1, 0x20
+/* 8028AE48 00286AA8 4B F3 C2 DD */ bl _savegpr_26
+/* 8028AE4C 00286AAC 3C 80 80 29 */ lis r4, stateBusy@ha
+/* 8028AE50 00286AB0 7C 7D 1B 78 */ mr r29, r3
+/* 8028AE54 00286AB4 38 84 AE 38 */ addi r4, r4, stateBusy@l
+/* 8028AE58 00286AB8 90 8D AA 94 */ stw r4, lbl_8063FD54-_SDA_BASE_(r13)
+/* 8028AE5C 00286ABC 83 43 00 08 */ lwz r26, 8(r3)
+/* 8028AE60 00286AC0 2C 1A 00 11 */ cmpwi r26, 0x11
+/* 8028AE64 00286AC4 40 80 00 30 */ bge lbl_8028AE94
+/* 8028AE68 00286AC8 2C 1A 00 05 */ cmpwi r26, 5
+/* 8028AE6C 00286ACC 41 82 00 40 */ beq lbl_8028AEAC
+/* 8028AE70 00286AD0 40 80 00 18 */ bge lbl_8028AE88
+/* 8028AE74 00286AD4 2C 1A 00 04 */ cmpwi r26, 4
+/* 8028AE78 00286AD8 40 80 00 B8 */ bge lbl_8028AF30
+/* 8028AE7C 00286ADC 2C 1A 00 02 */ cmpwi r26, 2
+/* 8028AE80 00286AE0 40 80 00 2C */ bge lbl_8028AEAC
+/* 8028AE84 00286AE4 48 00 00 AC */ b lbl_8028AF30
+lbl_8028AE88:
+/* 8028AE88 00286AE8 2C 1A 00 0D */ cmpwi r26, 0xd
+/* 8028AE8C 00286AEC 40 80 00 20 */ bge lbl_8028AEAC
+/* 8028AE90 00286AF0 48 00 00 A0 */ b lbl_8028AF30
+lbl_8028AE94:
+/* 8028AE94 00286AF4 2C 1A 00 25 */ cmpwi r26, 0x25
+/* 8028AE98 00286AF8 41 82 00 14 */ beq lbl_8028AEAC
+/* 8028AE9C 00286AFC 40 80 00 94 */ bge lbl_8028AF30
+/* 8028AEA0 00286B00 2C 1A 00 22 */ cmpwi r26, 0x22
+/* 8028AEA4 00286B04 41 82 00 08 */ beq lbl_8028AEAC
+/* 8028AEA8 00286B08 48 00 00 88 */ b lbl_8028AF30
+lbl_8028AEAC:
+/* 8028AEAC 00286B0C 83 63 00 14 */ lwz r27, 0x14(r3)
+/* 8028AEB0 00286B10 83 C3 00 10 */ lwz r30, 0x10(r3)
+/* 8028AEB4 00286B14 4B FE 38 A9 */ bl OSDisableInterrupts
+/* 8028AEB8 00286B18 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028AEBC 00286B1C 7C 7F 1B 78 */ mr r31, r3
+/* 8028AEC0 00286B20 28 00 00 05 */ cmplwi r0, 5
+/* 8028AEC4 00286B24 41 80 00 0C */ blt lbl_8028AED0
+/* 8028AEC8 00286B28 38 00 00 00 */ li r0, 0
+/* 8028AECC 00286B2C 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+lbl_8028AED0:
+/* 8028AED0 00286B30 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028AED4 00286B34 3F 80 80 52 */ lis r28, lbl_8051B6E0@ha
+/* 8028AED8 00286B38 80 6D AA 10 */ lwz r3, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028AEDC 00286B3C 3B 9C B6 E0 */ addi r28, r28, lbl_8051B6E0@l
+/* 8028AEE0 00286B40 1C 80 00 14 */ mulli r4, r0, 0x14
+/* 8028AEE4 00286B44 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028AEE8 00286B48 1C 63 00 14 */ mulli r3, r3, 0x14
+/* 8028AEEC 00286B4C 7C 9C 22 14 */ add r4, r28, r4
+/* 8028AEF0 00286B50 93 44 00 1C */ stw r26, 0x1c(r4)
+/* 8028AEF4 00286B54 7C 7C 1A 14 */ add r3, r28, r3
+/* 8028AEF8 00286B58 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 8028AEFC 00286B5C 93 C3 00 20 */ stw r30, 0x20(r3)
+/* 8028AF00 00286B60 7C 7C 02 14 */ add r3, r28, r0
+/* 8028AF04 00286B64 93 63 00 24 */ stw r27, 0x24(r3)
+/* 8028AF08 00286B68 4B FE 78 C9 */ bl OSGetTick
+/* 8028AF0C 00286B6C 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028AF10 00286B70 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028AF14 00286B74 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 8028AF18 00286B78 38 04 00 01 */ addi r0, r4, 1
+/* 8028AF1C 00286B7C 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028AF20 00286B80 7C 9C 2A 14 */ add r4, r28, r5
+/* 8028AF24 00286B84 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 8028AF28 00286B88 7F E3 FB 78 */ mr r3, r31
+/* 8028AF2C 00286B8C 4B FE 38 59 */ bl OSRestoreInterrupts
+lbl_8028AF30:
+/* 8028AF30 00286B90 80 1D 00 08 */ lwz r0, 8(r29)
+/* 8028AF34 00286B94 28 00 00 26 */ cmplwi r0, 0x26
+/* 8028AF38 00286B98 41 81 03 D8 */ bgt lbl_8028B310
+/* 8028AF3C 00286B9C 3C 60 80 43 */ lis r3, lbl_80436010@ha
+/* 8028AF40 00286BA0 54 00 10 3A */ slwi r0, r0, 2
+/* 8028AF44 00286BA4 38 63 60 10 */ addi r3, r3, lbl_80436010@l
+/* 8028AF48 00286BA8 7C 63 00 2E */ lwzx r3, r3, r0
+/* 8028AF4C 00286BAC 7C 69 03 A6 */ mtctr r3
+/* 8028AF50 00286BB0 4E 80 04 20 */ bctr
+/* 8028AF54 00286BB4 38 60 00 00 */ li r3, 0
+/* 8028AF58 00286BB8 48 00 3A 41 */ bl DVDLowClearCoverInterrupt
+/* 8028AF5C 00286BBC 38 00 00 20 */ li r0, 0x20
+/* 8028AF60 00286BC0 3C 80 80 29 */ lis r4, cbForStateBusy@ha
+/* 8028AF64 00286BC4 90 1D 00 1C */ stw r0, 0x1c(r29)
+/* 8028AF68 00286BC8 38 84 B3 40 */ addi r4, r4, cbForStateBusy@l
+/* 8028AF6C 00286BCC 80 7D 00 18 */ lwz r3, 0x18(r29)
+/* 8028AF70 00286BD0 48 00 25 81 */ bl DVDLowReadDiskID
+/* 8028AF74 00286BD4 48 00 03 B4 */ b lbl_8028B328
+/* 8028AF78 00286BD8 80 1D 00 14 */ lwz r0, 0x14(r29)
+/* 8028AF7C 00286BDC 2C 00 00 00 */ cmpwi r0, 0
+/* 8028AF80 00286BE0 40 82 00 3C */ bne lbl_8028AFBC
+/* 8028AF84 00286BE4 3C 60 80 51 */ lis r3, lbl_805169A0@ha
+/* 8028AF88 00286BE8 80 8D AA 90 */ lwz r4, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028AF8C 00286BEC 38 63 69 A0 */ addi r3, r3, lbl_805169A0@l
+/* 8028AF90 00286BF0 38 00 00 00 */ li r0, 0
+/* 8028AF94 00286BF4 90 6D AA 90 */ stw r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028AF98 00286BF8 90 04 00 0C */ stw r0, 0xc(r4)
+/* 8028AF9C 00286BFC 81 84 00 28 */ lwz r12, 0x28(r4)
+/* 8028AFA0 00286C00 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028AFA4 00286C04 41 82 00 10 */ beq lbl_8028AFB4
+/* 8028AFA8 00286C08 38 60 00 00 */ li r3, 0
+/* 8028AFAC 00286C0C 7D 89 03 A6 */ mtctr r12
+/* 8028AFB0 00286C10 4E 80 04 21 */ bctrl
+lbl_8028AFB4:
+/* 8028AFB4 00286C14 4B FF FB 5D */ bl stateReady
+/* 8028AFB8 00286C18 48 00 03 70 */ b lbl_8028B328
+lbl_8028AFBC:
+/* 8028AFBC 00286C1C 38 60 00 00 */ li r3, 0
+/* 8028AFC0 00286C20 48 00 39 D9 */ bl DVDLowClearCoverInterrupt
+/* 8028AFC4 00286C24 80 7D 00 20 */ lwz r3, 0x20(r29)
+/* 8028AFC8 00286C28 3F E0 00 08 */ lis r31, 8
+/* 8028AFCC 00286C2C 80 1D 00 14 */ lwz r0, 0x14(r29)
+/* 8028AFD0 00286C30 7C 03 00 50 */ subf r0, r3, r0
+/* 8028AFD4 00286C34 7C 00 F8 40 */ cmplw r0, r31
+/* 8028AFD8 00286C38 41 81 00 08 */ bgt lbl_8028AFE0
+/* 8028AFDC 00286C3C 7C 1F 03 78 */ mr r31, r0
+lbl_8028AFE0:
+/* 8028AFE0 00286C40 80 1D 00 20 */ lwz r0, 0x20(r29)
+/* 8028AFE4 00286C44 80 7D 00 10 */ lwz r3, 0x10(r29)
+/* 8028AFE8 00286C48 54 00 F0 BE */ srwi r0, r0, 2
+/* 8028AFEC 00286C4C 93 FD 00 1C */ stw r31, 0x1c(r29)
+/* 8028AFF0 00286C50 83 7D 00 08 */ lwz r27, 8(r29)
+/* 8028AFF4 00286C54 7F 43 02 14 */ add r26, r3, r0
+/* 8028AFF8 00286C58 4B FE 37 65 */ bl OSDisableInterrupts
+/* 8028AFFC 00286C5C 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028B000 00286C60 7C 7E 1B 78 */ mr r30, r3
+/* 8028B004 00286C64 28 00 00 05 */ cmplwi r0, 5
+/* 8028B008 00286C68 41 80 00 0C */ blt lbl_8028B014
+/* 8028B00C 00286C6C 38 00 00 00 */ li r0, 0
+/* 8028B010 00286C70 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+lbl_8028B014:
+/* 8028B014 00286C74 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028B018 00286C78 3F 80 80 52 */ lis r28, lbl_8051B6E0@ha
+/* 8028B01C 00286C7C 80 6D AA 10 */ lwz r3, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028B020 00286C80 3B 9C B6 E0 */ addi r28, r28, lbl_8051B6E0@l
+/* 8028B024 00286C84 1C 80 00 14 */ mulli r4, r0, 0x14
+/* 8028B028 00286C88 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028B02C 00286C8C 1C 63 00 14 */ mulli r3, r3, 0x14
+/* 8028B030 00286C90 7C 9C 22 14 */ add r4, r28, r4
+/* 8028B034 00286C94 93 64 00 1C */ stw r27, 0x1c(r4)
+/* 8028B038 00286C98 7C 7C 1A 14 */ add r3, r28, r3
+/* 8028B03C 00286C9C 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 8028B040 00286CA0 93 43 00 20 */ stw r26, 0x20(r3)
+/* 8028B044 00286CA4 7C 7C 02 14 */ add r3, r28, r0
+/* 8028B048 00286CA8 93 E3 00 24 */ stw r31, 0x24(r3)
+/* 8028B04C 00286CAC 4B FE 77 85 */ bl OSGetTick
+/* 8028B050 00286CB0 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028B054 00286CB4 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028B058 00286CB8 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 8028B05C 00286CBC 38 04 00 01 */ addi r0, r4, 1
+/* 8028B060 00286CC0 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028B064 00286CC4 7C 9C 2A 14 */ add r4, r28, r5
+/* 8028B068 00286CC8 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 8028B06C 00286CCC 7F C3 F3 78 */ mr r3, r30
+/* 8028B070 00286CD0 4B FE 37 15 */ bl OSRestoreInterrupts
+/* 8028B074 00286CD4 80 FD 00 20 */ lwz r7, 0x20(r29)
+/* 8028B078 00286CD8 3C C0 80 29 */ lis r6, cbForStateBusy@ha
+/* 8028B07C 00286CDC 80 7D 00 18 */ lwz r3, 0x18(r29)
+/* 8028B080 00286CE0 38 C6 B3 40 */ addi r6, r6, cbForStateBusy@l
+/* 8028B084 00286CE4 80 BD 00 10 */ lwz r5, 0x10(r29)
+/* 8028B088 00286CE8 54 E0 F0 BE */ srwi r0, r7, 2
+/* 8028B08C 00286CEC 80 9D 00 1C */ lwz r4, 0x1c(r29)
+/* 8028B090 00286CF0 7C 63 3A 14 */ add r3, r3, r7
+/* 8028B094 00286CF4 7C A5 02 14 */ add r5, r5, r0
+/* 8028B098 00286CF8 48 00 34 41 */ bl DVDLowRead
+/* 8028B09C 00286CFC 48 00 02 8C */ b lbl_8028B328
+/* 8028B0A0 00286D00 38 60 00 00 */ li r3, 0
+/* 8028B0A4 00286D04 48 00 38 F5 */ bl DVDLowClearCoverInterrupt
+/* 8028B0A8 00286D08 3C 80 80 29 */ lis r4, cbForStateBusy@ha
+/* 8028B0AC 00286D0C 80 7D 00 10 */ lwz r3, 0x10(r29)
+/* 8028B0B0 00286D10 38 84 B3 40 */ addi r4, r4, cbForStateBusy@l
+/* 8028B0B4 00286D14 48 00 35 D5 */ bl DVDLowSeek
+/* 8028B0B8 00286D18 48 00 02 70 */ b lbl_8028B328
+/* 8028B0BC 00286D1C 3C A0 80 29 */ lis r5, cbForStateBusy@ha
+/* 8028B0C0 00286D20 38 60 00 00 */ li r3, 0
+/* 8028B0C4 00286D24 38 A5 B3 40 */ addi r5, r5, cbForStateBusy@l
+/* 8028B0C8 00286D28 38 80 00 00 */ li r4, 0
+/* 8028B0CC 00286D2C 48 00 2B 0D */ bl DVDLowStopMotor
+/* 8028B0D0 00286D30 48 00 02 58 */ b lbl_8028B328
+/* 8028B0D4 00286D34 3C A0 80 29 */ lis r5, cbForStateBusy@ha
+/* 8028B0D8 00286D38 38 60 00 00 */ li r3, 0
+/* 8028B0DC 00286D3C 38 A5 B3 40 */ addi r5, r5, cbForStateBusy@l
+/* 8028B0E0 00286D40 38 80 00 00 */ li r4, 0
+/* 8028B0E4 00286D44 48 00 2A F5 */ bl DVDLowStopMotor
+/* 8028B0E8 00286D48 48 00 02 40 */ b lbl_8028B328
+/* 8028B0EC 00286D4C 38 60 00 00 */ li r3, 0
+/* 8028B0F0 00286D50 48 00 38 A9 */ bl DVDLowClearCoverInterrupt
+/* 8028B0F4 00286D54 3C A0 80 29 */ lis r5, cbForStateBusy@ha
+/* 8028B0F8 00286D58 80 7D 00 10 */ lwz r3, 0x10(r29)
+/* 8028B0FC 00286D5C 80 9D 00 14 */ lwz r4, 0x14(r29)
+/* 8028B100 00286D60 38 A5 B3 40 */ addi r5, r5, cbForStateBusy@l
+/* 8028B104 00286D64 48 00 30 C1 */ bl DVDLowAudioBufferConfig
+/* 8028B108 00286D68 48 00 02 20 */ b lbl_8028B328
+/* 8028B10C 00286D6C 38 60 00 00 */ li r3, 0
+/* 8028B110 00286D70 48 00 38 89 */ bl DVDLowClearCoverInterrupt
+/* 8028B114 00286D74 38 00 00 20 */ li r0, 0x20
+/* 8028B118 00286D78 3C 80 80 29 */ lis r4, cbForStateBusy@ha
+/* 8028B11C 00286D7C 90 1D 00 1C */ stw r0, 0x1c(r29)
+/* 8028B120 00286D80 38 84 B3 40 */ addi r4, r4, cbForStateBusy@l
+/* 8028B124 00286D84 80 7D 00 18 */ lwz r3, 0x18(r29)
+/* 8028B128 00286D88 48 00 2C 45 */ bl DVDLowInquiry
+/* 8028B12C 00286D8C 48 00 01 FC */ b lbl_8028B328
+/* 8028B130 00286D90 38 60 00 00 */ li r3, 0
+/* 8028B134 00286D94 48 00 38 65 */ bl DVDLowClearCoverInterrupt
+/* 8028B138 00286D98 3C A0 80 29 */ lis r5, cbForStateBusy@ha
+/* 8028B13C 00286D9C 38 60 00 00 */ li r3, 0
+/* 8028B140 00286DA0 38 A5 B3 40 */ addi r5, r5, cbForStateBusy@l
+/* 8028B144 00286DA4 38 80 00 00 */ li r4, 0
+/* 8028B148 00286DA8 48 00 2A 91 */ bl DVDLowStopMotor
+/* 8028B14C 00286DAC 48 00 01 DC */ b lbl_8028B328
+/* 8028B150 00286DB0 38 60 00 01 */ li r3, 1
+/* 8028B154 00286DB4 48 00 2E E9 */ bl DVDLowSetSpinupFlag
+/* 8028B158 00286DB8 3C 60 80 29 */ lis r3, cbForStateBusy@ha
+/* 8028B15C 00286DBC 38 63 B3 40 */ addi r3, r3, cbForStateBusy@l
+/* 8028B160 00286DC0 48 00 2E E9 */ bl DVDLowReset
+/* 8028B164 00286DC4 48 00 01 C4 */ b lbl_8028B328
+/* 8028B168 00286DC8 80 1D 00 14 */ lwz r0, 0x14(r29)
+/* 8028B16C 00286DCC 2C 00 00 00 */ cmpwi r0, 0
+/* 8028B170 00286DD0 40 82 00 3C */ bne lbl_8028B1AC
+/* 8028B174 00286DD4 3C 60 80 51 */ lis r3, lbl_805169A0@ha
+/* 8028B178 00286DD8 80 8D AA 90 */ lwz r4, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028B17C 00286DDC 38 63 69 A0 */ addi r3, r3, lbl_805169A0@l
+/* 8028B180 00286DE0 38 00 00 00 */ li r0, 0
+/* 8028B184 00286DE4 90 6D AA 90 */ stw r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028B188 00286DE8 90 04 00 0C */ stw r0, 0xc(r4)
+/* 8028B18C 00286DEC 81 84 00 28 */ lwz r12, 0x28(r4)
+/* 8028B190 00286DF0 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028B194 00286DF4 41 82 00 10 */ beq lbl_8028B1A4
+/* 8028B198 00286DF8 38 60 00 00 */ li r3, 0
+/* 8028B19C 00286DFC 7D 89 03 A6 */ mtctr r12
+/* 8028B1A0 00286E00 4E 80 04 21 */ bctrl
+lbl_8028B1A4:
+/* 8028B1A4 00286E04 4B FF F9 6D */ bl stateReady
+/* 8028B1A8 00286E08 48 00 01 80 */ b lbl_8028B328
+lbl_8028B1AC:
+/* 8028B1AC 00286E0C 38 60 00 00 */ li r3, 0
+/* 8028B1B0 00286E10 48 00 37 E9 */ bl DVDLowClearCoverInterrupt
+/* 8028B1B4 00286E14 80 7D 00 20 */ lwz r3, 0x20(r29)
+/* 8028B1B8 00286E18 3F E0 00 08 */ lis r31, 8
+/* 8028B1BC 00286E1C 80 1D 00 14 */ lwz r0, 0x14(r29)
+/* 8028B1C0 00286E20 7C 03 00 50 */ subf r0, r3, r0
+/* 8028B1C4 00286E24 7C 00 F8 40 */ cmplw r0, r31
+/* 8028B1C8 00286E28 41 81 00 08 */ bgt lbl_8028B1D0
+/* 8028B1CC 00286E2C 7C 1F 03 78 */ mr r31, r0
+lbl_8028B1D0:
+/* 8028B1D0 00286E30 80 1D 00 20 */ lwz r0, 0x20(r29)
+/* 8028B1D4 00286E34 80 7D 00 10 */ lwz r3, 0x10(r29)
+/* 8028B1D8 00286E38 54 00 F0 BE */ srwi r0, r0, 2
+/* 8028B1DC 00286E3C 93 FD 00 1C */ stw r31, 0x1c(r29)
+/* 8028B1E0 00286E40 83 5D 00 08 */ lwz r26, 8(r29)
+/* 8028B1E4 00286E44 7F 63 02 14 */ add r27, r3, r0
+/* 8028B1E8 00286E48 4B FE 35 75 */ bl OSDisableInterrupts
+/* 8028B1EC 00286E4C 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028B1F0 00286E50 7C 7E 1B 78 */ mr r30, r3
+/* 8028B1F4 00286E54 28 00 00 05 */ cmplwi r0, 5
+/* 8028B1F8 00286E58 41 80 00 0C */ blt lbl_8028B204
+/* 8028B1FC 00286E5C 38 00 00 00 */ li r0, 0
+/* 8028B200 00286E60 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+lbl_8028B204:
+/* 8028B204 00286E64 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028B208 00286E68 3F 80 80 52 */ lis r28, lbl_8051B6E0@ha
+/* 8028B20C 00286E6C 80 6D AA 10 */ lwz r3, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028B210 00286E70 3B 9C B6 E0 */ addi r28, r28, lbl_8051B6E0@l
+/* 8028B214 00286E74 1C 80 00 14 */ mulli r4, r0, 0x14
+/* 8028B218 00286E78 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028B21C 00286E7C 1C 63 00 14 */ mulli r3, r3, 0x14
+/* 8028B220 00286E80 7C 9C 22 14 */ add r4, r28, r4
+/* 8028B224 00286E84 93 44 00 1C */ stw r26, 0x1c(r4)
+/* 8028B228 00286E88 7C 7C 1A 14 */ add r3, r28, r3
+/* 8028B22C 00286E8C 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 8028B230 00286E90 93 63 00 20 */ stw r27, 0x20(r3)
+/* 8028B234 00286E94 7C 7C 02 14 */ add r3, r28, r0
+/* 8028B238 00286E98 93 E3 00 24 */ stw r31, 0x24(r3)
+/* 8028B23C 00286E9C 4B FE 75 95 */ bl OSGetTick
+/* 8028B240 00286EA0 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028B244 00286EA4 80 8D AA 10 */ lwz r4, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028B248 00286EA8 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 8028B24C 00286EAC 38 04 00 01 */ addi r0, r4, 1
+/* 8028B250 00286EB0 90 0D AA 10 */ stw r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028B254 00286EB4 7C 9C 2A 14 */ add r4, r28, r5
+/* 8028B258 00286EB8 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 8028B25C 00286EBC 7F C3 F3 78 */ mr r3, r30
+/* 8028B260 00286EC0 4B FE 35 25 */ bl OSRestoreInterrupts
+/* 8028B264 00286EC4 80 FD 00 20 */ lwz r7, 0x20(r29)
+/* 8028B268 00286EC8 3C C0 80 29 */ lis r6, cbForStateBusy@ha
+/* 8028B26C 00286ECC 80 7D 00 18 */ lwz r3, 0x18(r29)
+/* 8028B270 00286ED0 38 C6 B3 40 */ addi r6, r6, cbForStateBusy@l
+/* 8028B274 00286ED4 80 BD 00 10 */ lwz r5, 0x10(r29)
+/* 8028B278 00286ED8 54 E0 F0 BE */ srwi r0, r7, 2
+/* 8028B27C 00286EDC 80 9D 00 1C */ lwz r4, 0x1c(r29)
+/* 8028B280 00286EE0 7C 63 3A 14 */ add r3, r3, r7
+/* 8028B284 00286EE4 7C A5 02 14 */ add r5, r5, r0
+/* 8028B288 00286EE8 48 00 27 BD */ bl DVDLowUnencryptedRead
+/* 8028B28C 00286EEC 48 00 00 9C */ b lbl_8028B328
+/* 8028B290 00286EF0 38 60 00 00 */ li r3, 0
+/* 8028B294 00286EF4 48 00 37 05 */ bl DVDLowClearCoverInterrupt
+/* 8028B298 00286EF8 3D 00 80 29 */ lis r8, cbForStateBusy@ha
+/* 8028B29C 00286EFC 80 7D 00 10 */ lwz r3, 0x10(r29)
+/* 8028B2A0 00286F00 80 FD 00 18 */ lwz r7, 0x18(r29)
+/* 8028B2A4 00286F04 39 08 B3 40 */ addi r8, r8, cbForStateBusy@l
+/* 8028B2A8 00286F08 38 80 00 00 */ li r4, 0
+/* 8028B2AC 00286F0C 38 A0 00 00 */ li r5, 0
+/* 8028B2B0 00286F10 38 C0 00 00 */ li r6, 0
+/* 8028B2B4 00286F14 48 00 23 C5 */ bl DVDLowOpenPartition
+/* 8028B2B8 00286F18 48 00 00 70 */ b lbl_8028B328
+/* 8028B2BC 00286F1C 38 60 00 00 */ li r3, 0
+/* 8028B2C0 00286F20 48 00 36 D9 */ bl DVDLowClearCoverInterrupt
+/* 8028B2C4 00286F24 3C 60 80 29 */ lis r3, cbForStateBusy@ha
+/* 8028B2C8 00286F28 38 63 B3 40 */ addi r3, r3, cbForStateBusy@l
+/* 8028B2CC 00286F2C 48 00 26 15 */ bl DVDLowClosePartition
+/* 8028B2D0 00286F30 48 00 00 58 */ b lbl_8028B328
+/* 8028B2D4 00286F34 3C 60 80 29 */ lis r3, cbForStateBusy@ha
+/* 8028B2D8 00286F38 38 63 B3 40 */ addi r3, r3, cbForStateBusy@l
+/* 8028B2DC 00286F3C 48 00 35 39 */ bl DVDLowPrepareCoverRegister
+/* 8028B2E0 00286F40 48 00 00 48 */ b lbl_8028B328
+/* 8028B2E4 00286F44 3C 60 80 29 */ lis r3, cbForStateBusy@ha
+/* 8028B2E8 00286F48 38 63 B3 40 */ addi r3, r3, cbForStateBusy@l
+/* 8028B2EC 00286F4C 48 00 35 29 */ bl DVDLowPrepareCoverRegister
+/* 8028B2F0 00286F50 48 00 00 38 */ b lbl_8028B328
+/* 8028B2F4 00286F54 38 60 00 00 */ li r3, 0
+/* 8028B2F8 00286F58 48 00 36 A1 */ bl DVDLowClearCoverInterrupt
+/* 8028B2FC 00286F5C 3C 80 80 29 */ lis r4, cbForStateBusy@ha
+/* 8028B300 00286F60 3C 60 00 02 */ lis r3, 2
+/* 8028B304 00286F64 38 84 B3 40 */ addi r4, r4, cbForStateBusy@l
+/* 8028B308 00286F68 48 00 30 51 */ bl DVDLowSetMaximumRotation
+/* 8028B30C 00286F6C 48 00 00 1C */ b lbl_8028B328
+lbl_8028B310:
+/* 8028B310 00286F70 81 8D 88 C0 */ lwz r12, lbl_8063DB80-_SDA_BASE_(r13)
+/* 8028B314 00286F74 3C 80 80 29 */ lis r4, cbForStateBusy@ha
+/* 8028B318 00286F78 7F A3 EB 78 */ mr r3, r29
+/* 8028B31C 00286F7C 38 84 B3 40 */ addi r4, r4, cbForStateBusy@l
+/* 8028B320 00286F80 7D 89 03 A6 */ mtctr r12
+/* 8028B324 00286F84 4E 80 04 21 */ bctrl
+lbl_8028B328:
+/* 8028B328 00286F88 39 61 00 20 */ addi r11, r1, 0x20
+/* 8028B32C 00286F8C 4B F3 BE 45 */ bl _restgpr_26
+/* 8028B330 00286F90 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8028B334 00286F94 7C 08 03 A6 */ mtlr r0
+/* 8028B338 00286F98 38 21 00 20 */ addi r1, r1, 0x20
+/* 8028B33C 00286F9C 4E 80 00 20 */ blr
+
+.global cbForStateBusy
+cbForStateBusy:
+/* 8028B340 00286FA0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028B344 00286FA4 7C 08 02 A6 */ mflr r0
+/* 8028B348 00286FA8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028B34C 00286FAC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028B350 00286FB0 7C 7F 1B 78 */ mr r31, r3
+/* 8028B354 00286FB4 93 C1 00 08 */ stw r30, 8(r1)
+/* 8028B358 00286FB8 4B FE 34 05 */ bl OSDisableInterrupts
+/* 8028B35C 00286FBC 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028B360 00286FC0 2C 00 00 00 */ cmpwi r0, 0
+/* 8028B364 00286FC4 40 82 00 14 */ bne lbl_8028B378
+/* 8028B368 00286FC8 3C 80 80 52 */ lis r4, lbl_8051B6E0@ha
+/* 8028B36C 00286FCC 38 84 B6 E0 */ addi r4, r4, lbl_8051B6E0@l
+/* 8028B370 00286FD0 93 E4 00 78 */ stw r31, 0x78(r4)
+/* 8028B374 00286FD4 48 00 00 1C */ b lbl_8028B390
+lbl_8028B378:
+/* 8028B378 00286FD8 80 0D AA 10 */ lwz r0, lbl_8063FCD0-_SDA_BASE_(r13)
+/* 8028B37C 00286FDC 3C 80 80 52 */ lis r4, lbl_8051B6E0@ha
+/* 8028B380 00286FE0 38 84 B6 E0 */ addi r4, r4, lbl_8051B6E0@l
+/* 8028B384 00286FE4 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 8028B388 00286FE8 7C 84 02 14 */ add r4, r4, r0
+/* 8028B38C 00286FEC 93 E4 00 14 */ stw r31, 0x14(r4)
+lbl_8028B390:
+/* 8028B390 00286FF0 4B FE 33 F5 */ bl OSRestoreInterrupts
+/* 8028B394 00286FF4 28 1F 00 10 */ cmplwi r31, 0x10
+/* 8028B398 00286FF8 40 82 00 1C */ bne lbl_8028B3B4
+/* 8028B39C 00286FFC 3C 60 01 23 */ lis r3, 0x01234568@ha
+/* 8028B3A0 00287000 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 8028B3A4 00287004 38 63 45 68 */ addi r3, r3, 0x01234568@l
+/* 8028B3A8 00287008 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 8028B3AC 0028700C 48 00 1A 9D */ bl __DVDStoreErrorCode
+/* 8028B3B0 00287010 48 00 07 AC */ b lbl_8028BB5C
+lbl_8028B3B4:
+/* 8028B3B4 00287014 28 1F 00 20 */ cmplwi r31, 0x20
+/* 8028B3B8 00287018 40 82 00 1C */ bne lbl_8028B3D4
+/* 8028B3BC 0028701C 3C 60 01 23 */ lis r3, 0x01234569@ha
+/* 8028B3C0 00287020 3C 80 80 29 */ lis r4, cbForStoreErrorCode2@ha
+/* 8028B3C4 00287024 38 63 45 69 */ addi r3, r3, 0x01234569@l
+/* 8028B3C8 00287028 38 84 87 48 */ addi r4, r4, cbForStoreErrorCode2@l
+/* 8028B3CC 0028702C 48 00 1A 7D */ bl __DVDStoreErrorCode
+/* 8028B3D0 00287030 48 00 07 8C */ b lbl_8028BB5C
+lbl_8028B3D4:
+/* 8028B3D4 00287034 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 8028B3D8 00287038 28 00 00 03 */ cmplwi r0, 3
+/* 8028B3DC 0028703C 41 82 00 10 */ beq lbl_8028B3EC
+/* 8028B3E0 00287040 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 8028B3E4 00287044 28 00 00 0F */ cmplwi r0, 0xf
+/* 8028B3E8 00287048 40 82 01 50 */ bne lbl_8028B538
+lbl_8028B3EC:
+/* 8028B3EC 0028704C 57 E0 07 BD */ rlwinm. r0, r31, 0, 0x1e, 0x1e
+/* 8028B3F0 00287050 41 82 00 1C */ beq lbl_8028B40C
+/* 8028B3F4 00287054 3C 60 01 23 */ lis r3, 0x01234567@ha
+/* 8028B3F8 00287058 3C 80 80 29 */ lis r4, cbForStoreErrorCode1@ha
+/* 8028B3FC 0028705C 38 63 45 67 */ addi r3, r3, 0x01234567@l
+/* 8028B400 00287060 38 84 87 34 */ addi r4, r4, cbForStoreErrorCode1@l
+/* 8028B404 00287064 48 00 1A 45 */ bl __DVDStoreErrorCode
+/* 8028B408 00287068 48 00 07 54 */ b lbl_8028BB5C
+lbl_8028B40C:
+/* 8028B40C 0028706C 38 00 00 00 */ li r0, 0
+/* 8028B410 00287070 90 0D AA 28 */ stw r0, lbl_8063FCE8-_SDA_BASE_(r13)
+/* 8028B414 00287074 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 8028B418 00287078 28 00 00 0F */ cmplwi r0, 0xf
+/* 8028B41C 0028707C 40 82 00 0C */ bne lbl_8028B428
+/* 8028B420 00287080 38 00 00 01 */ li r0, 1
+/* 8028B424 00287084 90 0D AA 74 */ stw r0, lbl_8063FD34-_SDA_BASE_(r13)
+lbl_8028B428:
+/* 8028B428 00287088 80 0D AA 20 */ lwz r0, lbl_8063FCE0-_SDA_BASE_(r13)
+/* 8028B42C 0028708C 2C 00 00 00 */ cmpwi r0, 0
+/* 8028B430 00287090 41 82 00 70 */ beq lbl_8028B4A0
+/* 8028B434 00287094 3C 60 80 51 */ lis r3, lbl_805169A0@ha
+/* 8028B438 00287098 83 ED AA 90 */ lwz r31, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028B43C 0028709C 38 63 69 A0 */ addi r3, r3, lbl_805169A0@l
+/* 8028B440 002870A0 38 00 00 07 */ li r0, 7
+/* 8028B444 002870A4 90 0D AA 24 */ stw r0, lbl_8063FCE4-_SDA_BASE_(r13)
+/* 8028B448 002870A8 38 80 00 00 */ li r4, 0
+/* 8028B44C 002870AC 38 00 00 0A */ li r0, 0xa
+/* 8028B450 002870B0 90 8D AA 20 */ stw r4, lbl_8063FCE0-_SDA_BASE_(r13)
+/* 8028B454 002870B4 90 6D AA 90 */ stw r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028B458 002870B8 90 1F 00 0C */ stw r0, 0xc(r31)
+/* 8028B45C 002870BC 81 9F 00 28 */ lwz r12, 0x28(r31)
+/* 8028B460 002870C0 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028B464 002870C4 41 82 00 14 */ beq lbl_8028B478
+/* 8028B468 002870C8 7F E4 FB 78 */ mr r4, r31
+/* 8028B46C 002870CC 38 60 FF FD */ li r3, -3
+/* 8028B470 002870D0 7D 89 03 A6 */ mtctr r12
+/* 8028B474 002870D4 4E 80 04 21 */ bctrl
+lbl_8028B478:
+/* 8028B478 002870D8 81 8D AA 80 */ lwz r12, lbl_8063FD40-_SDA_BASE_(r13)
+/* 8028B47C 002870DC 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028B480 002870E0 41 82 00 14 */ beq lbl_8028B494
+/* 8028B484 002870E4 7F E4 FB 78 */ mr r4, r31
+/* 8028B488 002870E8 38 60 00 00 */ li r3, 0
+/* 8028B48C 002870EC 7D 89 03 A6 */ mtctr r12
+/* 8028B490 002870F0 4E 80 04 21 */ bctrl
+lbl_8028B494:
+/* 8028B494 002870F4 4B FF F6 7D */ bl stateReady
+/* 8028B498 002870F8 38 00 00 01 */ li r0, 1
+/* 8028B49C 002870FC 48 00 00 08 */ b lbl_8028B4A4
+lbl_8028B4A0:
+/* 8028B4A0 00287100 38 00 00 00 */ li r0, 0
+lbl_8028B4A4:
+/* 8028B4A4 00287104 2C 00 00 00 */ cmpwi r0, 0
+/* 8028B4A8 00287108 40 82 06 B4 */ bne lbl_8028BB5C
+/* 8028B4AC 0028710C 80 0D AA 70 */ lwz r0, lbl_8063FD30-_SDA_BASE_(r13)
+/* 8028B4B0 00287110 28 00 00 02 */ cmplwi r0, 2
+/* 8028B4B4 00287114 41 82 06 A8 */ beq lbl_8028BB5C
+/* 8028B4B8 00287118 80 8D AA 90 */ lwz r4, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028B4BC 0028711C 38 00 00 07 */ li r0, 7
+/* 8028B4C0 00287120 38 60 00 01 */ li r3, 1
+/* 8028B4C4 00287124 90 04 00 0C */ stw r0, 0xc(r4)
+/* 8028B4C8 00287128 80 0D AA 34 */ lwz r0, lbl_8063FCF4-_SDA_BASE_(r13)
+/* 8028B4CC 0028712C 90 6D AA 70 */ stw r3, lbl_8063FD30-_SDA_BASE_(r13)
+/* 8028B4D0 00287130 2C 00 00 00 */ cmpwi r0, 0
+/* 8028B4D4 00287134 40 82 06 88 */ bne lbl_8028BB5C
+/* 8028B4D8 00287138 80 0D AA 38 */ lwz r0, lbl_8063FCF8-_SDA_BASE_(r13)
+/* 8028B4DC 0028713C 2C 00 00 00 */ cmpwi r0, 0
+/* 8028B4E0 00287140 40 82 06 7C */ bne lbl_8028BB5C
+/* 8028B4E4 00287144 3F E0 80 51 */ lis r31, lbl_80516A00@ha
+/* 8028B4E8 00287148 90 6D AA 34 */ stw r3, lbl_8063FCF4-_SDA_BASE_(r13)
+/* 8028B4EC 0028714C 38 7F 6A 00 */ addi r3, r31, lbl_80516A00@l
+/* 8028B4F0 00287150 4B FD E2 35 */ bl OSCreateAlarm
+/* 8028B4F4 00287154 4B FE 72 DD */ bl OSGetTick
+/* 8028B4F8 00287158 3C A0 80 00 */ lis r5, 0x800000F8@ha
+/* 8028B4FC 0028715C 3C 80 10 62 */ lis r4, 0x10624DD3@ha
+/* 8028B500 00287160 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
+/* 8028B504 00287164 3D 20 80 29 */ lis r9, CoverAlarmHandler@ha
+/* 8028B508 00287168 7C 66 1B 78 */ mr r6, r3
+/* 8028B50C 0028716C 38 84 4D D3 */ addi r4, r4, 0x10624DD3@l
+/* 8028B510 00287170 54 00 F0 BE */ srwi r0, r0, 2
+/* 8028B514 00287174 38 7F 6A 00 */ addi r3, r31, 0x6a00
+/* 8028B518 00287178 7C 04 00 16 */ mulhwu r0, r4, r0
+/* 8028B51C 0028717C 39 29 AA EC */ addi r9, r9, CoverAlarmHandler@l
+/* 8028B520 00287180 38 A0 00 00 */ li r5, 0
+/* 8028B524 00287184 38 E0 00 00 */ li r7, 0
+/* 8028B528 00287188 54 00 D1 BE */ srwi r0, r0, 6
+/* 8028B52C 0028718C 1D 00 00 64 */ mulli r8, r0, 0x64
+/* 8028B530 00287190 4B FD E4 C5 */ bl OSSetPeriodicAlarm
+/* 8028B534 00287194 48 00 06 28 */ b lbl_8028BB5C
+lbl_8028B538:
+/* 8028B538 00287198 80 6D AA 84 */ lwz r3, lbl_8063FD44-_SDA_BASE_(r13)
+/* 8028B53C 0028719C 28 03 00 01 */ cmplwi r3, 1
+/* 8028B540 002871A0 41 82 00 24 */ beq lbl_8028B564
+/* 8028B544 002871A4 28 03 00 04 */ cmplwi r3, 4
+/* 8028B548 002871A8 41 82 00 1C */ beq lbl_8028B564
+/* 8028B54C 002871AC 28 03 00 05 */ cmplwi r3, 5
+/* 8028B550 002871B0 41 82 00 14 */ beq lbl_8028B564
+/* 8028B554 002871B4 28 03 00 21 */ cmplwi r3, 0x21
+/* 8028B558 002871B8 41 82 00 0C */ beq lbl_8028B564
+/* 8028B55C 002871BC 28 03 00 0E */ cmplwi r3, 0xe
+/* 8028B560 002871C0 40 82 00 0C */ bne lbl_8028B56C
+lbl_8028B564:
+/* 8028B564 002871C4 38 00 00 01 */ li r0, 1
+/* 8028B568 002871C8 48 00 00 1C */ b lbl_8028B584
+lbl_8028B56C:
+/* 8028B56C 002871CC 80 0D 88 CC */ lwz r0, lbl_8063DB8C-_SDA_BASE_(r13)
+/* 8028B570 002871D0 7C 03 00 40 */ cmplw r3, r0
+/* 8028B574 002871D4 40 82 00 0C */ bne lbl_8028B580
+/* 8028B578 002871D8 38 00 00 01 */ li r0, 1
+/* 8028B57C 002871DC 48 00 00 08 */ b lbl_8028B584
+lbl_8028B580:
+/* 8028B580 002871E0 38 00 00 00 */ li r0, 0
+lbl_8028B584:
+/* 8028B584 002871E4 2C 00 00 00 */ cmpwi r0, 0
+/* 8028B588 002871E8 41 82 00 2C */ beq lbl_8028B5B4
+/* 8028B58C 002871EC 73 E0 00 09 */ andi. r0, r31, 9
+/* 8028B590 002871F0 41 82 00 10 */ beq lbl_8028B5A0
+/* 8028B594 002871F4 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028B598 002871F8 80 83 00 1C */ lwz r4, 0x1c(r3)
+/* 8028B59C 002871FC 48 00 00 08 */ b lbl_8028B5A4
+lbl_8028B5A0:
+/* 8028B5A0 00287200 38 80 00 00 */ li r4, 0
+lbl_8028B5A4:
+/* 8028B5A4 00287204 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028B5A8 00287208 80 03 00 20 */ lwz r0, 0x20(r3)
+/* 8028B5AC 0028720C 7C 00 22 14 */ add r0, r0, r4
+/* 8028B5B0 00287210 90 03 00 20 */ stw r0, 0x20(r3)
+lbl_8028B5B4:
+/* 8028B5B4 00287214 80 0D AA 30 */ lwz r0, lbl_8063FCF0-_SDA_BASE_(r13)
+/* 8028B5B8 00287218 2C 00 00 00 */ cmpwi r0, 0
+/* 8028B5BC 0028721C 41 82 00 68 */ beq lbl_8028B624
+/* 8028B5C0 00287220 3C 60 80 51 */ lis r3, lbl_805169A0@ha
+/* 8028B5C4 00287224 83 CD AA 90 */ lwz r30, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028B5C8 00287228 38 80 00 00 */ li r4, 0
+/* 8028B5CC 0028722C 38 00 00 0A */ li r0, 0xa
+/* 8028B5D0 00287230 38 63 69 A0 */ addi r3, r3, lbl_805169A0@l
+/* 8028B5D4 00287234 90 8D AA 30 */ stw r4, lbl_8063FCF0-_SDA_BASE_(r13)
+/* 8028B5D8 00287238 90 8D AA 20 */ stw r4, lbl_8063FCE0-_SDA_BASE_(r13)
+/* 8028B5DC 0028723C 90 6D AA 90 */ stw r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028B5E0 00287240 90 1E 00 0C */ stw r0, 0xc(r30)
+/* 8028B5E4 00287244 81 9E 00 28 */ lwz r12, 0x28(r30)
+/* 8028B5E8 00287248 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028B5EC 0028724C 41 82 00 14 */ beq lbl_8028B600
+/* 8028B5F0 00287250 7F C4 F3 78 */ mr r4, r30
+/* 8028B5F4 00287254 38 60 FF FD */ li r3, -3
+/* 8028B5F8 00287258 7D 89 03 A6 */ mtctr r12
+/* 8028B5FC 0028725C 4E 80 04 21 */ bctrl
+lbl_8028B600:
+/* 8028B600 00287260 81 8D AA 80 */ lwz r12, lbl_8063FD40-_SDA_BASE_(r13)
+/* 8028B604 00287264 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028B608 00287268 41 82 00 14 */ beq lbl_8028B61C
+/* 8028B60C 0028726C 7F C4 F3 78 */ mr r4, r30
+/* 8028B610 00287270 38 60 00 00 */ li r3, 0
+/* 8028B614 00287274 7D 89 03 A6 */ mtctr r12
+/* 8028B618 00287278 4E 80 04 21 */ bctrl
+lbl_8028B61C:
+/* 8028B61C 0028727C 4B FF F4 F5 */ bl stateReady
+/* 8028B620 00287280 48 00 05 3C */ b lbl_8028BB5C
+lbl_8028B624:
+/* 8028B624 00287284 57 E0 07 FF */ clrlwi. r0, r31, 0x1f
+/* 8028B628 00287288 41 82 03 F0 */ beq lbl_8028BA18
+/* 8028B62C 0028728C 3B E0 00 00 */ li r31, 0
+/* 8028B630 00287290 93 ED AA 28 */ stw r31, lbl_8063FCE8-_SDA_BASE_(r13)
+/* 8028B634 00287294 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 8028B638 00287298 28 00 00 10 */ cmplwi r0, 0x10
+/* 8028B63C 0028729C 40 82 00 50 */ bne lbl_8028B68C
+/* 8028B640 002872A0 80 8D AA 90 */ lwz r4, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028B644 002872A4 3C 60 80 51 */ lis r3, lbl_805169A0@ha
+/* 8028B648 002872A8 38 63 69 A0 */ addi r3, r3, lbl_805169A0@l
+/* 8028B64C 002872AC 80 A4 00 10 */ lwz r5, 0x10(r4)
+/* 8028B650 002872B0 7C 05 00 D0 */ neg r0, r5
+/* 8028B654 002872B4 90 6D AA 90 */ stw r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028B658 002872B8 7C 00 2B 78 */ or r0, r0, r5
+/* 8028B65C 002872BC 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 8028B660 002872C0 38 03 00 01 */ addi r0, r3, 1
+/* 8028B664 002872C4 90 0D AA 70 */ stw r0, lbl_8063FD30-_SDA_BASE_(r13)
+/* 8028B668 002872C8 93 E4 00 0C */ stw r31, 0xc(r4)
+/* 8028B66C 002872CC 81 84 00 28 */ lwz r12, 0x28(r4)
+/* 8028B670 002872D0 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028B674 002872D4 41 82 00 10 */ beq lbl_8028B684
+/* 8028B678 002872D8 38 60 00 00 */ li r3, 0
+/* 8028B67C 002872DC 7D 89 03 A6 */ mtctr r12
+/* 8028B680 002872E0 4E 80 04 21 */ bctrl
+lbl_8028B684:
+/* 8028B684 002872E4 4B FF F4 8D */ bl stateReady
+/* 8028B688 002872E8 48 00 04 D4 */ b lbl_8028BB5C
+lbl_8028B68C:
+/* 8028B68C 002872EC 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 8028B690 002872F0 28 00 00 20 */ cmplwi r0, 0x20
+/* 8028B694 002872F4 40 82 00 50 */ bne lbl_8028B6E4
+/* 8028B698 002872F8 4B FE 71 41 */ bl __OSGetSystemTime
+/* 8028B69C 002872FC 3C A0 80 51 */ lis r5, lbl_805169A0@ha
+/* 8028B6A0 00287300 80 CD AA 90 */ lwz r6, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028B6A4 00287304 38 A5 69 A0 */ addi r5, r5, lbl_805169A0@l
+/* 8028B6A8 00287308 90 8D AA 6C */ stw r4, lbl_8063FD2C-_SDA_BASE_(r13)
+/* 8028B6AC 0028730C 90 6D AA 68 */ stw r3, lbl_8063FD28-_SDA_BASE_(r13)
+/* 8028B6B0 00287310 93 ED AA 74 */ stw r31, lbl_8063FD34-_SDA_BASE_(r13)
+/* 8028B6B4 00287314 93 ED AA 24 */ stw r31, lbl_8063FCE4-_SDA_BASE_(r13)
+/* 8028B6B8 00287318 90 AD AA 90 */ stw r5, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028B6BC 0028731C 93 E6 00 0C */ stw r31, 0xc(r6)
+/* 8028B6C0 00287320 81 86 00 28 */ lwz r12, 0x28(r6)
+/* 8028B6C4 00287324 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028B6C8 00287328 41 82 00 14 */ beq lbl_8028B6DC
+/* 8028B6CC 0028732C 7C C4 33 78 */ mr r4, r6
+/* 8028B6D0 00287330 38 60 00 00 */ li r3, 0
+/* 8028B6D4 00287334 7D 89 03 A6 */ mtctr r12
+/* 8028B6D8 00287338 4E 80 04 21 */ bctrl
+lbl_8028B6DC:
+/* 8028B6DC 0028733C 4B FF F4 35 */ bl stateReady
+/* 8028B6E0 00287340 48 00 04 7C */ b lbl_8028BB5C
+lbl_8028B6E4:
+/* 8028B6E4 00287344 80 0D AA 20 */ lwz r0, lbl_8063FCE0-_SDA_BASE_(r13)
+/* 8028B6E8 00287348 2C 00 00 00 */ cmpwi r0, 0
+/* 8028B6EC 0028734C 41 82 00 68 */ beq lbl_8028B754
+/* 8028B6F0 00287350 3C 60 80 51 */ lis r3, lbl_805169A0@ha
+/* 8028B6F4 00287354 83 CD AA 90 */ lwz r30, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028B6F8 00287358 38 63 69 A0 */ addi r3, r3, lbl_805169A0@l
+/* 8028B6FC 0028735C 93 ED AA 24 */ stw r31, lbl_8063FCE4-_SDA_BASE_(r13)
+/* 8028B700 00287360 38 00 00 0A */ li r0, 0xa
+/* 8028B704 00287364 93 ED AA 20 */ stw r31, lbl_8063FCE0-_SDA_BASE_(r13)
+/* 8028B708 00287368 90 6D AA 90 */ stw r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028B70C 0028736C 90 1E 00 0C */ stw r0, 0xc(r30)
+/* 8028B710 00287370 81 9E 00 28 */ lwz r12, 0x28(r30)
+/* 8028B714 00287374 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028B718 00287378 41 82 00 14 */ beq lbl_8028B72C
+/* 8028B71C 0028737C 7F C4 F3 78 */ mr r4, r30
+/* 8028B720 00287380 38 60 FF FD */ li r3, -3
+/* 8028B724 00287384 7D 89 03 A6 */ mtctr r12
+/* 8028B728 00287388 4E 80 04 21 */ bctrl
+lbl_8028B72C:
+/* 8028B72C 0028738C 81 8D AA 80 */ lwz r12, lbl_8063FD40-_SDA_BASE_(r13)
+/* 8028B730 00287390 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028B734 00287394 41 82 00 14 */ beq lbl_8028B748
+/* 8028B738 00287398 7F C4 F3 78 */ mr r4, r30
+/* 8028B73C 0028739C 38 60 00 00 */ li r3, 0
+/* 8028B740 002873A0 7D 89 03 A6 */ mtctr r12
+/* 8028B744 002873A4 4E 80 04 21 */ bctrl
+lbl_8028B748:
+/* 8028B748 002873A8 4B FF F3 C9 */ bl stateReady
+/* 8028B74C 002873AC 38 00 00 01 */ li r0, 1
+/* 8028B750 002873B0 48 00 00 08 */ b lbl_8028B758
+lbl_8028B754:
+/* 8028B754 002873B4 38 00 00 00 */ li r0, 0
+lbl_8028B758:
+/* 8028B758 002873B8 2C 00 00 00 */ cmpwi r0, 0
+/* 8028B75C 002873BC 40 82 04 00 */ bne lbl_8028BB5C
+/* 8028B760 002873C0 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 8028B764 002873C4 28 00 00 26 */ cmplwi r0, 0x26
+/* 8028B768 002873C8 40 82 00 AC */ bne lbl_8028B814
+/* 8028B76C 002873CC 48 00 30 99 */ bl DVDLowGetCoverRegister
+/* 8028B770 002873D0 7C 7F 1B 78 */ mr r31, r3
+/* 8028B774 002873D4 4B FE 70 65 */ bl __OSGetSystemTime
+/* 8028B778 002873D8 3C C0 80 00 */ lis r6, 0x800000F8@ha
+/* 8028B77C 002873DC 3C A0 10 62 */ lis r5, 0x10624DD3@ha
+/* 8028B780 002873E0 80 C6 00 F8 */ lwz r6, 0x800000F8@l(r6)
+/* 8028B784 002873E4 38 E5 4D D3 */ addi r7, r5, 0x10624DD3@l
+/* 8028B788 002873E8 81 0D AA 68 */ lwz r8, lbl_8063FD28-_SDA_BASE_(r13)
+/* 8028B78C 002873EC 38 00 00 00 */ li r0, 0
+/* 8028B790 002873F0 54 C5 F0 BE */ srwi r5, r6, 2
+/* 8028B794 002873F4 81 2D AA 6C */ lwz r9, lbl_8063FD2C-_SDA_BASE_(r13)
+/* 8028B798 002873F8 7C C7 28 16 */ mulhwu r6, r7, r5
+/* 8028B79C 002873FC 7C 89 20 10 */ subfc r4, r9, r4
+/* 8028B7A0 00287400 6C 05 80 00 */ xoris r5, r0, 0x8000
+/* 8028B7A4 00287404 7C 08 19 10 */ subfe r0, r8, r3
+/* 8028B7A8 00287408 6C 00 80 00 */ xoris r0, r0, 0x8000
+/* 8028B7AC 0028740C 54 C3 D1 BE */ srwi r3, r6, 6
+/* 8028B7B0 00287410 1C 63 00 64 */ mulli r3, r3, 0x64
+/* 8028B7B4 00287414 7C 63 20 10 */ subfc r3, r3, r4
+/* 8028B7B8 00287418 7C A5 01 10 */ subfe r5, r5, r0
+/* 8028B7BC 0028741C 7C A0 01 10 */ subfe r5, r0, r0
+/* 8028B7C0 00287420 7C A5 00 D1 */ neg. r5, r5
+/* 8028B7C4 00287424 41 82 00 0C */ beq lbl_8028B7D0
+/* 8028B7C8 00287428 38 60 00 00 */ li r3, 0
+/* 8028B7CC 0028742C 48 00 00 10 */ b lbl_8028B7DC
+lbl_8028B7D0:
+/* 8028B7D0 00287430 57 E0 07 FE */ clrlwi r0, r31, 0x1f
+/* 8028B7D4 00287434 7C 60 00 D0 */ neg r3, r0
+/* 8028B7D8 00287438 38 63 00 02 */ addi r3, r3, 2
+lbl_8028B7DC:
+/* 8028B7DC 0028743C 3C A0 80 51 */ lis r5, lbl_805169A0@ha
+/* 8028B7E0 00287440 80 8D AA 90 */ lwz r4, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028B7E4 00287444 38 A5 69 A0 */ addi r5, r5, lbl_805169A0@l
+/* 8028B7E8 00287448 38 00 00 00 */ li r0, 0
+/* 8028B7EC 0028744C 90 AD AA 90 */ stw r5, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028B7F0 00287450 90 04 00 0C */ stw r0, 0xc(r4)
+/* 8028B7F4 00287454 90 64 00 10 */ stw r3, 0x10(r4)
+/* 8028B7F8 00287458 81 84 00 28 */ lwz r12, 0x28(r4)
+/* 8028B7FC 0028745C 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028B800 00287460 41 82 00 0C */ beq lbl_8028B80C
+/* 8028B804 00287464 7D 89 03 A6 */ mtctr r12
+/* 8028B808 00287468 4E 80 04 21 */ bctrl
+lbl_8028B80C:
+/* 8028B80C 0028746C 4B FF F3 05 */ bl stateReady
+/* 8028B810 00287470 48 00 03 4C */ b lbl_8028BB5C
+lbl_8028B814:
+/* 8028B814 00287474 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 8028B818 00287478 28 00 00 24 */ cmplwi r0, 0x24
+/* 8028B81C 0028747C 40 82 00 64 */ bne lbl_8028B880
+/* 8028B820 00287480 48 00 2F E5 */ bl DVDLowGetCoverRegister
+/* 8028B824 00287484 54 60 F7 FF */ rlwinm. r0, r3, 0x1e, 0x1f, 0x1f
+/* 8028B828 00287488 40 82 00 0C */ bne lbl_8028B834
+/* 8028B82C 0028748C 54 60 07 FF */ clrlwi. r0, r3, 0x1f
+/* 8028B830 00287490 41 82 00 0C */ beq lbl_8028B83C
+lbl_8028B834:
+/* 8028B834 00287494 38 60 00 00 */ li r3, 0
+/* 8028B838 00287498 48 00 00 10 */ b lbl_8028B848
+lbl_8028B83C:
+/* 8028B83C 0028749C 80 0D AA 24 */ lwz r0, lbl_8063FCE4-_SDA_BASE_(r13)
+/* 8028B840 002874A0 7C 00 00 34 */ cntlzw r0, r0
+/* 8028B844 002874A4 54 03 D9 7E */ srwi r3, r0, 5
+lbl_8028B848:
+/* 8028B848 002874A8 3C A0 80 51 */ lis r5, lbl_805169A0@ha
+/* 8028B84C 002874AC 80 8D AA 90 */ lwz r4, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028B850 002874B0 38 A5 69 A0 */ addi r5, r5, lbl_805169A0@l
+/* 8028B854 002874B4 38 00 00 00 */ li r0, 0
+/* 8028B858 002874B8 90 AD AA 90 */ stw r5, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028B85C 002874BC 90 04 00 0C */ stw r0, 0xc(r4)
+/* 8028B860 002874C0 90 64 00 10 */ stw r3, 0x10(r4)
+/* 8028B864 002874C4 81 84 00 28 */ lwz r12, 0x28(r4)
+/* 8028B868 002874C8 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028B86C 002874CC 41 82 00 0C */ beq lbl_8028B878
+/* 8028B870 002874D0 7D 89 03 A6 */ mtctr r12
+/* 8028B874 002874D4 4E 80 04 21 */ bctrl
+lbl_8028B878:
+/* 8028B878 002874D8 4B FF F2 99 */ bl stateReady
+/* 8028B87C 002874DC 48 00 02 E0 */ b lbl_8028BB5C
+lbl_8028B880:
+/* 8028B880 002874E0 80 6D AA 84 */ lwz r3, lbl_8063FD44-_SDA_BASE_(r13)
+/* 8028B884 002874E4 28 03 00 01 */ cmplwi r3, 1
+/* 8028B888 002874E8 41 82 00 24 */ beq lbl_8028B8AC
+/* 8028B88C 002874EC 28 03 00 04 */ cmplwi r3, 4
+/* 8028B890 002874F0 41 82 00 1C */ beq lbl_8028B8AC
+/* 8028B894 002874F4 28 03 00 05 */ cmplwi r3, 5
+/* 8028B898 002874F8 41 82 00 14 */ beq lbl_8028B8AC
+/* 8028B89C 002874FC 28 03 00 21 */ cmplwi r3, 0x21
+/* 8028B8A0 00287500 41 82 00 0C */ beq lbl_8028B8AC
+/* 8028B8A4 00287504 28 03 00 0E */ cmplwi r3, 0xe
+/* 8028B8A8 00287508 40 82 00 0C */ bne lbl_8028B8B4
+lbl_8028B8AC:
+/* 8028B8AC 0028750C 38 00 00 01 */ li r0, 1
+/* 8028B8B0 00287510 48 00 00 1C */ b lbl_8028B8CC
+lbl_8028B8B4:
+/* 8028B8B4 00287514 80 0D 88 CC */ lwz r0, lbl_8063DB8C-_SDA_BASE_(r13)
+/* 8028B8B8 00287518 7C 03 00 40 */ cmplw r3, r0
+/* 8028B8BC 0028751C 40 82 00 0C */ bne lbl_8028B8C8
+/* 8028B8C0 00287520 38 00 00 01 */ li r0, 1
+/* 8028B8C4 00287524 48 00 00 08 */ b lbl_8028B8CC
+lbl_8028B8C8:
+/* 8028B8C8 00287528 38 00 00 00 */ li r0, 0
+lbl_8028B8CC:
+/* 8028B8CC 0028752C 2C 00 00 00 */ cmpwi r0, 0
+/* 8028B8D0 00287530 41 82 00 58 */ beq lbl_8028B928
+/* 8028B8D4 00287534 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028B8D8 00287538 80 83 00 20 */ lwz r4, 0x20(r3)
+/* 8028B8DC 0028753C 80 03 00 14 */ lwz r0, 0x14(r3)
+/* 8028B8E0 00287540 7C 04 00 40 */ cmplw r4, r0
+/* 8028B8E4 00287544 41 82 00 0C */ beq lbl_8028B8F0
+/* 8028B8E8 00287548 4B FF F5 51 */ bl stateBusy
+/* 8028B8EC 0028754C 48 00 02 70 */ b lbl_8028BB5C
+lbl_8028B8F0:
+/* 8028B8F0 00287550 3C 80 80 51 */ lis r4, lbl_805169A0@ha
+/* 8028B8F4 00287554 38 00 00 00 */ li r0, 0
+/* 8028B8F8 00287558 38 84 69 A0 */ addi r4, r4, lbl_805169A0@l
+/* 8028B8FC 0028755C 90 8D AA 90 */ stw r4, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028B900 00287560 90 03 00 0C */ stw r0, 0xc(r3)
+/* 8028B904 00287564 81 83 00 28 */ lwz r12, 0x28(r3)
+/* 8028B908 00287568 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028B90C 0028756C 41 82 00 14 */ beq lbl_8028B920
+/* 8028B910 00287570 7C 64 1B 78 */ mr r4, r3
+/* 8028B914 00287574 80 63 00 20 */ lwz r3, 0x20(r3)
+/* 8028B918 00287578 7D 89 03 A6 */ mtctr r12
+/* 8028B91C 0028757C 4E 80 04 21 */ bctrl
+lbl_8028B920:
+/* 8028B920 00287580 4B FF F1 F1 */ bl stateReady
+/* 8028B924 00287584 48 00 02 38 */ b lbl_8028BB5C
+lbl_8028B928:
+/* 8028B928 00287588 80 6D AA 84 */ lwz r3, lbl_8063FD44-_SDA_BASE_(r13)
+/* 8028B92C 0028758C 38 03 FF F7 */ addi r0, r3, -9
+/* 8028B930 00287590 28 00 00 03 */ cmplwi r0, 3
+/* 8028B934 00287594 41 81 00 0C */ bgt lbl_8028B940
+/* 8028B938 00287598 38 00 00 01 */ li r0, 1
+/* 8028B93C 0028759C 48 00 00 48 */ b lbl_8028B984
+lbl_8028B940:
+/* 8028B940 002875A0 3C 80 80 43 */ lis r4, 0x8043
+/* 8028B944 002875A4 84 04 60 AC */ lwzu r0, 0x60ac(r4)
+/* 8028B948 002875A8 7C 03 00 40 */ cmplw r3, r0
+/* 8028B94C 002875AC 40 82 00 0C */ bne lbl_8028B958
+/* 8028B950 002875B0 38 00 00 01 */ li r0, 1
+/* 8028B954 002875B4 48 00 00 30 */ b lbl_8028B984
+lbl_8028B958:
+/* 8028B958 002875B8 80 04 00 04 */ lwz r0, 4(r4)
+/* 8028B95C 002875BC 7C 03 00 40 */ cmplw r3, r0
+/* 8028B960 002875C0 40 82 00 0C */ bne lbl_8028B96C
+/* 8028B964 002875C4 38 00 00 01 */ li r0, 1
+/* 8028B968 002875C8 48 00 00 1C */ b lbl_8028B984
+lbl_8028B96C:
+/* 8028B96C 002875CC 80 04 00 08 */ lwz r0, 8(r4)
+/* 8028B970 002875D0 7C 03 00 40 */ cmplw r3, r0
+/* 8028B974 002875D4 40 82 00 0C */ bne lbl_8028B980
+/* 8028B978 002875D8 38 00 00 01 */ li r0, 1
+/* 8028B97C 002875DC 48 00 00 08 */ b lbl_8028B984
+lbl_8028B980:
+/* 8028B980 002875E0 38 00 00 00 */ li r0, 0
+lbl_8028B984:
+/* 8028B984 002875E4 2C 00 00 00 */ cmpwi r0, 0
+/* 8028B988 002875E8 41 82 00 58 */ beq lbl_8028B9E0
+/* 8028B98C 002875EC 80 6D AA 84 */ lwz r3, lbl_8063FD44-_SDA_BASE_(r13)
+/* 8028B990 002875F0 38 03 FF F6 */ addi r0, r3, -10
+/* 8028B994 002875F4 28 00 00 01 */ cmplwi r0, 1
+/* 8028B998 002875F8 41 81 00 10 */ bgt lbl_8028B9A8
+/* 8028B99C 002875FC 48 00 2F E1 */ bl DVDLowGetImmBufferReg
+/* 8028B9A0 00287600 54 63 10 3A */ slwi r3, r3, 2
+/* 8028B9A4 00287604 48 00 00 08 */ b lbl_8028B9AC
+lbl_8028B9A8:
+/* 8028B9A8 00287608 48 00 2F D5 */ bl DVDLowGetImmBufferReg
+lbl_8028B9AC:
+/* 8028B9AC 0028760C 3C A0 80 51 */ lis r5, lbl_805169A0@ha
+/* 8028B9B0 00287610 80 8D AA 90 */ lwz r4, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028B9B4 00287614 38 A5 69 A0 */ addi r5, r5, lbl_805169A0@l
+/* 8028B9B8 00287618 38 00 00 00 */ li r0, 0
+/* 8028B9BC 0028761C 90 AD AA 90 */ stw r5, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028B9C0 00287620 90 04 00 0C */ stw r0, 0xc(r4)
+/* 8028B9C4 00287624 81 84 00 28 */ lwz r12, 0x28(r4)
+/* 8028B9C8 00287628 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028B9CC 0028762C 41 82 00 0C */ beq lbl_8028B9D8
+/* 8028B9D0 00287630 7D 89 03 A6 */ mtctr r12
+/* 8028B9D4 00287634 4E 80 04 21 */ bctrl
+lbl_8028B9D8:
+/* 8028B9D8 00287638 4B FF F1 39 */ bl stateReady
+/* 8028B9DC 0028763C 48 00 01 80 */ b lbl_8028BB5C
+lbl_8028B9E0:
+/* 8028B9E0 00287640 3C 60 80 51 */ lis r3, lbl_805169A0@ha
+/* 8028B9E4 00287644 80 8D AA 90 */ lwz r4, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028B9E8 00287648 38 63 69 A0 */ addi r3, r3, lbl_805169A0@l
+/* 8028B9EC 0028764C 38 00 00 00 */ li r0, 0
+/* 8028B9F0 00287650 90 6D AA 90 */ stw r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028B9F4 00287654 90 04 00 0C */ stw r0, 0xc(r4)
+/* 8028B9F8 00287658 81 84 00 28 */ lwz r12, 0x28(r4)
+/* 8028B9FC 0028765C 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028BA00 00287660 41 82 00 10 */ beq lbl_8028BA10
+/* 8028BA04 00287664 38 60 00 00 */ li r3, 0
+/* 8028BA08 00287668 7D 89 03 A6 */ mtctr r12
+/* 8028BA0C 0028766C 4E 80 04 21 */ bctrl
+lbl_8028BA10:
+/* 8028BA10 00287670 4B FF F1 01 */ bl stateReady
+/* 8028BA14 00287674 48 00 01 48 */ b lbl_8028BB5C
+lbl_8028BA18:
+/* 8028BA18 00287678 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 8028BA1C 0028767C 28 00 00 0E */ cmplwi r0, 0xe
+/* 8028BA20 00287680 40 82 00 1C */ bne lbl_8028BA3C
+/* 8028BA24 00287684 3C 60 01 23 */ lis r3, 0x01234567@ha
+/* 8028BA28 00287688 3C 80 80 29 */ lis r4, cbForStoreErrorCode1@ha
+/* 8028BA2C 0028768C 38 63 45 67 */ addi r3, r3, 0x01234567@l
+/* 8028BA30 00287690 38 84 87 34 */ addi r4, r4, cbForStoreErrorCode1@l
+/* 8028BA34 00287694 48 00 14 15 */ bl __DVDStoreErrorCode
+/* 8028BA38 00287698 48 00 01 24 */ b lbl_8028BB5C
+lbl_8028BA3C:
+/* 8028BA3C 0028769C 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 8028BA40 002876A0 28 00 00 01 */ cmplwi r0, 1
+/* 8028BA44 002876A4 41 82 00 34 */ beq lbl_8028BA78
+/* 8028BA48 002876A8 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 8028BA4C 002876AC 28 00 00 04 */ cmplwi r0, 4
+/* 8028BA50 002876B0 41 82 00 28 */ beq lbl_8028BA78
+/* 8028BA54 002876B4 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 8028BA58 002876B8 28 00 00 05 */ cmplwi r0, 5
+/* 8028BA5C 002876BC 41 82 00 1C */ beq lbl_8028BA78
+/* 8028BA60 002876C0 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 8028BA64 002876C4 28 00 00 21 */ cmplwi r0, 0x21
+/* 8028BA68 002876C8 41 82 00 10 */ beq lbl_8028BA78
+/* 8028BA6C 002876CC 80 0D AA 84 */ lwz r0, lbl_8063FD44-_SDA_BASE_(r13)
+/* 8028BA70 002876D0 28 00 00 0E */ cmplwi r0, 0xe
+/* 8028BA74 002876D4 40 82 00 CC */ bne lbl_8028BB40
+lbl_8028BA78:
+/* 8028BA78 002876D8 83 CD AA 90 */ lwz r30, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028BA7C 002876DC 80 7E 00 20 */ lwz r3, 0x20(r30)
+/* 8028BA80 002876E0 80 1E 00 14 */ lwz r0, 0x14(r30)
+/* 8028BA84 002876E4 7C 03 00 40 */ cmplw r3, r0
+/* 8028BA88 002876E8 40 82 00 B8 */ bne lbl_8028BB40
+/* 8028BA8C 002876EC 80 0D AA 20 */ lwz r0, lbl_8063FCE0-_SDA_BASE_(r13)
+/* 8028BA90 002876F0 2C 00 00 00 */ cmpwi r0, 0
+/* 8028BA94 002876F4 41 82 00 68 */ beq lbl_8028BAFC
+/* 8028BA98 002876F8 3C 60 80 51 */ lis r3, lbl_805169A0@ha
+/* 8028BA9C 002876FC 38 80 00 00 */ li r4, 0
+/* 8028BAA0 00287700 38 63 69 A0 */ addi r3, r3, lbl_805169A0@l
+/* 8028BAA4 00287704 90 8D AA 24 */ stw r4, lbl_8063FCE4-_SDA_BASE_(r13)
+/* 8028BAA8 00287708 38 00 00 0A */ li r0, 0xa
+/* 8028BAAC 0028770C 90 8D AA 20 */ stw r4, lbl_8063FCE0-_SDA_BASE_(r13)
+/* 8028BAB0 00287710 90 6D AA 90 */ stw r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028BAB4 00287714 90 1E 00 0C */ stw r0, 0xc(r30)
+/* 8028BAB8 00287718 81 9E 00 28 */ lwz r12, 0x28(r30)
+/* 8028BABC 0028771C 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028BAC0 00287720 41 82 00 14 */ beq lbl_8028BAD4
+/* 8028BAC4 00287724 7F C4 F3 78 */ mr r4, r30
+/* 8028BAC8 00287728 38 60 FF FD */ li r3, -3
+/* 8028BACC 0028772C 7D 89 03 A6 */ mtctr r12
+/* 8028BAD0 00287730 4E 80 04 21 */ bctrl
+lbl_8028BAD4:
+/* 8028BAD4 00287734 81 8D AA 80 */ lwz r12, lbl_8063FD40-_SDA_BASE_(r13)
+/* 8028BAD8 00287738 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028BADC 0028773C 41 82 00 14 */ beq lbl_8028BAF0
+/* 8028BAE0 00287740 7F C4 F3 78 */ mr r4, r30
+/* 8028BAE4 00287744 38 60 00 00 */ li r3, 0
+/* 8028BAE8 00287748 7D 89 03 A6 */ mtctr r12
+/* 8028BAEC 0028774C 4E 80 04 21 */ bctrl
+lbl_8028BAF0:
+/* 8028BAF0 00287750 4B FF F0 21 */ bl stateReady
+/* 8028BAF4 00287754 38 00 00 01 */ li r0, 1
+/* 8028BAF8 00287758 48 00 00 08 */ b lbl_8028BB00
+lbl_8028BAFC:
+/* 8028BAFC 0028775C 38 00 00 00 */ li r0, 0
+lbl_8028BB00:
+/* 8028BB00 00287760 2C 00 00 00 */ cmpwi r0, 0
+/* 8028BB04 00287764 40 82 00 58 */ bne lbl_8028BB5C
+/* 8028BB08 00287768 3C 60 80 51 */ lis r3, lbl_805169A0@ha
+/* 8028BB0C 0028776C 80 8D AA 90 */ lwz r4, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028BB10 00287770 38 63 69 A0 */ addi r3, r3, lbl_805169A0@l
+/* 8028BB14 00287774 38 00 00 00 */ li r0, 0
+/* 8028BB18 00287778 90 6D AA 90 */ stw r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028BB1C 0028777C 90 04 00 0C */ stw r0, 0xc(r4)
+/* 8028BB20 00287780 81 84 00 28 */ lwz r12, 0x28(r4)
+/* 8028BB24 00287784 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028BB28 00287788 41 82 00 10 */ beq lbl_8028BB38
+/* 8028BB2C 0028778C 80 64 00 20 */ lwz r3, 0x20(r4)
+/* 8028BB30 00287790 7D 89 03 A6 */ mtctr r12
+/* 8028BB34 00287794 4E 80 04 21 */ bctrl
+lbl_8028BB38:
+/* 8028BB38 00287798 4B FF EF D9 */ bl stateReady
+/* 8028BB3C 0028779C 48 00 00 20 */ b lbl_8028BB5C
+lbl_8028BB40:
+/* 8028BB40 002877A0 38 60 00 27 */ li r3, 0x27
+/* 8028BB44 002877A4 38 80 00 00 */ li r4, 0
+/* 8028BB48 002877A8 38 A0 00 00 */ li r5, 0
+/* 8028BB4C 002877AC 4B FF C6 41 */ bl StampCommand
+/* 8028BB50 002877B0 3C 60 80 29 */ lis r3, cbForStateGettingError@ha
+/* 8028BB54 002877B4 38 63 89 3C */ addi r3, r3, cbForStateGettingError@l
+/* 8028BB58 002877B8 48 00 23 7D */ bl DVDLowRequestError
+lbl_8028BB5C:
+/* 8028BB5C 002877BC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028BB60 002877C0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028BB64 002877C4 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8028BB68 002877C8 7C 08 03 A6 */ mtlr r0
+/* 8028BB6C 002877CC 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028BB70 002877D0 4E 80 00 20 */ blr
+
+.global DVDReadAbsAsyncPrio
+DVDReadAbsAsyncPrio:
+/* 8028BB74 002877D4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8028BB78 002877D8 7C 08 02 A6 */ mflr r0
+/* 8028BB7C 002877DC 39 20 00 01 */ li r9, 1
+/* 8028BB80 002877E0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8028BB84 002877E4 38 00 00 00 */ li r0, 0
+/* 8028BB88 002877E8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8028BB8C 002877EC 7D 1F 43 78 */ mr r31, r8
+/* 8028BB90 002877F0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8028BB94 002877F4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8028BB98 002877F8 7C 7D 1B 78 */ mr r29, r3
+/* 8028BB9C 002877FC 91 23 00 08 */ stw r9, 8(r3)
+/* 8028BBA0 00287800 90 83 00 18 */ stw r4, 0x18(r3)
+/* 8028BBA4 00287804 90 A3 00 14 */ stw r5, 0x14(r3)
+/* 8028BBA8 00287808 90 C3 00 10 */ stw r6, 0x10(r3)
+/* 8028BBAC 0028780C 90 03 00 20 */ stw r0, 0x20(r3)
+/* 8028BBB0 00287810 90 E3 00 28 */ stw r7, 0x28(r3)
+/* 8028BBB4 00287814 80 0D 88 BC */ lwz r0, lbl_8063DB7C-_SDA_BASE_(r13)
+/* 8028BBB8 00287818 2C 00 00 00 */ cmpwi r0, 0
+/* 8028BBBC 0028781C 41 82 00 38 */ beq lbl_8028BBF4
+/* 8028BBC0 00287820 28 09 00 01 */ cmplwi r9, 1
+/* 8028BBC4 00287824 41 82 00 24 */ beq lbl_8028BBE8
+/* 8028BBC8 00287828 28 09 00 04 */ cmplwi r9, 4
+/* 8028BBCC 0028782C 41 82 00 1C */ beq lbl_8028BBE8
+/* 8028BBD0 00287830 28 09 00 05 */ cmplwi r9, 5
+/* 8028BBD4 00287834 41 82 00 14 */ beq lbl_8028BBE8
+/* 8028BBD8 00287838 28 09 00 21 */ cmplwi r9, 0x21
+/* 8028BBDC 0028783C 41 82 00 0C */ beq lbl_8028BBE8
+/* 8028BBE0 00287840 28 09 00 0E */ cmplwi r9, 0xe
+/* 8028BBE4 00287844 40 82 00 10 */ bne lbl_8028BBF4
+lbl_8028BBE8:
+/* 8028BBE8 00287848 80 63 00 18 */ lwz r3, 0x18(r3)
+/* 8028BBEC 0028784C 80 9D 00 14 */ lwz r4, 0x14(r29)
+/* 8028BBF0 00287850 4B FD EA 39 */ bl DCInvalidateRange
+lbl_8028BBF4:
+/* 8028BBF4 00287854 4B FE 2B 69 */ bl OSDisableInterrupts
+/* 8028BBF8 00287858 38 00 00 02 */ li r0, 2
+/* 8028BBFC 0028785C 7C 7E 1B 78 */ mr r30, r3
+/* 8028BC00 00287860 90 1D 00 0C */ stw r0, 0xc(r29)
+/* 8028BC04 00287864 7F E3 FB 78 */ mr r3, r31
+/* 8028BC08 00287868 7F A4 EB 78 */ mr r4, r29
+/* 8028BC0C 0028786C 48 00 0D B9 */ bl __DVDPushWaitingQueue
+/* 8028BC10 00287870 80 0D AA 90 */ lwz r0, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028BC14 00287874 7C 7F 1B 78 */ mr r31, r3
+/* 8028BC18 00287878 2C 00 00 00 */ cmpwi r0, 0
+/* 8028BC1C 0028787C 40 82 00 14 */ bne lbl_8028BC30
+/* 8028BC20 00287880 80 0D AA 14 */ lwz r0, lbl_8063FCD4-_SDA_BASE_(r13)
+/* 8028BC24 00287884 2C 00 00 00 */ cmpwi r0, 0
+/* 8028BC28 00287888 40 82 00 08 */ bne lbl_8028BC30
+/* 8028BC2C 0028788C 4B FF EE E5 */ bl stateReady
+lbl_8028BC30:
+/* 8028BC30 00287890 7F C3 F3 78 */ mr r3, r30
+/* 8028BC34 00287894 4B FE 2B 51 */ bl OSRestoreInterrupts
+/* 8028BC38 00287898 7F E3 FB 78 */ mr r3, r31
+/* 8028BC3C 0028789C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8028BC40 002878A0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8028BC44 002878A4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8028BC48 002878A8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8028BC4C 002878AC 7C 08 03 A6 */ mtlr r0
+/* 8028BC50 002878B0 38 21 00 20 */ addi r1, r1, 0x20
+/* 8028BC54 002878B4 4E 80 00 20 */ blr
+
+.global DVDSeekAbsAsyncPrio
+DVDSeekAbsAsyncPrio:
+/* 8028BC58 002878B8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8028BC5C 002878BC 7C 08 02 A6 */ mflr r0
+/* 8028BC60 002878C0 38 E0 00 02 */ li r7, 2
+/* 8028BC64 002878C4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8028BC68 002878C8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8028BC6C 002878CC 7C DF 33 78 */ mr r31, r6
+/* 8028BC70 002878D0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8028BC74 002878D4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8028BC78 002878D8 7C 7D 1B 78 */ mr r29, r3
+/* 8028BC7C 002878DC 90 83 00 10 */ stw r4, 0x10(r3)
+/* 8028BC80 002878E0 90 E3 00 08 */ stw r7, 8(r3)
+/* 8028BC84 002878E4 90 A3 00 28 */ stw r5, 0x28(r3)
+/* 8028BC88 002878E8 80 0D 88 BC */ lwz r0, lbl_8063DB7C-_SDA_BASE_(r13)
+/* 8028BC8C 002878EC 2C 00 00 00 */ cmpwi r0, 0
+/* 8028BC90 002878F0 41 82 00 38 */ beq lbl_8028BCC8
+/* 8028BC94 002878F4 28 07 00 01 */ cmplwi r7, 1
+/* 8028BC98 002878F8 41 82 00 24 */ beq lbl_8028BCBC
+/* 8028BC9C 002878FC 28 07 00 04 */ cmplwi r7, 4
+/* 8028BCA0 00287900 41 82 00 1C */ beq lbl_8028BCBC
+/* 8028BCA4 00287904 28 07 00 05 */ cmplwi r7, 5
+/* 8028BCA8 00287908 41 82 00 14 */ beq lbl_8028BCBC
+/* 8028BCAC 0028790C 28 07 00 21 */ cmplwi r7, 0x21
+/* 8028BCB0 00287910 41 82 00 0C */ beq lbl_8028BCBC
+/* 8028BCB4 00287914 28 07 00 0E */ cmplwi r7, 0xe
+/* 8028BCB8 00287918 40 82 00 10 */ bne lbl_8028BCC8
+lbl_8028BCBC:
+/* 8028BCBC 0028791C 80 63 00 18 */ lwz r3, 0x18(r3)
+/* 8028BCC0 00287920 80 9D 00 14 */ lwz r4, 0x14(r29)
+/* 8028BCC4 00287924 4B FD E9 65 */ bl DCInvalidateRange
+lbl_8028BCC8:
+/* 8028BCC8 00287928 4B FE 2A 95 */ bl OSDisableInterrupts
+/* 8028BCCC 0028792C 38 00 00 02 */ li r0, 2
+/* 8028BCD0 00287930 7C 7E 1B 78 */ mr r30, r3
+/* 8028BCD4 00287934 90 1D 00 0C */ stw r0, 0xc(r29)
+/* 8028BCD8 00287938 7F E3 FB 78 */ mr r3, r31
+/* 8028BCDC 0028793C 7F A4 EB 78 */ mr r4, r29
+/* 8028BCE0 00287940 48 00 0C E5 */ bl __DVDPushWaitingQueue
+/* 8028BCE4 00287944 80 0D AA 90 */ lwz r0, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028BCE8 00287948 7C 7F 1B 78 */ mr r31, r3
+/* 8028BCEC 0028794C 2C 00 00 00 */ cmpwi r0, 0
+/* 8028BCF0 00287950 40 82 00 14 */ bne lbl_8028BD04
+/* 8028BCF4 00287954 80 0D AA 14 */ lwz r0, lbl_8063FCD4-_SDA_BASE_(r13)
+/* 8028BCF8 00287958 2C 00 00 00 */ cmpwi r0, 0
+/* 8028BCFC 0028795C 40 82 00 08 */ bne lbl_8028BD04
+/* 8028BD00 00287960 4B FF EE 11 */ bl stateReady
+lbl_8028BD04:
+/* 8028BD04 00287964 7F C3 F3 78 */ mr r3, r30
+/* 8028BD08 00287968 4B FE 2A 7D */ bl OSRestoreInterrupts
+/* 8028BD0C 0028796C 7F E3 FB 78 */ mr r3, r31
+/* 8028BD10 00287970 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8028BD14 00287974 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8028BD18 00287978 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8028BD1C 0028797C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8028BD20 00287980 7C 08 03 A6 */ mtlr r0
+/* 8028BD24 00287984 38 21 00 20 */ addi r1, r1, 0x20
+/* 8028BD28 00287988 4E 80 00 20 */ blr
+
+.global DVDInquiryAsync
+DVDInquiryAsync:
+/* 8028BD2C 0028798C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028BD30 00287990 7C 08 02 A6 */ mflr r0
+/* 8028BD34 00287994 38 E0 00 0E */ li r7, 0xe
+/* 8028BD38 00287998 38 C0 00 20 */ li r6, 0x20
+/* 8028BD3C 0028799C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028BD40 002879A0 38 00 00 00 */ li r0, 0
+/* 8028BD44 002879A4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028BD48 002879A8 7C 7F 1B 78 */ mr r31, r3
+/* 8028BD4C 002879AC 93 C1 00 08 */ stw r30, 8(r1)
+/* 8028BD50 002879B0 90 E3 00 08 */ stw r7, 8(r3)
+/* 8028BD54 002879B4 90 83 00 18 */ stw r4, 0x18(r3)
+/* 8028BD58 002879B8 90 C3 00 14 */ stw r6, 0x14(r3)
+/* 8028BD5C 002879BC 90 03 00 20 */ stw r0, 0x20(r3)
+/* 8028BD60 002879C0 90 A3 00 28 */ stw r5, 0x28(r3)
+/* 8028BD64 002879C4 80 0D 88 BC */ lwz r0, lbl_8063DB7C-_SDA_BASE_(r13)
+/* 8028BD68 002879C8 2C 00 00 00 */ cmpwi r0, 0
+/* 8028BD6C 002879CC 41 82 00 38 */ beq lbl_8028BDA4
+/* 8028BD70 002879D0 28 07 00 01 */ cmplwi r7, 1
+/* 8028BD74 002879D4 41 82 00 24 */ beq lbl_8028BD98
+/* 8028BD78 002879D8 28 07 00 04 */ cmplwi r7, 4
+/* 8028BD7C 002879DC 41 82 00 1C */ beq lbl_8028BD98
+/* 8028BD80 002879E0 28 07 00 05 */ cmplwi r7, 5
+/* 8028BD84 002879E4 41 82 00 14 */ beq lbl_8028BD98
+/* 8028BD88 002879E8 28 07 00 21 */ cmplwi r7, 0x21
+/* 8028BD8C 002879EC 41 82 00 0C */ beq lbl_8028BD98
+/* 8028BD90 002879F0 28 07 00 0E */ cmplwi r7, 0xe
+/* 8028BD94 002879F4 40 82 00 10 */ bne lbl_8028BDA4
+lbl_8028BD98:
+/* 8028BD98 002879F8 80 63 00 18 */ lwz r3, 0x18(r3)
+/* 8028BD9C 002879FC 80 9F 00 14 */ lwz r4, 0x14(r31)
+/* 8028BDA0 00287A00 4B FD E8 89 */ bl DCInvalidateRange
+lbl_8028BDA4:
+/* 8028BDA4 00287A04 4B FE 29 B9 */ bl OSDisableInterrupts
+/* 8028BDA8 00287A08 38 00 00 02 */ li r0, 2
+/* 8028BDAC 00287A0C 7C 7E 1B 78 */ mr r30, r3
+/* 8028BDB0 00287A10 90 1F 00 0C */ stw r0, 0xc(r31)
+/* 8028BDB4 00287A14 7F E4 FB 78 */ mr r4, r31
+/* 8028BDB8 00287A18 38 60 00 02 */ li r3, 2
+/* 8028BDBC 00287A1C 48 00 0C 09 */ bl __DVDPushWaitingQueue
+/* 8028BDC0 00287A20 80 0D AA 90 */ lwz r0, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028BDC4 00287A24 7C 7F 1B 78 */ mr r31, r3
+/* 8028BDC8 00287A28 2C 00 00 00 */ cmpwi r0, 0
+/* 8028BDCC 00287A2C 40 82 00 14 */ bne lbl_8028BDE0
+/* 8028BDD0 00287A30 80 0D AA 14 */ lwz r0, lbl_8063FCD4-_SDA_BASE_(r13)
+/* 8028BDD4 00287A34 2C 00 00 00 */ cmpwi r0, 0
+/* 8028BDD8 00287A38 40 82 00 08 */ bne lbl_8028BDE0
+/* 8028BDDC 00287A3C 4B FF ED 35 */ bl stateReady
+lbl_8028BDE0:
+/* 8028BDE0 00287A40 7F C3 F3 78 */ mr r3, r30
+/* 8028BDE4 00287A44 4B FE 29 A1 */ bl OSRestoreInterrupts
+/* 8028BDE8 00287A48 7F E3 FB 78 */ mr r3, r31
+/* 8028BDEC 00287A4C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028BDF0 00287A50 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8028BDF4 00287A54 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028BDF8 00287A58 7C 08 03 A6 */ mtlr r0
+/* 8028BDFC 00287A5C 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028BE00 00287A60 4E 80 00 20 */ blr
+
+.global DVDGetCommandBlockStatus
+DVDGetCommandBlockStatus:
+/* 8028BE04 00287A64 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8028BE08 00287A68 7C 08 02 A6 */ mflr r0
+/* 8028BE0C 00287A6C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8028BE10 00287A70 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8028BE14 00287A74 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8028BE18 00287A78 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8028BE1C 00287A7C 7C 7D 1B 78 */ mr r29, r3
+/* 8028BE20 00287A80 4B FE 29 3D */ bl OSDisableInterrupts
+/* 8028BE24 00287A84 80 1D 00 0C */ lwz r0, 0xc(r29)
+/* 8028BE28 00287A88 7C 7E 1B 78 */ mr r30, r3
+/* 8028BE2C 00287A8C 2C 00 00 03 */ cmpwi r0, 3
+/* 8028BE30 00287A90 40 82 00 0C */ bne lbl_8028BE3C
+/* 8028BE34 00287A94 3B E0 00 01 */ li r31, 1
+/* 8028BE38 00287A98 48 00 00 6C */ b lbl_8028BEA4
+lbl_8028BE3C:
+/* 8028BE3C 00287A9C 80 1D 00 0C */ lwz r0, 0xc(r29)
+/* 8028BE40 00287AA0 2C 00 00 05 */ cmpwi r0, 5
+/* 8028BE44 00287AA4 40 82 00 0C */ bne lbl_8028BE50
+/* 8028BE48 00287AA8 3B E0 00 04 */ li r31, 4
+/* 8028BE4C 00287AAC 48 00 00 58 */ b lbl_8028BEA4
+lbl_8028BE50:
+/* 8028BE50 00287AB0 3F E0 80 52 */ lis r31, lbl_8051B4F0@ha
+/* 8028BE54 00287AB4 80 0D AA 90 */ lwz r0, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028BE58 00287AB8 3B FF B4 F0 */ addi r31, r31, lbl_8051B4F0@l
+/* 8028BE5C 00287ABC 7C 00 F8 40 */ cmplw r0, r31
+/* 8028BE60 00287AC0 40 82 00 40 */ bne lbl_8028BEA0
+/* 8028BE64 00287AC4 48 00 0C C1 */ bl __DVDGetNextWaitingQueue
+/* 8028BE68 00287AC8 2C 03 00 00 */ cmpwi r3, 0
+/* 8028BE6C 00287ACC 41 82 00 1C */ beq lbl_8028BE88
+/* 8028BE70 00287AD0 7C 1D 18 40 */ cmplw r29, r3
+/* 8028BE74 00287AD4 40 82 00 0C */ bne lbl_8028BE80
+/* 8028BE78 00287AD8 3B E0 00 01 */ li r31, 1
+/* 8028BE7C 00287ADC 48 00 00 28 */ b lbl_8028BEA4
+lbl_8028BE80:
+/* 8028BE80 00287AE0 83 FD 00 0C */ lwz r31, 0xc(r29)
+/* 8028BE84 00287AE4 48 00 00 20 */ b lbl_8028BEA4
+lbl_8028BE88:
+/* 8028BE88 00287AE8 7C 1D F8 40 */ cmplw r29, r31
+/* 8028BE8C 00287AEC 40 82 00 0C */ bne lbl_8028BE98
+/* 8028BE90 00287AF0 3B E0 00 00 */ li r31, 0
+/* 8028BE94 00287AF4 48 00 00 10 */ b lbl_8028BEA4
+lbl_8028BE98:
+/* 8028BE98 00287AF8 83 FD 00 0C */ lwz r31, 0xc(r29)
+/* 8028BE9C 00287AFC 48 00 00 08 */ b lbl_8028BEA4
+lbl_8028BEA0:
+/* 8028BEA0 00287B00 83 FD 00 0C */ lwz r31, 0xc(r29)
+lbl_8028BEA4:
+/* 8028BEA4 00287B04 7F C3 F3 78 */ mr r3, r30
+/* 8028BEA8 00287B08 4B FE 28 DD */ bl OSRestoreInterrupts
+/* 8028BEAC 00287B0C 7F E3 FB 78 */ mr r3, r31
+/* 8028BEB0 00287B10 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8028BEB4 00287B14 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8028BEB8 00287B18 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8028BEBC 00287B1C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8028BEC0 00287B20 7C 08 03 A6 */ mtlr r0
+/* 8028BEC4 00287B24 38 21 00 20 */ addi r1, r1, 0x20
+/* 8028BEC8 00287B28 4E 80 00 20 */ blr
+
+.global DVDGetDriveStatus
+DVDGetDriveStatus:
+/* 8028BECC 00287B2C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028BED0 00287B30 7C 08 02 A6 */ mflr r0
+/* 8028BED4 00287B34 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028BED8 00287B38 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028BEDC 00287B3C 93 C1 00 08 */ stw r30, 8(r1)
+/* 8028BEE0 00287B40 4B FE 28 7D */ bl OSDisableInterrupts
+/* 8028BEE4 00287B44 80 0D AA 1C */ lwz r0, lbl_8063FCDC-_SDA_BASE_(r13)
+/* 8028BEE8 00287B48 7C 7F 1B 78 */ mr r31, r3
+/* 8028BEEC 00287B4C 2C 00 00 00 */ cmpwi r0, 0
+/* 8028BEF0 00287B50 41 82 00 0C */ beq lbl_8028BEFC
+/* 8028BEF4 00287B54 3B C0 FF FF */ li r30, -1
+/* 8028BEF8 00287B58 48 00 00 4C */ b lbl_8028BF44
+lbl_8028BEFC:
+/* 8028BEFC 00287B5C 80 0D AA 18 */ lwz r0, lbl_8063FCD8-_SDA_BASE_(r13)
+/* 8028BF00 00287B60 2C 00 00 00 */ cmpwi r0, 0
+/* 8028BF04 00287B64 41 82 00 0C */ beq lbl_8028BF10
+/* 8028BF08 00287B68 3B C0 00 08 */ li r30, 8
+/* 8028BF0C 00287B6C 48 00 00 38 */ b lbl_8028BF44
+lbl_8028BF10:
+/* 8028BF10 00287B70 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028BF14 00287B74 2C 03 00 00 */ cmpwi r3, 0
+/* 8028BF18 00287B78 40 82 00 0C */ bne lbl_8028BF24
+/* 8028BF1C 00287B7C 3B C0 00 00 */ li r30, 0
+/* 8028BF20 00287B80 48 00 00 24 */ b lbl_8028BF44
+lbl_8028BF24:
+/* 8028BF24 00287B84 3C 80 80 51 */ lis r4, lbl_805169A0@ha
+/* 8028BF28 00287B88 38 84 69 A0 */ addi r4, r4, lbl_805169A0@l
+/* 8028BF2C 00287B8C 7C 03 20 40 */ cmplw r3, r4
+/* 8028BF30 00287B90 40 82 00 0C */ bne lbl_8028BF3C
+/* 8028BF34 00287B94 38 60 00 00 */ li r3, 0
+/* 8028BF38 00287B98 48 00 00 08 */ b lbl_8028BF40
+lbl_8028BF3C:
+/* 8028BF3C 00287B9C 4B FF FE C9 */ bl DVDGetCommandBlockStatus
+lbl_8028BF40:
+/* 8028BF40 00287BA0 7C 7E 1B 78 */ mr r30, r3
+lbl_8028BF44:
+/* 8028BF44 00287BA4 7F E3 FB 78 */ mr r3, r31
+/* 8028BF48 00287BA8 4B FE 28 3D */ bl OSRestoreInterrupts
+/* 8028BF4C 00287BAC 7F C3 F3 78 */ mr r3, r30
+/* 8028BF50 00287BB0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028BF54 00287BB4 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8028BF58 00287BB8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028BF5C 00287BBC 7C 08 03 A6 */ mtlr r0
+/* 8028BF60 00287BC0 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028BF64 00287BC4 4E 80 00 20 */ blr
+
+.global DVDSetAutoInvalidation
+DVDSetAutoInvalidation:
+/* 8028BF68 00287BC8 7C 60 1B 78 */ mr r0, r3
+/* 8028BF6C 00287BCC 80 6D 88 BC */ lwz r3, lbl_8063DB7C-_SDA_BASE_(r13)
+/* 8028BF70 00287BD0 90 0D 88 BC */ stw r0, lbl_8063DB7C-_SDA_BASE_(r13)
+/* 8028BF74 00287BD4 4E 80 00 20 */ blr
+
+.global DVDResume
+DVDResume:
+/* 8028BF78 00287BD8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028BF7C 00287BDC 7C 08 02 A6 */ mflr r0
+/* 8028BF80 00287BE0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028BF84 00287BE4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028BF88 00287BE8 4B FE 27 D5 */ bl OSDisableInterrupts
+/* 8028BF8C 00287BEC 38 80 00 00 */ li r4, 0
+/* 8028BF90 00287BF0 7C 7F 1B 78 */ mr r31, r3
+/* 8028BF94 00287BF4 90 8D AA 14 */ stw r4, lbl_8063FCD4-_SDA_BASE_(r13)
+/* 8028BF98 00287BF8 80 0D AA 18 */ lwz r0, lbl_8063FCD8-_SDA_BASE_(r13)
+/* 8028BF9C 00287BFC 2C 00 00 00 */ cmpwi r0, 0
+/* 8028BFA0 00287C00 41 82 00 0C */ beq lbl_8028BFAC
+/* 8028BFA4 00287C04 90 8D AA 18 */ stw r4, lbl_8063FCD8-_SDA_BASE_(r13)
+/* 8028BFA8 00287C08 4B FF EB 69 */ bl stateReady
+lbl_8028BFAC:
+/* 8028BFAC 00287C0C 7F E3 FB 78 */ mr r3, r31
+/* 8028BFB0 00287C10 4B FE 27 D5 */ bl OSRestoreInterrupts
+/* 8028BFB4 00287C14 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028BFB8 00287C18 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028BFBC 00287C1C 7C 08 03 A6 */ mtlr r0
+/* 8028BFC0 00287C20 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028BFC4 00287C24 4E 80 00 20 */ blr
+
+.global DVDCancelAsync
+DVDCancelAsync:
+/* 8028BFC8 00287C28 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8028BFCC 00287C2C 7C 08 02 A6 */ mflr r0
+/* 8028BFD0 00287C30 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8028BFD4 00287C34 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8028BFD8 00287C38 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8028BFDC 00287C3C 7C 9E 23 78 */ mr r30, r4
+/* 8028BFE0 00287C40 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8028BFE4 00287C44 7C 7D 1B 78 */ mr r29, r3
+/* 8028BFE8 00287C48 4B FE 27 75 */ bl OSDisableInterrupts
+/* 8028BFEC 00287C4C 80 9D 00 0C */ lwz r4, 0xc(r29)
+/* 8028BFF0 00287C50 7C 7F 1B 78 */ mr r31, r3
+/* 8028BFF4 00287C54 38 04 00 01 */ addi r0, r4, 1
+/* 8028BFF8 00287C58 28 00 00 0D */ cmplwi r0, 0xd
+/* 8028BFFC 00287C5C 41 81 02 F8 */ bgt lbl_8028C2F4
+/* 8028C000 00287C60 3C 80 80 43 */ lis r4, lbl_80436150@ha
+/* 8028C004 00287C64 54 00 10 3A */ slwi r0, r0, 2
+/* 8028C008 00287C68 38 84 61 50 */ addi r4, r4, lbl_80436150@l
+/* 8028C00C 00287C6C 7C 84 00 2E */ lwzx r4, r4, r0
+/* 8028C010 00287C70 7C 89 03 A6 */ mtctr r4
+/* 8028C014 00287C74 4E 80 04 20 */ bctr
+/* 8028C018 00287C78 2C 1E 00 00 */ cmpwi r30, 0
+/* 8028C01C 00287C7C 41 82 02 D8 */ beq lbl_8028C2F4
+/* 8028C020 00287C80 7F CC F3 78 */ mr r12, r30
+/* 8028C024 00287C84 7F A4 EB 78 */ mr r4, r29
+/* 8028C028 00287C88 38 60 00 00 */ li r3, 0
+/* 8028C02C 00287C8C 7D 89 03 A6 */ mtctr r12
+/* 8028C030 00287C90 4E 80 04 21 */ bctrl
+/* 8028C034 00287C94 48 00 02 C0 */ b lbl_8028C2F4
+/* 8028C038 00287C98 80 0D AA 20 */ lwz r0, lbl_8063FCE0-_SDA_BASE_(r13)
+/* 8028C03C 00287C9C 2C 00 00 00 */ cmpwi r0, 0
+/* 8028C040 00287CA0 41 82 00 10 */ beq lbl_8028C050
+/* 8028C044 00287CA4 4B FE 27 41 */ bl OSRestoreInterrupts
+/* 8028C048 00287CA8 38 60 00 00 */ li r3, 0
+/* 8028C04C 00287CAC 48 00 02 B4 */ b lbl_8028C300
+lbl_8028C050:
+/* 8028C050 00287CB0 38 00 00 01 */ li r0, 1
+/* 8028C054 00287CB4 93 CD AA 80 */ stw r30, lbl_8063FD40-_SDA_BASE_(r13)
+/* 8028C058 00287CB8 90 0D AA 20 */ stw r0, lbl_8063FCE0-_SDA_BASE_(r13)
+/* 8028C05C 00287CBC 80 1D 00 08 */ lwz r0, 8(r29)
+/* 8028C060 00287CC0 28 00 00 04 */ cmplwi r0, 4
+/* 8028C064 00287CC4 41 82 00 1C */ beq lbl_8028C080
+/* 8028C068 00287CC8 28 00 00 21 */ cmplwi r0, 0x21
+/* 8028C06C 00287CCC 41 82 00 14 */ beq lbl_8028C080
+/* 8028C070 00287CD0 28 00 00 22 */ cmplwi r0, 0x22
+/* 8028C074 00287CD4 41 82 00 0C */ beq lbl_8028C080
+/* 8028C078 00287CD8 28 00 00 01 */ cmplwi r0, 1
+/* 8028C07C 00287CDC 40 82 02 78 */ bne lbl_8028C2F4
+lbl_8028C080:
+/* 8028C080 00287CE0 38 00 00 01 */ li r0, 1
+/* 8028C084 00287CE4 90 0D AA 30 */ stw r0, lbl_8063FCF0-_SDA_BASE_(r13)
+/* 8028C088 00287CE8 48 00 02 6C */ b lbl_8028C2F4
+/* 8028C08C 00287CEC 7F A3 EB 78 */ mr r3, r29
+/* 8028C090 00287CF0 48 00 0A F5 */ bl __DVDDequeueWaitingQueue
+/* 8028C094 00287CF4 81 9D 00 28 */ lwz r12, 0x28(r29)
+/* 8028C098 00287CF8 38 00 00 0A */ li r0, 0xa
+/* 8028C09C 00287CFC 90 1D 00 0C */ stw r0, 0xc(r29)
+/* 8028C0A0 00287D00 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028C0A4 00287D04 41 82 00 14 */ beq lbl_8028C0B8
+/* 8028C0A8 00287D08 7F A4 EB 78 */ mr r4, r29
+/* 8028C0AC 00287D0C 38 60 FF FD */ li r3, -3
+/* 8028C0B0 00287D10 7D 89 03 A6 */ mtctr r12
+/* 8028C0B4 00287D14 4E 80 04 21 */ bctrl
+lbl_8028C0B8:
+/* 8028C0B8 00287D18 2C 1E 00 00 */ cmpwi r30, 0
+/* 8028C0BC 00287D1C 41 82 02 38 */ beq lbl_8028C2F4
+/* 8028C0C0 00287D20 7F CC F3 78 */ mr r12, r30
+/* 8028C0C4 00287D24 7F A4 EB 78 */ mr r4, r29
+/* 8028C0C8 00287D28 38 60 00 00 */ li r3, 0
+/* 8028C0CC 00287D2C 7D 89 03 A6 */ mtctr r12
+/* 8028C0D0 00287D30 4E 80 04 21 */ bctrl
+/* 8028C0D4 00287D34 48 00 02 20 */ b lbl_8028C2F4
+/* 8028C0D8 00287D38 80 1D 00 08 */ lwz r0, 8(r29)
+/* 8028C0DC 00287D3C 28 00 00 25 */ cmplwi r0, 0x25
+/* 8028C0E0 00287D40 41 81 00 9C */ bgt lbl_8028C17C
+/* 8028C0E4 00287D44 3C 60 80 43 */ lis r3, lbl_804360B8@ha
+/* 8028C0E8 00287D48 54 00 10 3A */ slwi r0, r0, 2
+/* 8028C0EC 00287D4C 38 63 60 B8 */ addi r3, r3, lbl_804360B8@l
+/* 8028C0F0 00287D50 7C 63 00 2E */ lwzx r3, r3, r0
+/* 8028C0F4 00287D54 7C 69 03 A6 */ mtctr r3
+/* 8028C0F8 00287D58 4E 80 04 20 */ bctr
+/* 8028C0FC 00287D5C 2C 1E 00 00 */ cmpwi r30, 0
+/* 8028C100 00287D60 41 82 01 F4 */ beq lbl_8028C2F4
+/* 8028C104 00287D64 7F CC F3 78 */ mr r12, r30
+/* 8028C108 00287D68 7F A4 EB 78 */ mr r4, r29
+/* 8028C10C 00287D6C 38 60 00 00 */ li r3, 0
+/* 8028C110 00287D70 7D 89 03 A6 */ mtctr r12
+/* 8028C114 00287D74 4E 80 04 21 */ bctrl
+/* 8028C118 00287D78 48 00 01 DC */ b lbl_8028C2F4
+/* 8028C11C 00287D7C 80 0D A7 68 */ lwz r0, lbl_8063FA28-_SDA_BASE_(r13)
+/* 8028C120 00287D80 2C 00 00 00 */ cmpwi r0, 0
+/* 8028C124 00287D84 41 82 00 58 */ beq lbl_8028C17C
+/* 8028C128 00287D88 3C 60 80 51 */ lis r3, lbl_805169A0@ha
+/* 8028C12C 00287D8C 38 00 00 0A */ li r0, 0xa
+/* 8028C130 00287D90 38 63 69 A0 */ addi r3, r3, lbl_805169A0@l
+/* 8028C134 00287D94 90 6D AA 90 */ stw r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028C138 00287D98 81 9D 00 28 */ lwz r12, 0x28(r29)
+/* 8028C13C 00287D9C 90 1D 00 0C */ stw r0, 0xc(r29)
+/* 8028C140 00287DA0 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028C144 00287DA4 41 82 00 14 */ beq lbl_8028C158
+/* 8028C148 00287DA8 7F A4 EB 78 */ mr r4, r29
+/* 8028C14C 00287DAC 38 60 FF FD */ li r3, -3
+/* 8028C150 00287DB0 7D 89 03 A6 */ mtctr r12
+/* 8028C154 00287DB4 4E 80 04 21 */ bctrl
+lbl_8028C158:
+/* 8028C158 00287DB8 2C 1E 00 00 */ cmpwi r30, 0
+/* 8028C15C 00287DBC 41 82 00 18 */ beq lbl_8028C174
+/* 8028C160 00287DC0 7F CC F3 78 */ mr r12, r30
+/* 8028C164 00287DC4 7F A4 EB 78 */ mr r4, r29
+/* 8028C168 00287DC8 38 60 00 00 */ li r3, 0
+/* 8028C16C 00287DCC 7D 89 03 A6 */ mtctr r12
+/* 8028C170 00287DD0 4E 80 04 21 */ bctrl
+lbl_8028C174:
+/* 8028C174 00287DD4 4B FF E9 9D */ bl stateReady
+/* 8028C178 00287DD8 48 00 01 7C */ b lbl_8028C2F4
+lbl_8028C17C:
+/* 8028C17C 00287DDC 80 0D AA 20 */ lwz r0, lbl_8063FCE0-_SDA_BASE_(r13)
+/* 8028C180 00287DE0 2C 00 00 00 */ cmpwi r0, 0
+/* 8028C184 00287DE4 41 82 00 14 */ beq lbl_8028C198
+/* 8028C188 00287DE8 7F E3 FB 78 */ mr r3, r31
+/* 8028C18C 00287DEC 4B FE 25 F9 */ bl OSRestoreInterrupts
+/* 8028C190 00287DF0 38 60 00 00 */ li r3, 0
+/* 8028C194 00287DF4 48 00 01 6C */ b lbl_8028C300
+lbl_8028C198:
+/* 8028C198 00287DF8 38 00 00 01 */ li r0, 1
+/* 8028C19C 00287DFC 93 CD AA 80 */ stw r30, lbl_8063FD40-_SDA_BASE_(r13)
+/* 8028C1A0 00287E00 90 0D AA 20 */ stw r0, lbl_8063FCE0-_SDA_BASE_(r13)
+/* 8028C1A4 00287E04 48 00 01 50 */ b lbl_8028C2F4
+/* 8028C1A8 00287E08 80 0D AA 38 */ lwz r0, lbl_8063FCF8-_SDA_BASE_(r13)
+/* 8028C1AC 00287E0C 2C 00 00 00 */ cmpwi r0, 0
+/* 8028C1B0 00287E10 40 82 00 1C */ bne lbl_8028C1CC
+/* 8028C1B4 00287E14 80 0D AA 34 */ lwz r0, lbl_8063FCF4-_SDA_BASE_(r13)
+/* 8028C1B8 00287E18 2C 00 00 00 */ cmpwi r0, 0
+/* 8028C1BC 00287E1C 40 82 00 10 */ bne lbl_8028C1CC
+/* 8028C1C0 00287E20 4B FE 25 C5 */ bl OSRestoreInterrupts
+/* 8028C1C4 00287E24 38 60 00 00 */ li r3, 0
+/* 8028C1C8 00287E28 48 00 01 38 */ b lbl_8028C300
+lbl_8028C1CC:
+/* 8028C1CC 00287E2C 80 0D AA 34 */ lwz r0, lbl_8063FCF4-_SDA_BASE_(r13)
+/* 8028C1D0 00287E30 2C 00 00 00 */ cmpwi r0, 0
+/* 8028C1D4 00287E34 41 82 00 18 */ beq lbl_8028C1EC
+/* 8028C1D8 00287E38 3C 60 80 51 */ lis r3, lbl_80516A00@ha
+/* 8028C1DC 00287E3C 38 63 6A 00 */ addi r3, r3, lbl_80516A00@l
+/* 8028C1E0 00287E40 4B FD D8 99 */ bl OSCancelAlarm
+/* 8028C1E4 00287E44 38 00 00 00 */ li r0, 0
+/* 8028C1E8 00287E48 90 0D AA 34 */ stw r0, lbl_8063FCF4-_SDA_BASE_(r13)
+lbl_8028C1EC:
+/* 8028C1EC 00287E4C 80 1D 00 0C */ lwz r0, 0xc(r29)
+/* 8028C1F0 00287E50 2C 00 00 04 */ cmpwi r0, 4
+/* 8028C1F4 00287E54 40 82 00 0C */ bne lbl_8028C200
+/* 8028C1F8 00287E58 38 00 00 03 */ li r0, 3
+/* 8028C1FC 00287E5C 90 0D AA 24 */ stw r0, lbl_8063FCE4-_SDA_BASE_(r13)
+lbl_8028C200:
+/* 8028C200 00287E60 80 1D 00 0C */ lwz r0, 0xc(r29)
+/* 8028C204 00287E64 2C 00 00 05 */ cmpwi r0, 5
+/* 8028C208 00287E68 40 82 00 0C */ bne lbl_8028C214
+/* 8028C20C 00287E6C 38 00 00 04 */ li r0, 4
+/* 8028C210 00287E70 90 0D AA 24 */ stw r0, lbl_8063FCE4-_SDA_BASE_(r13)
+lbl_8028C214:
+/* 8028C214 00287E74 80 1D 00 0C */ lwz r0, 0xc(r29)
+/* 8028C218 00287E78 2C 00 00 06 */ cmpwi r0, 6
+/* 8028C21C 00287E7C 40 82 00 0C */ bne lbl_8028C228
+/* 8028C220 00287E80 38 00 00 01 */ li r0, 1
+/* 8028C224 00287E84 90 0D AA 24 */ stw r0, lbl_8063FCE4-_SDA_BASE_(r13)
+lbl_8028C228:
+/* 8028C228 00287E88 80 1D 00 0C */ lwz r0, 0xc(r29)
+/* 8028C22C 00287E8C 2C 00 00 0B */ cmpwi r0, 0xb
+/* 8028C230 00287E90 40 82 00 0C */ bne lbl_8028C23C
+/* 8028C234 00287E94 38 00 00 02 */ li r0, 2
+/* 8028C238 00287E98 90 0D AA 24 */ stw r0, lbl_8063FCE4-_SDA_BASE_(r13)
+lbl_8028C23C:
+/* 8028C23C 00287E9C 80 1D 00 0C */ lwz r0, 0xc(r29)
+/* 8028C240 00287EA0 2C 00 00 07 */ cmpwi r0, 7
+/* 8028C244 00287EA4 40 82 00 0C */ bne lbl_8028C250
+/* 8028C248 00287EA8 38 00 00 07 */ li r0, 7
+/* 8028C24C 00287EAC 90 0D AA 24 */ stw r0, lbl_8063FCE4-_SDA_BASE_(r13)
+lbl_8028C250:
+/* 8028C250 00287EB0 3C 60 80 51 */ lis r3, lbl_805169A0@ha
+/* 8028C254 00287EB4 38 00 00 0A */ li r0, 0xa
+/* 8028C258 00287EB8 38 63 69 A0 */ addi r3, r3, lbl_805169A0@l
+/* 8028C25C 00287EBC 90 6D AA 90 */ stw r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028C260 00287EC0 81 9D 00 28 */ lwz r12, 0x28(r29)
+/* 8028C264 00287EC4 90 1D 00 0C */ stw r0, 0xc(r29)
+/* 8028C268 00287EC8 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028C26C 00287ECC 41 82 00 14 */ beq lbl_8028C280
+/* 8028C270 00287ED0 7F A4 EB 78 */ mr r4, r29
+/* 8028C274 00287ED4 38 60 FF FD */ li r3, -3
+/* 8028C278 00287ED8 7D 89 03 A6 */ mtctr r12
+/* 8028C27C 00287EDC 4E 80 04 21 */ bctrl
+lbl_8028C280:
+/* 8028C280 00287EE0 2C 1E 00 00 */ cmpwi r30, 0
+/* 8028C284 00287EE4 41 82 00 18 */ beq lbl_8028C29C
+/* 8028C288 00287EE8 7F CC F3 78 */ mr r12, r30
+/* 8028C28C 00287EEC 7F A4 EB 78 */ mr r4, r29
+/* 8028C290 00287EF0 38 60 00 00 */ li r3, 0
+/* 8028C294 00287EF4 7D 89 03 A6 */ mtctr r12
+/* 8028C298 00287EF8 4E 80 04 21 */ bctrl
+lbl_8028C29C:
+/* 8028C29C 00287EFC 4B FF E8 75 */ bl stateReady
+/* 8028C2A0 00287F00 48 00 00 54 */ b lbl_8028C2F4
+/* 8028C2A4 00287F04 3C 60 80 51 */ lis r3, lbl_805169A0@ha
+/* 8028C2A8 00287F08 38 00 00 0A */ li r0, 0xa
+/* 8028C2AC 00287F0C 38 63 69 A0 */ addi r3, r3, lbl_805169A0@l
+/* 8028C2B0 00287F10 90 6D AA 90 */ stw r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028C2B4 00287F14 81 9D 00 28 */ lwz r12, 0x28(r29)
+/* 8028C2B8 00287F18 90 1D 00 0C */ stw r0, 0xc(r29)
+/* 8028C2BC 00287F1C 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028C2C0 00287F20 41 82 00 14 */ beq lbl_8028C2D4
+/* 8028C2C4 00287F24 7F A4 EB 78 */ mr r4, r29
+/* 8028C2C8 00287F28 38 60 FF FD */ li r3, -3
+/* 8028C2CC 00287F2C 7D 89 03 A6 */ mtctr r12
+/* 8028C2D0 00287F30 4E 80 04 21 */ bctrl
+lbl_8028C2D4:
+/* 8028C2D4 00287F34 2C 1E 00 00 */ cmpwi r30, 0
+/* 8028C2D8 00287F38 41 82 00 18 */ beq lbl_8028C2F0
+/* 8028C2DC 00287F3C 7F CC F3 78 */ mr r12, r30
+/* 8028C2E0 00287F40 7F A4 EB 78 */ mr r4, r29
+/* 8028C2E4 00287F44 38 60 00 00 */ li r3, 0
+/* 8028C2E8 00287F48 7D 89 03 A6 */ mtctr r12
+/* 8028C2EC 00287F4C 4E 80 04 21 */ bctrl
+lbl_8028C2F0:
+/* 8028C2F0 00287F50 4B FF E8 21 */ bl stateReady
+lbl_8028C2F4:
+/* 8028C2F4 00287F54 7F E3 FB 78 */ mr r3, r31
+/* 8028C2F8 00287F58 4B FE 24 8D */ bl OSRestoreInterrupts
+/* 8028C2FC 00287F5C 38 60 00 01 */ li r3, 1
+lbl_8028C300:
+/* 8028C300 00287F60 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8028C304 00287F64 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8028C308 00287F68 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8028C30C 00287F6C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8028C310 00287F70 7C 08 03 A6 */ mtlr r0
+/* 8028C314 00287F74 38 21 00 20 */ addi r1, r1, 0x20
+/* 8028C318 00287F78 4E 80 00 20 */ blr
+
+.global DVDCancel
+DVDCancel:
+/* 8028C31C 00287F7C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028C320 00287F80 7C 08 02 A6 */ mflr r0
+/* 8028C324 00287F84 3C 80 80 29 */ lis r4, cbForCancelSync@ha
+/* 8028C328 00287F88 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028C32C 00287F8C 38 84 C3 E8 */ addi r4, r4, cbForCancelSync@l
+/* 8028C330 00287F90 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028C334 00287F94 93 C1 00 08 */ stw r30, 8(r1)
+/* 8028C338 00287F98 7C 7E 1B 78 */ mr r30, r3
+/* 8028C33C 00287F9C 4B FF FC 8D */ bl DVDCancelAsync
+/* 8028C340 00287FA0 2C 03 00 00 */ cmpwi r3, 0
+/* 8028C344 00287FA4 40 82 00 0C */ bne lbl_8028C350
+/* 8028C348 00287FA8 38 60 FF FF */ li r3, -1
+/* 8028C34C 00287FAC 48 00 00 84 */ b lbl_8028C3D0
+lbl_8028C350:
+/* 8028C350 00287FB0 4B FE 24 0D */ bl OSDisableInterrupts
+/* 8028C354 00287FB4 7C 7F 1B 78 */ mr r31, r3
+lbl_8028C358:
+/* 8028C358 00287FB8 80 1E 00 0C */ lwz r0, 0xc(r30)
+/* 8028C35C 00287FBC 2C 00 00 00 */ cmpwi r0, 0
+/* 8028C360 00287FC0 41 82 00 64 */ beq lbl_8028C3C4
+/* 8028C364 00287FC4 2C 00 FF FF */ cmpwi r0, -1
+/* 8028C368 00287FC8 41 82 00 5C */ beq lbl_8028C3C4
+/* 8028C36C 00287FCC 2C 00 00 0A */ cmpwi r0, 0xa
+/* 8028C370 00287FD0 41 82 00 54 */ beq lbl_8028C3C4
+/* 8028C374 00287FD4 2C 00 00 03 */ cmpwi r0, 3
+/* 8028C378 00287FD8 40 82 00 40 */ bne lbl_8028C3B8
+/* 8028C37C 00287FDC 80 1E 00 08 */ lwz r0, 8(r30)
+/* 8028C380 00287FE0 28 00 00 04 */ cmplwi r0, 4
+/* 8028C384 00287FE4 41 82 00 40 */ beq lbl_8028C3C4
+/* 8028C388 00287FE8 28 00 00 05 */ cmplwi r0, 5
+/* 8028C38C 00287FEC 41 82 00 38 */ beq lbl_8028C3C4
+/* 8028C390 00287FF0 28 00 00 0D */ cmplwi r0, 0xd
+/* 8028C394 00287FF4 41 82 00 30 */ beq lbl_8028C3C4
+/* 8028C398 00287FF8 28 00 00 21 */ cmplwi r0, 0x21
+/* 8028C39C 00287FFC 41 82 00 28 */ beq lbl_8028C3C4
+/* 8028C3A0 00288000 28 00 00 22 */ cmplwi r0, 0x22
+/* 8028C3A4 00288004 41 82 00 20 */ beq lbl_8028C3C4
+/* 8028C3A8 00288008 28 00 00 0F */ cmplwi r0, 0xf
+/* 8028C3AC 0028800C 41 82 00 18 */ beq lbl_8028C3C4
+/* 8028C3B0 00288010 28 00 00 25 */ cmplwi r0, 0x25
+/* 8028C3B4 00288014 41 82 00 10 */ beq lbl_8028C3C4
+lbl_8028C3B8:
+/* 8028C3B8 00288018 38 6D A9 F8 */ addi r3, r13, lbl_8063FCB8-_SDA_BASE_
+/* 8028C3BC 0028801C 4B FE 5F B9 */ bl OSSleepThread
+/* 8028C3C0 00288020 4B FF FF 98 */ b lbl_8028C358
+lbl_8028C3C4:
+/* 8028C3C4 00288024 7F E3 FB 78 */ mr r3, r31
+/* 8028C3C8 00288028 4B FE 23 BD */ bl OSRestoreInterrupts
+/* 8028C3CC 0028802C 38 60 00 00 */ li r3, 0
+lbl_8028C3D0:
+/* 8028C3D0 00288030 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028C3D4 00288034 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028C3D8 00288038 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8028C3DC 0028803C 7C 08 03 A6 */ mtlr r0
+/* 8028C3E0 00288040 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028C3E4 00288044 4E 80 00 20 */ blr
+
+.global cbForCancelSync
+cbForCancelSync:
+/* 8028C3E8 00288048 38 6D A9 F8 */ addi r3, r13, lbl_8063FCB8-_SDA_BASE_
+/* 8028C3EC 0028804C 4B FE 60 74 */ b OSWakeupThread
+
+.global DVDGetCurrentDiskID
+DVDGetCurrentDiskID:
+/* 8028C3F0 00288050 3C 60 80 00 */ lis r3, 0x8000
+/* 8028C3F4 00288054 4E 80 00 20 */ blr
+
+.global __BS2DVDLowCallback
+__BS2DVDLowCallback:
+/* 8028C3F8 00288058 90 6D AA 50 */ stw r3, lbl_8063FD10-_SDA_BASE_(r13)
+/* 8028C3FC 0028805C 4E 80 00 20 */ blr
+
+.global __DVDGetCoverStatus
+__DVDGetCoverStatus:
+/* 8028C400 00288060 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028C404 00288064 7C 08 02 A6 */ mflr r0
+/* 8028C408 00288068 3C 60 80 29 */ lis r3, __BS2DVDLowCallback@ha
+/* 8028C40C 0028806C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028C410 00288070 38 00 00 00 */ li r0, 0
+/* 8028C414 00288074 38 63 C3 F8 */ addi r3, r3, __BS2DVDLowCallback@l
+/* 8028C418 00288078 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028C41C 0028807C 90 0D AA 50 */ stw r0, lbl_8063FD10-_SDA_BASE_(r13)
+/* 8028C420 00288080 48 00 23 F5 */ bl DVDLowPrepareCoverRegister
+lbl_8028C424:
+/* 8028C424 00288084 80 0D AA 50 */ lwz r0, lbl_8063FD10-_SDA_BASE_(r13)
+/* 8028C428 00288088 2C 00 00 00 */ cmpwi r0, 0
+/* 8028C42C 0028808C 41 82 FF F8 */ beq lbl_8028C424
+/* 8028C430 00288090 80 0D AA 50 */ lwz r0, lbl_8063FD10-_SDA_BASE_(r13)
+/* 8028C434 00288094 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 8028C438 00288098 40 82 00 0C */ bne lbl_8028C444
+/* 8028C43C 0028809C 38 60 00 00 */ li r3, 0
+/* 8028C440 002880A0 48 00 00 74 */ b lbl_8028C4B4
+lbl_8028C444:
+/* 8028C444 002880A4 48 00 23 C1 */ bl DVDLowGetCoverRegister
+/* 8028C448 002880A8 7C 7F 1B 78 */ mr r31, r3
+/* 8028C44C 002880AC 4B FE 63 8D */ bl __OSGetSystemTime
+/* 8028C450 002880B0 3C C0 80 00 */ lis r6, 0x800000F8@ha
+/* 8028C454 002880B4 3C A0 10 62 */ lis r5, 0x10624DD3@ha
+/* 8028C458 002880B8 80 C6 00 F8 */ lwz r6, 0x800000F8@l(r6)
+/* 8028C45C 002880BC 38 E5 4D D3 */ addi r7, r5, 0x10624DD3@l
+/* 8028C460 002880C0 81 0D AA 68 */ lwz r8, lbl_8063FD28-_SDA_BASE_(r13)
+/* 8028C464 002880C4 38 00 00 00 */ li r0, 0
+/* 8028C468 002880C8 54 C5 F0 BE */ srwi r5, r6, 2
+/* 8028C46C 002880CC 81 2D AA 6C */ lwz r9, lbl_8063FD2C-_SDA_BASE_(r13)
+/* 8028C470 002880D0 7C C7 28 16 */ mulhwu r6, r7, r5
+/* 8028C474 002880D4 7C 89 20 10 */ subfc r4, r9, r4
+/* 8028C478 002880D8 6C 05 80 00 */ xoris r5, r0, 0x8000
+/* 8028C47C 002880DC 7C 08 19 10 */ subfe r0, r8, r3
+/* 8028C480 002880E0 6C 00 80 00 */ xoris r0, r0, 0x8000
+/* 8028C484 002880E4 54 C3 D1 BE */ srwi r3, r6, 6
+/* 8028C488 002880E8 1C 63 00 64 */ mulli r3, r3, 0x64
+/* 8028C48C 002880EC 7C 63 20 10 */ subfc r3, r3, r4
+/* 8028C490 002880F0 7C A5 01 10 */ subfe r5, r5, r0
+/* 8028C494 002880F4 7C A0 01 10 */ subfe r5, r0, r0
+/* 8028C498 002880F8 7C A5 00 D1 */ neg. r5, r5
+/* 8028C49C 002880FC 41 82 00 0C */ beq lbl_8028C4A8
+/* 8028C4A0 00288100 38 60 00 00 */ li r3, 0
+/* 8028C4A4 00288104 48 00 00 10 */ b lbl_8028C4B4
+lbl_8028C4A8:
+/* 8028C4A8 00288108 57 E0 07 FE */ clrlwi r0, r31, 0x1f
+/* 8028C4AC 0028810C 7C 60 00 D0 */ neg r3, r0
+/* 8028C4B0 00288110 38 63 00 02 */ addi r3, r3, 2
+lbl_8028C4B4:
+/* 8028C4B4 00288114 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028C4B8 00288118 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028C4BC 0028811C 7C 08 03 A6 */ mtlr r0
+/* 8028C4C0 00288120 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028C4C4 00288124 4E 80 00 20 */ blr
+
+.global DVDCheckDiskAsync
+DVDCheckDiskAsync:
+/* 8028C4C8 00288128 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8028C4CC 0028812C 7C 08 02 A6 */ mflr r0
+/* 8028C4D0 00288130 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8028C4D4 00288134 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8028C4D8 00288138 7C 7F 1B 78 */ mr r31, r3
+/* 8028C4DC 0028813C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8028C4E0 00288140 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8028C4E4 00288144 93 81 00 10 */ stw r28, 0x10(r1)
+/* 8028C4E8 00288148 7C 9C 23 78 */ mr r28, r4
+/* 8028C4EC 0028814C 4B FE 22 71 */ bl OSDisableInterrupts
+/* 8028C4F0 00288150 80 0D AA 1C */ lwz r0, lbl_8063FCDC-_SDA_BASE_(r13)
+/* 8028C4F4 00288154 7C 7E 1B 78 */ mr r30, r3
+/* 8028C4F8 00288158 2C 00 00 00 */ cmpwi r0, 0
+/* 8028C4FC 0028815C 41 82 00 0C */ beq lbl_8028C508
+/* 8028C500 00288160 38 60 FF FF */ li r3, -1
+/* 8028C504 00288164 48 00 00 BC */ b lbl_8028C5C0
+lbl_8028C508:
+/* 8028C508 00288168 80 0D AA 18 */ lwz r0, lbl_8063FCD8-_SDA_BASE_(r13)
+/* 8028C50C 0028816C 2C 00 00 00 */ cmpwi r0, 0
+/* 8028C510 00288170 41 82 00 0C */ beq lbl_8028C51C
+/* 8028C514 00288174 38 60 00 08 */ li r3, 8
+/* 8028C518 00288178 48 00 00 A8 */ b lbl_8028C5C0
+lbl_8028C51C:
+/* 8028C51C 0028817C 80 0D AA 34 */ lwz r0, lbl_8063FCF4-_SDA_BASE_(r13)
+/* 8028C520 00288180 80 0D AA 38 */ lwz r0, lbl_8063FCF8-_SDA_BASE_(r13)
+/* 8028C524 00288184 2C 00 00 00 */ cmpwi r0, 0
+/* 8028C528 00288188 41 82 00 0C */ beq lbl_8028C534
+/* 8028C52C 0028818C 38 60 00 05 */ li r3, 5
+/* 8028C530 00288190 48 00 00 90 */ b lbl_8028C5C0
+lbl_8028C534:
+/* 8028C534 00288194 80 8D AA 90 */ lwz r4, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028C538 00288198 2C 04 00 00 */ cmpwi r4, 0
+/* 8028C53C 0028819C 40 82 00 68 */ bne lbl_8028C5A4
+/* 8028C540 002881A0 80 0D AA 24 */ lwz r0, lbl_8063FCE4-_SDA_BASE_(r13)
+/* 8028C544 002881A4 2C 00 00 04 */ cmpwi r0, 4
+/* 8028C548 002881A8 41 82 00 34 */ beq lbl_8028C57C
+/* 8028C54C 002881AC 40 80 00 1C */ bge lbl_8028C568
+/* 8028C550 002881B0 2C 00 00 02 */ cmpwi r0, 2
+/* 8028C554 002881B4 41 82 00 38 */ beq lbl_8028C58C
+/* 8028C558 002881B8 40 80 00 1C */ bge lbl_8028C574
+/* 8028C55C 002881BC 2C 00 00 01 */ cmpwi r0, 1
+/* 8028C560 002881C0 40 80 00 24 */ bge lbl_8028C584
+/* 8028C564 002881C4 48 00 00 38 */ b lbl_8028C59C
+lbl_8028C568:
+/* 8028C568 002881C8 2C 00 00 07 */ cmpwi r0, 7
+/* 8028C56C 002881CC 41 82 00 28 */ beq lbl_8028C594
+/* 8028C570 002881D0 48 00 00 2C */ b lbl_8028C59C
+lbl_8028C574:
+/* 8028C574 002881D4 38 60 00 04 */ li r3, 4
+/* 8028C578 002881D8 48 00 00 48 */ b lbl_8028C5C0
+lbl_8028C57C:
+/* 8028C57C 002881DC 38 60 00 05 */ li r3, 5
+/* 8028C580 002881E0 48 00 00 40 */ b lbl_8028C5C0
+lbl_8028C584:
+/* 8028C584 002881E4 38 60 00 06 */ li r3, 6
+/* 8028C588 002881E8 48 00 00 38 */ b lbl_8028C5C0
+lbl_8028C58C:
+/* 8028C58C 002881EC 38 60 00 0B */ li r3, 0xb
+/* 8028C590 002881F0 48 00 00 30 */ b lbl_8028C5C0
+lbl_8028C594:
+/* 8028C594 002881F4 38 60 00 07 */ li r3, 7
+/* 8028C598 002881F8 48 00 00 28 */ b lbl_8028C5C0
+lbl_8028C59C:
+/* 8028C59C 002881FC 38 60 00 00 */ li r3, 0
+/* 8028C5A0 00288200 48 00 00 20 */ b lbl_8028C5C0
+lbl_8028C5A4:
+/* 8028C5A4 00288204 3C 60 80 51 */ lis r3, lbl_805169A0@ha
+/* 8028C5A8 00288208 38 63 69 A0 */ addi r3, r3, lbl_805169A0@l
+/* 8028C5AC 0028820C 7C 04 18 40 */ cmplw r4, r3
+/* 8028C5B0 00288210 40 82 00 0C */ bne lbl_8028C5BC
+/* 8028C5B4 00288214 38 60 00 00 */ li r3, 0
+/* 8028C5B8 00288218 48 00 00 08 */ b lbl_8028C5C0
+lbl_8028C5BC:
+/* 8028C5BC 0028821C 80 64 00 0C */ lwz r3, 0xc(r4)
+lbl_8028C5C0:
+/* 8028C5C0 00288220 38 03 00 01 */ addi r0, r3, 1
+/* 8028C5C4 00288224 3B A0 00 01 */ li r29, 1
+/* 8028C5C8 00288228 28 00 00 0D */ cmplwi r0, 0xd
+/* 8028C5CC 0028822C 41 81 01 14 */ bgt lbl_8028C6E0
+/* 8028C5D0 00288230 3C 60 80 43 */ lis r3, lbl_80436188@ha
+/* 8028C5D4 00288234 54 00 10 3A */ slwi r0, r0, 2
+/* 8028C5D8 00288238 38 63 61 88 */ addi r3, r3, lbl_80436188@l
+/* 8028C5DC 0028823C 7C 63 00 2E */ lwzx r3, r3, r0
+/* 8028C5E0 00288240 7C 69 03 A6 */ mtctr r3
+/* 8028C5E4 00288244 4E 80 04 20 */ bctr
+/* 8028C5E8 00288248 38 00 00 00 */ li r0, 0
+/* 8028C5EC 0028824C 2C 1C 00 00 */ cmpwi r28, 0
+/* 8028C5F0 00288250 90 1F 00 0C */ stw r0, 0xc(r31)
+/* 8028C5F4 00288254 41 82 00 18 */ beq lbl_8028C60C
+/* 8028C5F8 00288258 7F 8C E3 78 */ mr r12, r28
+/* 8028C5FC 0028825C 7F E4 FB 78 */ mr r4, r31
+/* 8028C600 00288260 38 60 00 01 */ li r3, 1
+/* 8028C604 00288264 7D 89 03 A6 */ mtctr r12
+/* 8028C608 00288268 4E 80 04 21 */ bctrl
+lbl_8028C60C:
+/* 8028C60C 0028826C 7F C3 F3 78 */ mr r3, r30
+/* 8028C610 00288270 4B FE 21 75 */ bl OSRestoreInterrupts
+/* 8028C614 00288274 48 00 00 CC */ b lbl_8028C6E0
+/* 8028C618 00288278 38 00 00 00 */ li r0, 0
+/* 8028C61C 0028827C 2C 1C 00 00 */ cmpwi r28, 0
+/* 8028C620 00288280 90 1F 00 0C */ stw r0, 0xc(r31)
+/* 8028C624 00288284 41 82 00 18 */ beq lbl_8028C63C
+/* 8028C628 00288288 7F 8C E3 78 */ mr r12, r28
+/* 8028C62C 0028828C 7F E4 FB 78 */ mr r4, r31
+/* 8028C630 00288290 38 60 00 00 */ li r3, 0
+/* 8028C634 00288294 7D 89 03 A6 */ mtctr r12
+/* 8028C638 00288298 4E 80 04 21 */ bctrl
+lbl_8028C63C:
+/* 8028C63C 0028829C 7F C3 F3 78 */ mr r3, r30
+/* 8028C640 002882A0 4B FE 21 45 */ bl OSRestoreInterrupts
+/* 8028C644 002882A4 48 00 00 9C */ b lbl_8028C6E0
+/* 8028C648 002882A8 7F C3 F3 78 */ mr r3, r30
+/* 8028C64C 002882AC 4B FE 21 39 */ bl OSRestoreInterrupts
+/* 8028C650 002882B0 38 60 00 24 */ li r3, 0x24
+/* 8028C654 002882B4 93 9F 00 28 */ stw r28, 0x28(r31)
+/* 8028C658 002882B8 90 7F 00 08 */ stw r3, 8(r31)
+/* 8028C65C 002882BC 80 0D 88 BC */ lwz r0, lbl_8063DB7C-_SDA_BASE_(r13)
+/* 8028C660 002882C0 2C 00 00 00 */ cmpwi r0, 0
+/* 8028C664 002882C4 41 82 00 38 */ beq lbl_8028C69C
+/* 8028C668 002882C8 28 03 00 01 */ cmplwi r3, 1
+/* 8028C66C 002882CC 41 82 00 24 */ beq lbl_8028C690
+/* 8028C670 002882D0 28 03 00 04 */ cmplwi r3, 4
+/* 8028C674 002882D4 41 82 00 1C */ beq lbl_8028C690
+/* 8028C678 002882D8 28 03 00 05 */ cmplwi r3, 5
+/* 8028C67C 002882DC 41 82 00 14 */ beq lbl_8028C690
+/* 8028C680 002882E0 28 03 00 21 */ cmplwi r3, 0x21
+/* 8028C684 002882E4 41 82 00 0C */ beq lbl_8028C690
+/* 8028C688 002882E8 28 03 00 0E */ cmplwi r3, 0xe
+/* 8028C68C 002882EC 40 82 00 10 */ bne lbl_8028C69C
+lbl_8028C690:
+/* 8028C690 002882F0 80 7F 00 18 */ lwz r3, 0x18(r31)
+/* 8028C694 002882F4 80 9F 00 14 */ lwz r4, 0x14(r31)
+/* 8028C698 002882F8 4B FD DF 91 */ bl DCInvalidateRange
+lbl_8028C69C:
+/* 8028C69C 002882FC 4B FE 20 C1 */ bl OSDisableInterrupts
+/* 8028C6A0 00288300 38 00 00 02 */ li r0, 2
+/* 8028C6A4 00288304 7C 7E 1B 78 */ mr r30, r3
+/* 8028C6A8 00288308 90 1F 00 0C */ stw r0, 0xc(r31)
+/* 8028C6AC 0028830C 7F E4 FB 78 */ mr r4, r31
+/* 8028C6B0 00288310 38 60 00 02 */ li r3, 2
+/* 8028C6B4 00288314 48 00 03 11 */ bl __DVDPushWaitingQueue
+/* 8028C6B8 00288318 80 0D AA 90 */ lwz r0, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028C6BC 0028831C 7C 7D 1B 78 */ mr r29, r3
+/* 8028C6C0 00288320 2C 00 00 00 */ cmpwi r0, 0
+/* 8028C6C4 00288324 40 82 00 14 */ bne lbl_8028C6D8
+/* 8028C6C8 00288328 80 0D AA 14 */ lwz r0, lbl_8063FCD4-_SDA_BASE_(r13)
+/* 8028C6CC 0028832C 2C 00 00 00 */ cmpwi r0, 0
+/* 8028C6D0 00288330 40 82 00 08 */ bne lbl_8028C6D8
+/* 8028C6D4 00288334 4B FF E4 3D */ bl stateReady
+lbl_8028C6D8:
+/* 8028C6D8 00288338 7F C3 F3 78 */ mr r3, r30
+/* 8028C6DC 0028833C 4B FE 20 A9 */ bl OSRestoreInterrupts
+lbl_8028C6E0:
+/* 8028C6E0 00288340 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8028C6E4 00288344 7F A3 EB 78 */ mr r3, r29
+/* 8028C6E8 00288348 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8028C6EC 0028834C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8028C6F0 00288350 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 8028C6F4 00288354 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8028C6F8 00288358 7C 08 03 A6 */ mtlr r0
+/* 8028C6FC 0028835C 38 21 00 20 */ addi r1, r1, 0x20
+/* 8028C700 00288360 4E 80 00 20 */ blr
+
+.global __DVDPrepareResetAsync
+__DVDPrepareResetAsync:
+/* 8028C704 00288364 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8028C708 00288368 7C 08 02 A6 */ mflr r0
+/* 8028C70C 0028836C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8028C710 00288370 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8028C714 00288374 7C 7F 1B 78 */ mr r31, r3
+/* 8028C718 00288378 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8028C71C 0028837C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8028C720 00288380 4B FE 20 3D */ bl OSDisableInterrupts
+/* 8028C724 00288384 7C 7D 1B 78 */ mr r29, r3
+/* 8028C728 00288388 48 00 02 65 */ bl __DVDClearWaitingQueue
+/* 8028C72C 0028838C 80 0D AA 20 */ lwz r0, lbl_8063FCE0-_SDA_BASE_(r13)
+/* 8028C730 00288390 2C 00 00 00 */ cmpwi r0, 0
+/* 8028C734 00288394 41 82 00 0C */ beq lbl_8028C740
+/* 8028C738 00288398 93 ED AA 80 */ stw r31, lbl_8063FD40-_SDA_BASE_(r13)
+/* 8028C73C 0028839C 48 00 00 C0 */ b lbl_8028C7FC
+lbl_8028C740:
+/* 8028C740 002883A0 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028C744 002883A4 2C 03 00 00 */ cmpwi r3, 0
+/* 8028C748 002883A8 41 82 00 0C */ beq lbl_8028C754
+/* 8028C74C 002883AC 38 00 00 00 */ li r0, 0
+/* 8028C750 002883B0 90 03 00 28 */ stw r0, 0x28(r3)
+lbl_8028C754:
+/* 8028C754 002883B4 4B FE 20 09 */ bl OSDisableInterrupts
+/* 8028C758 002883B8 7C 7E 1B 78 */ mr r30, r3
+/* 8028C75C 002883BC 4B FE 20 01 */ bl OSDisableInterrupts
+/* 8028C760 002883C0 80 0D AA 90 */ lwz r0, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028C764 002883C4 38 80 00 01 */ li r4, 1
+/* 8028C768 002883C8 90 8D AA 14 */ stw r4, lbl_8063FCD4-_SDA_BASE_(r13)
+/* 8028C76C 002883CC 2C 00 00 00 */ cmpwi r0, 0
+/* 8028C770 002883D0 40 82 00 08 */ bne lbl_8028C778
+/* 8028C774 002883D4 90 8D AA 18 */ stw r4, lbl_8063FCD8-_SDA_BASE_(r13)
+lbl_8028C778:
+/* 8028C778 002883D8 4B FE 20 0D */ bl OSRestoreInterrupts
+/* 8028C77C 002883DC 48 00 00 0C */ b lbl_8028C788
+lbl_8028C780:
+/* 8028C780 002883E0 38 80 00 00 */ li r4, 0
+/* 8028C784 002883E4 4B FF F8 45 */ bl DVDCancelAsync
+lbl_8028C788:
+/* 8028C788 002883E8 48 00 02 A5 */ bl __DVDPopWaitingQueue
+/* 8028C78C 002883EC 2C 03 00 00 */ cmpwi r3, 0
+/* 8028C790 002883F0 40 82 FF F0 */ bne lbl_8028C780
+/* 8028C794 002883F4 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028C798 002883F8 2C 03 00 00 */ cmpwi r3, 0
+/* 8028C79C 002883FC 41 82 00 10 */ beq lbl_8028C7AC
+/* 8028C7A0 00288400 7F E4 FB 78 */ mr r4, r31
+/* 8028C7A4 00288404 4B FF F8 25 */ bl DVDCancelAsync
+/* 8028C7A8 00288408 48 00 00 20 */ b lbl_8028C7C8
+lbl_8028C7AC:
+/* 8028C7AC 0028840C 2C 1F 00 00 */ cmpwi r31, 0
+/* 8028C7B0 00288410 41 82 00 18 */ beq lbl_8028C7C8
+/* 8028C7B4 00288414 7F EC FB 78 */ mr r12, r31
+/* 8028C7B8 00288418 38 60 00 00 */ li r3, 0
+/* 8028C7BC 0028841C 38 80 00 00 */ li r4, 0
+/* 8028C7C0 00288420 7D 89 03 A6 */ mtctr r12
+/* 8028C7C4 00288424 4E 80 04 21 */ bctrl
+lbl_8028C7C8:
+/* 8028C7C8 00288428 4B FE 1F 95 */ bl OSDisableInterrupts
+/* 8028C7CC 0028842C 38 80 00 00 */ li r4, 0
+/* 8028C7D0 00288430 7C 7F 1B 78 */ mr r31, r3
+/* 8028C7D4 00288434 90 8D AA 14 */ stw r4, lbl_8063FCD4-_SDA_BASE_(r13)
+/* 8028C7D8 00288438 80 0D AA 18 */ lwz r0, lbl_8063FCD8-_SDA_BASE_(r13)
+/* 8028C7DC 0028843C 2C 00 00 00 */ cmpwi r0, 0
+/* 8028C7E0 00288440 41 82 00 0C */ beq lbl_8028C7EC
+/* 8028C7E4 00288444 90 8D AA 18 */ stw r4, lbl_8063FCD8-_SDA_BASE_(r13)
+/* 8028C7E8 00288448 4B FF E3 29 */ bl stateReady
+lbl_8028C7EC:
+/* 8028C7EC 0028844C 7F E3 FB 78 */ mr r3, r31
+/* 8028C7F0 00288450 4B FE 1F 95 */ bl OSRestoreInterrupts
+/* 8028C7F4 00288454 7F C3 F3 78 */ mr r3, r30
+/* 8028C7F8 00288458 4B FE 1F 8D */ bl OSRestoreInterrupts
+lbl_8028C7FC:
+/* 8028C7FC 0028845C 7F A3 EB 78 */ mr r3, r29
+/* 8028C800 00288460 4B FE 1F 85 */ bl OSRestoreInterrupts
+/* 8028C804 00288464 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8028C808 00288468 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8028C80C 0028846C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8028C810 00288470 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8028C814 00288474 7C 08 03 A6 */ mtlr r0
+/* 8028C818 00288478 38 21 00 20 */ addi r1, r1, 0x20
+/* 8028C81C 0028847C 4E 80 00 20 */ blr
+Callback:
+/* 8028C820 00288480 38 00 00 01 */ li r0, 1
+/* 8028C824 00288484 90 0D AA 54 */ stw r0, lbl_8063FD14-_SDA_BASE_(r13)
+/* 8028C828 00288488 4E 80 00 20 */ blr
+
+.global __DVDPrepareReset
+__DVDPrepareReset:
+/* 8028C82C 0028848C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8028C830 00288490 7C 08 02 A6 */ mflr r0
+/* 8028C834 00288494 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8028C838 00288498 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8028C83C 0028849C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8028C840 002884A0 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8028C844 002884A4 4B FE 1F 19 */ bl OSDisableInterrupts
+/* 8028C848 002884A8 3B E0 00 00 */ li r31, 0
+/* 8028C84C 002884AC 93 ED AA 54 */ stw r31, lbl_8063FD14-_SDA_BASE_(r13)
+/* 8028C850 002884B0 4B FE 1F 0D */ bl OSDisableInterrupts
+/* 8028C854 002884B4 7C 7D 1B 78 */ mr r29, r3
+/* 8028C858 002884B8 48 00 01 35 */ bl __DVDClearWaitingQueue
+/* 8028C85C 002884BC 80 0D AA 20 */ lwz r0, lbl_8063FCE0-_SDA_BASE_(r13)
+/* 8028C860 002884C0 2C 00 00 00 */ cmpwi r0, 0
+/* 8028C864 002884C4 41 82 00 14 */ beq lbl_8028C878
+/* 8028C868 002884C8 3C 60 80 29 */ lis r3, Callback@ha
+/* 8028C86C 002884CC 38 63 C8 20 */ addi r3, r3, Callback@l
+/* 8028C870 002884D0 90 6D AA 80 */ stw r3, lbl_8063FD40-_SDA_BASE_(r13)
+/* 8028C874 002884D4 48 00 00 B8 */ b lbl_8028C92C
+lbl_8028C878:
+/* 8028C878 002884D8 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028C87C 002884DC 2C 03 00 00 */ cmpwi r3, 0
+/* 8028C880 002884E0 41 82 00 08 */ beq lbl_8028C888
+/* 8028C884 002884E4 93 E3 00 28 */ stw r31, 0x28(r3)
+lbl_8028C888:
+/* 8028C888 002884E8 4B FE 1E D5 */ bl OSDisableInterrupts
+/* 8028C88C 002884EC 7C 7F 1B 78 */ mr r31, r3
+/* 8028C890 002884F0 4B FE 1E CD */ bl OSDisableInterrupts
+/* 8028C894 002884F4 80 0D AA 90 */ lwz r0, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028C898 002884F8 38 80 00 01 */ li r4, 1
+/* 8028C89C 002884FC 90 8D AA 14 */ stw r4, lbl_8063FCD4-_SDA_BASE_(r13)
+/* 8028C8A0 00288500 2C 00 00 00 */ cmpwi r0, 0
+/* 8028C8A4 00288504 40 82 00 08 */ bne lbl_8028C8AC
+/* 8028C8A8 00288508 90 8D AA 18 */ stw r4, lbl_8063FCD8-_SDA_BASE_(r13)
+lbl_8028C8AC:
+/* 8028C8AC 0028850C 4B FE 1E D9 */ bl OSRestoreInterrupts
+/* 8028C8B0 00288510 48 00 00 0C */ b lbl_8028C8BC
+lbl_8028C8B4:
+/* 8028C8B4 00288514 38 80 00 00 */ li r4, 0
+/* 8028C8B8 00288518 4B FF F7 11 */ bl DVDCancelAsync
+lbl_8028C8BC:
+/* 8028C8BC 0028851C 48 00 01 71 */ bl __DVDPopWaitingQueue
+/* 8028C8C0 00288520 2C 03 00 00 */ cmpwi r3, 0
+/* 8028C8C4 00288524 40 82 FF F0 */ bne lbl_8028C8B4
+/* 8028C8C8 00288528 80 6D AA 90 */ lwz r3, lbl_8063FD50-_SDA_BASE_(r13)
+/* 8028C8CC 0028852C 2C 03 00 00 */ cmpwi r3, 0
+/* 8028C8D0 00288530 41 82 00 14 */ beq lbl_8028C8E4
+/* 8028C8D4 00288534 3C 80 80 29 */ lis r4, Callback@ha
+/* 8028C8D8 00288538 38 84 C8 20 */ addi r4, r4, Callback@l
+/* 8028C8DC 0028853C 4B FF F6 ED */ bl DVDCancelAsync
+/* 8028C8E0 00288540 48 00 00 18 */ b lbl_8028C8F8
+lbl_8028C8E4:
+/* 8028C8E4 00288544 3C 00 80 29 */ lis r0, 0x8029
+/* 8028C8E8 00288548 34 00 C8 20 */ addic. r0, r0, -14304
+/* 8028C8EC 0028854C 41 82 00 0C */ beq lbl_8028C8F8
+/* 8028C8F0 00288550 38 00 00 01 */ li r0, 1
+/* 8028C8F4 00288554 90 0D AA 54 */ stw r0, lbl_8063FD14-_SDA_BASE_(r13)
+lbl_8028C8F8:
+/* 8028C8F8 00288558 4B FE 1E 65 */ bl OSDisableInterrupts
+/* 8028C8FC 0028855C 38 80 00 00 */ li r4, 0
+/* 8028C900 00288560 7C 7E 1B 78 */ mr r30, r3
+/* 8028C904 00288564 90 8D AA 14 */ stw r4, lbl_8063FCD4-_SDA_BASE_(r13)
+/* 8028C908 00288568 80 0D AA 18 */ lwz r0, lbl_8063FCD8-_SDA_BASE_(r13)
+/* 8028C90C 0028856C 2C 00 00 00 */ cmpwi r0, 0
+/* 8028C910 00288570 41 82 00 0C */ beq lbl_8028C91C
+/* 8028C914 00288574 90 8D AA 18 */ stw r4, lbl_8063FCD8-_SDA_BASE_(r13)
+/* 8028C918 00288578 4B FF E1 F9 */ bl stateReady
+lbl_8028C91C:
+/* 8028C91C 0028857C 7F C3 F3 78 */ mr r3, r30
+/* 8028C920 00288580 4B FE 1E 65 */ bl OSRestoreInterrupts
+/* 8028C924 00288584 7F E3 FB 78 */ mr r3, r31
+/* 8028C928 00288588 4B FE 1E 5D */ bl OSRestoreInterrupts
+lbl_8028C92C:
+/* 8028C92C 0028858C 7F A3 EB 78 */ mr r3, r29
+/* 8028C930 00288590 4B FE 1E 55 */ bl OSRestoreInterrupts
+/* 8028C934 00288594 4B FE 1E 3D */ bl OSEnableInterrupts
+lbl_8028C938:
+/* 8028C938 00288598 80 0D AA 54 */ lwz r0, lbl_8063FD14-_SDA_BASE_(r13)
+/* 8028C93C 0028859C 2C 00 00 01 */ cmpwi r0, 1
+/* 8028C940 002885A0 40 82 FF F8 */ bne lbl_8028C938
+/* 8028C944 002885A4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8028C948 002885A8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8028C94C 002885AC 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8028C950 002885B0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8028C954 002885B4 7C 08 03 A6 */ mtlr r0
+/* 8028C958 002885B8 38 21 00 20 */ addi r1, r1, 0x20
+/* 8028C95C 002885BC 4E 80 00 20 */ blr
+
+.global __DVDTestAlarm
+__DVDTestAlarm:
+/* 8028C960 002885C0 3C 80 80 52 */ lis r4, lbl_8051B4C0@ha
+/* 8028C964 002885C4 38 84 B4 C0 */ addi r4, r4, lbl_8051B4C0@l
+/* 8028C968 002885C8 7C 03 20 40 */ cmplw r3, r4
+/* 8028C96C 002885CC 40 82 00 0C */ bne lbl_8028C978
+/* 8028C970 002885D0 38 60 00 01 */ li r3, 1
+/* 8028C974 002885D4 4E 80 00 20 */ blr
+lbl_8028C978:
+/* 8028C978 002885D8 48 00 21 84 */ b __DVDLowTestAlarm
+/* 8028C97C 002885DC 4E 80 00 20 */ blr
+
+.global __DVDStopMotorAsync
+__DVDStopMotorAsync:
+/* 8028C980 002885E0 38 60 00 01 */ li r3, 1
+/* 8028C984 002885E4 4E 80 00 20 */ blr
+
+.global __DVDRestartMotor
+__DVDRestartMotor:
+/* 8028C988 002885E8 4E 80 00 20 */ blr
diff --git a/asm/SDK/DVD/dvdFatal.s b/asm/SDK/DVD/dvdFatal.s
new file mode 100644
index 0000000..e4ab30d
--- /dev/null
+++ b/asm/SDK/DVD/dvdFatal.s
@@ -0,0 +1,98 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+__DVDShowFatalMessage:
+/* 8028CFDC 00288C3C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8028CFE0 00288C40 7C 08 02 A6 */ mflr r0
+/* 8028CFE4 00288C44 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8028CFE8 00288C48 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8028CFEC 00288C4C 3B E0 00 00 */ li r31, 0
+/* 8028CFF0 00288C50 88 A2 A2 10 */ lbz r5, lbl_80642810-_SDA2_BASE_(r2)
+/* 8028CFF4 00288C54 88 82 A2 11 */ lbz r4, lbl_80642811-_SDA2_BASE_(r2)
+/* 8028CFF8 00288C58 88 62 A2 12 */ lbz r3, lbl_80642812-_SDA2_BASE_(r2)
+/* 8028CFFC 00288C5C 88 02 A2 13 */ lbz r0, lbl_80642813-_SDA2_BASE_(r2)
+/* 8028D000 00288C60 98 A1 00 10 */ stb r5, 0x10(r1)
+/* 8028D004 00288C64 98 81 00 11 */ stb r4, 0x11(r1)
+/* 8028D008 00288C68 98 61 00 12 */ stb r3, 0x12(r1)
+/* 8028D00C 00288C6C 98 01 00 13 */ stb r0, 0x13(r1)
+/* 8028D010 00288C70 48 05 F4 39 */ bl func_802EC448
+/* 8028D014 00288C74 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 8028D018 00288C78 40 82 00 10 */ bne lbl_8028D028
+/* 8028D01C 00288C7C 38 60 00 01 */ li r3, 1
+/* 8028D020 00288C80 4B FE 0D 4D */ bl OSSetFontEncode
+/* 8028D024 00288C84 48 00 00 0C */ b lbl_8028D030
+lbl_8028D028:
+/* 8028D028 00288C88 38 60 00 00 */ li r3, 0
+/* 8028D02C 00288C8C 4B FE 0D 41 */ bl OSSetFontEncode
+lbl_8028D030:
+/* 8028D030 00288C90 48 05 F4 19 */ bl func_802EC448
+/* 8028D034 00288C94 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 8028D038 00288C98 28 00 00 06 */ cmplwi r0, 6
+/* 8028D03C 00288C9C 40 81 00 14 */ ble lbl_8028D050
+/* 8028D040 00288CA0 3C 60 80 40 */ lis r3, lbl_803FD9B8@ha
+/* 8028D044 00288CA4 38 63 D9 B8 */ addi r3, r3, lbl_803FD9B8@l
+/* 8028D048 00288CA8 80 A3 00 04 */ lwz r5, 4(r3)
+/* 8028D04C 00288CAC 48 00 00 18 */ b lbl_8028D064
+lbl_8028D050:
+/* 8028D050 00288CB0 48 05 F3 F9 */ bl func_802EC448
+/* 8028D054 00288CB4 3C 80 80 40 */ lis r4, lbl_803FD9B8@ha
+/* 8028D058 00288CB8 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d
+/* 8028D05C 00288CBC 38 84 D9 B8 */ addi r4, r4, lbl_803FD9B8@l
+/* 8028D060 00288CC0 7C A4 00 2E */ lwzx r5, r4, r0
+lbl_8028D064:
+/* 8028D064 00288CC4 80 01 00 10 */ lwz r0, 0x10(r1)
+/* 8028D068 00288CC8 38 61 00 0C */ addi r3, r1, 0xc
+/* 8028D06C 00288CCC 93 E1 00 08 */ stw r31, 8(r1)
+/* 8028D070 00288CD0 38 81 00 08 */ addi r4, r1, 8
+/* 8028D074 00288CD4 90 01 00 0C */ stw r0, 0xc(r1)
+/* 8028D078 00288CD8 4B FE 02 19 */ bl OSFatal
+/* 8028D07C 00288CDC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8028D080 00288CE0 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8028D084 00288CE4 7C 08 03 A6 */ mtlr r0
+/* 8028D088 00288CE8 38 21 00 20 */ addi r1, r1, 0x20
+/* 8028D08C 00288CEC 4E 80 00 20 */ blr
+
+.global DVDSetAutoFatalMessaging
+DVDSetAutoFatalMessaging:
+/* 8028D090 00288CF0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028D094 00288CF4 7C 08 02 A6 */ mflr r0
+/* 8028D098 00288CF8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028D09C 00288CFC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028D0A0 00288D00 7C 7F 1B 78 */ mr r31, r3
+/* 8028D0A4 00288D04 4B FE 16 B9 */ bl OSDisableInterrupts
+/* 8028D0A8 00288D08 80 AD AA A0 */ lwz r5, lbl_8063FD60-_SDA_BASE_(r13)
+/* 8028D0AC 00288D0C 2C 1F 00 00 */ cmpwi r31, 0
+/* 8028D0B0 00288D10 38 80 00 00 */ li r4, 0
+/* 8028D0B4 00288D14 7C 05 00 D0 */ neg r0, r5
+/* 8028D0B8 00288D18 7C 00 2B 78 */ or r0, r0, r5
+/* 8028D0BC 00288D1C 54 1F 0F FE */ srwi r31, r0, 0x1f
+/* 8028D0C0 00288D20 41 82 00 0C */ beq lbl_8028D0CC
+/* 8028D0C4 00288D24 3C 80 80 29 */ lis r4, __DVDShowFatalMessage@ha
+/* 8028D0C8 00288D28 38 84 CF DC */ addi r4, r4, __DVDShowFatalMessage@l
+lbl_8028D0CC:
+/* 8028D0CC 00288D2C 90 8D AA A0 */ stw r4, lbl_8063FD60-_SDA_BASE_(r13)
+/* 8028D0D0 00288D30 4B FE 16 B5 */ bl OSRestoreInterrupts
+/* 8028D0D4 00288D34 7F E3 FB 78 */ mr r3, r31
+/* 8028D0D8 00288D38 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028D0DC 00288D3C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028D0E0 00288D40 7C 08 03 A6 */ mtlr r0
+/* 8028D0E4 00288D44 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028D0E8 00288D48 4E 80 00 20 */ blr
+
+.global __DVDGetAutoFatalMessaging
+__DVDGetAutoFatalMessaging:
+/* 8028D0EC 00288D4C 80 6D AA A0 */ lwz r3, lbl_8063FD60-_SDA_BASE_(r13)
+/* 8028D0F0 00288D50 7C 03 00 D0 */ neg r0, r3
+/* 8028D0F4 00288D54 7C 00 1B 78 */ or r0, r0, r3
+/* 8028D0F8 00288D58 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 8028D0FC 00288D5C 4E 80 00 20 */ blr
+
+.global __DVDPrintFatalMessage
+__DVDPrintFatalMessage:
+/* 8028D100 00288D60 81 8D AA A0 */ lwz r12, lbl_8063FD60-_SDA_BASE_(r13)
+/* 8028D104 00288D64 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028D108 00288D68 4D 82 00 20 */ beqlr
+/* 8028D10C 00288D6C 7D 89 03 A6 */ mtctr r12
+/* 8028D110 00288D70 4E 80 04 20 */ bctr
+/* 8028D114 00288D74 4E 80 00 20 */ blr
diff --git a/asm/SDK/DVD/dvd_broadway.s b/asm/SDK/DVD/dvd_broadway.s
new file mode 100644
index 0000000..1898c16
--- /dev/null
+++ b/asm/SDK/DVD/dvd_broadway.s
@@ -0,0 +1,1874 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+doTransactionCallback:
+/* 8028D118 00288D78 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028D11C 00288D7C 7C 08 02 A6 */ mflr r0
+/* 8028D120 00288D80 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028D124 00288D84 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028D128 00288D88 7C 9F 23 78 */ mr r31, r4
+/* 8028D12C 00288D8C 80 A4 00 0C */ lwz r5, 0xc(r4)
+/* 8028D130 00288D90 3C 05 01 15 */ addis r0, r5, 0x115
+/* 8028D134 00288D94 28 00 DA ED */ cmplwi r0, 0xdaed
+/* 8028D138 00288D98 41 82 00 24 */ beq lbl_8028D15C
+/* 8028D13C 00288D9C 3C 60 80 43 */ lis r3, lbl_804366A0@ha
+/* 8028D140 00288DA0 38 63 66 A0 */ addi r3, r3, lbl_804366A0@l
+/* 8028D144 00288DA4 4C C6 31 82 */ crclr 6
+/* 8028D148 00288DA8 4B D7 A9 7D */ bl func_80007AC4
+/* 8028D14C 00288DAC 3C 60 FE EC */ lis r3, 0xFEEBDAED@ha
+/* 8028D150 00288DB0 38 03 DA ED */ addi r0, r3, 0xFEEBDAED@l
+/* 8028D154 00288DB4 90 1F 00 0C */ stw r0, 0xc(r31)
+/* 8028D158 00288DB8 48 00 00 58 */ b lbl_8028D1B0
+lbl_8028D15C:
+/* 8028D15C 00288DBC 38 C0 00 00 */ li r6, 0
+/* 8028D160 00288DC0 98 CD AA A8 */ stb r6, lbl_8063FD68-_SDA_BASE_(r13)
+/* 8028D164 00288DC4 80 04 00 00 */ lwz r0, 0(r4)
+/* 8028D168 00288DC8 2C 00 00 00 */ cmpwi r0, 0
+/* 8028D16C 00288DCC 41 82 00 44 */ beq lbl_8028D1B0
+/* 8028D170 00288DD0 88 0D AA C8 */ lbz r0, lbl_8063FD88-_SDA_BASE_(r13)
+/* 8028D174 00288DD4 38 A0 00 01 */ li r5, 1
+/* 8028D178 00288DD8 98 AD AA A9 */ stb r5, lbl_8063FD69-_SDA_BASE_(r13)
+/* 8028D17C 00288DDC 28 00 00 01 */ cmplwi r0, 1
+/* 8028D180 00288DE0 40 82 00 0C */ bne lbl_8028D18C
+/* 8028D184 00288DE4 98 CD AA C8 */ stb r6, lbl_8063FD88-_SDA_BASE_(r13)
+/* 8028D188 00288DE8 60 63 00 08 */ ori r3, r3, 8
+lbl_8028D18C:
+/* 8028D18C 00288DEC 54 60 07 FF */ clrlwi. r0, r3, 0x1f
+/* 8028D190 00288DF0 41 82 00 0C */ beq lbl_8028D19C
+/* 8028D194 00288DF4 38 00 00 00 */ li r0, 0
+/* 8028D198 00288DF8 90 0D AA BC */ stw r0, lbl_8063FD7C-_SDA_BASE_(r13)
+lbl_8028D19C:
+/* 8028D19C 00288DFC 81 84 00 00 */ lwz r12, 0(r4)
+/* 8028D1A0 00288E00 7D 89 03 A6 */ mtctr r12
+/* 8028D1A4 00288E04 4E 80 04 21 */ bctrl
+/* 8028D1A8 00288E08 38 00 00 00 */ li r0, 0
+/* 8028D1AC 00288E0C 98 0D AA A9 */ stb r0, lbl_8063FD69-_SDA_BASE_(r13)
+lbl_8028D1B0:
+/* 8028D1B0 00288E10 38 00 00 00 */ li r0, 0
+/* 8028D1B4 00288E14 38 60 00 00 */ li r3, 0
+/* 8028D1B8 00288E18 98 1F 00 08 */ stb r0, 8(r31)
+/* 8028D1BC 00288E1C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028D1C0 00288E20 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028D1C4 00288E24 7C 08 03 A6 */ mtlr r0
+/* 8028D1C8 00288E28 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028D1CC 00288E2C 4E 80 00 20 */ blr
+
+doPrepareCoverRegisterCallback:
+/* 8028D1D0 00288E30 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028D1D4 00288E34 7C 08 02 A6 */ mflr r0
+/* 8028D1D8 00288E38 3C A0 80 52 */ lis r5, lbl_8051B7E0@ha
+/* 8028D1DC 00288E3C 3C C0 80 52 */ lis r6, lbl_8051B800@ha
+/* 8028D1E0 00288E40 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028D1E4 00288E44 38 A5 B7 E0 */ addi r5, r5, lbl_8051B7E0@l
+/* 8028D1E8 00288E48 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028D1EC 00288E4C 7C 9F 23 78 */ mr r31, r4
+/* 8028D1F0 00288E50 80 06 B8 00 */ lwz r0, lbl_8051B800@l(r6)
+/* 8028D1F4 00288E54 38 C0 00 00 */ li r6, 0
+/* 8028D1F8 00288E58 98 CD AA A8 */ stb r6, lbl_8063FD68-_SDA_BASE_(r13)
+/* 8028D1FC 00288E5C 90 05 00 04 */ stw r0, 4(r5)
+/* 8028D200 00288E60 80 A4 00 0C */ lwz r5, 0xc(r4)
+/* 8028D204 00288E64 3C 05 01 15 */ addis r0, r5, 0x115
+/* 8028D208 00288E68 28 00 DA ED */ cmplwi r0, 0xdaed
+/* 8028D20C 00288E6C 41 82 00 24 */ beq lbl_8028D230
+/* 8028D210 00288E70 3C 60 80 43 */ lis r3, lbl_804366A0@ha
+/* 8028D214 00288E74 38 63 66 A0 */ addi r3, r3, lbl_804366A0@l
+/* 8028D218 00288E78 4C C6 31 82 */ crclr 6
+/* 8028D21C 00288E7C 4B D7 A8 A9 */ bl func_80007AC4
+/* 8028D220 00288E80 3C 60 FE EC */ lis r3, 0xFEEBDAED@ha
+/* 8028D224 00288E84 38 03 DA ED */ addi r0, r3, 0xFEEBDAED@l
+/* 8028D228 00288E88 90 1F 00 0C */ stw r0, 0xc(r31)
+/* 8028D22C 00288E8C 48 00 00 40 */ b lbl_8028D26C
+lbl_8028D230:
+/* 8028D230 00288E90 80 04 00 00 */ lwz r0, 0(r4)
+/* 8028D234 00288E94 2C 00 00 00 */ cmpwi r0, 0
+/* 8028D238 00288E98 41 82 00 34 */ beq lbl_8028D26C
+/* 8028D23C 00288E9C 88 0D AA C8 */ lbz r0, lbl_8063FD88-_SDA_BASE_(r13)
+/* 8028D240 00288EA0 38 A0 00 01 */ li r5, 1
+/* 8028D244 00288EA4 98 AD AA A9 */ stb r5, lbl_8063FD69-_SDA_BASE_(r13)
+/* 8028D248 00288EA8 28 00 00 01 */ cmplwi r0, 1
+/* 8028D24C 00288EAC 40 82 00 0C */ bne lbl_8028D258
+/* 8028D250 00288EB0 98 CD AA C8 */ stb r6, lbl_8063FD88-_SDA_BASE_(r13)
+/* 8028D254 00288EB4 60 63 00 08 */ ori r3, r3, 8
+lbl_8028D258:
+/* 8028D258 00288EB8 81 84 00 00 */ lwz r12, 0(r4)
+/* 8028D25C 00288EBC 7D 89 03 A6 */ mtctr r12
+/* 8028D260 00288EC0 4E 80 04 21 */ bctrl
+/* 8028D264 00288EC4 38 00 00 00 */ li r0, 0
+/* 8028D268 00288EC8 98 0D AA A9 */ stb r0, lbl_8063FD69-_SDA_BASE_(r13)
+lbl_8028D26C:
+/* 8028D26C 00288ECC 38 00 00 00 */ li r0, 0
+/* 8028D270 00288ED0 38 60 00 00 */ li r3, 0
+/* 8028D274 00288ED4 98 1F 00 08 */ stb r0, 8(r31)
+/* 8028D278 00288ED8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028D27C 00288EDC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028D280 00288EE0 7C 08 03 A6 */ mtlr r0
+/* 8028D284 00288EE4 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028D288 00288EE8 4E 80 00 20 */ blr
+
+.global DVDLowInit
+DVDLowInit:
+/* 8028D28C 00288EEC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028D290 00288EF0 7C 08 02 A6 */ mflr r0
+/* 8028D294 00288EF4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028D298 00288EF8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028D29C 00288EFC 3F E0 80 43 */ lis r31, lbl_804366A0@ha
+/* 8028D2A0 00288F00 3B FF 66 A0 */ addi r31, r31, lbl_804366A0@l
+/* 8028D2A4 00288F04 93 C1 00 08 */ stw r30, 8(r1)
+/* 8028D2A8 00288F08 88 0D AA B5 */ lbz r0, lbl_8063FD75-_SDA_BASE_(r13)
+/* 8028D2AC 00288F0C 2C 00 00 00 */ cmpwi r0, 0
+/* 8028D2B0 00288F10 40 82 01 84 */ bne lbl_8028D434
+/* 8028D2B4 00288F14 38 00 00 01 */ li r0, 1
+/* 8028D2B8 00288F18 98 0D AA B5 */ stb r0, lbl_8063FD75-_SDA_BASE_(r13)
+/* 8028D2BC 00288F1C 48 01 5A 85 */ bl func_802A2D40
+/* 8028D2C0 00288F20 2C 03 00 00 */ cmpwi r3, 0
+/* 8028D2C4 00288F24 41 82 00 1C */ beq lbl_8028D2E0
+/* 8028D2C8 00288F28 7C 64 1B 78 */ mr r4, r3
+/* 8028D2CC 00288F2C 38 7F 00 60 */ addi r3, r31, 0x60
+/* 8028D2D0 00288F30 4C C6 31 82 */ crclr 6
+/* 8028D2D4 00288F34 4B D7 A7 F1 */ bl func_80007AC4
+/* 8028D2D8 00288F38 38 60 00 00 */ li r3, 0
+/* 8028D2DC 00288F3C 48 00 01 FC */ b lbl_8028D4D8
+lbl_8028D2E0:
+/* 8028D2E0 00288F40 48 01 56 15 */ bl func_802A28F4
+/* 8028D2E4 00288F44 7C 7E 1B 78 */ mr r30, r3
+/* 8028D2E8 00288F48 48 01 56 05 */ bl func_802A28EC
+/* 8028D2EC 00288F4C 57 C0 06 FF */ clrlwi. r0, r30, 0x1b
+/* 8028D2F0 00288F50 41 82 00 0C */ beq lbl_8028D2FC
+/* 8028D2F4 00288F54 38 1E 00 1F */ addi r0, r30, 0x1f
+/* 8028D2F8 00288F58 54 1E 06 FE */ clrlwi r30, r0, 0x1b
+lbl_8028D2FC:
+/* 8028D2FC 00288F5C 38 1E 00 80 */ addi r0, r30, 0x80
+/* 8028D300 00288F60 7C 00 18 40 */ cmplw r0, r3
+/* 8028D304 00288F64 40 81 00 14 */ ble lbl_8028D318
+/* 8028D308 00288F68 38 7F 00 80 */ addi r3, r31, 0x80
+/* 8028D30C 00288F6C 38 80 00 80 */ li r4, 0x80
+/* 8028D310 00288F70 4C C6 31 82 */ crclr 6
+/* 8028D314 00288F74 4B D7 A7 B1 */ bl func_80007AC4
+lbl_8028D318:
+/* 8028D318 00288F78 38 7E 00 80 */ addi r3, r30, 0x80
+/* 8028D31C 00288F7C 48 01 55 E1 */ bl func_802A28FC
+/* 8028D320 00288F80 2C 1E 00 00 */ cmpwi r30, 0
+/* 8028D324 00288F84 93 CD AA C4 */ stw r30, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028D328 00288F88 40 82 00 18 */ bne lbl_8028D340
+/* 8028D32C 00288F8C 38 7F 00 BC */ addi r3, r31, 0xbc
+/* 8028D330 00288F90 4C C6 31 82 */ crclr 6
+/* 8028D334 00288F94 4B D7 A7 91 */ bl func_80007AC4
+/* 8028D338 00288F98 38 00 00 00 */ li r0, 0
+/* 8028D33C 00288F9C 48 00 00 68 */ b lbl_8028D3A4
+lbl_8028D340:
+/* 8028D340 00288FA0 48 01 55 B5 */ bl func_802A28F4
+/* 8028D344 00288FA4 7C 7E 1B 78 */ mr r30, r3
+/* 8028D348 00288FA8 48 01 55 A5 */ bl func_802A28EC
+/* 8028D34C 00288FAC 57 C0 06 FF */ clrlwi. r0, r30, 0x1b
+/* 8028D350 00288FB0 41 82 00 0C */ beq lbl_8028D35C
+/* 8028D354 00288FB4 38 1E 00 1F */ addi r0, r30, 0x1f
+/* 8028D358 00288FB8 54 1E 06 FE */ clrlwi r30, r0, 0x1b
+lbl_8028D35C:
+/* 8028D35C 00288FBC 38 1E 00 20 */ addi r0, r30, 0x20
+/* 8028D360 00288FC0 7C 00 18 40 */ cmplw r0, r3
+/* 8028D364 00288FC4 40 81 00 14 */ ble lbl_8028D378
+/* 8028D368 00288FC8 38 7F 00 80 */ addi r3, r31, 0x80
+/* 8028D36C 00288FCC 38 80 00 20 */ li r4, 0x20
+/* 8028D370 00288FD0 4C C6 31 82 */ crclr 6
+/* 8028D374 00288FD4 4B D7 A7 51 */ bl func_80007AC4
+lbl_8028D378:
+/* 8028D378 00288FD8 38 7E 00 20 */ addi r3, r30, 0x20
+/* 8028D37C 00288FDC 48 01 55 81 */ bl func_802A28FC
+/* 8028D380 00288FE0 2C 1E 00 00 */ cmpwi r30, 0
+/* 8028D384 00288FE4 93 CD AA C0 */ stw r30, lbl_8063FD80-_SDA_BASE_(r13)
+/* 8028D388 00288FE8 40 82 00 18 */ bne lbl_8028D3A0
+/* 8028D38C 00288FEC 38 7F 00 E4 */ addi r3, r31, 0xe4
+/* 8028D390 00288FF0 4C C6 31 82 */ crclr 6
+/* 8028D394 00288FF4 4B D7 A7 31 */ bl func_80007AC4
+/* 8028D398 00288FF8 38 00 00 00 */ li r0, 0
+/* 8028D39C 00288FFC 48 00 00 08 */ b lbl_8028D3A4
+lbl_8028D3A0:
+/* 8028D3A0 00289000 38 00 00 01 */ li r0, 1
+lbl_8028D3A4:
+/* 8028D3A4 00289004 2C 00 00 00 */ cmpwi r0, 0
+/* 8028D3A8 00289008 40 82 00 0C */ bne lbl_8028D3B4
+/* 8028D3AC 0028900C 38 60 00 00 */ li r3, 0
+/* 8028D3B0 00289010 48 00 01 28 */ b lbl_8028D4D8
+lbl_8028D3B4:
+/* 8028D3B4 00289014 88 0D AA B4 */ lbz r0, lbl_8063FD74-_SDA_BASE_(r13)
+/* 8028D3B8 00289018 2C 00 00 00 */ cmpwi r0, 0
+/* 8028D3BC 0028901C 40 82 00 78 */ bne lbl_8028D434
+/* 8028D3C0 00289020 38 A0 00 00 */ li r5, 0
+/* 8028D3C4 00289024 3C 80 80 52 */ lis r4, lbl_8051B760@ha
+/* 8028D3C8 00289028 94 A4 B7 60 */ stwu r5, lbl_8051B760@l(r4)
+/* 8028D3CC 0028902C 3C 60 FE EC */ lis r3, 0xFEEBDAED@ha
+/* 8028D3D0 00289030 38 00 00 01 */ li r0, 1
+/* 8028D3D4 00289034 38 C0 00 02 */ li r6, 2
+/* 8028D3D8 00289038 90 A4 00 04 */ stw r5, 4(r4)
+/* 8028D3DC 0028903C 38 63 DA ED */ addi r3, r3, 0xFEEBDAED@l
+/* 8028D3E0 00289040 98 A4 00 08 */ stb r5, 8(r4)
+/* 8028D3E4 00289044 90 64 00 0C */ stw r3, 0xc(r4)
+/* 8028D3E8 00289048 90 A4 00 10 */ stw r5, 0x10(r4)
+/* 8028D3EC 0028904C 90 A4 00 20 */ stw r5, 0x20(r4)
+/* 8028D3F0 00289050 90 A4 00 24 */ stw r5, 0x24(r4)
+/* 8028D3F4 00289054 98 A4 00 28 */ stb r5, 0x28(r4)
+/* 8028D3F8 00289058 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 8028D3FC 0028905C 90 04 00 30 */ stw r0, 0x30(r4)
+/* 8028D400 00289060 90 A4 00 40 */ stw r5, 0x40(r4)
+/* 8028D404 00289064 90 A4 00 44 */ stw r5, 0x44(r4)
+/* 8028D408 00289068 98 A4 00 48 */ stb r5, 0x48(r4)
+/* 8028D40C 0028906C 90 64 00 4C */ stw r3, 0x4c(r4)
+/* 8028D410 00289070 90 C4 00 50 */ stw r6, 0x50(r4)
+/* 8028D414 00289074 38 C0 00 03 */ li r6, 3
+/* 8028D418 00289078 90 A4 00 60 */ stw r5, 0x60(r4)
+/* 8028D41C 0028907C 90 A4 00 64 */ stw r5, 0x64(r4)
+/* 8028D420 00289080 98 A4 00 68 */ stb r5, 0x68(r4)
+/* 8028D424 00289084 90 64 00 6C */ stw r3, 0x6c(r4)
+/* 8028D428 00289088 90 C4 00 70 */ stw r6, 0x70(r4)
+/* 8028D42C 0028908C 90 AD AA B0 */ stw r5, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028D430 00289090 98 0D AA B4 */ stb r0, lbl_8063FD74-_SDA_BASE_(r13)
+lbl_8028D434:
+/* 8028D434 00289094 80 6D AA C0 */ lwz r3, lbl_8063FD80-_SDA_BASE_(r13)
+/* 8028D438 00289098 38 8D 88 D8 */ addi r4, r13, lbl_8063DB98-_SDA_BASE_
+/* 8028D43C 0028909C 38 A0 00 20 */ li r5, 0x20
+/* 8028D440 002890A0 4B F4 0F 51 */ bl strncpy
+/* 8028D444 002890A4 80 6D AA C0 */ lwz r3, lbl_8063FD80-_SDA_BASE_(r13)
+/* 8028D448 002890A8 38 80 00 00 */ li r4, 0
+/* 8028D44C 002890AC 48 01 5D 0D */ bl func_802A3158
+/* 8028D450 002890B0 2C 03 00 00 */ cmpwi r3, 0
+/* 8028D454 002890B4 90 6D 88 D0 */ stw r3, lbl_8063DB90-_SDA_BASE_(r13)
+/* 8028D458 002890B8 41 80 00 0C */ blt lbl_8028D464
+/* 8028D45C 002890BC 38 60 00 01 */ li r3, 1
+/* 8028D460 002890C0 48 00 00 78 */ b lbl_8028D4D8
+lbl_8028D464:
+/* 8028D464 002890C4 2C 03 FF FB */ cmpwi r3, -5
+/* 8028D468 002890C8 41 82 00 48 */ beq lbl_8028D4B0
+/* 8028D46C 002890CC 40 80 00 10 */ bge lbl_8028D47C
+/* 8028D470 002890D0 2C 03 FF FA */ cmpwi r3, -6
+/* 8028D474 002890D4 40 80 00 14 */ bge lbl_8028D488
+/* 8028D478 002890D8 48 00 00 4C */ b lbl_8028D4C4
+lbl_8028D47C:
+/* 8028D47C 002890DC 2C 03 FF FF */ cmpwi r3, -1
+/* 8028D480 002890E0 41 82 00 1C */ beq lbl_8028D49C
+/* 8028D484 002890E4 48 00 00 40 */ b lbl_8028D4C4
+lbl_8028D488:
+/* 8028D488 002890E8 38 7F 01 04 */ addi r3, r31, 0x104
+/* 8028D48C 002890EC 4C C6 31 82 */ crclr 6
+/* 8028D490 002890F0 4B D7 A6 35 */ bl func_80007AC4
+/* 8028D494 002890F4 38 60 00 00 */ li r3, 0
+/* 8028D498 002890F8 48 00 00 40 */ b lbl_8028D4D8
+lbl_8028D49C:
+/* 8028D49C 002890FC 38 7F 01 50 */ addi r3, r31, 0x150
+/* 8028D4A0 00289100 4C C6 31 82 */ crclr 6
+/* 8028D4A4 00289104 4B D7 A6 21 */ bl func_80007AC4
+/* 8028D4A8 00289108 38 60 00 00 */ li r3, 0
+/* 8028D4AC 0028910C 48 00 00 2C */ b lbl_8028D4D8
+lbl_8028D4B0:
+/* 8028D4B0 00289110 38 7F 01 98 */ addi r3, r31, 0x198
+/* 8028D4B4 00289114 4C C6 31 82 */ crclr 6
+/* 8028D4B8 00289118 4B D7 A6 0D */ bl func_80007AC4
+/* 8028D4BC 0028911C 38 60 00 00 */ li r3, 0
+/* 8028D4C0 00289120 48 00 00 18 */ b lbl_8028D4D8
+lbl_8028D4C4:
+/* 8028D4C4 00289124 7C 64 1B 78 */ mr r4, r3
+/* 8028D4C8 00289128 38 7F 01 E4 */ addi r3, r31, 0x1e4
+/* 8028D4CC 0028912C 4C C6 31 82 */ crclr 6
+/* 8028D4D0 00289130 4B D7 A5 F5 */ bl func_80007AC4
+/* 8028D4D4 00289134 38 60 00 00 */ li r3, 0
+lbl_8028D4D8:
+/* 8028D4D8 00289138 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028D4DC 0028913C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028D4E0 00289140 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8028D4E4 00289144 7C 08 03 A6 */ mtlr r0
+/* 8028D4E8 00289148 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028D4EC 0028914C 4E 80 00 20 */ blr
+
+.global DVDLowReadDiskID
+DVDLowReadDiskID:
+/* 8028D4F0 00289150 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8028D4F4 00289154 7C 08 02 A6 */ mflr r0
+/* 8028D4F8 00289158 3C E0 80 52 */ lis r7, lbl_8051B760@ha
+/* 8028D4FC 0028915C 39 40 00 01 */ li r10, 1
+/* 8028D500 00289160 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8028D504 00289164 38 E7 B7 60 */ addi r7, r7, lbl_8051B760@l
+/* 8028D508 00289168 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8028D50C 0028916C 3F E0 80 43 */ lis r31, lbl_804366A0@ha
+/* 8028D510 00289170 3B FF 66 A0 */ addi r31, r31, lbl_804366A0@l
+/* 8028D514 00289174 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8028D518 00289178 7C 7E 1B 78 */ mr r30, r3
+/* 8028D51C 0028917C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8028D520 00289180 81 2D AA B0 */ lwz r9, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028D524 00289184 99 4D AA A8 */ stb r10, lbl_8063FD68-_SDA_BASE_(r13)
+/* 8028D528 00289188 55 28 28 34 */ slwi r8, r9, 5
+/* 8028D52C 0028918C 7C C7 42 14 */ add r6, r7, r8
+/* 8028D530 00289190 88 A6 00 08 */ lbz r5, 8(r6)
+/* 8028D534 00289194 7C 05 00 D0 */ neg r0, r5
+/* 8028D538 00289198 7C 00 2B 78 */ or r0, r0, r5
+/* 8028D53C 0028919C 54 00 0F FE */ srwi r0, r0, 0x1f
+/* 8028D540 002891A0 28 00 00 01 */ cmplwi r0, 1
+/* 8028D544 002891A4 40 82 00 24 */ bne lbl_8028D568
+/* 8028D548 002891A8 7D 24 4B 78 */ mr r4, r9
+/* 8028D54C 002891AC 38 7F 02 18 */ addi r3, r31, 0x218
+/* 8028D550 002891B0 4C C6 31 82 */ crclr 6
+/* 8028D554 002891B4 4B D7 A5 71 */ bl func_80007AC4
+/* 8028D558 002891B8 38 7F 02 50 */ addi r3, r31, 0x250
+/* 8028D55C 002891BC 4C C6 31 82 */ crclr 6
+/* 8028D560 002891C0 4B D7 A5 65 */ bl func_80007AC4
+lbl_8028D564:
+/* 8028D564 002891C4 48 00 00 00 */ b lbl_8028D564
+lbl_8028D568:
+/* 8028D568 002891C8 80 A6 00 0C */ lwz r5, 0xc(r6)
+/* 8028D56C 002891CC 3C 05 01 15 */ addis r0, r5, 0x115
+/* 8028D570 002891D0 28 00 DA ED */ cmplwi r0, 0xdaed
+/* 8028D574 002891D4 41 82 00 14 */ beq lbl_8028D588
+/* 8028D578 002891D8 38 7F 02 80 */ addi r3, r31, 0x280
+/* 8028D57C 002891DC 4C C6 31 82 */ crclr 6
+/* 8028D580 002891E0 4B D7 A5 45 */ bl func_80007AC4
+lbl_8028D584:
+/* 8028D584 002891E4 48 00 00 00 */ b lbl_8028D584
+lbl_8028D588:
+/* 8028D588 002891E8 7C 87 41 2E */ stwx r4, r7, r8
+/* 8028D58C 002891EC 38 09 00 01 */ addi r0, r9, 1
+/* 8028D590 002891F0 2C 00 00 04 */ cmpwi r0, 4
+/* 8028D594 002891F4 91 46 00 04 */ stw r10, 4(r6)
+/* 8028D598 002891F8 99 46 00 08 */ stb r10, 8(r6)
+/* 8028D59C 002891FC 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028D5A0 00289200 41 80 00 0C */ blt lbl_8028D5AC
+/* 8028D5A4 00289204 38 00 00 00 */ li r0, 0
+/* 8028D5A8 00289208 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+lbl_8028D5AC:
+/* 8028D5AC 0028920C 3C 80 80 52 */ lis r4, lbl_8051B760@ha
+/* 8028D5B0 00289210 2C 03 00 00 */ cmpwi r3, 0
+/* 8028D5B4 00289214 55 20 28 34 */ slwi r0, r9, 5
+/* 8028D5B8 00289218 38 84 B7 60 */ addi r4, r4, lbl_8051B760@l
+/* 8028D5BC 0028921C 7F A4 02 14 */ add r29, r4, r0
+/* 8028D5C0 00289220 40 82 00 10 */ bne lbl_8028D5D0
+/* 8028D5C4 00289224 38 7F 02 C0 */ addi r3, r31, 0x2c0
+/* 8028D5C8 00289228 4C C6 31 82 */ crclr 6
+/* 8028D5CC 0028922C 4B D7 A4 F9 */ bl func_80007AC4
+lbl_8028D5D0:
+/* 8028D5D0 00289230 80 6D AA AC */ lwz r3, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028D5D4 00289234 38 03 00 01 */ addi r0, r3, 1
+/* 8028D5D8 00289238 2C 00 00 04 */ cmpwi r0, 4
+/* 8028D5DC 0028923C 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028D5E0 00289240 41 80 00 0C */ blt lbl_8028D5EC
+/* 8028D5E4 00289244 38 00 00 00 */ li r0, 0
+/* 8028D5E8 00289248 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+lbl_8028D5EC:
+/* 8028D5EC 0028924C 80 6D AA C4 */ lwz r3, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028D5F0 00289250 3D 20 80 29 */ lis r9, doTransactionCallback@ha
+/* 8028D5F4 00289254 54 00 28 34 */ slwi r0, r0, 5
+/* 8028D5F8 00289258 38 80 00 70 */ li r4, 0x70
+/* 8028D5FC 0028925C 7C 83 01 AE */ stbx r4, r3, r0
+/* 8028D600 00289260 7F C7 F3 78 */ mr r7, r30
+/* 8028D604 00289264 7F AA EB 78 */ mr r10, r29
+/* 8028D608 00289268 39 29 D1 18 */ addi r9, r9, doTransactionCallback@l
+/* 8028D60C 0028926C 80 0D AA AC */ lwz r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028D610 00289270 38 80 00 70 */ li r4, 0x70
+/* 8028D614 00289274 80 AD AA C4 */ lwz r5, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028D618 00289278 38 C0 00 20 */ li r6, 0x20
+/* 8028D61C 0028927C 54 00 28 34 */ slwi r0, r0, 5
+/* 8028D620 00289280 80 6D 88 D0 */ lwz r3, lbl_8063DB90-_SDA_BASE_(r13)
+/* 8028D624 00289284 7C A5 02 14 */ add r5, r5, r0
+/* 8028D628 00289288 39 00 00 20 */ li r8, 0x20
+/* 8028D62C 0028928C 48 01 63 8D */ bl func_802A39B8
+/* 8028D630 00289290 2C 03 00 00 */ cmpwi r3, 0
+/* 8028D634 00289294 41 82 00 24 */ beq lbl_8028D658
+/* 8028D638 00289298 7C 64 1B 78 */ mr r4, r3
+/* 8028D63C 0028929C 38 7F 02 FC */ addi r3, r31, 0x2fc
+/* 8028D640 002892A0 4C C6 31 82 */ crclr 6
+/* 8028D644 002892A4 4B D7 A4 81 */ bl func_80007AC4
+/* 8028D648 002892A8 38 00 00 00 */ li r0, 0
+/* 8028D64C 002892AC 38 60 00 00 */ li r3, 0
+/* 8028D650 002892B0 98 1D 00 08 */ stb r0, 8(r29)
+/* 8028D654 002892B4 48 00 00 08 */ b lbl_8028D65C
+lbl_8028D658:
+/* 8028D658 002892B8 38 60 00 01 */ li r3, 1
+lbl_8028D65C:
+/* 8028D65C 002892BC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8028D660 002892C0 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8028D664 002892C4 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8028D668 002892C8 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8028D66C 002892CC 7C 08 03 A6 */ mtlr r0
+/* 8028D670 002892D0 38 21 00 20 */ addi r1, r1, 0x20
+/* 8028D674 002892D4 4E 80 00 20 */ blr
+
+.global DVDLowOpenPartition
+DVDLowOpenPartition:
+/* 8028D678 002892D8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8028D67C 002892DC 7C 08 02 A6 */ mflr r0
+/* 8028D680 002892E0 3D 20 80 52 */ lis r9, lbl_8051B760@ha
+/* 8028D684 002892E4 2C 04 00 00 */ cmpwi r4, 0
+/* 8028D688 002892E8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8028D68C 002892EC 39 29 B7 60 */ addi r9, r9, lbl_8051B760@l
+/* 8028D690 002892F0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8028D694 002892F4 3F E0 80 43 */ lis r31, lbl_804366A0@ha
+/* 8028D698 002892F8 3B FF 66 A0 */ addi r31, r31, lbl_804366A0@l
+/* 8028D69C 002892FC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8028D6A0 00289300 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8028D6A4 00289304 93 81 00 10 */ stw r28, 0x10(r1)
+/* 8028D6A8 00289308 41 82 00 20 */ beq lbl_8028D6C8
+/* 8028D6AC 0028930C 54 80 06 FF */ clrlwi. r0, r4, 0x1b
+/* 8028D6B0 00289310 41 82 00 18 */ beq lbl_8028D6C8
+/* 8028D6B4 00289314 38 7F 03 38 */ addi r3, r31, 0x338
+/* 8028D6B8 00289318 4C C6 31 82 */ crclr 6
+/* 8028D6BC 0028931C 4B D7 A4 09 */ bl func_80007AC4
+/* 8028D6C0 00289320 38 60 00 00 */ li r3, 0
+/* 8028D6C4 00289324 48 00 01 FC */ b lbl_8028D8C0
+lbl_8028D6C8:
+/* 8028D6C8 00289328 2C 06 00 00 */ cmpwi r6, 0
+/* 8028D6CC 0028932C 41 82 00 20 */ beq lbl_8028D6EC
+/* 8028D6D0 00289330 54 C0 06 FF */ clrlwi. r0, r6, 0x1b
+/* 8028D6D4 00289334 41 82 00 18 */ beq lbl_8028D6EC
+/* 8028D6D8 00289338 38 7F 03 70 */ addi r3, r31, 0x370
+/* 8028D6DC 0028933C 4C C6 31 82 */ crclr 6
+/* 8028D6E0 00289340 4B D7 A3 E5 */ bl func_80007AC4
+/* 8028D6E4 00289344 38 60 00 00 */ li r3, 0
+/* 8028D6E8 00289348 48 00 01 D8 */ b lbl_8028D8C0
+lbl_8028D6EC:
+/* 8028D6EC 0028934C 2C 07 00 00 */ cmpwi r7, 0
+/* 8028D6F0 00289350 41 82 00 20 */ beq lbl_8028D710
+/* 8028D6F4 00289354 54 E0 06 FF */ clrlwi. r0, r7, 0x1b
+/* 8028D6F8 00289358 41 82 00 18 */ beq lbl_8028D710
+/* 8028D6FC 0028935C 38 7F 03 70 */ addi r3, r31, 0x370
+/* 8028D700 00289360 4C C6 31 82 */ crclr 6
+/* 8028D704 00289364 4B D7 A3 C1 */ bl func_80007AC4
+/* 8028D708 00289368 38 60 00 00 */ li r3, 0
+/* 8028D70C 0028936C 48 00 01 B4 */ b lbl_8028D8C0
+lbl_8028D710:
+/* 8028D710 00289370 83 AD AA B0 */ lwz r29, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028D714 00289374 3B 80 00 01 */ li r28, 1
+/* 8028D718 00289378 39 89 00 00 */ addi r12, r9, 0
+/* 8028D71C 0028937C 9B 8D AA A8 */ stb r28, lbl_8063FD68-_SDA_BASE_(r13)
+/* 8028D720 00289380 57 BE 28 34 */ slwi r30, r29, 5
+/* 8028D724 00289384 7D 6C F2 14 */ add r11, r12, r30
+/* 8028D728 00289388 89 4B 00 08 */ lbz r10, 8(r11)
+/* 8028D72C 0028938C 7C 0A 00 D0 */ neg r0, r10
+/* 8028D730 00289390 7C 00 53 78 */ or r0, r0, r10
+/* 8028D734 00289394 54 00 0F FE */ srwi r0, r0, 0x1f
+/* 8028D738 00289398 28 00 00 01 */ cmplwi r0, 1
+/* 8028D73C 0028939C 40 82 00 24 */ bne lbl_8028D760
+/* 8028D740 002893A0 7F A4 EB 78 */ mr r4, r29
+/* 8028D744 002893A4 38 7F 02 18 */ addi r3, r31, 0x218
+/* 8028D748 002893A8 4C C6 31 82 */ crclr 6
+/* 8028D74C 002893AC 4B D7 A3 79 */ bl func_80007AC4
+/* 8028D750 002893B0 38 7F 02 50 */ addi r3, r31, 0x250
+/* 8028D754 002893B4 4C C6 31 82 */ crclr 6
+/* 8028D758 002893B8 4B D7 A3 6D */ bl func_80007AC4
+lbl_8028D75C:
+/* 8028D75C 002893BC 48 00 00 00 */ b lbl_8028D75C
+lbl_8028D760:
+/* 8028D760 002893C0 81 4B 00 0C */ lwz r10, 0xc(r11)
+/* 8028D764 002893C4 3C 0A 01 15 */ addis r0, r10, 0x115
+/* 8028D768 002893C8 28 00 DA ED */ cmplwi r0, 0xdaed
+/* 8028D76C 002893CC 41 82 00 14 */ beq lbl_8028D780
+/* 8028D770 002893D0 38 7F 02 80 */ addi r3, r31, 0x280
+/* 8028D774 002893D4 4C C6 31 82 */ crclr 6
+/* 8028D778 002893D8 4B D7 A3 4D */ bl func_80007AC4
+lbl_8028D77C:
+/* 8028D77C 002893DC 48 00 00 00 */ b lbl_8028D77C
+lbl_8028D780:
+/* 8028D780 002893E0 7D 0C F1 2E */ stwx r8, r12, r30
+/* 8028D784 002893E4 38 1D 00 01 */ addi r0, r29, 1
+/* 8028D788 002893E8 2C 00 00 04 */ cmpwi r0, 4
+/* 8028D78C 002893EC 93 8B 00 04 */ stw r28, 4(r11)
+/* 8028D790 002893F0 9B 8B 00 08 */ stb r28, 8(r11)
+/* 8028D794 002893F4 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028D798 002893F8 41 80 00 0C */ blt lbl_8028D7A4
+/* 8028D79C 002893FC 38 00 00 00 */ li r0, 0
+/* 8028D7A0 00289400 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+lbl_8028D7A4:
+/* 8028D7A4 00289404 81 0D AA AC */ lwz r8, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028D7A8 00289408 57 AB 28 34 */ slwi r11, r29, 5
+/* 8028D7AC 0028940C 39 49 00 00 */ addi r10, r9, 0
+/* 8028D7B0 00289410 38 08 00 01 */ addi r0, r8, 1
+/* 8028D7B4 00289414 2C 00 00 04 */ cmpwi r0, 4
+/* 8028D7B8 00289418 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028D7BC 0028941C 7F CA 5A 14 */ add r30, r10, r11
+/* 8028D7C0 00289420 41 80 00 0C */ blt lbl_8028D7CC
+/* 8028D7C4 00289424 38 00 00 00 */ li r0, 0
+/* 8028D7C8 00289428 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+lbl_8028D7CC:
+/* 8028D7CC 0028942C 81 0D AA C4 */ lwz r8, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028D7D0 00289430 54 00 28 34 */ slwi r0, r0, 5
+/* 8028D7D4 00289434 39 40 00 8B */ li r10, 0x8b
+/* 8028D7D8 00289438 2C 04 00 00 */ cmpwi r4, 0
+/* 8028D7DC 0028943C 7D 48 01 AE */ stbx r10, r8, r0
+/* 8028D7E0 00289440 39 09 00 C0 */ addi r8, r9, 0xc0
+/* 8028D7E4 00289444 38 00 00 20 */ li r0, 0x20
+/* 8028D7E8 00289448 81 4D AA AC */ lwz r10, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028D7EC 0028944C 81 6D AA C4 */ lwz r11, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028D7F0 00289450 55 4A 28 34 */ slwi r10, r10, 5
+/* 8028D7F4 00289454 7D 4B 52 14 */ add r10, r11, r10
+/* 8028D7F8 00289458 90 6A 00 04 */ stw r3, 4(r10)
+/* 8028D7FC 0028945C 80 6D AA AC */ lwz r3, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028D800 00289460 81 4D AA C4 */ lwz r10, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028D804 00289464 54 63 28 34 */ slwi r3, r3, 5
+/* 8028D808 00289468 90 08 00 04 */ stw r0, 4(r8)
+/* 8028D80C 0028946C 7C 0A 1A 14 */ add r0, r10, r3
+/* 8028D810 00289470 90 09 00 C0 */ stw r0, 0xc0(r9)
+/* 8028D814 00289474 90 88 00 08 */ stw r4, 8(r8)
+/* 8028D818 00289478 40 82 00 10 */ bne lbl_8028D828
+/* 8028D81C 0028947C 38 00 00 00 */ li r0, 0
+/* 8028D820 00289480 90 08 00 0C */ stw r0, 0xc(r8)
+/* 8028D824 00289484 48 00 00 0C */ b lbl_8028D830
+lbl_8028D828:
+/* 8028D828 00289488 38 00 02 A4 */ li r0, 0x2a4
+/* 8028D82C 0028948C 90 08 00 0C */ stw r0, 0xc(r8)
+lbl_8028D830:
+/* 8028D830 00289490 38 69 00 C0 */ addi r3, r9, 0xc0
+/* 8028D834 00289494 2C 06 00 00 */ cmpwi r6, 0
+/* 8028D838 00289498 90 C3 00 10 */ stw r6, 0x10(r3)
+/* 8028D83C 0028949C 40 82 00 10 */ bne lbl_8028D84C
+/* 8028D840 002894A0 38 00 00 00 */ li r0, 0
+/* 8028D844 002894A4 90 03 00 14 */ stw r0, 0x14(r3)
+/* 8028D848 002894A8 48 00 00 08 */ b lbl_8028D850
+lbl_8028D84C:
+/* 8028D84C 002894AC 90 A3 00 14 */ stw r5, 0x14(r3)
+lbl_8028D850:
+/* 8028D850 002894B0 39 49 00 C0 */ addi r10, r9, 0xc0
+/* 8028D854 002894B4 38 A9 01 00 */ addi r5, r9, 0x100
+/* 8028D858 002894B8 38 80 49 E4 */ li r4, 0x49e4
+/* 8028D85C 002894BC 38 00 00 20 */ li r0, 0x20
+/* 8028D860 002894C0 90 EA 00 18 */ stw r7, 0x18(r10)
+/* 8028D864 002894C4 3D 00 80 29 */ lis r8, doTransactionCallback@ha
+/* 8028D868 002894C8 80 6D 88 D0 */ lwz r3, lbl_8063DB90-_SDA_BASE_(r13)
+/* 8028D86C 002894CC 7D 47 53 78 */ mr r7, r10
+/* 8028D870 002894D0 90 8A 00 1C */ stw r4, 0x1c(r10)
+/* 8028D874 002894D4 7F C9 F3 78 */ mr r9, r30
+/* 8028D878 002894D8 39 08 D1 18 */ addi r8, r8, doTransactionCallback@l
+/* 8028D87C 002894DC 38 80 00 8B */ li r4, 0x8b
+/* 8028D880 002894E0 90 AA 00 20 */ stw r5, 0x20(r10)
+/* 8028D884 002894E4 38 A0 00 03 */ li r5, 3
+/* 8028D888 002894E8 38 C0 00 02 */ li r6, 2
+/* 8028D88C 002894EC 90 0A 00 24 */ stw r0, 0x24(r10)
+/* 8028D890 002894F0 48 01 64 CD */ bl func_802A3D5C
+/* 8028D894 002894F4 2C 03 00 00 */ cmpwi r3, 0
+/* 8028D898 002894F8 41 82 00 24 */ beq lbl_8028D8BC
+/* 8028D89C 002894FC 7C 64 1B 78 */ mr r4, r3
+/* 8028D8A0 00289500 38 7F 03 A8 */ addi r3, r31, 0x3a8
+/* 8028D8A4 00289504 4C C6 31 82 */ crclr 6
+/* 8028D8A8 00289508 4B D7 A2 1D */ bl func_80007AC4
+/* 8028D8AC 0028950C 38 00 00 00 */ li r0, 0
+/* 8028D8B0 00289510 38 60 00 00 */ li r3, 0
+/* 8028D8B4 00289514 98 1E 00 08 */ stb r0, 8(r30)
+/* 8028D8B8 00289518 48 00 00 08 */ b lbl_8028D8C0
+lbl_8028D8BC:
+/* 8028D8BC 0028951C 38 60 00 01 */ li r3, 1
+lbl_8028D8C0:
+/* 8028D8C0 00289520 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8028D8C4 00289524 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8028D8C8 00289528 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8028D8CC 0028952C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8028D8D0 00289530 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 8028D8D4 00289534 7C 08 03 A6 */ mtlr r0
+/* 8028D8D8 00289538 38 21 00 20 */ addi r1, r1, 0x20
+/* 8028D8DC 0028953C 4E 80 00 20 */ blr
+
+.global DVDLowClosePartition
+DVDLowClosePartition:
+/* 8028D8E0 00289540 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028D8E4 00289544 7C 08 02 A6 */ mflr r0
+/* 8028D8E8 00289548 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028D8EC 0028954C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028D8F0 00289550 3F E0 80 43 */ lis r31, lbl_804366A0@ha
+/* 8028D8F4 00289554 3B FF 66 A0 */ addi r31, r31, lbl_804366A0@l
+/* 8028D8F8 00289558 93 C1 00 08 */ stw r30, 8(r1)
+/* 8028D8FC 0028955C 80 8D AA AC */ lwz r4, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028D900 00289560 38 04 00 01 */ addi r0, r4, 1
+/* 8028D904 00289564 2C 00 00 04 */ cmpwi r0, 4
+/* 8028D908 00289568 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028D90C 0028956C 41 80 00 0C */ blt lbl_8028D918
+/* 8028D910 00289570 38 00 00 00 */ li r0, 0
+/* 8028D914 00289574 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+lbl_8028D918:
+/* 8028D918 00289578 80 8D AA C4 */ lwz r4, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028D91C 0028957C 3C E0 80 52 */ lis r7, lbl_8051B760@ha
+/* 8028D920 00289580 54 00 28 34 */ slwi r0, r0, 5
+/* 8028D924 00289584 38 A0 00 8C */ li r5, 0x8c
+/* 8028D928 00289588 7C A4 01 AE */ stbx r5, r4, r0
+/* 8028D92C 0028958C 39 20 00 01 */ li r9, 1
+/* 8028D930 00289590 38 E7 B7 60 */ addi r7, r7, lbl_8051B760@l
+/* 8028D934 00289594 80 8D AA B0 */ lwz r4, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028D938 00289598 99 2D AA A8 */ stb r9, lbl_8063FD68-_SDA_BASE_(r13)
+/* 8028D93C 0028959C 54 88 28 34 */ slwi r8, r4, 5
+/* 8028D940 002895A0 7C C7 42 14 */ add r6, r7, r8
+/* 8028D944 002895A4 88 A6 00 08 */ lbz r5, 8(r6)
+/* 8028D948 002895A8 7C 05 00 D0 */ neg r0, r5
+/* 8028D94C 002895AC 7C 00 2B 78 */ or r0, r0, r5
+/* 8028D950 002895B0 54 00 0F FE */ srwi r0, r0, 0x1f
+/* 8028D954 002895B4 28 00 00 01 */ cmplwi r0, 1
+/* 8028D958 002895B8 40 82 00 20 */ bne lbl_8028D978
+/* 8028D95C 002895BC 38 7F 02 18 */ addi r3, r31, 0x218
+/* 8028D960 002895C0 4C C6 31 82 */ crclr 6
+/* 8028D964 002895C4 4B D7 A1 61 */ bl func_80007AC4
+/* 8028D968 002895C8 38 7F 02 50 */ addi r3, r31, 0x250
+/* 8028D96C 002895CC 4C C6 31 82 */ crclr 6
+/* 8028D970 002895D0 4B D7 A1 55 */ bl func_80007AC4
+lbl_8028D974:
+/* 8028D974 002895D4 48 00 00 00 */ b lbl_8028D974
+lbl_8028D978:
+/* 8028D978 002895D8 80 A6 00 0C */ lwz r5, 0xc(r6)
+/* 8028D97C 002895DC 3C 05 01 15 */ addis r0, r5, 0x115
+/* 8028D980 002895E0 28 00 DA ED */ cmplwi r0, 0xdaed
+/* 8028D984 002895E4 41 82 00 14 */ beq lbl_8028D998
+/* 8028D988 002895E8 38 7F 02 80 */ addi r3, r31, 0x280
+/* 8028D98C 002895EC 4C C6 31 82 */ crclr 6
+/* 8028D990 002895F0 4B D7 A1 35 */ bl func_80007AC4
+lbl_8028D994:
+/* 8028D994 002895F4 48 00 00 00 */ b lbl_8028D994
+lbl_8028D998:
+/* 8028D998 002895F8 7C 67 41 2E */ stwx r3, r7, r8
+/* 8028D99C 002895FC 38 04 00 01 */ addi r0, r4, 1
+/* 8028D9A0 00289600 2C 00 00 04 */ cmpwi r0, 4
+/* 8028D9A4 00289604 91 26 00 04 */ stw r9, 4(r6)
+/* 8028D9A8 00289608 99 26 00 08 */ stb r9, 8(r6)
+/* 8028D9AC 0028960C 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028D9B0 00289610 41 80 00 0C */ blt lbl_8028D9BC
+/* 8028D9B4 00289614 38 00 00 00 */ li r0, 0
+/* 8028D9B8 00289618 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+lbl_8028D9BC:
+/* 8028D9BC 0028961C 80 0D AA AC */ lwz r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028D9C0 00289620 3C 60 80 52 */ lis r3, lbl_8051B760@ha
+/* 8028D9C4 00289624 54 85 28 34 */ slwi r5, r4, 5
+/* 8028D9C8 00289628 80 8D AA C4 */ lwz r4, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028D9CC 0028962C 38 63 B7 60 */ addi r3, r3, lbl_8051B760@l
+/* 8028D9D0 00289630 3D 20 80 29 */ lis r9, doTransactionCallback@ha
+/* 8028D9D4 00289634 7F C3 2A 14 */ add r30, r3, r5
+/* 8028D9D8 00289638 54 00 28 34 */ slwi r0, r0, 5
+/* 8028D9DC 0028963C 7C A4 02 14 */ add r5, r4, r0
+/* 8028D9E0 00289640 80 6D 88 D0 */ lwz r3, lbl_8063DB90-_SDA_BASE_(r13)
+/* 8028D9E4 00289644 7F CA F3 78 */ mr r10, r30
+/* 8028D9E8 00289648 39 29 D1 18 */ addi r9, r9, doTransactionCallback@l
+/* 8028D9EC 0028964C 38 80 00 8C */ li r4, 0x8c
+/* 8028D9F0 00289650 38 C0 00 20 */ li r6, 0x20
+/* 8028D9F4 00289654 38 E0 00 00 */ li r7, 0
+/* 8028D9F8 00289658 39 00 00 00 */ li r8, 0
+/* 8028D9FC 0028965C 48 01 5F BD */ bl func_802A39B8
+/* 8028DA00 00289660 2C 03 00 00 */ cmpwi r3, 0
+/* 8028DA04 00289664 41 82 00 24 */ beq lbl_8028DA28
+/* 8028DA08 00289668 7C 64 1B 78 */ mr r4, r3
+/* 8028DA0C 0028966C 38 7F 03 E8 */ addi r3, r31, 0x3e8
+/* 8028DA10 00289670 4C C6 31 82 */ crclr 6
+/* 8028DA14 00289674 4B D7 A0 B1 */ bl func_80007AC4
+/* 8028DA18 00289678 38 00 00 00 */ li r0, 0
+/* 8028DA1C 0028967C 38 60 00 00 */ li r3, 0
+/* 8028DA20 00289680 98 1E 00 08 */ stb r0, 8(r30)
+/* 8028DA24 00289684 48 00 00 08 */ b lbl_8028DA2C
+lbl_8028DA28:
+/* 8028DA28 00289688 38 60 00 01 */ li r3, 1
+lbl_8028DA2C:
+/* 8028DA2C 0028968C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028DA30 00289690 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028DA34 00289694 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8028DA38 00289698 7C 08 03 A6 */ mtlr r0
+/* 8028DA3C 0028969C 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028DA40 002896A0 4E 80 00 20 */ blr
+
+.global DVDLowUnencryptedRead
+DVDLowUnencryptedRead:
+/* 8028DA44 002896A4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028DA48 002896A8 7C 08 02 A6 */ mflr r0
+/* 8028DA4C 002896AC 3D 20 80 52 */ lis r9, lbl_8051B760@ha
+/* 8028DA50 002896B0 39 80 00 01 */ li r12, 1
+/* 8028DA54 002896B4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028DA58 002896B8 39 29 B7 60 */ addi r9, r9, lbl_8051B760@l
+/* 8028DA5C 002896BC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028DA60 002896C0 3F E0 80 43 */ lis r31, lbl_804366A0@ha
+/* 8028DA64 002896C4 3B FF 66 A0 */ addi r31, r31, lbl_804366A0@l
+/* 8028DA68 002896C8 93 C1 00 08 */ stw r30, 8(r1)
+/* 8028DA6C 002896CC 81 6D AA B0 */ lwz r11, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028DA70 002896D0 99 8D AA A8 */ stb r12, lbl_8063FD68-_SDA_BASE_(r13)
+/* 8028DA74 002896D4 55 6A 28 34 */ slwi r10, r11, 5
+/* 8028DA78 002896D8 7D 09 52 14 */ add r8, r9, r10
+/* 8028DA7C 002896DC 88 E8 00 08 */ lbz r7, 8(r8)
+/* 8028DA80 002896E0 7C 07 00 D0 */ neg r0, r7
+/* 8028DA84 002896E4 7C 00 3B 78 */ or r0, r0, r7
+/* 8028DA88 002896E8 54 00 0F FE */ srwi r0, r0, 0x1f
+/* 8028DA8C 002896EC 28 00 00 01 */ cmplwi r0, 1
+/* 8028DA90 002896F0 40 82 00 24 */ bne lbl_8028DAB4
+/* 8028DA94 002896F4 7D 64 5B 78 */ mr r4, r11
+/* 8028DA98 002896F8 38 7F 02 18 */ addi r3, r31, 0x218
+/* 8028DA9C 002896FC 4C C6 31 82 */ crclr 6
+/* 8028DAA0 00289700 4B D7 A0 25 */ bl func_80007AC4
+/* 8028DAA4 00289704 38 7F 02 50 */ addi r3, r31, 0x250
+/* 8028DAA8 00289708 4C C6 31 82 */ crclr 6
+/* 8028DAAC 0028970C 4B D7 A0 19 */ bl func_80007AC4
+lbl_8028DAB0:
+/* 8028DAB0 00289710 48 00 00 00 */ b lbl_8028DAB0
+lbl_8028DAB4:
+/* 8028DAB4 00289714 80 E8 00 0C */ lwz r7, 0xc(r8)
+/* 8028DAB8 00289718 3C 07 01 15 */ addis r0, r7, 0x115
+/* 8028DABC 0028971C 28 00 DA ED */ cmplwi r0, 0xdaed
+/* 8028DAC0 00289720 41 82 00 14 */ beq lbl_8028DAD4
+/* 8028DAC4 00289724 38 7F 02 80 */ addi r3, r31, 0x280
+/* 8028DAC8 00289728 4C C6 31 82 */ crclr 6
+/* 8028DACC 0028972C 4B D7 9F F9 */ bl func_80007AC4
+lbl_8028DAD0:
+/* 8028DAD0 00289730 48 00 00 00 */ b lbl_8028DAD0
+lbl_8028DAD4:
+/* 8028DAD4 00289734 7C C9 51 2E */ stwx r6, r9, r10
+/* 8028DAD8 00289738 38 0B 00 01 */ addi r0, r11, 1
+/* 8028DADC 0028973C 2C 00 00 04 */ cmpwi r0, 4
+/* 8028DAE0 00289740 91 88 00 04 */ stw r12, 4(r8)
+/* 8028DAE4 00289744 99 88 00 08 */ stb r12, 8(r8)
+/* 8028DAE8 00289748 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028DAEC 0028974C 41 80 00 0C */ blt lbl_8028DAF8
+/* 8028DAF0 00289750 38 00 00 00 */ li r0, 0
+/* 8028DAF4 00289754 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+lbl_8028DAF8:
+/* 8028DAF8 00289758 80 CD AA AC */ lwz r6, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028DAFC 0028975C 3C E0 80 52 */ lis r7, lbl_8051B760@ha
+/* 8028DB00 00289760 90 8D AA BC */ stw r4, lbl_8063FD7C-_SDA_BASE_(r13)
+/* 8028DB04 00289764 55 68 28 34 */ slwi r8, r11, 5
+/* 8028DB08 00289768 38 06 00 01 */ addi r0, r6, 1
+/* 8028DB0C 0028976C 38 E7 B7 60 */ addi r7, r7, lbl_8051B760@l
+/* 8028DB10 00289770 2C 00 00 04 */ cmpwi r0, 4
+/* 8028DB14 00289774 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028DB18 00289778 7F C7 42 14 */ add r30, r7, r8
+/* 8028DB1C 0028977C 41 80 00 0C */ blt lbl_8028DB28
+/* 8028DB20 00289780 38 00 00 00 */ li r0, 0
+/* 8028DB24 00289784 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+lbl_8028DB28:
+/* 8028DB28 00289788 80 CD AA C4 */ lwz r6, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028DB2C 0028978C 3D 20 80 29 */ lis r9, doTransactionCallback@ha
+/* 8028DB30 00289790 54 00 28 34 */ slwi r0, r0, 5
+/* 8028DB34 00289794 38 E0 00 8D */ li r7, 0x8d
+/* 8028DB38 00289798 7C E6 01 AE */ stbx r7, r6, r0
+/* 8028DB3C 0028979C 7C 67 1B 78 */ mr r7, r3
+/* 8028DB40 002897A0 7C 88 23 78 */ mr r8, r4
+/* 8028DB44 002897A4 7F CA F3 78 */ mr r10, r30
+/* 8028DB48 002897A8 80 0D AA AC */ lwz r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028DB4C 002897AC 39 29 D1 18 */ addi r9, r9, doTransactionCallback@l
+/* 8028DB50 002897B0 80 6D AA C4 */ lwz r3, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028DB54 002897B4 38 C0 00 20 */ li r6, 0x20
+/* 8028DB58 002897B8 54 00 28 34 */ slwi r0, r0, 5
+/* 8028DB5C 002897BC 7C 63 02 14 */ add r3, r3, r0
+/* 8028DB60 002897C0 90 83 00 04 */ stw r4, 4(r3)
+/* 8028DB64 002897C4 38 80 00 8D */ li r4, 0x8d
+/* 8028DB68 002897C8 80 0D AA AC */ lwz r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028DB6C 002897CC 80 6D AA C4 */ lwz r3, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028DB70 002897D0 54 00 28 34 */ slwi r0, r0, 5
+/* 8028DB74 002897D4 7C 63 02 14 */ add r3, r3, r0
+/* 8028DB78 002897D8 90 A3 00 08 */ stw r5, 8(r3)
+/* 8028DB7C 002897DC 80 0D AA AC */ lwz r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028DB80 002897E0 80 AD AA C4 */ lwz r5, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028DB84 002897E4 54 00 28 34 */ slwi r0, r0, 5
+/* 8028DB88 002897E8 80 6D 88 D0 */ lwz r3, lbl_8063DB90-_SDA_BASE_(r13)
+/* 8028DB8C 002897EC 7C A5 02 14 */ add r5, r5, r0
+/* 8028DB90 002897F0 48 01 5E 29 */ bl func_802A39B8
+/* 8028DB94 002897F4 2C 03 00 00 */ cmpwi r3, 0
+/* 8028DB98 002897F8 41 82 00 24 */ beq lbl_8028DBBC
+/* 8028DB9C 002897FC 7C 64 1B 78 */ mr r4, r3
+/* 8028DBA0 00289800 38 7F 04 28 */ addi r3, r31, 0x428
+/* 8028DBA4 00289804 4C C6 31 82 */ crclr 6
+/* 8028DBA8 00289808 4B D7 9F 1D */ bl func_80007AC4
+/* 8028DBAC 0028980C 38 00 00 00 */ li r0, 0
+/* 8028DBB0 00289810 38 60 00 00 */ li r3, 0
+/* 8028DBB4 00289814 98 1E 00 08 */ stb r0, 8(r30)
+/* 8028DBB8 00289818 48 00 00 08 */ b lbl_8028DBC0
+lbl_8028DBBC:
+/* 8028DBBC 0028981C 38 60 00 01 */ li r3, 1
+lbl_8028DBC0:
+/* 8028DBC0 00289820 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028DBC4 00289824 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028DBC8 00289828 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8028DBCC 0028982C 7C 08 03 A6 */ mtlr r0
+/* 8028DBD0 00289830 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028DBD4 00289834 4E 80 00 20 */ blr
+
+.global DVDLowStopMotor
+DVDLowStopMotor:
+/* 8028DBD8 00289838 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028DBDC 0028983C 7C 08 02 A6 */ mflr r0
+/* 8028DBE0 00289840 3D 00 80 52 */ lis r8, lbl_8051B760@ha
+/* 8028DBE4 00289844 39 60 00 01 */ li r11, 1
+/* 8028DBE8 00289848 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028DBEC 0028984C 39 08 B7 60 */ addi r8, r8, lbl_8051B760@l
+/* 8028DBF0 00289850 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028DBF4 00289854 3F E0 80 43 */ lis r31, lbl_804366A0@ha
+/* 8028DBF8 00289858 3B FF 66 A0 */ addi r31, r31, lbl_804366A0@l
+/* 8028DBFC 0028985C 93 C1 00 08 */ stw r30, 8(r1)
+/* 8028DC00 00289860 81 4D AA B0 */ lwz r10, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028DC04 00289864 99 6D AA A8 */ stb r11, lbl_8063FD68-_SDA_BASE_(r13)
+/* 8028DC08 00289868 55 49 28 34 */ slwi r9, r10, 5
+/* 8028DC0C 0028986C 7C E8 4A 14 */ add r7, r8, r9
+/* 8028DC10 00289870 88 C7 00 08 */ lbz r6, 8(r7)
+/* 8028DC14 00289874 7C 06 00 D0 */ neg r0, r6
+/* 8028DC18 00289878 7C 00 33 78 */ or r0, r0, r6
+/* 8028DC1C 0028987C 54 00 0F FE */ srwi r0, r0, 0x1f
+/* 8028DC20 00289880 28 00 00 01 */ cmplwi r0, 1
+/* 8028DC24 00289884 40 82 00 24 */ bne lbl_8028DC48
+/* 8028DC28 00289888 7D 44 53 78 */ mr r4, r10
+/* 8028DC2C 0028988C 38 7F 02 18 */ addi r3, r31, 0x218
+/* 8028DC30 00289890 4C C6 31 82 */ crclr 6
+/* 8028DC34 00289894 4B D7 9E 91 */ bl func_80007AC4
+/* 8028DC38 00289898 38 7F 02 50 */ addi r3, r31, 0x250
+/* 8028DC3C 0028989C 4C C6 31 82 */ crclr 6
+/* 8028DC40 002898A0 4B D7 9E 85 */ bl func_80007AC4
+lbl_8028DC44:
+/* 8028DC44 002898A4 48 00 00 00 */ b lbl_8028DC44
+lbl_8028DC48:
+/* 8028DC48 002898A8 80 C7 00 0C */ lwz r6, 0xc(r7)
+/* 8028DC4C 002898AC 3C 06 01 15 */ addis r0, r6, 0x115
+/* 8028DC50 002898B0 28 00 DA ED */ cmplwi r0, 0xdaed
+/* 8028DC54 002898B4 41 82 00 14 */ beq lbl_8028DC68
+/* 8028DC58 002898B8 38 7F 02 80 */ addi r3, r31, 0x280
+/* 8028DC5C 002898BC 4C C6 31 82 */ crclr 6
+/* 8028DC60 002898C0 4B D7 9E 65 */ bl func_80007AC4
+lbl_8028DC64:
+/* 8028DC64 002898C4 48 00 00 00 */ b lbl_8028DC64
+lbl_8028DC68:
+/* 8028DC68 002898C8 7C A8 49 2E */ stwx r5, r8, r9
+/* 8028DC6C 002898CC 38 0A 00 01 */ addi r0, r10, 1
+/* 8028DC70 002898D0 2C 00 00 04 */ cmpwi r0, 4
+/* 8028DC74 002898D4 91 67 00 04 */ stw r11, 4(r7)
+/* 8028DC78 002898D8 99 67 00 08 */ stb r11, 8(r7)
+/* 8028DC7C 002898DC 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028DC80 002898E0 41 80 00 0C */ blt lbl_8028DC8C
+/* 8028DC84 002898E4 38 00 00 00 */ li r0, 0
+/* 8028DC88 002898E8 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+lbl_8028DC8C:
+/* 8028DC8C 002898EC 80 AD AA AC */ lwz r5, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028DC90 002898F0 3C C0 80 52 */ lis r6, lbl_8051B760@ha
+/* 8028DC94 002898F4 55 47 28 34 */ slwi r7, r10, 5
+/* 8028DC98 002898F8 38 05 00 01 */ addi r0, r5, 1
+/* 8028DC9C 002898FC 38 C6 B7 60 */ addi r6, r6, lbl_8051B760@l
+/* 8028DCA0 00289900 2C 00 00 04 */ cmpwi r0, 4
+/* 8028DCA4 00289904 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028DCA8 00289908 7F C6 3A 14 */ add r30, r6, r7
+/* 8028DCAC 0028990C 41 80 00 0C */ blt lbl_8028DCB8
+/* 8028DCB0 00289910 38 00 00 00 */ li r0, 0
+/* 8028DCB4 00289914 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+lbl_8028DCB8:
+/* 8028DCB8 00289918 80 AD AA C4 */ lwz r5, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028DCBC 0028991C 3C E0 80 52 */ lis r7, lbl_8051B7E0@ha
+/* 8028DCC0 00289920 54 00 28 34 */ slwi r0, r0, 5
+/* 8028DCC4 00289924 38 C0 00 E3 */ li r6, 0xe3
+/* 8028DCC8 00289928 7C C5 01 AE */ stbx r6, r5, r0
+/* 8028DCCC 0028992C 3D 20 80 29 */ lis r9, doTransactionCallback@ha
+/* 8028DCD0 00289930 7F CA F3 78 */ mr r10, r30
+/* 8028DCD4 00289934 38 E7 B7 E0 */ addi r7, r7, lbl_8051B7E0@l
+/* 8028DCD8 00289938 80 0D AA AC */ lwz r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028DCDC 0028993C 39 29 D1 18 */ addi r9, r9, doTransactionCallback@l
+/* 8028DCE0 00289940 80 AD AA C4 */ lwz r5, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028DCE4 00289944 38 C0 00 20 */ li r6, 0x20
+/* 8028DCE8 00289948 54 00 28 34 */ slwi r0, r0, 5
+/* 8028DCEC 0028994C 39 00 00 20 */ li r8, 0x20
+/* 8028DCF0 00289950 7C A5 02 14 */ add r5, r5, r0
+/* 8028DCF4 00289954 90 65 00 04 */ stw r3, 4(r5)
+/* 8028DCF8 00289958 80 0D AA AC */ lwz r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028DCFC 0028995C 80 6D AA C4 */ lwz r3, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028DD00 00289960 54 00 28 34 */ slwi r0, r0, 5
+/* 8028DD04 00289964 7C 63 02 14 */ add r3, r3, r0
+/* 8028DD08 00289968 90 83 00 08 */ stw r4, 8(r3)
+/* 8028DD0C 0028996C 38 80 00 E3 */ li r4, 0xe3
+/* 8028DD10 00289970 80 0D AA AC */ lwz r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028DD14 00289974 80 AD AA C4 */ lwz r5, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028DD18 00289978 54 00 28 34 */ slwi r0, r0, 5
+/* 8028DD1C 0028997C 80 6D 88 D0 */ lwz r3, lbl_8063DB90-_SDA_BASE_(r13)
+/* 8028DD20 00289980 7C A5 02 14 */ add r5, r5, r0
+/* 8028DD24 00289984 48 01 5C 95 */ bl func_802A39B8
+/* 8028DD28 00289988 2C 03 00 00 */ cmpwi r3, 0
+/* 8028DD2C 0028998C 41 82 00 24 */ beq lbl_8028DD50
+/* 8028DD30 00289990 7C 64 1B 78 */ mr r4, r3
+/* 8028DD34 00289994 38 7F 04 68 */ addi r3, r31, 0x468
+/* 8028DD38 00289998 4C C6 31 82 */ crclr 6
+/* 8028DD3C 0028999C 4B D7 9D 89 */ bl func_80007AC4
+/* 8028DD40 002899A0 38 00 00 00 */ li r0, 0
+/* 8028DD44 002899A4 38 60 00 00 */ li r3, 0
+/* 8028DD48 002899A8 98 1E 00 08 */ stb r0, 8(r30)
+/* 8028DD4C 002899AC 48 00 00 08 */ b lbl_8028DD54
+lbl_8028DD50:
+/* 8028DD50 002899B0 38 60 00 01 */ li r3, 1
+lbl_8028DD54:
+/* 8028DD54 002899B4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028DD58 002899B8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028DD5C 002899BC 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8028DD60 002899C0 7C 08 03 A6 */ mtlr r0
+/* 8028DD64 002899C4 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028DD68 002899C8 4E 80 00 20 */ blr
+
+.global DVDLowInquiry
+DVDLowInquiry:
+/* 8028DD6C 002899CC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028DD70 002899D0 7C 08 02 A6 */ mflr r0
+/* 8028DD74 002899D4 3C E0 80 52 */ lis r7, lbl_8051B760@ha
+/* 8028DD78 002899D8 39 40 00 01 */ li r10, 1
+/* 8028DD7C 002899DC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028DD80 002899E0 38 E7 B7 60 */ addi r7, r7, lbl_8051B760@l
+/* 8028DD84 002899E4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028DD88 002899E8 3F E0 80 43 */ lis r31, lbl_804366A0@ha
+/* 8028DD8C 002899EC 3B FF 66 A0 */ addi r31, r31, lbl_804366A0@l
+/* 8028DD90 002899F0 93 C1 00 08 */ stw r30, 8(r1)
+/* 8028DD94 002899F4 81 2D AA B0 */ lwz r9, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028DD98 002899F8 99 4D AA A8 */ stb r10, lbl_8063FD68-_SDA_BASE_(r13)
+/* 8028DD9C 002899FC 55 28 28 34 */ slwi r8, r9, 5
+/* 8028DDA0 00289A00 7C C7 42 14 */ add r6, r7, r8
+/* 8028DDA4 00289A04 88 A6 00 08 */ lbz r5, 8(r6)
+/* 8028DDA8 00289A08 7C 05 00 D0 */ neg r0, r5
+/* 8028DDAC 00289A0C 7C 00 2B 78 */ or r0, r0, r5
+/* 8028DDB0 00289A10 54 00 0F FE */ srwi r0, r0, 0x1f
+/* 8028DDB4 00289A14 28 00 00 01 */ cmplwi r0, 1
+/* 8028DDB8 00289A18 40 82 00 24 */ bne lbl_8028DDDC
+/* 8028DDBC 00289A1C 7D 24 4B 78 */ mr r4, r9
+/* 8028DDC0 00289A20 38 7F 02 18 */ addi r3, r31, 0x218
+/* 8028DDC4 00289A24 4C C6 31 82 */ crclr 6
+/* 8028DDC8 00289A28 4B D7 9C FD */ bl func_80007AC4
+/* 8028DDCC 00289A2C 38 7F 02 50 */ addi r3, r31, 0x250
+/* 8028DDD0 00289A30 4C C6 31 82 */ crclr 6
+/* 8028DDD4 00289A34 4B D7 9C F1 */ bl func_80007AC4
+lbl_8028DDD8:
+/* 8028DDD8 00289A38 48 00 00 00 */ b lbl_8028DDD8
+lbl_8028DDDC:
+/* 8028DDDC 00289A3C 80 A6 00 0C */ lwz r5, 0xc(r6)
+/* 8028DDE0 00289A40 3C 05 01 15 */ addis r0, r5, 0x115
+/* 8028DDE4 00289A44 28 00 DA ED */ cmplwi r0, 0xdaed
+/* 8028DDE8 00289A48 41 82 00 14 */ beq lbl_8028DDFC
+/* 8028DDEC 00289A4C 38 7F 02 80 */ addi r3, r31, 0x280
+/* 8028DDF0 00289A50 4C C6 31 82 */ crclr 6
+/* 8028DDF4 00289A54 4B D7 9C D1 */ bl func_80007AC4
+lbl_8028DDF8:
+/* 8028DDF8 00289A58 48 00 00 00 */ b lbl_8028DDF8
+lbl_8028DDFC:
+/* 8028DDFC 00289A5C 7C 87 41 2E */ stwx r4, r7, r8
+/* 8028DE00 00289A60 38 09 00 01 */ addi r0, r9, 1
+/* 8028DE04 00289A64 2C 00 00 04 */ cmpwi r0, 4
+/* 8028DE08 00289A68 91 46 00 04 */ stw r10, 4(r6)
+/* 8028DE0C 00289A6C 99 46 00 08 */ stb r10, 8(r6)
+/* 8028DE10 00289A70 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028DE14 00289A74 41 80 00 0C */ blt lbl_8028DE20
+/* 8028DE18 00289A78 38 00 00 00 */ li r0, 0
+/* 8028DE1C 00289A7C 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+lbl_8028DE20:
+/* 8028DE20 00289A80 80 8D AA AC */ lwz r4, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028DE24 00289A84 3C A0 80 52 */ lis r5, lbl_8051B760@ha
+/* 8028DE28 00289A88 55 26 28 34 */ slwi r6, r9, 5
+/* 8028DE2C 00289A8C 38 04 00 01 */ addi r0, r4, 1
+/* 8028DE30 00289A90 38 A5 B7 60 */ addi r5, r5, lbl_8051B760@l
+/* 8028DE34 00289A94 2C 00 00 04 */ cmpwi r0, 4
+/* 8028DE38 00289A98 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028DE3C 00289A9C 7F C5 32 14 */ add r30, r5, r6
+/* 8028DE40 00289AA0 41 80 00 0C */ blt lbl_8028DE4C
+/* 8028DE44 00289AA4 38 00 00 00 */ li r0, 0
+/* 8028DE48 00289AA8 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+lbl_8028DE4C:
+/* 8028DE4C 00289AAC 80 8D AA C4 */ lwz r4, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028DE50 00289AB0 3D 20 80 29 */ lis r9, doTransactionCallback@ha
+/* 8028DE54 00289AB4 54 00 28 34 */ slwi r0, r0, 5
+/* 8028DE58 00289AB8 38 A0 00 12 */ li r5, 0x12
+/* 8028DE5C 00289ABC 7C A4 01 AE */ stbx r5, r4, r0
+/* 8028DE60 00289AC0 7C 67 1B 78 */ mr r7, r3
+/* 8028DE64 00289AC4 7F CA F3 78 */ mr r10, r30
+/* 8028DE68 00289AC8 39 29 D1 18 */ addi r9, r9, doTransactionCallback@l
+/* 8028DE6C 00289ACC 80 0D AA AC */ lwz r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028DE70 00289AD0 38 80 00 12 */ li r4, 0x12
+/* 8028DE74 00289AD4 80 AD AA C4 */ lwz r5, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028DE78 00289AD8 38 C0 00 20 */ li r6, 0x20
+/* 8028DE7C 00289ADC 54 00 28 34 */ slwi r0, r0, 5
+/* 8028DE80 00289AE0 80 6D 88 D0 */ lwz r3, lbl_8063DB90-_SDA_BASE_(r13)
+/* 8028DE84 00289AE4 7C A5 02 14 */ add r5, r5, r0
+/* 8028DE88 00289AE8 39 00 00 20 */ li r8, 0x20
+/* 8028DE8C 00289AEC 48 01 5B 2D */ bl func_802A39B8
+/* 8028DE90 00289AF0 2C 03 00 00 */ cmpwi r3, 0
+/* 8028DE94 00289AF4 41 82 00 24 */ beq lbl_8028DEB8
+/* 8028DE98 00289AF8 7C 64 1B 78 */ mr r4, r3
+/* 8028DE9C 00289AFC 38 7F 04 E8 */ addi r3, r31, 0x4e8
+/* 8028DEA0 00289B00 4C C6 31 82 */ crclr 6
+/* 8028DEA4 00289B04 4B D7 9C 21 */ bl func_80007AC4
+/* 8028DEA8 00289B08 38 00 00 00 */ li r0, 0
+/* 8028DEAC 00289B0C 38 60 00 00 */ li r3, 0
+/* 8028DEB0 00289B10 98 1E 00 08 */ stb r0, 8(r30)
+/* 8028DEB4 00289B14 48 00 00 08 */ b lbl_8028DEBC
+lbl_8028DEB8:
+/* 8028DEB8 00289B18 38 60 00 01 */ li r3, 1
+lbl_8028DEBC:
+/* 8028DEBC 00289B1C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028DEC0 00289B20 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028DEC4 00289B24 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8028DEC8 00289B28 7C 08 03 A6 */ mtlr r0
+/* 8028DECC 00289B2C 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028DED0 00289B30 4E 80 00 20 */ blr
+
+.global DVDLowRequestError
+DVDLowRequestError:
+/* 8028DED4 00289B34 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028DED8 00289B38 7C 08 02 A6 */ mflr r0
+/* 8028DEDC 00289B3C 3C E0 80 52 */ lis r7, lbl_8051B760@ha
+/* 8028DEE0 00289B40 39 20 00 01 */ li r9, 1
+/* 8028DEE4 00289B44 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028DEE8 00289B48 38 E7 B7 60 */ addi r7, r7, lbl_8051B760@l
+/* 8028DEEC 00289B4C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028DEF0 00289B50 3F E0 80 43 */ lis r31, lbl_804366A0@ha
+/* 8028DEF4 00289B54 3B FF 66 A0 */ addi r31, r31, lbl_804366A0@l
+/* 8028DEF8 00289B58 93 C1 00 08 */ stw r30, 8(r1)
+/* 8028DEFC 00289B5C 80 8D AA B0 */ lwz r4, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028DF00 00289B60 99 2D AA A8 */ stb r9, lbl_8063FD68-_SDA_BASE_(r13)
+/* 8028DF04 00289B64 54 88 28 34 */ slwi r8, r4, 5
+/* 8028DF08 00289B68 7C C7 42 14 */ add r6, r7, r8
+/* 8028DF0C 00289B6C 88 A6 00 08 */ lbz r5, 8(r6)
+/* 8028DF10 00289B70 7C 05 00 D0 */ neg r0, r5
+/* 8028DF14 00289B74 7C 00 2B 78 */ or r0, r0, r5
+/* 8028DF18 00289B78 54 00 0F FE */ srwi r0, r0, 0x1f
+/* 8028DF1C 00289B7C 28 00 00 01 */ cmplwi r0, 1
+/* 8028DF20 00289B80 40 82 00 20 */ bne lbl_8028DF40
+/* 8028DF24 00289B84 38 7F 02 18 */ addi r3, r31, 0x218
+/* 8028DF28 00289B88 4C C6 31 82 */ crclr 6
+/* 8028DF2C 00289B8C 4B D7 9B 99 */ bl func_80007AC4
+/* 8028DF30 00289B90 38 7F 02 50 */ addi r3, r31, 0x250
+/* 8028DF34 00289B94 4C C6 31 82 */ crclr 6
+/* 8028DF38 00289B98 4B D7 9B 8D */ bl func_80007AC4
+lbl_8028DF3C:
+/* 8028DF3C 00289B9C 48 00 00 00 */ b lbl_8028DF3C
+lbl_8028DF40:
+/* 8028DF40 00289BA0 80 A6 00 0C */ lwz r5, 0xc(r6)
+/* 8028DF44 00289BA4 3C 05 01 15 */ addis r0, r5, 0x115
+/* 8028DF48 00289BA8 28 00 DA ED */ cmplwi r0, 0xdaed
+/* 8028DF4C 00289BAC 41 82 00 14 */ beq lbl_8028DF60
+/* 8028DF50 00289BB0 38 7F 02 80 */ addi r3, r31, 0x280
+/* 8028DF54 00289BB4 4C C6 31 82 */ crclr 6
+/* 8028DF58 00289BB8 4B D7 9B 6D */ bl func_80007AC4
+lbl_8028DF5C:
+/* 8028DF5C 00289BBC 48 00 00 00 */ b lbl_8028DF5C
+lbl_8028DF60:
+/* 8028DF60 00289BC0 7C 67 41 2E */ stwx r3, r7, r8
+/* 8028DF64 00289BC4 38 04 00 01 */ addi r0, r4, 1
+/* 8028DF68 00289BC8 2C 00 00 04 */ cmpwi r0, 4
+/* 8028DF6C 00289BCC 91 26 00 04 */ stw r9, 4(r6)
+/* 8028DF70 00289BD0 99 26 00 08 */ stb r9, 8(r6)
+/* 8028DF74 00289BD4 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028DF78 00289BD8 41 80 00 0C */ blt lbl_8028DF84
+/* 8028DF7C 00289BDC 38 00 00 00 */ li r0, 0
+/* 8028DF80 00289BE0 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+lbl_8028DF84:
+/* 8028DF84 00289BE4 80 6D AA AC */ lwz r3, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028DF88 00289BE8 3C A0 80 52 */ lis r5, lbl_8051B760@ha
+/* 8028DF8C 00289BEC 54 84 28 34 */ slwi r4, r4, 5
+/* 8028DF90 00289BF0 38 03 00 01 */ addi r0, r3, 1
+/* 8028DF94 00289BF4 38 A5 B7 60 */ addi r5, r5, lbl_8051B760@l
+/* 8028DF98 00289BF8 2C 00 00 04 */ cmpwi r0, 4
+/* 8028DF9C 00289BFC 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028DFA0 00289C00 7F C5 22 14 */ add r30, r5, r4
+/* 8028DFA4 00289C04 41 80 00 0C */ blt lbl_8028DFB0
+/* 8028DFA8 00289C08 38 00 00 00 */ li r0, 0
+/* 8028DFAC 00289C0C 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+lbl_8028DFB0:
+/* 8028DFB0 00289C10 80 6D AA C4 */ lwz r3, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028DFB4 00289C14 3C E0 80 52 */ lis r7, lbl_8051B7E0@ha
+/* 8028DFB8 00289C18 54 00 28 34 */ slwi r0, r0, 5
+/* 8028DFBC 00289C1C 38 80 00 E0 */ li r4, 0xe0
+/* 8028DFC0 00289C20 7C 83 01 AE */ stbx r4, r3, r0
+/* 8028DFC4 00289C24 3D 20 80 29 */ lis r9, doTransactionCallback@ha
+/* 8028DFC8 00289C28 7F CA F3 78 */ mr r10, r30
+/* 8028DFCC 00289C2C 38 E7 B7 E0 */ addi r7, r7, lbl_8051B7E0@l
+/* 8028DFD0 00289C30 80 0D AA AC */ lwz r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028DFD4 00289C34 39 29 D1 18 */ addi r9, r9, doTransactionCallback@l
+/* 8028DFD8 00289C38 80 AD AA C4 */ lwz r5, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028DFDC 00289C3C 38 80 00 E0 */ li r4, 0xe0
+/* 8028DFE0 00289C40 54 00 28 34 */ slwi r0, r0, 5
+/* 8028DFE4 00289C44 80 6D 88 D0 */ lwz r3, lbl_8063DB90-_SDA_BASE_(r13)
+/* 8028DFE8 00289C48 7C A5 02 14 */ add r5, r5, r0
+/* 8028DFEC 00289C4C 38 C0 00 20 */ li r6, 0x20
+/* 8028DFF0 00289C50 39 00 00 20 */ li r8, 0x20
+/* 8028DFF4 00289C54 48 01 59 C5 */ bl func_802A39B8
+/* 8028DFF8 00289C58 2C 03 00 00 */ cmpwi r3, 0
+/* 8028DFFC 00289C5C 41 82 00 24 */ beq lbl_8028E020
+/* 8028E000 00289C60 7C 64 1B 78 */ mr r4, r3
+/* 8028E004 00289C64 38 7F 05 20 */ addi r3, r31, 0x520
+/* 8028E008 00289C68 4C C6 31 82 */ crclr 6
+/* 8028E00C 00289C6C 4B D7 9A B9 */ bl func_80007AC4
+/* 8028E010 00289C70 38 00 00 00 */ li r0, 0
+/* 8028E014 00289C74 38 60 00 00 */ li r3, 0
+/* 8028E018 00289C78 98 1E 00 08 */ stb r0, 8(r30)
+/* 8028E01C 00289C7C 48 00 00 08 */ b lbl_8028E024
+lbl_8028E020:
+/* 8028E020 00289C80 38 60 00 01 */ li r3, 1
+lbl_8028E024:
+/* 8028E024 00289C84 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028E028 00289C88 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028E02C 00289C8C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8028E030 00289C90 7C 08 03 A6 */ mtlr r0
+/* 8028E034 00289C94 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028E038 00289C98 4E 80 00 20 */ blr
+
+.global DVDLowSetSpinupFlag
+DVDLowSetSpinupFlag:
+/* 8028E03C 00289C9C 90 6D AA B8 */ stw r3, lbl_8063FD78-_SDA_BASE_(r13)
+/* 8028E040 00289CA0 38 60 00 01 */ li r3, 1
+/* 8028E044 00289CA4 4E 80 00 20 */ blr
+
+.global DVDLowReset
+DVDLowReset:
+/* 8028E048 00289CA8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028E04C 00289CAC 7C 08 02 A6 */ mflr r0
+/* 8028E050 00289CB0 3C E0 80 52 */ lis r7, lbl_8051B760@ha
+/* 8028E054 00289CB4 39 20 00 01 */ li r9, 1
+/* 8028E058 00289CB8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028E05C 00289CBC 38 E7 B7 60 */ addi r7, r7, lbl_8051B760@l
+/* 8028E060 00289CC0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028E064 00289CC4 3F E0 80 43 */ lis r31, lbl_804366A0@ha
+/* 8028E068 00289CC8 3B FF 66 A0 */ addi r31, r31, lbl_804366A0@l
+/* 8028E06C 00289CCC 93 C1 00 08 */ stw r30, 8(r1)
+/* 8028E070 00289CD0 80 8D AA B0 */ lwz r4, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028E074 00289CD4 99 2D AA A8 */ stb r9, lbl_8063FD68-_SDA_BASE_(r13)
+/* 8028E078 00289CD8 54 88 28 34 */ slwi r8, r4, 5
+/* 8028E07C 00289CDC 7C C7 42 14 */ add r6, r7, r8
+/* 8028E080 00289CE0 88 A6 00 08 */ lbz r5, 8(r6)
+/* 8028E084 00289CE4 7C 05 00 D0 */ neg r0, r5
+/* 8028E088 00289CE8 7C 00 2B 78 */ or r0, r0, r5
+/* 8028E08C 00289CEC 54 00 0F FE */ srwi r0, r0, 0x1f
+/* 8028E090 00289CF0 28 00 00 01 */ cmplwi r0, 1
+/* 8028E094 00289CF4 40 82 00 20 */ bne lbl_8028E0B4
+/* 8028E098 00289CF8 38 7F 02 18 */ addi r3, r31, 0x218
+/* 8028E09C 00289CFC 4C C6 31 82 */ crclr 6
+/* 8028E0A0 00289D00 4B D7 9A 25 */ bl func_80007AC4
+/* 8028E0A4 00289D04 38 7F 02 50 */ addi r3, r31, 0x250
+/* 8028E0A8 00289D08 4C C6 31 82 */ crclr 6
+/* 8028E0AC 00289D0C 4B D7 9A 19 */ bl func_80007AC4
+lbl_8028E0B0:
+/* 8028E0B0 00289D10 48 00 00 00 */ b lbl_8028E0B0
+lbl_8028E0B4:
+/* 8028E0B4 00289D14 80 A6 00 0C */ lwz r5, 0xc(r6)
+/* 8028E0B8 00289D18 3C 05 01 15 */ addis r0, r5, 0x115
+/* 8028E0BC 00289D1C 28 00 DA ED */ cmplwi r0, 0xdaed
+/* 8028E0C0 00289D20 41 82 00 14 */ beq lbl_8028E0D4
+/* 8028E0C4 00289D24 38 7F 02 80 */ addi r3, r31, 0x280
+/* 8028E0C8 00289D28 4C C6 31 82 */ crclr 6
+/* 8028E0CC 00289D2C 4B D7 99 F9 */ bl func_80007AC4
+lbl_8028E0D0:
+/* 8028E0D0 00289D30 48 00 00 00 */ b lbl_8028E0D0
+lbl_8028E0D4:
+/* 8028E0D4 00289D34 7C 67 41 2E */ stwx r3, r7, r8
+/* 8028E0D8 00289D38 38 04 00 01 */ addi r0, r4, 1
+/* 8028E0DC 00289D3C 2C 00 00 04 */ cmpwi r0, 4
+/* 8028E0E0 00289D40 91 26 00 04 */ stw r9, 4(r6)
+/* 8028E0E4 00289D44 99 26 00 08 */ stb r9, 8(r6)
+/* 8028E0E8 00289D48 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028E0EC 00289D4C 41 80 00 0C */ blt lbl_8028E0F8
+/* 8028E0F0 00289D50 38 00 00 00 */ li r0, 0
+/* 8028E0F4 00289D54 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+lbl_8028E0F8:
+/* 8028E0F8 00289D58 80 6D AA AC */ lwz r3, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E0FC 00289D5C 3C A0 80 52 */ lis r5, lbl_8051B760@ha
+/* 8028E100 00289D60 54 84 28 34 */ slwi r4, r4, 5
+/* 8028E104 00289D64 38 03 00 01 */ addi r0, r3, 1
+/* 8028E108 00289D68 38 A5 B7 60 */ addi r5, r5, lbl_8051B760@l
+/* 8028E10C 00289D6C 2C 00 00 04 */ cmpwi r0, 4
+/* 8028E110 00289D70 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E114 00289D74 7F C5 22 14 */ add r30, r5, r4
+/* 8028E118 00289D78 41 80 00 0C */ blt lbl_8028E124
+/* 8028E11C 00289D7C 38 00 00 00 */ li r0, 0
+/* 8028E120 00289D80 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+lbl_8028E124:
+/* 8028E124 00289D84 80 6D AA C4 */ lwz r3, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028E128 00289D88 3D 20 80 29 */ lis r9, doTransactionCallback@ha
+/* 8028E12C 00289D8C 54 00 28 34 */ slwi r0, r0, 5
+/* 8028E130 00289D90 38 80 00 8A */ li r4, 0x8a
+/* 8028E134 00289D94 7C 83 01 AE */ stbx r4, r3, r0
+/* 8028E138 00289D98 7F CA F3 78 */ mr r10, r30
+/* 8028E13C 00289D9C 39 29 D1 18 */ addi r9, r9, doTransactionCallback@l
+/* 8028E140 00289DA0 38 80 00 8A */ li r4, 0x8a
+/* 8028E144 00289DA4 80 0D AA AC */ lwz r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E148 00289DA8 38 C0 00 20 */ li r6, 0x20
+/* 8028E14C 00289DAC 80 6D AA C4 */ lwz r3, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028E150 00289DB0 38 E0 00 00 */ li r7, 0
+/* 8028E154 00289DB4 54 00 28 34 */ slwi r0, r0, 5
+/* 8028E158 00289DB8 80 AD AA B8 */ lwz r5, lbl_8063FD78-_SDA_BASE_(r13)
+/* 8028E15C 00289DBC 7C 63 02 14 */ add r3, r3, r0
+/* 8028E160 00289DC0 39 00 00 00 */ li r8, 0
+/* 8028E164 00289DC4 90 A3 00 04 */ stw r5, 4(r3)
+/* 8028E168 00289DC8 80 0D AA AC */ lwz r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E16C 00289DCC 80 AD AA C4 */ lwz r5, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028E170 00289DD0 54 00 28 34 */ slwi r0, r0, 5
+/* 8028E174 00289DD4 80 6D 88 D0 */ lwz r3, lbl_8063DB90-_SDA_BASE_(r13)
+/* 8028E178 00289DD8 7C A5 02 14 */ add r5, r5, r0
+/* 8028E17C 00289DDC 48 01 58 3D */ bl func_802A39B8
+/* 8028E180 00289DE0 2C 03 00 00 */ cmpwi r3, 0
+/* 8028E184 00289DE4 41 82 00 24 */ beq lbl_8028E1A8
+/* 8028E188 00289DE8 7C 64 1B 78 */ mr r4, r3
+/* 8028E18C 00289DEC 38 7F 05 E0 */ addi r3, r31, 0x5e0
+/* 8028E190 00289DF0 4C C6 31 82 */ crclr 6
+/* 8028E194 00289DF4 4B D7 99 31 */ bl func_80007AC4
+/* 8028E198 00289DF8 38 00 00 00 */ li r0, 0
+/* 8028E19C 00289DFC 38 60 00 00 */ li r3, 0
+/* 8028E1A0 00289E00 98 1E 00 08 */ stb r0, 8(r30)
+/* 8028E1A4 00289E04 48 00 00 08 */ b lbl_8028E1AC
+lbl_8028E1A8:
+/* 8028E1A8 00289E08 38 60 00 01 */ li r3, 1
+lbl_8028E1AC:
+/* 8028E1AC 00289E0C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028E1B0 00289E10 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028E1B4 00289E14 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8028E1B8 00289E18 7C 08 03 A6 */ mtlr r0
+/* 8028E1BC 00289E1C 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028E1C0 00289E20 4E 80 00 20 */ blr
+
+.global DVDLowAudioBufferConfig
+DVDLowAudioBufferConfig:
+/* 8028E1C4 00289E24 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028E1C8 00289E28 7C 08 02 A6 */ mflr r0
+/* 8028E1CC 00289E2C 3D 00 80 52 */ lis r8, lbl_8051B760@ha
+/* 8028E1D0 00289E30 39 60 00 01 */ li r11, 1
+/* 8028E1D4 00289E34 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028E1D8 00289E38 39 08 B7 60 */ addi r8, r8, lbl_8051B760@l
+/* 8028E1DC 00289E3C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028E1E0 00289E40 3F E0 80 43 */ lis r31, lbl_804366A0@ha
+/* 8028E1E4 00289E44 3B FF 66 A0 */ addi r31, r31, lbl_804366A0@l
+/* 8028E1E8 00289E48 93 C1 00 08 */ stw r30, 8(r1)
+/* 8028E1EC 00289E4C 81 4D AA B0 */ lwz r10, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028E1F0 00289E50 99 6D AA A8 */ stb r11, lbl_8063FD68-_SDA_BASE_(r13)
+/* 8028E1F4 00289E54 55 49 28 34 */ slwi r9, r10, 5
+/* 8028E1F8 00289E58 7C E8 4A 14 */ add r7, r8, r9
+/* 8028E1FC 00289E5C 88 C7 00 08 */ lbz r6, 8(r7)
+/* 8028E200 00289E60 7C 06 00 D0 */ neg r0, r6
+/* 8028E204 00289E64 7C 00 33 78 */ or r0, r0, r6
+/* 8028E208 00289E68 54 00 0F FE */ srwi r0, r0, 0x1f
+/* 8028E20C 00289E6C 28 00 00 01 */ cmplwi r0, 1
+/* 8028E210 00289E70 40 82 00 24 */ bne lbl_8028E234
+/* 8028E214 00289E74 7D 44 53 78 */ mr r4, r10
+/* 8028E218 00289E78 38 7F 02 18 */ addi r3, r31, 0x218
+/* 8028E21C 00289E7C 4C C6 31 82 */ crclr 6
+/* 8028E220 00289E80 4B D7 98 A5 */ bl func_80007AC4
+/* 8028E224 00289E84 38 7F 02 50 */ addi r3, r31, 0x250
+/* 8028E228 00289E88 4C C6 31 82 */ crclr 6
+/* 8028E22C 00289E8C 4B D7 98 99 */ bl func_80007AC4
+lbl_8028E230:
+/* 8028E230 00289E90 48 00 00 00 */ b lbl_8028E230
+lbl_8028E234:
+/* 8028E234 00289E94 80 C7 00 0C */ lwz r6, 0xc(r7)
+/* 8028E238 00289E98 3C 06 01 15 */ addis r0, r6, 0x115
+/* 8028E23C 00289E9C 28 00 DA ED */ cmplwi r0, 0xdaed
+/* 8028E240 00289EA0 41 82 00 14 */ beq lbl_8028E254
+/* 8028E244 00289EA4 38 7F 02 80 */ addi r3, r31, 0x280
+/* 8028E248 00289EA8 4C C6 31 82 */ crclr 6
+/* 8028E24C 00289EAC 4B D7 98 79 */ bl func_80007AC4
+lbl_8028E250:
+/* 8028E250 00289EB0 48 00 00 00 */ b lbl_8028E250
+lbl_8028E254:
+/* 8028E254 00289EB4 7C A8 49 2E */ stwx r5, r8, r9
+/* 8028E258 00289EB8 38 0A 00 01 */ addi r0, r10, 1
+/* 8028E25C 00289EBC 2C 00 00 04 */ cmpwi r0, 4
+/* 8028E260 00289EC0 91 67 00 04 */ stw r11, 4(r7)
+/* 8028E264 00289EC4 99 67 00 08 */ stb r11, 8(r7)
+/* 8028E268 00289EC8 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028E26C 00289ECC 41 80 00 0C */ blt lbl_8028E278
+/* 8028E270 00289ED0 38 00 00 00 */ li r0, 0
+/* 8028E274 00289ED4 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+lbl_8028E278:
+/* 8028E278 00289ED8 80 AD AA AC */ lwz r5, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E27C 00289EDC 3C C0 80 52 */ lis r6, lbl_8051B760@ha
+/* 8028E280 00289EE0 55 47 28 34 */ slwi r7, r10, 5
+/* 8028E284 00289EE4 38 05 00 01 */ addi r0, r5, 1
+/* 8028E288 00289EE8 38 C6 B7 60 */ addi r6, r6, lbl_8051B760@l
+/* 8028E28C 00289EEC 2C 00 00 04 */ cmpwi r0, 4
+/* 8028E290 00289EF0 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E294 00289EF4 7F C6 3A 14 */ add r30, r6, r7
+/* 8028E298 00289EF8 41 80 00 0C */ blt lbl_8028E2A4
+/* 8028E29C 00289EFC 38 00 00 00 */ li r0, 0
+/* 8028E2A0 00289F00 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+lbl_8028E2A4:
+/* 8028E2A4 00289F04 80 AD AA C4 */ lwz r5, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028E2A8 00289F08 3C E0 80 52 */ lis r7, lbl_8051B7E0@ha
+/* 8028E2AC 00289F0C 54 00 28 34 */ slwi r0, r0, 5
+/* 8028E2B0 00289F10 38 C0 00 E4 */ li r6, 0xe4
+/* 8028E2B4 00289F14 7C C5 01 AE */ stbx r6, r5, r0
+/* 8028E2B8 00289F18 3D 20 80 29 */ lis r9, doTransactionCallback@ha
+/* 8028E2BC 00289F1C 7F CA F3 78 */ mr r10, r30
+/* 8028E2C0 00289F20 38 E7 B7 E0 */ addi r7, r7, lbl_8051B7E0@l
+/* 8028E2C4 00289F24 80 0D AA AC */ lwz r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E2C8 00289F28 39 29 D1 18 */ addi r9, r9, doTransactionCallback@l
+/* 8028E2CC 00289F2C 80 AD AA C4 */ lwz r5, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028E2D0 00289F30 38 C0 00 20 */ li r6, 0x20
+/* 8028E2D4 00289F34 54 00 28 34 */ slwi r0, r0, 5
+/* 8028E2D8 00289F38 39 00 00 20 */ li r8, 0x20
+/* 8028E2DC 00289F3C 7C A5 02 14 */ add r5, r5, r0
+/* 8028E2E0 00289F40 90 65 00 04 */ stw r3, 4(r5)
+/* 8028E2E4 00289F44 80 0D AA AC */ lwz r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E2E8 00289F48 80 6D AA C4 */ lwz r3, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028E2EC 00289F4C 54 00 28 34 */ slwi r0, r0, 5
+/* 8028E2F0 00289F50 7C 63 02 14 */ add r3, r3, r0
+/* 8028E2F4 00289F54 90 83 00 08 */ stw r4, 8(r3)
+/* 8028E2F8 00289F58 38 80 00 E4 */ li r4, 0xe4
+/* 8028E2FC 00289F5C 80 0D AA AC */ lwz r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E300 00289F60 80 AD AA C4 */ lwz r5, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028E304 00289F64 54 00 28 34 */ slwi r0, r0, 5
+/* 8028E308 00289F68 80 6D 88 D0 */ lwz r3, lbl_8063DB90-_SDA_BASE_(r13)
+/* 8028E30C 00289F6C 7C A5 02 14 */ add r5, r5, r0
+/* 8028E310 00289F70 48 01 56 A9 */ bl func_802A39B8
+/* 8028E314 00289F74 2C 03 00 00 */ cmpwi r3, 0
+/* 8028E318 00289F78 41 82 00 24 */ beq lbl_8028E33C
+/* 8028E31C 00289F7C 7C 64 1B 78 */ mr r4, r3
+/* 8028E320 00289F80 38 7F 06 18 */ addi r3, r31, 0x618
+/* 8028E324 00289F84 4C C6 31 82 */ crclr 6
+/* 8028E328 00289F88 4B D7 97 9D */ bl func_80007AC4
+/* 8028E32C 00289F8C 38 00 00 00 */ li r0, 0
+/* 8028E330 00289F90 38 60 00 00 */ li r3, 0
+/* 8028E334 00289F94 98 1E 00 08 */ stb r0, 8(r30)
+/* 8028E338 00289F98 48 00 00 08 */ b lbl_8028E340
+lbl_8028E33C:
+/* 8028E33C 00289F9C 38 60 00 01 */ li r3, 1
+lbl_8028E340:
+/* 8028E340 00289FA0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028E344 00289FA4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028E348 00289FA8 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8028E34C 00289FAC 7C 08 03 A6 */ mtlr r0
+/* 8028E350 00289FB0 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028E354 00289FB4 4E 80 00 20 */ blr
+
+.global DVDLowSetMaximumRotation
+DVDLowSetMaximumRotation:
+/* 8028E358 00289FB8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028E35C 00289FBC 7C 08 02 A6 */ mflr r0
+/* 8028E360 00289FC0 3C E0 80 52 */ lis r7, lbl_8051B760@ha
+/* 8028E364 00289FC4 39 40 00 01 */ li r10, 1
+/* 8028E368 00289FC8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028E36C 00289FCC 38 E7 B7 60 */ addi r7, r7, lbl_8051B760@l
+/* 8028E370 00289FD0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028E374 00289FD4 3F E0 80 43 */ lis r31, lbl_804366A0@ha
+/* 8028E378 00289FD8 3B FF 66 A0 */ addi r31, r31, lbl_804366A0@l
+/* 8028E37C 00289FDC 93 C1 00 08 */ stw r30, 8(r1)
+/* 8028E380 00289FE0 81 2D AA B0 */ lwz r9, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028E384 00289FE4 99 4D AA A8 */ stb r10, lbl_8063FD68-_SDA_BASE_(r13)
+/* 8028E388 00289FE8 55 28 28 34 */ slwi r8, r9, 5
+/* 8028E38C 00289FEC 7C C7 42 14 */ add r6, r7, r8
+/* 8028E390 00289FF0 88 A6 00 08 */ lbz r5, 8(r6)
+/* 8028E394 00289FF4 7C 05 00 D0 */ neg r0, r5
+/* 8028E398 00289FF8 7C 00 2B 78 */ or r0, r0, r5
+/* 8028E39C 00289FFC 54 00 0F FE */ srwi r0, r0, 0x1f
+/* 8028E3A0 0028A000 28 00 00 01 */ cmplwi r0, 1
+/* 8028E3A4 0028A004 40 82 00 24 */ bne lbl_8028E3C8
+/* 8028E3A8 0028A008 7D 24 4B 78 */ mr r4, r9
+/* 8028E3AC 0028A00C 38 7F 02 18 */ addi r3, r31, 0x218
+/* 8028E3B0 0028A010 4C C6 31 82 */ crclr 6
+/* 8028E3B4 0028A014 4B D7 97 11 */ bl func_80007AC4
+/* 8028E3B8 0028A018 38 7F 02 50 */ addi r3, r31, 0x250
+/* 8028E3BC 0028A01C 4C C6 31 82 */ crclr 6
+/* 8028E3C0 0028A020 4B D7 97 05 */ bl func_80007AC4
+lbl_8028E3C4:
+/* 8028E3C4 0028A024 48 00 00 00 */ b lbl_8028E3C4
+lbl_8028E3C8:
+/* 8028E3C8 0028A028 80 A6 00 0C */ lwz r5, 0xc(r6)
+/* 8028E3CC 0028A02C 3C 05 01 15 */ addis r0, r5, 0x115
+/* 8028E3D0 0028A030 28 00 DA ED */ cmplwi r0, 0xdaed
+/* 8028E3D4 0028A034 41 82 00 14 */ beq lbl_8028E3E8
+/* 8028E3D8 0028A038 38 7F 02 80 */ addi r3, r31, 0x280
+/* 8028E3DC 0028A03C 4C C6 31 82 */ crclr 6
+/* 8028E3E0 0028A040 4B D7 96 E5 */ bl func_80007AC4
+lbl_8028E3E4:
+/* 8028E3E4 0028A044 48 00 00 00 */ b lbl_8028E3E4
+lbl_8028E3E8:
+/* 8028E3E8 0028A048 7C 87 41 2E */ stwx r4, r7, r8
+/* 8028E3EC 0028A04C 38 09 00 01 */ addi r0, r9, 1
+/* 8028E3F0 0028A050 2C 00 00 04 */ cmpwi r0, 4
+/* 8028E3F4 0028A054 91 46 00 04 */ stw r10, 4(r6)
+/* 8028E3F8 0028A058 99 46 00 08 */ stb r10, 8(r6)
+/* 8028E3FC 0028A05C 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028E400 0028A060 41 80 00 0C */ blt lbl_8028E40C
+/* 8028E404 0028A064 38 00 00 00 */ li r0, 0
+/* 8028E408 0028A068 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+lbl_8028E40C:
+/* 8028E40C 0028A06C 80 8D AA AC */ lwz r4, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E410 0028A070 3C A0 80 52 */ lis r5, lbl_8051B760@ha
+/* 8028E414 0028A074 55 26 28 34 */ slwi r6, r9, 5
+/* 8028E418 0028A078 38 04 00 01 */ addi r0, r4, 1
+/* 8028E41C 0028A07C 38 A5 B7 60 */ addi r5, r5, lbl_8051B760@l
+/* 8028E420 0028A080 2C 00 00 04 */ cmpwi r0, 4
+/* 8028E424 0028A084 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E428 0028A088 7F C5 32 14 */ add r30, r5, r6
+/* 8028E42C 0028A08C 41 80 00 0C */ blt lbl_8028E438
+/* 8028E430 0028A090 38 00 00 00 */ li r0, 0
+/* 8028E434 0028A094 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+lbl_8028E438:
+/* 8028E438 0028A098 80 8D AA C4 */ lwz r4, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028E43C 0028A09C 3D 20 80 29 */ lis r9, doTransactionCallback@ha
+/* 8028E440 0028A0A0 54 00 28 34 */ slwi r0, r0, 5
+/* 8028E444 0028A0A4 38 A0 00 DD */ li r5, 0xdd
+/* 8028E448 0028A0A8 7C A4 01 AE */ stbx r5, r4, r0
+/* 8028E44C 0028A0AC 54 65 87 BE */ rlwinm r5, r3, 0x10, 0x1e, 0x1f
+/* 8028E450 0028A0B0 7F CA F3 78 */ mr r10, r30
+/* 8028E454 0028A0B4 39 29 D1 18 */ addi r9, r9, doTransactionCallback@l
+/* 8028E458 0028A0B8 80 0D AA AC */ lwz r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E45C 0028A0BC 38 80 00 DD */ li r4, 0xdd
+/* 8028E460 0028A0C0 80 6D AA C4 */ lwz r3, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028E464 0028A0C4 38 C0 00 20 */ li r6, 0x20
+/* 8028E468 0028A0C8 54 00 28 34 */ slwi r0, r0, 5
+/* 8028E46C 0028A0CC 38 E0 00 00 */ li r7, 0
+/* 8028E470 0028A0D0 7C 63 02 14 */ add r3, r3, r0
+/* 8028E474 0028A0D4 39 00 00 00 */ li r8, 0
+/* 8028E478 0028A0D8 90 A3 00 04 */ stw r5, 4(r3)
+/* 8028E47C 0028A0DC 80 0D AA AC */ lwz r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E480 0028A0E0 80 AD AA C4 */ lwz r5, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028E484 0028A0E4 54 00 28 34 */ slwi r0, r0, 5
+/* 8028E488 0028A0E8 80 6D 88 D0 */ lwz r3, lbl_8063DB90-_SDA_BASE_(r13)
+/* 8028E48C 0028A0EC 7C A5 02 14 */ add r5, r5, r0
+/* 8028E490 0028A0F0 48 01 55 29 */ bl func_802A39B8
+/* 8028E494 0028A0F4 2C 03 00 00 */ cmpwi r3, 0
+/* 8028E498 0028A0F8 41 82 00 24 */ beq lbl_8028E4BC
+/* 8028E49C 0028A0FC 7C 64 1B 78 */ mr r4, r3
+/* 8028E4A0 0028A100 38 7F 09 CC */ addi r3, r31, 0x9cc
+/* 8028E4A4 0028A104 4C C6 31 82 */ crclr 6
+/* 8028E4A8 0028A108 4B D7 96 1D */ bl func_80007AC4
+/* 8028E4AC 0028A10C 38 00 00 00 */ li r0, 0
+/* 8028E4B0 0028A110 38 60 00 00 */ li r3, 0
+/* 8028E4B4 0028A114 98 1E 00 08 */ stb r0, 8(r30)
+/* 8028E4B8 0028A118 48 00 00 08 */ b lbl_8028E4C0
+lbl_8028E4BC:
+/* 8028E4BC 0028A11C 38 60 00 01 */ li r3, 1
+lbl_8028E4C0:
+/* 8028E4C0 0028A120 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028E4C4 0028A124 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028E4C8 0028A128 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8028E4CC 0028A12C 7C 08 03 A6 */ mtlr r0
+/* 8028E4D0 0028A130 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028E4D4 0028A134 4E 80 00 20 */ blr
+
+.global DVDLowRead
+DVDLowRead:
+/* 8028E4D8 0028A138 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028E4DC 0028A13C 7C 08 02 A6 */ mflr r0
+/* 8028E4E0 0028A140 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028E4E4 0028A144 54 60 06 FF */ clrlwi. r0, r3, 0x1b
+/* 8028E4E8 0028A148 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028E4EC 0028A14C 3F E0 80 43 */ lis r31, lbl_804366A0@ha
+/* 8028E4F0 0028A150 3B FF 66 A0 */ addi r31, r31, lbl_804366A0@l
+/* 8028E4F4 0028A154 93 C1 00 08 */ stw r30, 8(r1)
+/* 8028E4F8 0028A158 41 82 00 18 */ beq lbl_8028E510
+/* 8028E4FC 0028A15C 38 7F 0A 0C */ addi r3, r31, 0xa0c
+/* 8028E500 0028A160 4C C6 31 82 */ crclr 6
+/* 8028E504 0028A164 4B D7 95 C1 */ bl func_80007AC4
+/* 8028E508 0028A168 38 60 00 00 */ li r3, 0
+/* 8028E50C 0028A16C 48 00 01 64 */ b lbl_8028E670
+lbl_8028E510:
+/* 8028E510 0028A170 81 6D AA B0 */ lwz r11, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028E514 0028A174 3D 20 80 52 */ lis r9, lbl_8051B760@ha
+/* 8028E518 0028A178 39 80 00 01 */ li r12, 1
+/* 8028E51C 0028A17C 55 6A 28 34 */ slwi r10, r11, 5
+/* 8028E520 0028A180 39 29 B7 60 */ addi r9, r9, lbl_8051B760@l
+/* 8028E524 0028A184 7D 09 52 14 */ add r8, r9, r10
+/* 8028E528 0028A188 99 8D AA A8 */ stb r12, lbl_8063FD68-_SDA_BASE_(r13)
+/* 8028E52C 0028A18C 88 E8 00 08 */ lbz r7, 8(r8)
+/* 8028E530 0028A190 7C 07 00 D0 */ neg r0, r7
+/* 8028E534 0028A194 7C 00 3B 78 */ or r0, r0, r7
+/* 8028E538 0028A198 54 00 0F FE */ srwi r0, r0, 0x1f
+/* 8028E53C 0028A19C 28 00 00 01 */ cmplwi r0, 1
+/* 8028E540 0028A1A0 40 82 00 24 */ bne lbl_8028E564
+/* 8028E544 0028A1A4 7D 64 5B 78 */ mr r4, r11
+/* 8028E548 0028A1A8 38 7F 02 18 */ addi r3, r31, 0x218
+/* 8028E54C 0028A1AC 4C C6 31 82 */ crclr 6
+/* 8028E550 0028A1B0 4B D7 95 75 */ bl func_80007AC4
+/* 8028E554 0028A1B4 38 7F 02 50 */ addi r3, r31, 0x250
+/* 8028E558 0028A1B8 4C C6 31 82 */ crclr 6
+/* 8028E55C 0028A1BC 4B D7 95 69 */ bl func_80007AC4
+lbl_8028E560:
+/* 8028E560 0028A1C0 48 00 00 00 */ b lbl_8028E560
+lbl_8028E564:
+/* 8028E564 0028A1C4 80 E8 00 0C */ lwz r7, 0xc(r8)
+/* 8028E568 0028A1C8 3C 07 01 15 */ addis r0, r7, 0x115
+/* 8028E56C 0028A1CC 28 00 DA ED */ cmplwi r0, 0xdaed
+/* 8028E570 0028A1D0 41 82 00 14 */ beq lbl_8028E584
+/* 8028E574 0028A1D4 38 7F 02 80 */ addi r3, r31, 0x280
+/* 8028E578 0028A1D8 4C C6 31 82 */ crclr 6
+/* 8028E57C 0028A1DC 4B D7 95 49 */ bl func_80007AC4
+lbl_8028E580:
+/* 8028E580 0028A1E0 48 00 00 00 */ b lbl_8028E580
+lbl_8028E584:
+/* 8028E584 0028A1E4 7C C9 51 2E */ stwx r6, r9, r10
+/* 8028E588 0028A1E8 38 0B 00 01 */ addi r0, r11, 1
+/* 8028E58C 0028A1EC 2C 00 00 04 */ cmpwi r0, 4
+/* 8028E590 0028A1F0 91 88 00 04 */ stw r12, 4(r8)
+/* 8028E594 0028A1F4 99 88 00 08 */ stb r12, 8(r8)
+/* 8028E598 0028A1F8 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028E59C 0028A1FC 41 80 00 0C */ blt lbl_8028E5A8
+/* 8028E5A0 0028A200 38 00 00 00 */ li r0, 0
+/* 8028E5A4 0028A204 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+lbl_8028E5A8:
+/* 8028E5A8 0028A208 80 CD AA AC */ lwz r6, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E5AC 0028A20C 3C E0 80 52 */ lis r7, lbl_8051B760@ha
+/* 8028E5B0 0028A210 90 8D AA BC */ stw r4, lbl_8063FD7C-_SDA_BASE_(r13)
+/* 8028E5B4 0028A214 55 68 28 34 */ slwi r8, r11, 5
+/* 8028E5B8 0028A218 38 06 00 01 */ addi r0, r6, 1
+/* 8028E5BC 0028A21C 38 E7 B7 60 */ addi r7, r7, lbl_8051B760@l
+/* 8028E5C0 0028A220 2C 00 00 04 */ cmpwi r0, 4
+/* 8028E5C4 0028A224 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E5C8 0028A228 7F C7 42 14 */ add r30, r7, r8
+/* 8028E5CC 0028A22C 41 80 00 0C */ blt lbl_8028E5D8
+/* 8028E5D0 0028A230 38 00 00 00 */ li r0, 0
+/* 8028E5D4 0028A234 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+lbl_8028E5D8:
+/* 8028E5D8 0028A238 80 CD AA C4 */ lwz r6, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028E5DC 0028A23C 3D 20 80 29 */ lis r9, doTransactionCallback@ha
+/* 8028E5E0 0028A240 54 00 28 34 */ slwi r0, r0, 5
+/* 8028E5E4 0028A244 38 E0 00 71 */ li r7, 0x71
+/* 8028E5E8 0028A248 7C E6 01 AE */ stbx r7, r6, r0
+/* 8028E5EC 0028A24C 7C 67 1B 78 */ mr r7, r3
+/* 8028E5F0 0028A250 7C 88 23 78 */ mr r8, r4
+/* 8028E5F4 0028A254 7F CA F3 78 */ mr r10, r30
+/* 8028E5F8 0028A258 80 0D AA AC */ lwz r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E5FC 0028A25C 39 29 D1 18 */ addi r9, r9, doTransactionCallback@l
+/* 8028E600 0028A260 80 6D AA C4 */ lwz r3, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028E604 0028A264 38 C0 00 20 */ li r6, 0x20
+/* 8028E608 0028A268 54 00 28 34 */ slwi r0, r0, 5
+/* 8028E60C 0028A26C 7C 63 02 14 */ add r3, r3, r0
+/* 8028E610 0028A270 90 83 00 04 */ stw r4, 4(r3)
+/* 8028E614 0028A274 38 80 00 71 */ li r4, 0x71
+/* 8028E618 0028A278 80 0D AA AC */ lwz r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E61C 0028A27C 80 6D AA C4 */ lwz r3, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028E620 0028A280 54 00 28 34 */ slwi r0, r0, 5
+/* 8028E624 0028A284 7C 63 02 14 */ add r3, r3, r0
+/* 8028E628 0028A288 90 A3 00 08 */ stw r5, 8(r3)
+/* 8028E62C 0028A28C 80 0D AA AC */ lwz r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E630 0028A290 80 AD AA C4 */ lwz r5, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028E634 0028A294 54 00 28 34 */ slwi r0, r0, 5
+/* 8028E638 0028A298 80 6D 88 D0 */ lwz r3, lbl_8063DB90-_SDA_BASE_(r13)
+/* 8028E63C 0028A29C 7C A5 02 14 */ add r5, r5, r0
+/* 8028E640 0028A2A0 48 01 53 79 */ bl func_802A39B8
+/* 8028E644 0028A2A4 2C 03 00 00 */ cmpwi r3, 0
+/* 8028E648 0028A2A8 41 82 00 24 */ beq lbl_8028E66C
+/* 8028E64C 0028A2AC 7C 64 1B 78 */ mr r4, r3
+/* 8028E650 0028A2B0 38 7F 0A 4C */ addi r3, r31, 0xa4c
+/* 8028E654 0028A2B4 4C C6 31 82 */ crclr 6
+/* 8028E658 0028A2B8 4B D7 94 6D */ bl func_80007AC4
+/* 8028E65C 0028A2BC 38 00 00 00 */ li r0, 0
+/* 8028E660 0028A2C0 38 60 00 00 */ li r3, 0
+/* 8028E664 0028A2C4 98 1E 00 08 */ stb r0, 8(r30)
+/* 8028E668 0028A2C8 48 00 00 08 */ b lbl_8028E670
+lbl_8028E66C:
+/* 8028E66C 0028A2CC 38 60 00 01 */ li r3, 1
+lbl_8028E670:
+/* 8028E670 0028A2D0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028E674 0028A2D4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028E678 0028A2D8 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8028E67C 0028A2DC 7C 08 03 A6 */ mtlr r0
+/* 8028E680 0028A2E0 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028E684 0028A2E4 4E 80 00 20 */ blr
+
+.global DVDLowSeek
+DVDLowSeek:
+/* 8028E688 0028A2E8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028E68C 0028A2EC 7C 08 02 A6 */ mflr r0
+/* 8028E690 0028A2F0 3C E0 80 52 */ lis r7, lbl_8051B760@ha
+/* 8028E694 0028A2F4 39 40 00 01 */ li r10, 1
+/* 8028E698 0028A2F8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028E69C 0028A2FC 38 E7 B7 60 */ addi r7, r7, lbl_8051B760@l
+/* 8028E6A0 0028A300 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028E6A4 0028A304 3F E0 80 43 */ lis r31, lbl_804366A0@ha
+/* 8028E6A8 0028A308 3B FF 66 A0 */ addi r31, r31, lbl_804366A0@l
+/* 8028E6AC 0028A30C 93 C1 00 08 */ stw r30, 8(r1)
+/* 8028E6B0 0028A310 81 2D AA B0 */ lwz r9, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028E6B4 0028A314 99 4D AA A8 */ stb r10, lbl_8063FD68-_SDA_BASE_(r13)
+/* 8028E6B8 0028A318 55 28 28 34 */ slwi r8, r9, 5
+/* 8028E6BC 0028A31C 7C C7 42 14 */ add r6, r7, r8
+/* 8028E6C0 0028A320 88 A6 00 08 */ lbz r5, 8(r6)
+/* 8028E6C4 0028A324 7C 05 00 D0 */ neg r0, r5
+/* 8028E6C8 0028A328 7C 00 2B 78 */ or r0, r0, r5
+/* 8028E6CC 0028A32C 54 00 0F FE */ srwi r0, r0, 0x1f
+/* 8028E6D0 0028A330 28 00 00 01 */ cmplwi r0, 1
+/* 8028E6D4 0028A334 40 82 00 24 */ bne lbl_8028E6F8
+/* 8028E6D8 0028A338 7D 24 4B 78 */ mr r4, r9
+/* 8028E6DC 0028A33C 38 7F 02 18 */ addi r3, r31, 0x218
+/* 8028E6E0 0028A340 4C C6 31 82 */ crclr 6
+/* 8028E6E4 0028A344 4B D7 93 E1 */ bl func_80007AC4
+/* 8028E6E8 0028A348 38 7F 02 50 */ addi r3, r31, 0x250
+/* 8028E6EC 0028A34C 4C C6 31 82 */ crclr 6
+/* 8028E6F0 0028A350 4B D7 93 D5 */ bl func_80007AC4
+lbl_8028E6F4:
+/* 8028E6F4 0028A354 48 00 00 00 */ b lbl_8028E6F4
+lbl_8028E6F8:
+/* 8028E6F8 0028A358 80 A6 00 0C */ lwz r5, 0xc(r6)
+/* 8028E6FC 0028A35C 3C 05 01 15 */ addis r0, r5, 0x115
+/* 8028E700 0028A360 28 00 DA ED */ cmplwi r0, 0xdaed
+/* 8028E704 0028A364 41 82 00 14 */ beq lbl_8028E718
+/* 8028E708 0028A368 38 7F 02 80 */ addi r3, r31, 0x280
+/* 8028E70C 0028A36C 4C C6 31 82 */ crclr 6
+/* 8028E710 0028A370 4B D7 93 B5 */ bl func_80007AC4
+lbl_8028E714:
+/* 8028E714 0028A374 48 00 00 00 */ b lbl_8028E714
+lbl_8028E718:
+/* 8028E718 0028A378 7C 87 41 2E */ stwx r4, r7, r8
+/* 8028E71C 0028A37C 38 09 00 01 */ addi r0, r9, 1
+/* 8028E720 0028A380 2C 00 00 04 */ cmpwi r0, 4
+/* 8028E724 0028A384 91 46 00 04 */ stw r10, 4(r6)
+/* 8028E728 0028A388 99 46 00 08 */ stb r10, 8(r6)
+/* 8028E72C 0028A38C 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028E730 0028A390 41 80 00 0C */ blt lbl_8028E73C
+/* 8028E734 0028A394 38 00 00 00 */ li r0, 0
+/* 8028E738 0028A398 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+lbl_8028E73C:
+/* 8028E73C 0028A39C 80 8D AA AC */ lwz r4, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E740 0028A3A0 3C A0 80 52 */ lis r5, lbl_8051B760@ha
+/* 8028E744 0028A3A4 55 26 28 34 */ slwi r6, r9, 5
+/* 8028E748 0028A3A8 38 04 00 01 */ addi r0, r4, 1
+/* 8028E74C 0028A3AC 38 A5 B7 60 */ addi r5, r5, lbl_8051B760@l
+/* 8028E750 0028A3B0 2C 00 00 04 */ cmpwi r0, 4
+/* 8028E754 0028A3B4 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E758 0028A3B8 7F C5 32 14 */ add r30, r5, r6
+/* 8028E75C 0028A3BC 41 80 00 0C */ blt lbl_8028E768
+/* 8028E760 0028A3C0 38 00 00 00 */ li r0, 0
+/* 8028E764 0028A3C4 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+lbl_8028E768:
+/* 8028E768 0028A3C8 80 8D AA C4 */ lwz r4, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028E76C 0028A3CC 3D 20 80 29 */ lis r9, doTransactionCallback@ha
+/* 8028E770 0028A3D0 54 00 28 34 */ slwi r0, r0, 5
+/* 8028E774 0028A3D4 38 A0 00 AB */ li r5, 0xab
+/* 8028E778 0028A3D8 7C A4 01 AE */ stbx r5, r4, r0
+/* 8028E77C 0028A3DC 7F CA F3 78 */ mr r10, r30
+/* 8028E780 0028A3E0 39 29 D1 18 */ addi r9, r9, doTransactionCallback@l
+/* 8028E784 0028A3E4 38 80 00 AB */ li r4, 0xab
+/* 8028E788 0028A3E8 80 0D AA AC */ lwz r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E78C 0028A3EC 38 C0 00 20 */ li r6, 0x20
+/* 8028E790 0028A3F0 80 AD AA C4 */ lwz r5, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028E794 0028A3F4 38 E0 00 00 */ li r7, 0
+/* 8028E798 0028A3F8 54 00 28 34 */ slwi r0, r0, 5
+/* 8028E79C 0028A3FC 39 00 00 00 */ li r8, 0
+/* 8028E7A0 0028A400 7C A5 02 14 */ add r5, r5, r0
+/* 8028E7A4 0028A404 90 65 00 04 */ stw r3, 4(r5)
+/* 8028E7A8 0028A408 80 0D AA AC */ lwz r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E7AC 0028A40C 80 AD AA C4 */ lwz r5, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028E7B0 0028A410 54 00 28 34 */ slwi r0, r0, 5
+/* 8028E7B4 0028A414 80 6D 88 D0 */ lwz r3, lbl_8063DB90-_SDA_BASE_(r13)
+/* 8028E7B8 0028A418 7C A5 02 14 */ add r5, r5, r0
+/* 8028E7BC 0028A41C 48 01 51 FD */ bl func_802A39B8
+/* 8028E7C0 0028A420 2C 03 00 00 */ cmpwi r3, 0
+/* 8028E7C4 0028A424 41 82 00 24 */ beq lbl_8028E7E8
+/* 8028E7C8 0028A428 7C 64 1B 78 */ mr r4, r3
+/* 8028E7CC 0028A42C 38 7F 0A 80 */ addi r3, r31, 0xa80
+/* 8028E7D0 0028A430 4C C6 31 82 */ crclr 6
+/* 8028E7D4 0028A434 4B D7 92 F1 */ bl func_80007AC4
+/* 8028E7D8 0028A438 38 00 00 00 */ li r0, 0
+/* 8028E7DC 0028A43C 38 60 00 00 */ li r3, 0
+/* 8028E7E0 0028A440 98 1E 00 08 */ stb r0, 8(r30)
+/* 8028E7E4 0028A444 48 00 00 08 */ b lbl_8028E7EC
+lbl_8028E7E8:
+/* 8028E7E8 0028A448 38 60 00 01 */ li r3, 1
+lbl_8028E7EC:
+/* 8028E7EC 0028A44C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028E7F0 0028A450 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028E7F4 0028A454 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8028E7F8 0028A458 7C 08 03 A6 */ mtlr r0
+/* 8028E7FC 0028A45C 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028E800 0028A460 4E 80 00 20 */ blr
+
+.global DVDLowGetCoverRegister
+DVDLowGetCoverRegister:
+/* 8028E804 0028A464 3C 60 80 52 */ lis r3, lbl_8051B7E0@ha
+/* 8028E808 0028A468 38 63 B7 E0 */ addi r3, r3, lbl_8051B7E0@l
+/* 8028E80C 0028A46C 80 63 00 04 */ lwz r3, 4(r3)
+/* 8028E810 0028A470 4E 80 00 20 */ blr
+
+.global DVDLowPrepareCoverRegister
+DVDLowPrepareCoverRegister:
+/* 8028E814 0028A474 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028E818 0028A478 7C 08 02 A6 */ mflr r0
+/* 8028E81C 0028A47C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028E820 0028A480 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028E824 0028A484 3F E0 80 43 */ lis r31, lbl_804366A0@ha
+/* 8028E828 0028A488 3B FF 66 A0 */ addi r31, r31, lbl_804366A0@l
+/* 8028E82C 0028A48C 93 C1 00 08 */ stw r30, 8(r1)
+/* 8028E830 0028A490 80 8D AA AC */ lwz r4, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E834 0028A494 38 04 00 01 */ addi r0, r4, 1
+/* 8028E838 0028A498 2C 00 00 04 */ cmpwi r0, 4
+/* 8028E83C 0028A49C 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E840 0028A4A0 41 80 00 0C */ blt lbl_8028E84C
+/* 8028E844 0028A4A4 38 00 00 00 */ li r0, 0
+/* 8028E848 0028A4A8 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+lbl_8028E84C:
+/* 8028E84C 0028A4AC 80 8D AA C4 */ lwz r4, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028E850 0028A4B0 3C E0 80 52 */ lis r7, lbl_8051B760@ha
+/* 8028E854 0028A4B4 54 00 28 34 */ slwi r0, r0, 5
+/* 8028E858 0028A4B8 38 A0 00 7A */ li r5, 0x7a
+/* 8028E85C 0028A4BC 7C A4 01 AE */ stbx r5, r4, r0
+/* 8028E860 0028A4C0 39 20 00 01 */ li r9, 1
+/* 8028E864 0028A4C4 38 E7 B7 60 */ addi r7, r7, lbl_8051B760@l
+/* 8028E868 0028A4C8 80 8D AA B0 */ lwz r4, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028E86C 0028A4CC 99 2D AA A8 */ stb r9, lbl_8063FD68-_SDA_BASE_(r13)
+/* 8028E870 0028A4D0 54 88 28 34 */ slwi r8, r4, 5
+/* 8028E874 0028A4D4 7C C7 42 14 */ add r6, r7, r8
+/* 8028E878 0028A4D8 88 A6 00 08 */ lbz r5, 8(r6)
+/* 8028E87C 0028A4DC 7C 05 00 D0 */ neg r0, r5
+/* 8028E880 0028A4E0 7C 00 2B 78 */ or r0, r0, r5
+/* 8028E884 0028A4E4 54 00 0F FE */ srwi r0, r0, 0x1f
+/* 8028E888 0028A4E8 28 00 00 01 */ cmplwi r0, 1
+/* 8028E88C 0028A4EC 40 82 00 20 */ bne lbl_8028E8AC
+/* 8028E890 0028A4F0 38 7F 02 18 */ addi r3, r31, 0x218
+/* 8028E894 0028A4F4 4C C6 31 82 */ crclr 6
+/* 8028E898 0028A4F8 4B D7 92 2D */ bl func_80007AC4
+/* 8028E89C 0028A4FC 38 7F 02 50 */ addi r3, r31, 0x250
+/* 8028E8A0 0028A500 4C C6 31 82 */ crclr 6
+/* 8028E8A4 0028A504 4B D7 92 21 */ bl func_80007AC4
+lbl_8028E8A8:
+/* 8028E8A8 0028A508 48 00 00 00 */ b lbl_8028E8A8
+lbl_8028E8AC:
+/* 8028E8AC 0028A50C 80 A6 00 0C */ lwz r5, 0xc(r6)
+/* 8028E8B0 0028A510 3C 05 01 15 */ addis r0, r5, 0x115
+/* 8028E8B4 0028A514 28 00 DA ED */ cmplwi r0, 0xdaed
+/* 8028E8B8 0028A518 41 82 00 14 */ beq lbl_8028E8CC
+/* 8028E8BC 0028A51C 38 7F 02 80 */ addi r3, r31, 0x280
+/* 8028E8C0 0028A520 4C C6 31 82 */ crclr 6
+/* 8028E8C4 0028A524 4B D7 92 01 */ bl func_80007AC4
+lbl_8028E8C8:
+/* 8028E8C8 0028A528 48 00 00 00 */ b lbl_8028E8C8
+lbl_8028E8CC:
+/* 8028E8CC 0028A52C 7C 67 41 2E */ stwx r3, r7, r8
+/* 8028E8D0 0028A530 38 04 00 01 */ addi r0, r4, 1
+/* 8028E8D4 0028A534 2C 00 00 04 */ cmpwi r0, 4
+/* 8028E8D8 0028A538 91 26 00 04 */ stw r9, 4(r6)
+/* 8028E8DC 0028A53C 99 26 00 08 */ stb r9, 8(r6)
+/* 8028E8E0 0028A540 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028E8E4 0028A544 41 80 00 0C */ blt lbl_8028E8F0
+/* 8028E8E8 0028A548 38 00 00 00 */ li r0, 0
+/* 8028E8EC 0028A54C 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+lbl_8028E8F0:
+/* 8028E8F0 0028A550 80 0D AA AC */ lwz r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E8F4 0028A554 3C 60 80 52 */ lis r3, lbl_8051B760@ha
+/* 8028E8F8 0028A558 54 85 28 34 */ slwi r5, r4, 5
+/* 8028E8FC 0028A55C 80 8D AA C4 */ lwz r4, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028E900 0028A560 38 63 B7 60 */ addi r3, r3, lbl_8051B760@l
+/* 8028E904 0028A564 3C E0 80 52 */ lis r7, lbl_8051B800@ha
+/* 8028E908 0028A568 7F C3 2A 14 */ add r30, r3, r5
+/* 8028E90C 0028A56C 54 00 28 34 */ slwi r0, r0, 5
+/* 8028E910 0028A570 3D 20 80 29 */ lis r9, doPrepareCoverRegisterCallback@ha
+/* 8028E914 0028A574 80 6D 88 D0 */ lwz r3, lbl_8063DB90-_SDA_BASE_(r13)
+/* 8028E918 0028A578 7C A4 02 14 */ add r5, r4, r0
+/* 8028E91C 0028A57C 7F CA F3 78 */ mr r10, r30
+/* 8028E920 0028A580 38 E7 B8 00 */ addi r7, r7, lbl_8051B800@l
+/* 8028E924 0028A584 39 29 D1 D0 */ addi r9, r9, doPrepareCoverRegisterCallback@l
+/* 8028E928 0028A588 38 80 00 7A */ li r4, 0x7a
+/* 8028E92C 0028A58C 38 C0 00 20 */ li r6, 0x20
+/* 8028E930 0028A590 39 00 00 20 */ li r8, 0x20
+/* 8028E934 0028A594 48 01 50 85 */ bl func_802A39B8
+/* 8028E938 0028A598 2C 03 00 00 */ cmpwi r3, 0
+/* 8028E93C 0028A59C 41 82 00 24 */ beq lbl_8028E960
+/* 8028E940 0028A5A0 7C 64 1B 78 */ mr r4, r3
+/* 8028E944 0028A5A4 38 7F 0B 30 */ addi r3, r31, 0xb30
+/* 8028E948 0028A5A8 4C C6 31 82 */ crclr 6
+/* 8028E94C 0028A5AC 4B D7 91 79 */ bl func_80007AC4
+/* 8028E950 0028A5B0 38 00 00 00 */ li r0, 0
+/* 8028E954 0028A5B4 38 60 00 00 */ li r3, 0
+/* 8028E958 0028A5B8 98 1E 00 08 */ stb r0, 8(r30)
+/* 8028E95C 0028A5BC 48 00 00 08 */ b lbl_8028E964
+lbl_8028E960:
+/* 8028E960 0028A5C0 38 60 00 01 */ li r3, 1
+lbl_8028E964:
+/* 8028E964 0028A5C4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028E968 0028A5C8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028E96C 0028A5CC 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8028E970 0028A5D0 7C 08 03 A6 */ mtlr r0
+/* 8028E974 0028A5D4 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028E978 0028A5D8 4E 80 00 20 */ blr
+
+.global DVDLowGetImmBufferReg
+DVDLowGetImmBufferReg:
+/* 8028E97C 0028A5DC 3C 60 80 52 */ lis r3, lbl_8051B7E0@ha
+/* 8028E980 0028A5E0 80 63 B7 E0 */ lwz r3, lbl_8051B7E0@l(r3)
+/* 8028E984 0028A5E4 4E 80 00 20 */ blr
+
+.global DVDLowUnmaskStatusInterrupts
+DVDLowUnmaskStatusInterrupts:
+/* 8028E988 0028A5E8 38 60 00 01 */ li r3, 1
+/* 8028E98C 0028A5EC 4E 80 00 20 */ blr
+
+.global DVDLowMaskCoverInterrupt
+DVDLowMaskCoverInterrupt:
+/* 8028E990 0028A5F0 38 60 00 01 */ li r3, 1
+/* 8028E994 0028A5F4 4E 80 00 20 */ blr
+
+.global DVDLowClearCoverInterrupt
+DVDLowClearCoverInterrupt:
+/* 8028E998 0028A5F8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028E99C 0028A5FC 7C 08 02 A6 */ mflr r0
+/* 8028E9A0 0028A600 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028E9A4 0028A604 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028E9A8 0028A608 3F E0 80 43 */ lis r31, lbl_804366A0@ha
+/* 8028E9AC 0028A60C 3B FF 66 A0 */ addi r31, r31, lbl_804366A0@l
+/* 8028E9B0 0028A610 93 C1 00 08 */ stw r30, 8(r1)
+/* 8028E9B4 0028A614 80 8D AA AC */ lwz r4, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E9B8 0028A618 38 04 00 01 */ addi r0, r4, 1
+/* 8028E9BC 0028A61C 2C 00 00 04 */ cmpwi r0, 4
+/* 8028E9C0 0028A620 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028E9C4 0028A624 41 80 00 0C */ blt lbl_8028E9D0
+/* 8028E9C8 0028A628 38 00 00 00 */ li r0, 0
+/* 8028E9CC 0028A62C 90 0D AA AC */ stw r0, lbl_8063FD6C-_SDA_BASE_(r13)
+lbl_8028E9D0:
+/* 8028E9D0 0028A630 80 8D AA C4 */ lwz r4, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028E9D4 0028A634 3C E0 80 52 */ lis r7, lbl_8051B760@ha
+/* 8028E9D8 0028A638 54 00 28 34 */ slwi r0, r0, 5
+/* 8028E9DC 0028A63C 38 A0 00 86 */ li r5, 0x86
+/* 8028E9E0 0028A640 7C A4 01 AE */ stbx r5, r4, r0
+/* 8028E9E4 0028A644 39 20 00 01 */ li r9, 1
+/* 8028E9E8 0028A648 38 E7 B7 60 */ addi r7, r7, lbl_8051B760@l
+/* 8028E9EC 0028A64C 80 8D AA B0 */ lwz r4, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028E9F0 0028A650 99 2D AA A8 */ stb r9, lbl_8063FD68-_SDA_BASE_(r13)
+/* 8028E9F4 0028A654 54 88 28 34 */ slwi r8, r4, 5
+/* 8028E9F8 0028A658 7C C7 42 14 */ add r6, r7, r8
+/* 8028E9FC 0028A65C 88 A6 00 08 */ lbz r5, 8(r6)
+/* 8028EA00 0028A660 7C 05 00 D0 */ neg r0, r5
+/* 8028EA04 0028A664 7C 00 2B 78 */ or r0, r0, r5
+/* 8028EA08 0028A668 54 00 0F FE */ srwi r0, r0, 0x1f
+/* 8028EA0C 0028A66C 28 00 00 01 */ cmplwi r0, 1
+/* 8028EA10 0028A670 40 82 00 20 */ bne lbl_8028EA30
+/* 8028EA14 0028A674 38 7F 02 18 */ addi r3, r31, 0x218
+/* 8028EA18 0028A678 4C C6 31 82 */ crclr 6
+/* 8028EA1C 0028A67C 4B D7 90 A9 */ bl func_80007AC4
+/* 8028EA20 0028A680 38 7F 02 50 */ addi r3, r31, 0x250
+/* 8028EA24 0028A684 4C C6 31 82 */ crclr 6
+/* 8028EA28 0028A688 4B D7 90 9D */ bl func_80007AC4
+lbl_8028EA2C:
+/* 8028EA2C 0028A68C 48 00 00 00 */ b lbl_8028EA2C
+lbl_8028EA30:
+/* 8028EA30 0028A690 80 A6 00 0C */ lwz r5, 0xc(r6)
+/* 8028EA34 0028A694 3C 05 01 15 */ addis r0, r5, 0x115
+/* 8028EA38 0028A698 28 00 DA ED */ cmplwi r0, 0xdaed
+/* 8028EA3C 0028A69C 41 82 00 14 */ beq lbl_8028EA50
+/* 8028EA40 0028A6A0 38 7F 02 80 */ addi r3, r31, 0x280
+/* 8028EA44 0028A6A4 4C C6 31 82 */ crclr 6
+/* 8028EA48 0028A6A8 4B D7 90 7D */ bl func_80007AC4
+lbl_8028EA4C:
+/* 8028EA4C 0028A6AC 48 00 00 00 */ b lbl_8028EA4C
+lbl_8028EA50:
+/* 8028EA50 0028A6B0 7C 67 41 2E */ stwx r3, r7, r8
+/* 8028EA54 0028A6B4 38 04 00 01 */ addi r0, r4, 1
+/* 8028EA58 0028A6B8 2C 00 00 04 */ cmpwi r0, 4
+/* 8028EA5C 0028A6BC 91 26 00 04 */ stw r9, 4(r6)
+/* 8028EA60 0028A6C0 99 26 00 08 */ stb r9, 8(r6)
+/* 8028EA64 0028A6C4 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+/* 8028EA68 0028A6C8 41 80 00 0C */ blt lbl_8028EA74
+/* 8028EA6C 0028A6CC 38 00 00 00 */ li r0, 0
+/* 8028EA70 0028A6D0 90 0D AA B0 */ stw r0, lbl_8063FD70-_SDA_BASE_(r13)
+lbl_8028EA74:
+/* 8028EA74 0028A6D4 80 0D AA AC */ lwz r0, lbl_8063FD6C-_SDA_BASE_(r13)
+/* 8028EA78 0028A6D8 3C 60 80 52 */ lis r3, lbl_8051B760@ha
+/* 8028EA7C 0028A6DC 54 85 28 34 */ slwi r5, r4, 5
+/* 8028EA80 0028A6E0 80 8D AA C4 */ lwz r4, lbl_8063FD84-_SDA_BASE_(r13)
+/* 8028EA84 0028A6E4 38 63 B7 60 */ addi r3, r3, lbl_8051B760@l
+/* 8028EA88 0028A6E8 3D 20 80 29 */ lis r9, doTransactionCallback@ha
+/* 8028EA8C 0028A6EC 7F C3 2A 14 */ add r30, r3, r5
+/* 8028EA90 0028A6F0 54 00 28 34 */ slwi r0, r0, 5
+/* 8028EA94 0028A6F4 7C A4 02 14 */ add r5, r4, r0
+/* 8028EA98 0028A6F8 80 6D 88 D0 */ lwz r3, lbl_8063DB90-_SDA_BASE_(r13)
+/* 8028EA9C 0028A6FC 7F CA F3 78 */ mr r10, r30
+/* 8028EAA0 0028A700 39 29 D1 18 */ addi r9, r9, doTransactionCallback@l
+/* 8028EAA4 0028A704 38 80 00 86 */ li r4, 0x86
+/* 8028EAA8 0028A708 38 C0 00 20 */ li r6, 0x20
+/* 8028EAAC 0028A70C 38 E0 00 00 */ li r7, 0
+/* 8028EAB0 0028A710 39 00 00 00 */ li r8, 0
+/* 8028EAB4 0028A714 48 01 4F 05 */ bl func_802A39B8
+/* 8028EAB8 0028A718 2C 03 00 00 */ cmpwi r3, 0
+/* 8028EABC 0028A71C 41 82 00 24 */ beq lbl_8028EAE0
+/* 8028EAC0 0028A720 7C 64 1B 78 */ mr r4, r3
+/* 8028EAC4 0028A724 38 7F 0B 74 */ addi r3, r31, 0xb74
+/* 8028EAC8 0028A728 4C C6 31 82 */ crclr 6
+/* 8028EACC 0028A72C 4B D7 8F F9 */ bl func_80007AC4
+/* 8028EAD0 0028A730 38 00 00 00 */ li r0, 0
+/* 8028EAD4 0028A734 38 60 00 00 */ li r3, 0
+/* 8028EAD8 0028A738 98 1E 00 08 */ stb r0, 8(r30)
+/* 8028EADC 0028A73C 48 00 00 08 */ b lbl_8028EAE4
+lbl_8028EAE0:
+/* 8028EAE0 0028A740 38 60 00 01 */ li r3, 1
+lbl_8028EAE4:
+/* 8028EAE4 0028A744 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028EAE8 0028A748 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028EAEC 0028A74C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8028EAF0 0028A750 7C 08 03 A6 */ mtlr r0
+/* 8028EAF4 0028A754 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028EAF8 0028A758 4E 80 00 20 */ blr
+
+.global __DVDLowTestAlarm
+__DVDLowTestAlarm:
+/* 8028EAFC 0028A75C 38 60 00 00 */ li r3, 0
+/* 8028EB00 0028A760 4E 80 00 20 */ blr
diff --git a/asm/SDK/DVD/dvderror.s b/asm/SDK/DVD/dvderror.s
new file mode 100644
index 0000000..c3355e2
--- /dev/null
+++ b/asm/SDK/DVD/dvderror.s
@@ -0,0 +1,221 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+cbForNandClose:
+/* 8028CBE4 00288844 81 8D AA 98 */ lwz r12, lbl_8063FD58-_SDA_BASE_(r13)
+/* 8028CBE8 00288848 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028CBEC 0028884C 4D 82 00 20 */ beqlr
+/* 8028CBF0 00288850 7C 60 00 34 */ cntlzw r0, r3
+/* 8028CBF4 00288854 38 80 00 00 */ li r4, 0
+/* 8028CBF8 00288858 54 00 DF FE */ rlwinm r0, r0, 0x1b, 0x1f, 0x1f
+/* 8028CBFC 0028885C 7C 60 00 D0 */ neg r3, r0
+/* 8028CC00 00288860 38 63 00 02 */ addi r3, r3, 2
+/* 8028CC04 00288864 7D 89 03 A6 */ mtctr r12
+/* 8028CC08 00288868 4E 80 04 20 */ bctr
+/* 8028CC0C 0028886C 4E 80 00 20 */ blr
+
+cbForNandWrite:
+/* 8028CC10 00288870 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028CC14 00288874 7C 08 02 A6 */ mflr r0
+/* 8028CC18 00288878 3C 60 80 52 */ lis r3, lbl_8051B580@ha
+/* 8028CC1C 0028887C 3C 80 80 29 */ lis r4, cbForNandClose@ha
+/* 8028CC20 00288880 3C A0 80 52 */ lis r5, lbl_8051B610@ha
+/* 8028CC24 00288884 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028CC28 00288888 38 63 B5 80 */ addi r3, r3, lbl_8051B580@l
+/* 8028CC2C 0028888C 38 84 CB E4 */ addi r4, r4, cbForNandClose@l
+/* 8028CC30 00288890 38 A5 B6 10 */ addi r5, r5, lbl_8051B610@l
+/* 8028CC34 00288894 48 05 BA C1 */ bl func_802E86F4
+/* 8028CC38 00288898 2C 03 00 00 */ cmpwi r3, 0
+/* 8028CC3C 0028889C 41 82 00 20 */ beq lbl_8028CC5C
+/* 8028CC40 002888A0 81 8D AA 98 */ lwz r12, lbl_8063FD58-_SDA_BASE_(r13)
+/* 8028CC44 002888A4 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028CC48 002888A8 41 82 00 14 */ beq lbl_8028CC5C
+/* 8028CC4C 002888AC 38 60 00 02 */ li r3, 2
+/* 8028CC50 002888B0 38 80 00 00 */ li r4, 0
+/* 8028CC54 002888B4 7D 89 03 A6 */ mtctr r12
+/* 8028CC58 002888B8 4E 80 04 21 */ bctrl
+lbl_8028CC5C:
+/* 8028CC5C 002888BC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028CC60 002888C0 7C 08 03 A6 */ mtlr r0
+/* 8028CC64 002888C4 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028CC68 002888C8 4E 80 00 20 */ blr
+
+.global cbForNandOpen
+cbForNandOpen:
+/* 8028CC6C 002888CC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028CC70 002888D0 7C 08 02 A6 */ mflr r0
+/* 8028CC74 002888D4 2C 03 00 00 */ cmpwi r3, 0
+/* 8028CC78 002888D8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028CC7C 002888DC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028CC80 002888E0 3F E0 80 52 */ lis r31, lbl_8051B580@ha
+/* 8028CC84 002888E4 3B FF B5 80 */ addi r31, r31, lbl_8051B580@l
+/* 8028CC88 002888E8 40 82 00 64 */ bne lbl_8028CCEC
+/* 8028CC8C 002888EC 3C C0 80 29 */ lis r6, cbForNandWrite@ha
+/* 8028CC90 002888F0 38 7F 00 00 */ addi r3, r31, 0
+/* 8028CC94 002888F4 38 9F 01 60 */ addi r4, r31, 0x160
+/* 8028CC98 002888F8 38 FF 00 90 */ addi r7, r31, 0x90
+/* 8028CC9C 002888FC 38 C6 CC 10 */ addi r6, r6, cbForNandWrite@l
+/* 8028CCA0 00288900 38 A0 00 80 */ li r5, 0x80
+/* 8028CCA4 00288904 48 05 AD 65 */ bl func_802E7A08
+/* 8028CCA8 00288908 2C 03 00 00 */ cmpwi r3, 0
+/* 8028CCAC 0028890C 41 82 00 5C */ beq lbl_8028CD08
+/* 8028CCB0 00288910 3C 80 80 29 */ lis r4, cbForNandClose@ha
+/* 8028CCB4 00288914 38 7F 00 00 */ addi r3, r31, 0
+/* 8028CCB8 00288918 38 84 CB E4 */ addi r4, r4, cbForNandClose@l
+/* 8028CCBC 0028891C 38 BF 00 90 */ addi r5, r31, 0x90
+/* 8028CCC0 00288920 48 05 BA 35 */ bl func_802E86F4
+/* 8028CCC4 00288924 2C 03 00 00 */ cmpwi r3, 0
+/* 8028CCC8 00288928 41 82 00 40 */ beq lbl_8028CD08
+/* 8028CCCC 0028892C 81 8D AA 98 */ lwz r12, lbl_8063FD58-_SDA_BASE_(r13)
+/* 8028CCD0 00288930 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028CCD4 00288934 41 82 00 34 */ beq lbl_8028CD08
+/* 8028CCD8 00288938 38 60 00 02 */ li r3, 2
+/* 8028CCDC 0028893C 38 80 00 00 */ li r4, 0
+/* 8028CCE0 00288940 7D 89 03 A6 */ mtctr r12
+/* 8028CCE4 00288944 4E 80 04 21 */ bctrl
+/* 8028CCE8 00288948 48 00 00 20 */ b lbl_8028CD08
+lbl_8028CCEC:
+/* 8028CCEC 0028894C 81 8D AA 98 */ lwz r12, lbl_8063FD58-_SDA_BASE_(r13)
+/* 8028CCF0 00288950 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028CCF4 00288954 41 82 00 14 */ beq lbl_8028CD08
+/* 8028CCF8 00288958 38 60 00 02 */ li r3, 2
+/* 8028CCFC 0028895C 38 80 00 00 */ li r4, 0
+/* 8028CD00 00288960 7D 89 03 A6 */ mtctr r12
+/* 8028CD04 00288964 4E 80 04 21 */ bctrl
+lbl_8028CD08:
+/* 8028CD08 00288968 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028CD0C 0028896C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028CD10 00288970 7C 08 03 A6 */ mtlr r0
+/* 8028CD14 00288974 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028CD18 00288978 4E 80 00 20 */ blr
+
+cbForNandCreate:
+/* 8028CD1C 0028897C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028CD20 00288980 7C 08 02 A6 */ mflr r0
+/* 8028CD24 00288984 2C 03 00 00 */ cmpwi r3, 0
+/* 8028CD28 00288988 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028CD2C 0028898C 41 82 00 0C */ beq lbl_8028CD38
+/* 8028CD30 00288990 2C 03 FF FA */ cmpwi r3, -6
+/* 8028CD34 00288994 40 82 00 54 */ bne lbl_8028CD88
+lbl_8028CD38:
+/* 8028CD38 00288998 3C 60 80 43 */ lis r3, lbl_804361C0@ha
+/* 8028CD3C 0028899C 3C 80 80 52 */ lis r4, lbl_8051B580@ha
+/* 8028CD40 002889A0 3C C0 80 29 */ lis r6, cbForNandOpen@ha
+/* 8028CD44 002889A4 3C E0 80 52 */ lis r7, lbl_8051B610@ha
+/* 8028CD48 002889A8 38 63 61 C0 */ addi r3, r3, lbl_804361C0@l
+/* 8028CD4C 002889AC 38 84 B5 80 */ addi r4, r4, lbl_8051B580@l
+/* 8028CD50 002889B0 38 C6 CC 6C */ addi r6, r6, cbForNandOpen@l
+/* 8028CD54 002889B4 38 E7 B6 10 */ addi r7, r7, lbl_8051B610@l
+/* 8028CD58 002889B8 38 A0 00 02 */ li r5, 2
+/* 8028CD5C 002889BC 48 05 B8 3D */ bl func_802E8598
+/* 8028CD60 002889C0 2C 03 00 00 */ cmpwi r3, 0
+/* 8028CD64 002889C4 41 82 00 40 */ beq lbl_8028CDA4
+/* 8028CD68 002889C8 81 8D AA 98 */ lwz r12, lbl_8063FD58-_SDA_BASE_(r13)
+/* 8028CD6C 002889CC 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028CD70 002889D0 41 82 00 34 */ beq lbl_8028CDA4
+/* 8028CD74 002889D4 38 60 00 02 */ li r3, 2
+/* 8028CD78 002889D8 38 80 00 00 */ li r4, 0
+/* 8028CD7C 002889DC 7D 89 03 A6 */ mtctr r12
+/* 8028CD80 002889E0 4E 80 04 21 */ bctrl
+/* 8028CD84 002889E4 48 00 00 20 */ b lbl_8028CDA4
+lbl_8028CD88:
+/* 8028CD88 002889E8 81 8D AA 98 */ lwz r12, lbl_8063FD58-_SDA_BASE_(r13)
+/* 8028CD8C 002889EC 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028CD90 002889F0 41 82 00 14 */ beq lbl_8028CDA4
+/* 8028CD94 002889F4 38 60 00 02 */ li r3, 2
+/* 8028CD98 002889F8 38 80 00 00 */ li r4, 0
+/* 8028CD9C 002889FC 7D 89 03 A6 */ mtctr r12
+/* 8028CDA0 00288A00 4E 80 04 21 */ bctrl
+lbl_8028CDA4:
+/* 8028CDA4 00288A04 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028CDA8 00288A08 7C 08 03 A6 */ mtlr r0
+/* 8028CDAC 00288A0C 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028CDB0 00288A10 4E 80 00 20 */ blr
+
+cbForNandCreateDir:
+/* 8028CDB4 00288A14 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028CDB8 00288A18 7C 08 02 A6 */ mflr r0
+/* 8028CDBC 00288A1C 2C 03 00 00 */ cmpwi r3, 0
+/* 8028CDC0 00288A20 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028CDC4 00288A24 41 82 00 0C */ beq lbl_8028CDD0
+/* 8028CDC8 00288A28 2C 03 FF FA */ cmpwi r3, -6
+/* 8028CDCC 00288A2C 40 82 00 50 */ bne lbl_8028CE1C
+lbl_8028CDD0:
+/* 8028CDD0 00288A30 3C 60 80 43 */ lis r3, lbl_804361C0@ha
+/* 8028CDD4 00288A34 3C C0 80 29 */ lis r6, cbForNandCreate@ha
+/* 8028CDD8 00288A38 3C E0 80 52 */ lis r7, lbl_8051B610@ha
+/* 8028CDDC 00288A3C 38 80 00 3F */ li r4, 0x3f
+/* 8028CDE0 00288A40 38 63 61 C0 */ addi r3, r3, lbl_804361C0@l
+/* 8028CDE4 00288A44 38 C6 CD 1C */ addi r6, r6, cbForNandCreate@l
+/* 8028CDE8 00288A48 38 E7 B6 10 */ addi r7, r7, lbl_8051B610@l
+/* 8028CDEC 00288A4C 38 A0 00 00 */ li r5, 0
+/* 8028CDF0 00288A50 48 05 A8 E9 */ bl func_802E76D8
+/* 8028CDF4 00288A54 2C 03 00 00 */ cmpwi r3, 0
+/* 8028CDF8 00288A58 41 82 00 40 */ beq lbl_8028CE38
+/* 8028CDFC 00288A5C 81 8D AA 98 */ lwz r12, lbl_8063FD58-_SDA_BASE_(r13)
+/* 8028CE00 00288A60 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028CE04 00288A64 41 82 00 34 */ beq lbl_8028CE38
+/* 8028CE08 00288A68 38 60 00 02 */ li r3, 2
+/* 8028CE0C 00288A6C 38 80 00 00 */ li r4, 0
+/* 8028CE10 00288A70 7D 89 03 A6 */ mtctr r12
+/* 8028CE14 00288A74 4E 80 04 21 */ bctrl
+/* 8028CE18 00288A78 48 00 00 20 */ b lbl_8028CE38
+lbl_8028CE1C:
+/* 8028CE1C 00288A7C 81 8D AA 98 */ lwz r12, lbl_8063FD58-_SDA_BASE_(r13)
+/* 8028CE20 00288A80 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028CE24 00288A84 41 82 00 14 */ beq lbl_8028CE38
+/* 8028CE28 00288A88 38 60 00 02 */ li r3, 2
+/* 8028CE2C 00288A8C 38 80 00 00 */ li r4, 0
+/* 8028CE30 00288A90 7D 89 03 A6 */ mtctr r12
+/* 8028CE34 00288A94 4E 80 04 21 */ bctrl
+lbl_8028CE38:
+/* 8028CE38 00288A98 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028CE3C 00288A9C 7C 08 03 A6 */ mtlr r0
+/* 8028CE40 00288AA0 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028CE44 00288AA4 4E 80 00 20 */ blr
+
+.global __DVDStoreErrorCode
+__DVDStoreErrorCode:
+/* 8028CE48 00288AA8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028CE4C 00288AAC 7C 08 02 A6 */ mflr r0
+/* 8028CE50 00288AB0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028CE54 00288AB4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028CE58 00288AB8 3F E0 80 52 */ lis r31, lbl_8051B6E0@ha
+/* 8028CE5C 00288ABC 3B FF B6 E0 */ addi r31, r31, lbl_8051B6E0@l
+/* 8028CE60 00288AC0 93 C1 00 08 */ stw r30, 8(r1)
+/* 8028CE64 00288AC4 7C 9E 23 78 */ mr r30, r4
+/* 8028CE68 00288AC8 90 7F 00 08 */ stw r3, 8(r31)
+/* 8028CE6C 00288ACC 4B FE 59 4D */ bl OSGetTime
+/* 8028CE70 00288AD0 3C C0 80 00 */ lis r6, 0x800000F8@ha
+/* 8028CE74 00288AD4 38 A0 00 00 */ li r5, 0
+/* 8028CE78 00288AD8 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6)
+/* 8028CE7C 00288ADC 54 06 F0 BE */ srwi r6, r0, 2
+/* 8028CE80 00288AE0 4B F3 A3 F9 */ bl __div2i
+/* 8028CE84 00288AE4 90 9F 00 0C */ stw r4, 0xc(r31)
+/* 8028CE88 00288AE8 3C 60 80 43 */ lis r3, lbl_804361DC@ha
+/* 8028CE8C 00288AEC 3C C0 80 29 */ lis r6, cbForNandCreateDir@ha
+/* 8028CE90 00288AF0 3C E0 80 52 */ lis r7, lbl_8051B610@ha
+/* 8028CE94 00288AF4 93 CD AA 98 */ stw r30, lbl_8063FD58-_SDA_BASE_(r13)
+/* 8028CE98 00288AF8 38 63 61 DC */ addi r3, r3, lbl_804361DC@l
+/* 8028CE9C 00288AFC 38 C6 CD B4 */ addi r6, r6, cbForNandCreateDir@l
+/* 8028CEA0 00288B00 38 E7 B6 10 */ addi r7, r7, lbl_8051B610@l
+/* 8028CEA4 00288B04 38 80 00 3F */ li r4, 0x3f
+/* 8028CEA8 00288B08 38 A0 00 00 */ li r5, 0
+/* 8028CEAC 00288B0C 48 05 AF A9 */ bl func_802E7E54
+/* 8028CEB0 00288B10 2C 03 00 00 */ cmpwi r3, 0
+/* 8028CEB4 00288B14 41 82 00 20 */ beq lbl_8028CED4
+/* 8028CEB8 00288B18 81 8D AA 98 */ lwz r12, lbl_8063FD58-_SDA_BASE_(r13)
+/* 8028CEBC 00288B1C 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028CEC0 00288B20 41 82 00 14 */ beq lbl_8028CED4
+/* 8028CEC4 00288B24 38 60 00 02 */ li r3, 2
+/* 8028CEC8 00288B28 38 80 00 00 */ li r4, 0
+/* 8028CECC 00288B2C 7D 89 03 A6 */ mtctr r12
+/* 8028CED0 00288B30 4E 80 04 21 */ bctrl
+lbl_8028CED4:
+/* 8028CED4 00288B34 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028CED8 00288B38 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028CEDC 00288B3C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8028CEE0 00288B40 7C 08 03 A6 */ mtlr r0
+/* 8028CEE4 00288B44 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028CEE8 00288B48 4E 80 00 20 */ blr
diff --git a/asm/SDK/DVD/dvdfs.s b/asm/SDK/DVD/dvdfs.s
new file mode 100644
index 0000000..ebcd854
--- /dev/null
+++ b/asm/SDK/DVD/dvdfs.s
@@ -0,0 +1,845 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __DVDFSInit
+__DVDFSInit:
+/* 8028768C 002832EC 3C 60 80 00 */ lis r3, 0x80000038@ha
+/* 80287690 002832F0 90 6D AA 0C */ stw r3, lbl_8063FCCC-_SDA_BASE_(r13)
+/* 80287694 002832F4 80 83 00 38 */ lwz r4, 0x80000038@l(r3)
+/* 80287698 002832F8 2C 04 00 00 */ cmpwi r4, 0
+/* 8028769C 002832FC 90 8D AA 08 */ stw r4, lbl_8063FCC8-_SDA_BASE_(r13)
+/* 802876A0 00283300 4D 82 00 20 */ beqlr
+/* 802876A4 00283304 80 64 00 08 */ lwz r3, 8(r4)
+/* 802876A8 00283308 1C 03 00 0C */ mulli r0, r3, 0xc
+/* 802876AC 0028330C 90 6D AA 00 */ stw r3, lbl_8063FCC0-_SDA_BASE_(r13)
+/* 802876B0 00283310 7C 04 02 14 */ add r0, r4, r0
+/* 802876B4 00283314 90 0D AA 04 */ stw r0, lbl_8063FCC4-_SDA_BASE_(r13)
+/* 802876B8 00283318 4E 80 00 20 */ blr
+
+.global DVDConvertPathToEntrynum
+DVDConvertPathToEntrynum:
+/* 802876BC 0028331C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802876C0 00283320 7C 08 02 A6 */ mflr r0
+/* 802876C4 00283324 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802876C8 00283328 39 61 00 30 */ addi r11, r1, 0x30
+/* 802876CC 0028332C 4B F3 FA 51 */ bl _savegpr_24
+/* 802876D0 00283330 7C 7A 1B 78 */ mr r26, r3
+/* 802876D4 00283334 3F E0 80 42 */ lis r31, lbl_80422D48@ha
+/* 802876D8 00283338 83 AD A9 F0 */ lwz r29, lbl_8063FCB0-_SDA_BASE_(r13)
+/* 802876DC 0028333C 7F 5C D3 78 */ mr r28, r26
+/* 802876E0 00283340 3B FF 2D 48 */ addi r31, r31, lbl_80422D48@l
+/* 802876E4 00283344 3F C0 80 43 */ lis r30, 0x8043
+lbl_802876E8:
+/* 802876E8 00283348 88 1A 00 00 */ lbz r0, 0(r26)
+/* 802876EC 0028334C 7C 00 07 75 */ extsb. r0, r0
+/* 802876F0 00283350 40 82 00 0C */ bne lbl_802876FC
+/* 802876F4 00283354 7F A3 EB 78 */ mr r3, r29
+/* 802876F8 00283358 48 00 02 B4 */ b lbl_802879AC
+lbl_802876FC:
+/* 802876FC 0028335C 2C 00 00 2F */ cmpwi r0, 0x2f
+/* 80287700 00283360 40 82 00 10 */ bne lbl_80287710
+/* 80287704 00283364 3B A0 00 00 */ li r29, 0
+/* 80287708 00283368 3B 5A 00 01 */ addi r26, r26, 1
+/* 8028770C 0028336C 4B FF FF DC */ b lbl_802876E8
+lbl_80287710:
+/* 80287710 00283370 2C 00 00 2E */ cmpwi r0, 0x2e
+/* 80287714 00283374 40 82 00 78 */ bne lbl_8028778C
+/* 80287718 00283378 88 1A 00 01 */ lbz r0, 1(r26)
+/* 8028771C 0028337C 7C 00 07 74 */ extsb r0, r0
+/* 80287720 00283380 2C 00 00 2E */ cmpwi r0, 0x2e
+/* 80287724 00283384 40 82 00 48 */ bne lbl_8028776C
+/* 80287728 00283388 88 1A 00 02 */ lbz r0, 2(r26)
+/* 8028772C 0028338C 7C 00 07 74 */ extsb r0, r0
+/* 80287730 00283390 2C 00 00 2F */ cmpwi r0, 0x2f
+/* 80287734 00283394 40 82 00 1C */ bne lbl_80287750
+/* 80287738 00283398 1C 1D 00 0C */ mulli r0, r29, 0xc
+/* 8028773C 0028339C 80 6D AA 08 */ lwz r3, lbl_8063FCC8-_SDA_BASE_(r13)
+/* 80287740 002833A0 3B 5A 00 03 */ addi r26, r26, 3
+/* 80287744 002833A4 7C 63 02 14 */ add r3, r3, r0
+/* 80287748 002833A8 83 A3 00 04 */ lwz r29, 4(r3)
+/* 8028774C 002833AC 4B FF FF 9C */ b lbl_802876E8
+lbl_80287750:
+/* 80287750 002833B0 2C 00 00 00 */ cmpwi r0, 0
+/* 80287754 002833B4 40 82 00 38 */ bne lbl_8028778C
+/* 80287758 002833B8 1C 1D 00 0C */ mulli r0, r29, 0xc
+/* 8028775C 002833BC 80 6D AA 08 */ lwz r3, lbl_8063FCC8-_SDA_BASE_(r13)
+/* 80287760 002833C0 7C 63 02 14 */ add r3, r3, r0
+/* 80287764 002833C4 80 63 00 04 */ lwz r3, 4(r3)
+/* 80287768 002833C8 48 00 02 44 */ b lbl_802879AC
+lbl_8028776C:
+/* 8028776C 002833CC 2C 00 00 2F */ cmpwi r0, 0x2f
+/* 80287770 002833D0 40 82 00 0C */ bne lbl_8028777C
+/* 80287774 002833D4 3B 5A 00 02 */ addi r26, r26, 2
+/* 80287778 002833D8 4B FF FF 70 */ b lbl_802876E8
+lbl_8028777C:
+/* 8028777C 002833DC 2C 00 00 00 */ cmpwi r0, 0
+/* 80287780 002833E0 40 82 00 0C */ bne lbl_8028778C
+/* 80287784 002833E4 7F A3 EB 78 */ mr r3, r29
+/* 80287788 002833E8 48 00 02 24 */ b lbl_802879AC
+lbl_8028778C:
+/* 8028778C 002833EC 80 0D 88 A8 */ lwz r0, lbl_8063DB68-_SDA_BASE_(r13)
+/* 80287790 002833F0 2C 00 00 00 */ cmpwi r0, 0
+/* 80287794 002833F4 40 82 00 A8 */ bne lbl_8028783C
+/* 80287798 002833F8 7F 58 D3 78 */ mr r24, r26
+/* 8028779C 002833FC 38 A0 00 00 */ li r5, 0
+/* 802877A0 00283400 38 80 00 00 */ li r4, 0
+/* 802877A4 00283404 48 00 00 48 */ b lbl_802877EC
+lbl_802877A8:
+/* 802877A8 00283408 7C 60 07 74 */ extsb r0, r3
+/* 802877AC 0028340C 2C 00 00 2E */ cmpwi r0, 0x2e
+/* 802877B0 00283410 40 82 00 2C */ bne lbl_802877DC
+/* 802877B4 00283414 7C 1A C0 50 */ subf r0, r26, r24
+/* 802877B8 00283418 2C 00 00 08 */ cmpwi r0, 8
+/* 802877BC 0028341C 41 81 00 0C */ bgt lbl_802877C8
+/* 802877C0 00283420 2C 05 00 01 */ cmpwi r5, 1
+/* 802877C4 00283424 40 82 00 0C */ bne lbl_802877D0
+lbl_802877C8:
+/* 802877C8 00283428 38 80 00 01 */ li r4, 1
+/* 802877CC 0028342C 48 00 00 34 */ b lbl_80287800
+lbl_802877D0:
+/* 802877D0 00283430 3B 78 00 01 */ addi r27, r24, 1
+/* 802877D4 00283434 38 A0 00 01 */ li r5, 1
+/* 802877D8 00283438 48 00 00 10 */ b lbl_802877E8
+lbl_802877DC:
+/* 802877DC 0028343C 2C 00 00 20 */ cmpwi r0, 0x20
+/* 802877E0 00283440 40 82 00 08 */ bne lbl_802877E8
+/* 802877E4 00283444 38 80 00 01 */ li r4, 1
+lbl_802877E8:
+/* 802877E8 00283448 3B 18 00 01 */ addi r24, r24, 1
+lbl_802877EC:
+/* 802877EC 0028344C 88 78 00 00 */ lbz r3, 0(r24)
+/* 802877F0 00283450 7C 60 07 75 */ extsb. r0, r3
+/* 802877F4 00283454 41 82 00 0C */ beq lbl_80287800
+/* 802877F8 00283458 2C 00 00 2F */ cmpwi r0, 0x2f
+/* 802877FC 0028345C 40 82 FF AC */ bne lbl_802877A8
+lbl_80287800:
+/* 80287800 00283460 2C 05 00 01 */ cmpwi r5, 1
+/* 80287804 00283464 40 82 00 14 */ bne lbl_80287818
+/* 80287808 00283468 7C 1B C0 50 */ subf r0, r27, r24
+/* 8028780C 0028346C 2C 00 00 03 */ cmpwi r0, 3
+/* 80287810 00283470 40 81 00 08 */ ble lbl_80287818
+/* 80287814 00283474 38 80 00 01 */ li r4, 1
+lbl_80287818:
+/* 80287818 00283478 2C 04 00 00 */ cmpwi r4, 0
+/* 8028781C 0028347C 41 82 00 40 */ beq lbl_8028785C
+/* 80287820 00283480 7F 86 E3 78 */ mr r6, r28
+/* 80287824 00283484 38 BE 5D 68 */ addi r5, r30, 0x5d68
+/* 80287828 00283488 38 6D 88 B0 */ addi r3, r13, lbl_8063DB70-_SDA_BASE_
+/* 8028782C 0028348C 38 80 01 BB */ li r4, 0x1bb
+/* 80287830 00283490 4C C6 31 82 */ crclr 6
+/* 80287834 00283494 4B FE 3C 69 */ bl OSPanic
+/* 80287838 00283498 48 00 00 24 */ b lbl_8028785C
+lbl_8028783C:
+/* 8028783C 0028349C 7F 58 D3 78 */ mr r24, r26
+/* 80287840 002834A0 48 00 00 08 */ b lbl_80287848
+lbl_80287844:
+/* 80287844 002834A4 3B 18 00 01 */ addi r24, r24, 1
+lbl_80287848:
+/* 80287848 002834A8 88 18 00 00 */ lbz r0, 0(r24)
+/* 8028784C 002834AC 7C 00 07 75 */ extsb. r0, r0
+/* 80287850 002834B0 41 82 00 0C */ beq lbl_8028785C
+/* 80287854 002834B4 2C 00 00 2F */ cmpwi r0, 0x2f
+/* 80287858 002834B8 40 82 FF EC */ bne lbl_80287844
+lbl_8028785C:
+/* 8028785C 002834BC 88 78 00 00 */ lbz r3, 0(r24)
+/* 80287860 002834C0 1C 1D 00 0C */ mulli r0, r29, 0xc
+/* 80287864 002834C4 81 0D AA 08 */ lwz r8, lbl_8063FCC8-_SDA_BASE_(r13)
+/* 80287868 002834C8 7D 3A C0 50 */ subf r9, r26, r24
+/* 8028786C 002834CC 7C 66 07 74 */ extsb r6, r3
+/* 80287870 002834D0 80 8D AA 04 */ lwz r4, lbl_8063FCC4-_SDA_BASE_(r13)
+/* 80287874 002834D4 7C A6 00 D0 */ neg r5, r6
+/* 80287878 002834D8 7C 68 02 14 */ add r3, r8, r0
+/* 8028787C 002834DC 81 9F 00 38 */ lwz r12, 0x38(r31)
+/* 80287880 002834E0 7C A0 33 78 */ or r0, r5, r6
+/* 80287884 002834E4 80 A3 00 08 */ lwz r5, 8(r3)
+/* 80287888 002834E8 54 00 0F FE */ srwi r0, r0, 0x1f
+/* 8028788C 002834EC 38 7D 00 01 */ addi r3, r29, 1
+/* 80287890 002834F0 48 00 00 F0 */ b lbl_80287980
+lbl_80287894:
+/* 80287894 002834F4 1C C3 00 0C */ mulli r6, r3, 0xc
+/* 80287898 002834F8 7D 46 40 6E */ lwzux r10, r6, r8
+/* 8028789C 002834FC 55 47 00 0F */ rlwinm. r7, r10, 0, 0, 7
+/* 802878A0 00283500 40 82 00 0C */ bne lbl_802878AC
+/* 802878A4 00283504 2C 00 00 01 */ cmpwi r0, 1
+/* 802878A8 00283508 41 82 00 C4 */ beq lbl_8028796C
+lbl_802878AC:
+/* 802878AC 0028350C 55 4A 02 3E */ clrlwi r10, r10, 8
+/* 802878B0 00283510 7F 5D D3 78 */ mr r29, r26
+/* 802878B4 00283514 7F 24 52 14 */ add r25, r4, r10
+/* 802878B8 00283518 48 00 00 7C */ b lbl_80287934
+lbl_802878BC:
+/* 802878BC 0028351C 89 79 00 00 */ lbz r11, 0(r25)
+/* 802878C0 00283520 39 40 00 00 */ li r10, 0
+/* 802878C4 00283524 3B 39 00 01 */ addi r25, r25, 1
+/* 802878C8 00283528 7D 78 07 75 */ extsb. r24, r11
+/* 802878CC 0028352C 41 80 00 0C */ blt lbl_802878D8
+/* 802878D0 00283530 2C 18 01 00 */ cmpwi r24, 0x100
+/* 802878D4 00283534 41 80 00 08 */ blt lbl_802878DC
+lbl_802878D8:
+/* 802878D8 00283538 39 40 00 01 */ li r10, 1
+lbl_802878DC:
+/* 802878DC 0028353C 2C 0A 00 00 */ cmpwi r10, 0
+/* 802878E0 00283540 41 82 00 08 */ beq lbl_802878E8
+/* 802878E4 00283544 48 00 00 0C */ b lbl_802878F0
+lbl_802878E8:
+/* 802878E8 00283548 81 4C 00 10 */ lwz r10, 0x10(r12)
+/* 802878EC 0028354C 7F 0A C0 AE */ lbzx r24, r10, r24
+lbl_802878F0:
+/* 802878F0 00283550 89 7D 00 00 */ lbz r11, 0(r29)
+/* 802878F4 00283554 39 40 00 00 */ li r10, 0
+/* 802878F8 00283558 3B BD 00 01 */ addi r29, r29, 1
+/* 802878FC 0028355C 7D 6B 07 75 */ extsb. r11, r11
+/* 80287900 00283560 41 80 00 0C */ blt lbl_8028790C
+/* 80287904 00283564 2C 0B 01 00 */ cmpwi r11, 0x100
+/* 80287908 00283568 41 80 00 08 */ blt lbl_80287910
+lbl_8028790C:
+/* 8028790C 0028356C 39 40 00 01 */ li r10, 1
+lbl_80287910:
+/* 80287910 00283570 2C 0A 00 00 */ cmpwi r10, 0
+/* 80287914 00283574 41 82 00 08 */ beq lbl_8028791C
+/* 80287918 00283578 48 00 00 0C */ b lbl_80287924
+lbl_8028791C:
+/* 8028791C 0028357C 81 4C 00 10 */ lwz r10, 0x10(r12)
+/* 80287920 00283580 7D 6A 58 AE */ lbzx r11, r10, r11
+lbl_80287924:
+/* 80287924 00283584 7C 0B C0 00 */ cmpw r11, r24
+/* 80287928 00283588 41 82 00 0C */ beq lbl_80287934
+/* 8028792C 0028358C 39 40 00 00 */ li r10, 0
+/* 80287930 00283590 48 00 00 34 */ b lbl_80287964
+lbl_80287934:
+/* 80287934 00283594 89 59 00 00 */ lbz r10, 0(r25)
+/* 80287938 00283598 7D 4A 07 75 */ extsb. r10, r10
+/* 8028793C 0028359C 40 82 FF 80 */ bne lbl_802878BC
+/* 80287940 002835A0 89 5D 00 00 */ lbz r10, 0(r29)
+/* 80287944 002835A4 7D 4A 07 74 */ extsb r10, r10
+/* 80287948 002835A8 2C 0A 00 2F */ cmpwi r10, 0x2f
+/* 8028794C 002835AC 41 82 00 0C */ beq lbl_80287958
+/* 80287950 002835B0 2C 0A 00 00 */ cmpwi r10, 0
+/* 80287954 002835B4 40 82 00 0C */ bne lbl_80287960
+lbl_80287958:
+/* 80287958 002835B8 39 40 00 01 */ li r10, 1
+/* 8028795C 002835BC 48 00 00 08 */ b lbl_80287964
+lbl_80287960:
+/* 80287960 002835C0 39 40 00 00 */ li r10, 0
+lbl_80287964:
+/* 80287964 002835C4 2C 0A 00 01 */ cmpwi r10, 1
+/* 80287968 002835C8 41 82 00 28 */ beq lbl_80287990
+lbl_8028796C:
+/* 8028796C 002835CC 2C 07 00 00 */ cmpwi r7, 0
+/* 80287970 002835D0 41 82 00 0C */ beq lbl_8028797C
+/* 80287974 002835D4 80 66 00 08 */ lwz r3, 8(r6)
+/* 80287978 002835D8 48 00 00 08 */ b lbl_80287980
+lbl_8028797C:
+/* 8028797C 002835DC 38 63 00 01 */ addi r3, r3, 1
+lbl_80287980:
+/* 80287980 002835E0 7C 03 28 40 */ cmplw r3, r5
+/* 80287984 002835E4 41 80 FF 10 */ blt lbl_80287894
+/* 80287988 002835E8 38 60 FF FF */ li r3, -1
+/* 8028798C 002835EC 48 00 00 20 */ b lbl_802879AC
+lbl_80287990:
+/* 80287990 002835F0 2C 00 00 00 */ cmpwi r0, 0
+/* 80287994 002835F4 40 82 00 08 */ bne lbl_8028799C
+/* 80287998 002835F8 48 00 00 14 */ b lbl_802879AC
+lbl_8028799C:
+/* 8028799C 002835FC 7C 89 D2 14 */ add r4, r9, r26
+/* 802879A0 00283600 7C 7D 1B 78 */ mr r29, r3
+/* 802879A4 00283604 3B 44 00 01 */ addi r26, r4, 1
+/* 802879A8 00283608 4B FF FD 40 */ b lbl_802876E8
+lbl_802879AC:
+/* 802879AC 0028360C 39 61 00 30 */ addi r11, r1, 0x30
+/* 802879B0 00283610 4B F3 F7 B9 */ bl _restgpr_24
+/* 802879B4 00283614 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802879B8 00283618 7C 08 03 A6 */ mtlr r0
+/* 802879BC 0028361C 38 21 00 30 */ addi r1, r1, 0x30
+/* 802879C0 00283620 4E 80 00 20 */ blr
+
+.global DVDFastOpen
+DVDFastOpen:
+/* 802879C4 00283624 2C 03 00 00 */ cmpwi r3, 0
+/* 802879C8 00283628 41 80 00 24 */ blt lbl_802879EC
+/* 802879CC 0028362C 80 0D AA 00 */ lwz r0, lbl_8063FCC0-_SDA_BASE_(r13)
+/* 802879D0 00283630 7C 03 00 40 */ cmplw r3, r0
+/* 802879D4 00283634 40 80 00 18 */ bge lbl_802879EC
+/* 802879D8 00283638 1C E3 00 0C */ mulli r7, r3, 0xc
+/* 802879DC 0028363C 80 6D AA 08 */ lwz r3, lbl_8063FCC8-_SDA_BASE_(r13)
+/* 802879E0 00283640 7C 03 38 2E */ lwzx r0, r3, r7
+/* 802879E4 00283644 54 00 00 0F */ rlwinm. r0, r0, 0, 0, 7
+/* 802879E8 00283648 41 82 00 0C */ beq lbl_802879F4
+lbl_802879EC:
+/* 802879EC 0028364C 38 60 00 00 */ li r3, 0
+/* 802879F0 00283650 4E 80 00 20 */ blr
+lbl_802879F4:
+/* 802879F4 00283654 7C 63 3A 14 */ add r3, r3, r7
+/* 802879F8 00283658 80 AD AA 48 */ lwz r5, lbl_8063FD08-_SDA_BASE_(r13)
+/* 802879FC 0028365C 80 C3 00 04 */ lwz r6, 4(r3)
+/* 80287A00 00283660 38 00 00 00 */ li r0, 0
+/* 80287A04 00283664 38 60 00 01 */ li r3, 1
+/* 80287A08 00283668 7C C5 2C 30 */ srw r5, r6, r5
+/* 80287A0C 0028366C 90 A4 00 30 */ stw r5, 0x30(r4)
+/* 80287A10 00283670 80 AD AA 08 */ lwz r5, lbl_8063FCC8-_SDA_BASE_(r13)
+/* 80287A14 00283674 7C A5 3A 14 */ add r5, r5, r7
+/* 80287A18 00283678 80 A5 00 08 */ lwz r5, 8(r5)
+/* 80287A1C 0028367C 90 A4 00 34 */ stw r5, 0x34(r4)
+/* 80287A20 00283680 90 04 00 38 */ stw r0, 0x38(r4)
+/* 80287A24 00283684 90 04 00 0C */ stw r0, 0xc(r4)
+/* 80287A28 00283688 4E 80 00 20 */ blr
+
+.global DVDOpen
+DVDOpen:
+/* 80287A2C 0028368C 94 21 FF 60 */ stwu r1, -0xa0(r1)
+/* 80287A30 00283690 7C 08 02 A6 */ mflr r0
+/* 80287A34 00283694 90 01 00 A4 */ stw r0, 0xa4(r1)
+/* 80287A38 00283698 39 61 00 A0 */ addi r11, r1, 0xa0
+/* 80287A3C 0028369C 4B F3 F6 ED */ bl _savegpr_27
+/* 80287A40 002836A0 7C 7C 1B 78 */ mr r28, r3
+/* 80287A44 002836A4 7C 9B 23 78 */ mr r27, r4
+/* 80287A48 002836A8 4B FF FC 75 */ bl DVDConvertPathToEntrynum
+/* 80287A4C 002836AC 2C 03 00 00 */ cmpwi r3, 0
+/* 80287A50 002836B0 40 80 02 20 */ bge lbl_80287C70
+/* 80287A54 002836B4 83 AD A9 F0 */ lwz r29, lbl_8063FCB0-_SDA_BASE_(r13)
+/* 80287A58 002836B8 2C 1D 00 00 */ cmpwi r29, 0
+/* 80287A5C 002836BC 40 82 00 0C */ bne lbl_80287A68
+/* 80287A60 002836C0 38 80 00 00 */ li r4, 0
+/* 80287A64 002836C4 48 00 01 90 */ b lbl_80287BF4
+lbl_80287A68:
+/* 80287A68 002836C8 81 0D AA 08 */ lwz r8, lbl_8063FCC8-_SDA_BASE_(r13)
+/* 80287A6C 002836CC 1C 1D 00 0C */ mulli r0, r29, 0xc
+/* 80287A70 002836D0 80 ED AA 04 */ lwz r7, lbl_8063FCC4-_SDA_BASE_(r13)
+/* 80287A74 002836D4 38 C8 00 04 */ addi r6, r8, 4
+/* 80287A78 002836D8 7C 66 00 2E */ lwzx r3, r6, r0
+/* 80287A7C 002836DC 7C 08 00 2E */ lwzx r0, r8, r0
+/* 80287A80 002836E0 2C 03 00 00 */ cmpwi r3, 0
+/* 80287A84 002836E4 54 00 02 3E */ clrlwi r0, r0, 8
+/* 80287A88 002836E8 7F C7 02 14 */ add r30, r7, r0
+/* 80287A8C 002836EC 40 82 00 0C */ bne lbl_80287A98
+/* 80287A90 002836F0 38 80 00 00 */ li r4, 0
+/* 80287A94 002836F4 48 00 01 04 */ b lbl_80287B98
+lbl_80287A98:
+/* 80287A98 002836F8 1C 03 00 0C */ mulli r0, r3, 0xc
+/* 80287A9C 002836FC 7C 66 00 2E */ lwzx r3, r6, r0
+/* 80287AA0 00283700 7C 08 00 2E */ lwzx r0, r8, r0
+/* 80287AA4 00283704 2C 03 00 00 */ cmpwi r3, 0
+/* 80287AA8 00283708 54 00 02 3E */ clrlwi r0, r0, 8
+/* 80287AAC 0028370C 7F E7 02 14 */ add r31, r7, r0
+/* 80287AB0 00283710 40 82 00 0C */ bne lbl_80287ABC
+/* 80287AB4 00283714 38 80 00 00 */ li r4, 0
+/* 80287AB8 00283718 48 00 00 84 */ b lbl_80287B3C
+lbl_80287ABC:
+/* 80287ABC 0028371C 1C 63 00 0C */ mulli r3, r3, 0xc
+/* 80287AC0 00283720 38 81 00 08 */ addi r4, r1, 8
+/* 80287AC4 00283724 38 A0 00 80 */ li r5, 0x80
+/* 80287AC8 00283728 7C 08 18 2E */ lwzx r0, r8, r3
+/* 80287ACC 0028372C 7C 66 18 2E */ lwzx r3, r6, r3
+/* 80287AD0 00283730 54 00 02 3E */ clrlwi r0, r0, 8
+/* 80287AD4 00283734 7F 67 02 14 */ add r27, r7, r0
+/* 80287AD8 00283738 48 00 02 25 */ bl entryToPath
+/* 80287ADC 0028373C 28 03 00 80 */ cmplwi r3, 0x80
+/* 80287AE0 00283740 7C 64 1B 78 */ mr r4, r3
+/* 80287AE4 00283744 40 82 00 08 */ bne lbl_80287AEC
+/* 80287AE8 00283748 48 00 00 54 */ b lbl_80287B3C
+lbl_80287AEC:
+/* 80287AEC 0028374C 38 83 00 01 */ addi r4, r3, 1
+/* 80287AF0 00283750 38 A1 00 08 */ addi r5, r1, 8
+/* 80287AF4 00283754 38 00 00 2F */ li r0, 0x2f
+/* 80287AF8 00283758 7C 05 19 AE */ stbx r0, r5, r3
+/* 80287AFC 0028375C 20 C4 00 80 */ subfic r6, r4, 0x80
+/* 80287B00 00283760 7C C3 33 78 */ mr r3, r6
+/* 80287B04 00283764 7C A5 22 14 */ add r5, r5, r4
+/* 80287B08 00283768 48 00 00 18 */ b lbl_80287B20
+lbl_80287B0C:
+/* 80287B0C 0028376C 88 1B 00 00 */ lbz r0, 0(r27)
+/* 80287B10 00283770 38 63 FF FF */ addi r3, r3, -1
+/* 80287B14 00283774 3B 7B 00 01 */ addi r27, r27, 1
+/* 80287B18 00283778 98 05 00 00 */ stb r0, 0(r5)
+/* 80287B1C 0028377C 38 A5 00 01 */ addi r5, r5, 1
+lbl_80287B20:
+/* 80287B20 00283780 2C 03 00 00 */ cmpwi r3, 0
+/* 80287B24 00283784 41 82 00 10 */ beq lbl_80287B34
+/* 80287B28 00283788 88 1B 00 00 */ lbz r0, 0(r27)
+/* 80287B2C 0028378C 7C 00 07 75 */ extsb. r0, r0
+/* 80287B30 00283790 40 82 FF DC */ bne lbl_80287B0C
+lbl_80287B34:
+/* 80287B34 00283794 7C 03 30 50 */ subf r0, r3, r6
+/* 80287B38 00283798 7C 84 02 14 */ add r4, r4, r0
+lbl_80287B3C:
+/* 80287B3C 0028379C 28 04 00 80 */ cmplwi r4, 0x80
+/* 80287B40 002837A0 40 82 00 08 */ bne lbl_80287B48
+/* 80287B44 002837A4 48 00 00 54 */ b lbl_80287B98
+lbl_80287B48:
+/* 80287B48 002837A8 38 A4 00 01 */ addi r5, r4, 1
+/* 80287B4C 002837AC 38 61 00 08 */ addi r3, r1, 8
+/* 80287B50 002837B0 38 00 00 2F */ li r0, 0x2f
+/* 80287B54 002837B4 7C 03 21 AE */ stbx r0, r3, r4
+/* 80287B58 002837B8 20 C5 00 80 */ subfic r6, r5, 0x80
+/* 80287B5C 002837BC 7C C4 33 78 */ mr r4, r6
+/* 80287B60 002837C0 7C 63 2A 14 */ add r3, r3, r5
+/* 80287B64 002837C4 48 00 00 18 */ b lbl_80287B7C
+lbl_80287B68:
+/* 80287B68 002837C8 88 1F 00 00 */ lbz r0, 0(r31)
+/* 80287B6C 002837CC 38 84 FF FF */ addi r4, r4, -1
+/* 80287B70 002837D0 3B FF 00 01 */ addi r31, r31, 1
+/* 80287B74 002837D4 98 03 00 00 */ stb r0, 0(r3)
+/* 80287B78 002837D8 38 63 00 01 */ addi r3, r3, 1
+lbl_80287B7C:
+/* 80287B7C 002837DC 2C 04 00 00 */ cmpwi r4, 0
+/* 80287B80 002837E0 41 82 00 10 */ beq lbl_80287B90
+/* 80287B84 002837E4 88 1F 00 00 */ lbz r0, 0(r31)
+/* 80287B88 002837E8 7C 00 07 75 */ extsb. r0, r0
+/* 80287B8C 002837EC 40 82 FF DC */ bne lbl_80287B68
+lbl_80287B90:
+/* 80287B90 002837F0 7C 04 30 50 */ subf r0, r4, r6
+/* 80287B94 002837F4 7C 85 02 14 */ add r4, r5, r0
+lbl_80287B98:
+/* 80287B98 002837F8 28 04 00 80 */ cmplwi r4, 0x80
+/* 80287B9C 002837FC 40 82 00 08 */ bne lbl_80287BA4
+/* 80287BA0 00283800 48 00 00 54 */ b lbl_80287BF4
+lbl_80287BA4:
+/* 80287BA4 00283804 38 A4 00 01 */ addi r5, r4, 1
+/* 80287BA8 00283808 38 61 00 08 */ addi r3, r1, 8
+/* 80287BAC 0028380C 38 00 00 2F */ li r0, 0x2f
+/* 80287BB0 00283810 7C 03 21 AE */ stbx r0, r3, r4
+/* 80287BB4 00283814 20 C5 00 80 */ subfic r6, r5, 0x80
+/* 80287BB8 00283818 7C C4 33 78 */ mr r4, r6
+/* 80287BBC 0028381C 7C 63 2A 14 */ add r3, r3, r5
+/* 80287BC0 00283820 48 00 00 18 */ b lbl_80287BD8
+lbl_80287BC4:
+/* 80287BC4 00283824 88 1E 00 00 */ lbz r0, 0(r30)
+/* 80287BC8 00283828 38 84 FF FF */ addi r4, r4, -1
+/* 80287BCC 0028382C 3B DE 00 01 */ addi r30, r30, 1
+/* 80287BD0 00283830 98 03 00 00 */ stb r0, 0(r3)
+/* 80287BD4 00283834 38 63 00 01 */ addi r3, r3, 1
+lbl_80287BD8:
+/* 80287BD8 00283838 2C 04 00 00 */ cmpwi r4, 0
+/* 80287BDC 0028383C 41 82 00 10 */ beq lbl_80287BEC
+/* 80287BE0 00283840 88 1E 00 00 */ lbz r0, 0(r30)
+/* 80287BE4 00283844 7C 00 07 75 */ extsb. r0, r0
+/* 80287BE8 00283848 40 82 FF DC */ bne lbl_80287BC4
+lbl_80287BEC:
+/* 80287BEC 0028384C 7C 04 30 50 */ subf r0, r4, r6
+/* 80287BF0 00283850 7C 85 02 14 */ add r4, r5, r0
+lbl_80287BF4:
+/* 80287BF4 00283854 28 04 00 80 */ cmplwi r4, 0x80
+/* 80287BF8 00283858 40 82 00 10 */ bne lbl_80287C08
+/* 80287BFC 0028385C 38 00 00 00 */ li r0, 0
+/* 80287C00 00283860 98 01 00 87 */ stb r0, 0x87(r1)
+/* 80287C04 00283864 48 00 00 4C */ b lbl_80287C50
+lbl_80287C08:
+/* 80287C08 00283868 1C 1D 00 0C */ mulli r0, r29, 0xc
+/* 80287C0C 0028386C 80 6D AA 08 */ lwz r3, lbl_8063FCC8-_SDA_BASE_(r13)
+/* 80287C10 00283870 7C 03 00 2E */ lwzx r0, r3, r0
+/* 80287C14 00283874 54 00 00 0F */ rlwinm. r0, r0, 0, 0, 7
+/* 80287C18 00283878 41 82 00 2C */ beq lbl_80287C44
+/* 80287C1C 0028387C 28 04 00 7F */ cmplwi r4, 0x7f
+/* 80287C20 00283880 40 82 00 14 */ bne lbl_80287C34
+/* 80287C24 00283884 38 61 00 08 */ addi r3, r1, 8
+/* 80287C28 00283888 38 00 00 00 */ li r0, 0
+/* 80287C2C 0028388C 7C 03 21 AE */ stbx r0, r3, r4
+/* 80287C30 00283890 48 00 00 20 */ b lbl_80287C50
+lbl_80287C34:
+/* 80287C34 00283894 38 61 00 08 */ addi r3, r1, 8
+/* 80287C38 00283898 38 00 00 2F */ li r0, 0x2f
+/* 80287C3C 0028389C 7C 03 21 AE */ stbx r0, r3, r4
+/* 80287C40 002838A0 38 84 00 01 */ addi r4, r4, 1
+lbl_80287C44:
+/* 80287C44 002838A4 38 61 00 08 */ addi r3, r1, 8
+/* 80287C48 002838A8 38 00 00 00 */ li r0, 0
+/* 80287C4C 002838AC 7C 03 21 AE */ stbx r0, r3, r4
+lbl_80287C50:
+/* 80287C50 002838B0 3C 60 80 43 */ lis r3, lbl_80435E30@ha
+/* 80287C54 002838B4 7F 84 E3 78 */ mr r4, r28
+/* 80287C58 002838B8 38 63 5E 30 */ addi r3, r3, lbl_80435E30@l
+/* 80287C5C 002838BC 38 A1 00 08 */ addi r5, r1, 8
+/* 80287C60 002838C0 4C C6 31 82 */ crclr 6
+/* 80287C64 002838C4 4B D7 FE 61 */ bl func_80007AC4
+/* 80287C68 002838C8 38 60 00 00 */ li r3, 0
+/* 80287C6C 002838CC 48 00 00 54 */ b lbl_80287CC0
+lbl_80287C70:
+/* 80287C70 002838D0 1C C3 00 0C */ mulli r6, r3, 0xc
+/* 80287C74 002838D4 80 6D AA 08 */ lwz r3, lbl_8063FCC8-_SDA_BASE_(r13)
+/* 80287C78 002838D8 7C 03 30 2E */ lwzx r0, r3, r6
+/* 80287C7C 002838DC 54 00 00 0F */ rlwinm. r0, r0, 0, 0, 7
+/* 80287C80 002838E0 41 82 00 0C */ beq lbl_80287C8C
+/* 80287C84 002838E4 38 60 00 00 */ li r3, 0
+/* 80287C88 002838E8 48 00 00 38 */ b lbl_80287CC0
+lbl_80287C8C:
+/* 80287C8C 002838EC 7C 63 32 14 */ add r3, r3, r6
+/* 80287C90 002838F0 80 8D AA 48 */ lwz r4, lbl_8063FD08-_SDA_BASE_(r13)
+/* 80287C94 002838F4 80 A3 00 04 */ lwz r5, 4(r3)
+/* 80287C98 002838F8 38 00 00 00 */ li r0, 0
+/* 80287C9C 002838FC 38 60 00 01 */ li r3, 1
+/* 80287CA0 00283900 7C A4 24 30 */ srw r4, r5, r4
+/* 80287CA4 00283904 90 9B 00 30 */ stw r4, 0x30(r27)
+/* 80287CA8 00283908 80 8D AA 08 */ lwz r4, lbl_8063FCC8-_SDA_BASE_(r13)
+/* 80287CAC 0028390C 7C 84 32 14 */ add r4, r4, r6
+/* 80287CB0 00283910 80 84 00 08 */ lwz r4, 8(r4)
+/* 80287CB4 00283914 90 9B 00 34 */ stw r4, 0x34(r27)
+/* 80287CB8 00283918 90 1B 00 38 */ stw r0, 0x38(r27)
+/* 80287CBC 0028391C 90 1B 00 0C */ stw r0, 0xc(r27)
+lbl_80287CC0:
+/* 80287CC0 00283920 39 61 00 A0 */ addi r11, r1, 0xa0
+/* 80287CC4 00283924 4B F3 F4 B1 */ bl _restgpr_27
+/* 80287CC8 00283928 80 01 00 A4 */ lwz r0, 0xa4(r1)
+/* 80287CCC 0028392C 7C 08 03 A6 */ mtlr r0
+/* 80287CD0 00283930 38 21 00 A0 */ addi r1, r1, 0xa0
+/* 80287CD4 00283934 4E 80 00 20 */ blr
+
+.global DVDClose
+DVDClose:
+/* 80287CD8 00283938 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80287CDC 0028393C 7C 08 02 A6 */ mflr r0
+/* 80287CE0 00283940 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80287CE4 00283944 48 00 46 39 */ bl DVDCancel
+/* 80287CE8 00283948 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80287CEC 0028394C 38 60 00 01 */ li r3, 1
+/* 80287CF0 00283950 7C 08 03 A6 */ mtlr r0
+/* 80287CF4 00283954 38 21 00 10 */ addi r1, r1, 0x10
+/* 80287CF8 00283958 4E 80 00 20 */ blr
+
+.global entryToPath
+entryToPath:
+/* 80287CFC 0028395C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80287D00 00283960 7C 08 02 A6 */ mflr r0
+/* 80287D04 00283964 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80287D08 00283968 39 61 00 20 */ addi r11, r1, 0x20
+/* 80287D0C 0028396C 4B F3 F4 1D */ bl _savegpr_27
+/* 80287D10 00283970 2C 03 00 00 */ cmpwi r3, 0
+/* 80287D14 00283974 7C 9C 23 78 */ mr r28, r4
+/* 80287D18 00283978 7C BD 2B 78 */ mr r29, r5
+/* 80287D1C 0028397C 40 82 00 0C */ bne lbl_80287D28
+/* 80287D20 00283980 38 60 00 00 */ li r3, 0
+/* 80287D24 00283984 48 00 01 80 */ b lbl_80287EA4
+lbl_80287D28:
+/* 80287D28 00283988 81 0D AA 08 */ lwz r8, lbl_8063FCC8-_SDA_BASE_(r13)
+/* 80287D2C 0028398C 1C 03 00 0C */ mulli r0, r3, 0xc
+/* 80287D30 00283990 80 ED AA 04 */ lwz r7, lbl_8063FCC4-_SDA_BASE_(r13)
+/* 80287D34 00283994 38 C8 00 04 */ addi r6, r8, 4
+/* 80287D38 00283998 7C 66 00 2E */ lwzx r3, r6, r0
+/* 80287D3C 0028399C 7C 08 00 2E */ lwzx r0, r8, r0
+/* 80287D40 002839A0 2C 03 00 00 */ cmpwi r3, 0
+/* 80287D44 002839A4 54 00 02 3E */ clrlwi r0, r0, 8
+/* 80287D48 002839A8 7F C7 02 14 */ add r30, r7, r0
+/* 80287D4C 002839AC 40 82 00 0C */ bne lbl_80287D58
+/* 80287D50 002839B0 38 80 00 00 */ li r4, 0
+/* 80287D54 002839B4 48 00 00 F4 */ b lbl_80287E48
+lbl_80287D58:
+/* 80287D58 002839B8 1C 03 00 0C */ mulli r0, r3, 0xc
+/* 80287D5C 002839BC 7C 66 00 2E */ lwzx r3, r6, r0
+/* 80287D60 002839C0 7C 08 00 2E */ lwzx r0, r8, r0
+/* 80287D64 002839C4 2C 03 00 00 */ cmpwi r3, 0
+/* 80287D68 002839C8 54 00 02 3E */ clrlwi r0, r0, 8
+/* 80287D6C 002839CC 7F E7 02 14 */ add r31, r7, r0
+/* 80287D70 002839D0 40 82 00 0C */ bne lbl_80287D7C
+/* 80287D74 002839D4 38 80 00 00 */ li r4, 0
+/* 80287D78 002839D8 48 00 00 78 */ b lbl_80287DF0
+lbl_80287D7C:
+/* 80287D7C 002839DC 1C 63 00 0C */ mulli r3, r3, 0xc
+/* 80287D80 002839E0 7C 08 18 2E */ lwzx r0, r8, r3
+/* 80287D84 002839E4 7C 66 18 2E */ lwzx r3, r6, r3
+/* 80287D88 002839E8 54 00 02 3E */ clrlwi r0, r0, 8
+/* 80287D8C 002839EC 7F 67 02 14 */ add r27, r7, r0
+/* 80287D90 002839F0 4B FF FF 6D */ bl entryToPath
+/* 80287D94 002839F4 7C 03 E8 40 */ cmplw r3, r29
+/* 80287D98 002839F8 7C 64 1B 78 */ mr r4, r3
+/* 80287D9C 002839FC 40 82 00 08 */ bne lbl_80287DA4
+/* 80287DA0 00283A00 48 00 00 50 */ b lbl_80287DF0
+lbl_80287DA4:
+/* 80287DA4 00283A04 38 83 00 01 */ addi r4, r3, 1
+/* 80287DA8 00283A08 38 00 00 2F */ li r0, 0x2f
+/* 80287DAC 00283A0C 7C C4 E8 50 */ subf r6, r4, r29
+/* 80287DB0 00283A10 7C 1C 19 AE */ stbx r0, r28, r3
+/* 80287DB4 00283A14 7C 7C 22 14 */ add r3, r28, r4
+/* 80287DB8 00283A18 7C C5 33 78 */ mr r5, r6
+/* 80287DBC 00283A1C 48 00 00 18 */ b lbl_80287DD4
+lbl_80287DC0:
+/* 80287DC0 00283A20 88 1B 00 00 */ lbz r0, 0(r27)
+/* 80287DC4 00283A24 38 A5 FF FF */ addi r5, r5, -1
+/* 80287DC8 00283A28 3B 7B 00 01 */ addi r27, r27, 1
+/* 80287DCC 00283A2C 98 03 00 00 */ stb r0, 0(r3)
+/* 80287DD0 00283A30 38 63 00 01 */ addi r3, r3, 1
+lbl_80287DD4:
+/* 80287DD4 00283A34 2C 05 00 00 */ cmpwi r5, 0
+/* 80287DD8 00283A38 41 82 00 10 */ beq lbl_80287DE8
+/* 80287DDC 00283A3C 88 1B 00 00 */ lbz r0, 0(r27)
+/* 80287DE0 00283A40 7C 00 07 75 */ extsb. r0, r0
+/* 80287DE4 00283A44 40 82 FF DC */ bne lbl_80287DC0
+lbl_80287DE8:
+/* 80287DE8 00283A48 7C 05 30 50 */ subf r0, r5, r6
+/* 80287DEC 00283A4C 7C 84 02 14 */ add r4, r4, r0
+lbl_80287DF0:
+/* 80287DF0 00283A50 7C 04 E8 40 */ cmplw r4, r29
+/* 80287DF4 00283A54 40 82 00 08 */ bne lbl_80287DFC
+/* 80287DF8 00283A58 48 00 00 50 */ b lbl_80287E48
+lbl_80287DFC:
+/* 80287DFC 00283A5C 38 64 00 01 */ addi r3, r4, 1
+/* 80287E00 00283A60 38 00 00 2F */ li r0, 0x2f
+/* 80287E04 00283A64 7C C3 E8 50 */ subf r6, r3, r29
+/* 80287E08 00283A68 7C 1C 21 AE */ stbx r0, r28, r4
+/* 80287E0C 00283A6C 7C 9C 1A 14 */ add r4, r28, r3
+/* 80287E10 00283A70 7C C5 33 78 */ mr r5, r6
+/* 80287E14 00283A74 48 00 00 18 */ b lbl_80287E2C
+lbl_80287E18:
+/* 80287E18 00283A78 88 1F 00 00 */ lbz r0, 0(r31)
+/* 80287E1C 00283A7C 38 A5 FF FF */ addi r5, r5, -1
+/* 80287E20 00283A80 3B FF 00 01 */ addi r31, r31, 1
+/* 80287E24 00283A84 98 04 00 00 */ stb r0, 0(r4)
+/* 80287E28 00283A88 38 84 00 01 */ addi r4, r4, 1
+lbl_80287E2C:
+/* 80287E2C 00283A8C 2C 05 00 00 */ cmpwi r5, 0
+/* 80287E30 00283A90 41 82 00 10 */ beq lbl_80287E40
+/* 80287E34 00283A94 88 1F 00 00 */ lbz r0, 0(r31)
+/* 80287E38 00283A98 7C 00 07 75 */ extsb. r0, r0
+/* 80287E3C 00283A9C 40 82 FF DC */ bne lbl_80287E18
+lbl_80287E40:
+/* 80287E40 00283AA0 7C 05 30 50 */ subf r0, r5, r6
+/* 80287E44 00283AA4 7C 83 02 14 */ add r4, r3, r0
+lbl_80287E48:
+/* 80287E48 00283AA8 7C 04 E8 40 */ cmplw r4, r29
+/* 80287E4C 00283AAC 40 82 00 0C */ bne lbl_80287E58
+/* 80287E50 00283AB0 7C 83 23 78 */ mr r3, r4
+/* 80287E54 00283AB4 48 00 00 50 */ b lbl_80287EA4
+lbl_80287E58:
+/* 80287E58 00283AB8 38 C4 00 01 */ addi r6, r4, 1
+/* 80287E5C 00283ABC 38 00 00 2F */ li r0, 0x2f
+/* 80287E60 00283AC0 7C A6 E8 50 */ subf r5, r6, r29
+/* 80287E64 00283AC4 7C 1C 21 AE */ stbx r0, r28, r4
+/* 80287E68 00283AC8 7C 7C 32 14 */ add r3, r28, r6
+/* 80287E6C 00283ACC 7C A4 2B 78 */ mr r4, r5
+/* 80287E70 00283AD0 48 00 00 18 */ b lbl_80287E88
+lbl_80287E74:
+/* 80287E74 00283AD4 88 1E 00 00 */ lbz r0, 0(r30)
+/* 80287E78 00283AD8 38 84 FF FF */ addi r4, r4, -1
+/* 80287E7C 00283ADC 3B DE 00 01 */ addi r30, r30, 1
+/* 80287E80 00283AE0 98 03 00 00 */ stb r0, 0(r3)
+/* 80287E84 00283AE4 38 63 00 01 */ addi r3, r3, 1
+lbl_80287E88:
+/* 80287E88 00283AE8 2C 04 00 00 */ cmpwi r4, 0
+/* 80287E8C 00283AEC 41 82 00 10 */ beq lbl_80287E9C
+/* 80287E90 00283AF0 88 1E 00 00 */ lbz r0, 0(r30)
+/* 80287E94 00283AF4 7C 00 07 75 */ extsb. r0, r0
+/* 80287E98 00283AF8 40 82 FF DC */ bne lbl_80287E74
+lbl_80287E9C:
+/* 80287E9C 00283AFC 7C 04 28 50 */ subf r0, r4, r5
+/* 80287EA0 00283B00 7C 66 02 14 */ add r3, r6, r0
+lbl_80287EA4:
+/* 80287EA4 00283B04 39 61 00 20 */ addi r11, r1, 0x20
+/* 80287EA8 00283B08 4B F3 F2 CD */ bl _restgpr_27
+/* 80287EAC 00283B0C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80287EB0 00283B10 7C 08 03 A6 */ mtlr r0
+/* 80287EB4 00283B14 38 21 00 20 */ addi r1, r1, 0x20
+/* 80287EB8 00283B18 4E 80 00 20 */ blr
+
+.global DVDReadAsyncPrio
+DVDReadAsyncPrio:
+/* 80287EBC 00283B1C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80287EC0 00283B20 7C 08 02 A6 */ mflr r0
+/* 80287EC4 00283B24 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80287EC8 00283B28 39 61 00 20 */ addi r11, r1, 0x20
+/* 80287ECC 00283B2C 4B F3 F2 59 */ bl _savegpr_26
+/* 80287ED0 00283B30 2C 06 00 00 */ cmpwi r6, 0
+/* 80287ED4 00283B34 7C 7A 1B 78 */ mr r26, r3
+/* 80287ED8 00283B38 7C 9B 23 78 */ mr r27, r4
+/* 80287EDC 00283B3C 7C BC 2B 78 */ mr r28, r5
+/* 80287EE0 00283B40 7C DD 33 78 */ mr r29, r6
+/* 80287EE4 00283B44 7C FE 3B 78 */ mr r30, r7
+/* 80287EE8 00283B48 7D 1F 43 78 */ mr r31, r8
+/* 80287EEC 00283B4C 41 80 00 10 */ blt lbl_80287EFC
+/* 80287EF0 00283B50 80 03 00 34 */ lwz r0, 0x34(r3)
+/* 80287EF4 00283B54 7C 06 00 40 */ cmplw r6, r0
+/* 80287EF8 00283B58 40 81 00 1C */ ble lbl_80287F14
+lbl_80287EFC:
+/* 80287EFC 00283B5C 3C A0 80 43 */ lis r5, lbl_80435E68@ha
+/* 80287F00 00283B60 38 6D 88 B0 */ addi r3, r13, lbl_8063DB70-_SDA_BASE_
+/* 80287F04 00283B64 38 A5 5E 68 */ addi r5, r5, lbl_80435E68@l
+/* 80287F08 00283B68 38 80 03 37 */ li r4, 0x337
+/* 80287F0C 00283B6C 4C C6 31 82 */ crclr 6
+/* 80287F10 00283B70 4B FE 35 8D */ bl OSPanic
+lbl_80287F14:
+/* 80287F14 00283B74 7C 9D E2 15 */ add. r4, r29, r28
+/* 80287F18 00283B78 41 80 00 14 */ blt lbl_80287F2C
+/* 80287F1C 00283B7C 80 7A 00 34 */ lwz r3, 0x34(r26)
+/* 80287F20 00283B80 38 03 00 20 */ addi r0, r3, 0x20
+/* 80287F24 00283B84 7C 04 00 40 */ cmplw r4, r0
+/* 80287F28 00283B88 41 80 00 1C */ blt lbl_80287F44
+lbl_80287F2C:
+/* 80287F2C 00283B8C 3C A0 80 43 */ lis r5, lbl_80435E68@ha
+/* 80287F30 00283B90 38 6D 88 B0 */ addi r3, r13, lbl_8063DB70-_SDA_BASE_
+/* 80287F34 00283B94 38 A5 5E 68 */ addi r5, r5, lbl_80435E68@l
+/* 80287F38 00283B98 38 80 03 3D */ li r4, 0x33d
+/* 80287F3C 00283B9C 4C C6 31 82 */ crclr 6
+/* 80287F40 00283BA0 4B FE 35 5D */ bl OSPanic
+lbl_80287F44:
+/* 80287F44 00283BA4 80 DA 00 30 */ lwz r6, 0x30(r26)
+/* 80287F48 00283BA8 7F A0 16 70 */ srawi r0, r29, 2
+/* 80287F4C 00283BAC 3C E0 80 28 */ lis r7, cbForReadAsync@ha
+/* 80287F50 00283BB0 93 DA 00 38 */ stw r30, 0x38(r26)
+/* 80287F54 00283BB4 7F 43 D3 78 */ mr r3, r26
+/* 80287F58 00283BB8 7F 64 DB 78 */ mr r4, r27
+/* 80287F5C 00283BBC 7F 85 E3 78 */ mr r5, r28
+/* 80287F60 00283BC0 7F E8 FB 78 */ mr r8, r31
+/* 80287F64 00283BC4 7C C6 02 14 */ add r6, r6, r0
+/* 80287F68 00283BC8 38 E7 7F 8C */ addi r7, r7, cbForReadAsync@l
+/* 80287F6C 00283BCC 48 00 3C 09 */ bl DVDReadAbsAsyncPrio
+/* 80287F70 00283BD0 39 61 00 20 */ addi r11, r1, 0x20
+/* 80287F74 00283BD4 38 60 00 01 */ li r3, 1
+/* 80287F78 00283BD8 4B F3 F1 F9 */ bl _restgpr_26
+/* 80287F7C 00283BDC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80287F80 00283BE0 7C 08 03 A6 */ mtlr r0
+/* 80287F84 00283BE4 38 21 00 20 */ addi r1, r1, 0x20
+/* 80287F88 00283BE8 4E 80 00 20 */ blr
+
+.global cbForReadAsync
+cbForReadAsync:
+/* 80287F8C 00283BEC 81 84 00 38 */ lwz r12, 0x38(r4)
+/* 80287F90 00283BF0 2C 0C 00 00 */ cmpwi r12, 0
+/* 80287F94 00283BF4 4D 82 00 20 */ beqlr
+/* 80287F98 00283BF8 7D 89 03 A6 */ mtctr r12
+/* 80287F9C 00283BFC 4E 80 04 20 */ bctr
+/* 80287FA0 00283C00 4E 80 00 20 */ blr
+
+.global DVDReadPrio
+DVDReadPrio:
+/* 80287FA4 00283C04 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80287FA8 00283C08 7C 08 02 A6 */ mflr r0
+/* 80287FAC 00283C0C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80287FB0 00283C10 39 61 00 20 */ addi r11, r1, 0x20
+/* 80287FB4 00283C14 4B F3 F1 75 */ bl _savegpr_27
+/* 80287FB8 00283C18 2C 06 00 00 */ cmpwi r6, 0
+/* 80287FBC 00283C1C 7C 7B 1B 78 */ mr r27, r3
+/* 80287FC0 00283C20 7C 9C 23 78 */ mr r28, r4
+/* 80287FC4 00283C24 7C BD 2B 78 */ mr r29, r5
+/* 80287FC8 00283C28 7C DF 33 78 */ mr r31, r6
+/* 80287FCC 00283C2C 7C FE 3B 78 */ mr r30, r7
+/* 80287FD0 00283C30 41 80 00 10 */ blt lbl_80287FE0
+/* 80287FD4 00283C34 80 03 00 34 */ lwz r0, 0x34(r3)
+/* 80287FD8 00283C38 7C 06 00 40 */ cmplw r6, r0
+/* 80287FDC 00283C3C 40 81 00 1C */ ble lbl_80287FF8
+lbl_80287FE0:
+/* 80287FE0 00283C40 3C A0 80 43 */ lis r5, lbl_80435E9C@ha
+/* 80287FE4 00283C44 38 6D 88 B0 */ addi r3, r13, lbl_8063DB70-_SDA_BASE_
+/* 80287FE8 00283C48 38 A5 5E 9C */ addi r5, r5, lbl_80435E9C@l
+/* 80287FEC 00283C4C 38 80 03 7D */ li r4, 0x37d
+/* 80287FF0 00283C50 4C C6 31 82 */ crclr 6
+/* 80287FF4 00283C54 4B FE 34 A9 */ bl OSPanic
+lbl_80287FF8:
+/* 80287FF8 00283C58 7C 9F EA 15 */ add. r4, r31, r29
+/* 80287FFC 00283C5C 41 80 00 14 */ blt lbl_80288010
+/* 80288000 00283C60 80 7B 00 34 */ lwz r3, 0x34(r27)
+/* 80288004 00283C64 38 03 00 20 */ addi r0, r3, 0x20
+/* 80288008 00283C68 7C 04 00 40 */ cmplw r4, r0
+/* 8028800C 00283C6C 41 80 00 1C */ blt lbl_80288028
+lbl_80288010:
+/* 80288010 00283C70 3C A0 80 43 */ lis r5, lbl_80435E9C@ha
+/* 80288014 00283C74 38 6D 88 B0 */ addi r3, r13, lbl_8063DB70-_SDA_BASE_
+/* 80288018 00283C78 38 A5 5E 9C */ addi r5, r5, lbl_80435E9C@l
+/* 8028801C 00283C7C 38 80 03 83 */ li r4, 0x383
+/* 80288020 00283C80 4C C6 31 82 */ crclr 6
+/* 80288024 00283C84 4B FE 34 79 */ bl OSPanic
+lbl_80288028:
+/* 80288028 00283C88 80 DB 00 30 */ lwz r6, 0x30(r27)
+/* 8028802C 00283C8C 7F E0 16 70 */ srawi r0, r31, 2
+/* 80288030 00283C90 3C E0 80 29 */ lis r7, cbForReadSync@ha
+/* 80288034 00283C94 7F 63 DB 78 */ mr r3, r27
+/* 80288038 00283C98 7F 84 E3 78 */ mr r4, r28
+/* 8028803C 00283C9C 7F A5 EB 78 */ mr r5, r29
+/* 80288040 00283CA0 7F C8 F3 78 */ mr r8, r30
+/* 80288044 00283CA4 7C C6 02 14 */ add r6, r6, r0
+/* 80288048 00283CA8 38 E7 80 CC */ addi r7, r7, cbForReadSync@l
+/* 8028804C 00283CAC 48 00 3B 29 */ bl DVDReadAbsAsyncPrio
+/* 80288050 00283CB0 2C 03 00 00 */ cmpwi r3, 0
+/* 80288054 00283CB4 40 82 00 0C */ bne lbl_80288060
+/* 80288058 00283CB8 38 60 FF FF */ li r3, -1
+/* 8028805C 00283CBC 48 00 00 58 */ b lbl_802880B4
+lbl_80288060:
+/* 80288060 00283CC0 4B FE 66 FD */ bl OSDisableInterrupts
+/* 80288064 00283CC4 7C 7F 1B 78 */ mr r31, r3
+lbl_80288068:
+/* 80288068 00283CC8 80 1B 00 0C */ lwz r0, 0xc(r27)
+/* 8028806C 00283CCC 2C 00 00 00 */ cmpwi r0, 0
+/* 80288070 00283CD0 40 82 00 0C */ bne lbl_8028807C
+/* 80288074 00283CD4 83 DB 00 20 */ lwz r30, 0x20(r27)
+/* 80288078 00283CD8 48 00 00 30 */ b lbl_802880A8
+lbl_8028807C:
+/* 8028807C 00283CDC 2C 00 FF FF */ cmpwi r0, -1
+/* 80288080 00283CE0 40 82 00 0C */ bne lbl_8028808C
+/* 80288084 00283CE4 3B C0 FF FF */ li r30, -1
+/* 80288088 00283CE8 48 00 00 20 */ b lbl_802880A8
+lbl_8028808C:
+/* 8028808C 00283CEC 2C 00 00 0A */ cmpwi r0, 0xa
+/* 80288090 00283CF0 40 82 00 0C */ bne lbl_8028809C
+/* 80288094 00283CF4 3B C0 FF FD */ li r30, -3
+/* 80288098 00283CF8 48 00 00 10 */ b lbl_802880A8
+lbl_8028809C:
+/* 8028809C 00283CFC 38 6D A9 F8 */ addi r3, r13, lbl_8063FCB8-_SDA_BASE_
+/* 802880A0 00283D00 4B FE A2 D5 */ bl OSSleepThread
+/* 802880A4 00283D04 4B FF FF C4 */ b lbl_80288068
+lbl_802880A8:
+/* 802880A8 00283D08 7F E3 FB 78 */ mr r3, r31
+/* 802880AC 00283D0C 4B FE 66 D9 */ bl OSRestoreInterrupts
+/* 802880B0 00283D10 7F C3 F3 78 */ mr r3, r30
+lbl_802880B4:
+/* 802880B4 00283D14 39 61 00 20 */ addi r11, r1, 0x20
+/* 802880B8 00283D18 4B F3 F0 BD */ bl _restgpr_27
+/* 802880BC 00283D1C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802880C0 00283D20 7C 08 03 A6 */ mtlr r0
+/* 802880C4 00283D24 38 21 00 20 */ addi r1, r1, 0x20
+/* 802880C8 00283D28 4E 80 00 20 */ blr
+
+.global cbForReadSync
+cbForReadSync:
+/* 802880CC 00283D2C 38 6D A9 F8 */ addi r3, r13, lbl_8063FCB8-_SDA_BASE_
+/* 802880D0 00283D30 4B FE A3 90 */ b OSWakeupThread
+
+.global DVDSeekAsyncPrio
+DVDSeekAsyncPrio:
+/* 802880D4 00283D34 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802880D8 00283D38 7C 08 02 A6 */ mflr r0
+/* 802880DC 00283D3C 2C 04 00 00 */ cmpwi r4, 0
+/* 802880E0 00283D40 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802880E4 00283D44 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802880E8 00283D48 7C DF 33 78 */ mr r31, r6
+/* 802880EC 00283D4C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802880F0 00283D50 7C BE 2B 78 */ mr r30, r5
+/* 802880F4 00283D54 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802880F8 00283D58 7C 9D 23 78 */ mr r29, r4
+/* 802880FC 00283D5C 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80288100 00283D60 7C 7C 1B 78 */ mr r28, r3
+/* 80288104 00283D64 41 80 00 10 */ blt lbl_80288114
+/* 80288108 00283D68 80 03 00 34 */ lwz r0, 0x34(r3)
+/* 8028810C 00283D6C 7C 04 00 40 */ cmplw r4, r0
+/* 80288110 00283D70 40 81 00 1C */ ble lbl_8028812C
+lbl_80288114:
+/* 80288114 00283D74 3C A0 80 43 */ lis r5, lbl_80435ECC@ha
+/* 80288118 00283D78 38 6D 88 B0 */ addi r3, r13, lbl_8063DB70-_SDA_BASE_
+/* 8028811C 00283D7C 38 A5 5E CC */ addi r5, r5, lbl_80435ECC@l
+/* 80288120 00283D80 38 80 03 D4 */ li r4, 0x3d4
+/* 80288124 00283D84 4C C6 31 82 */ crclr 6
+/* 80288128 00283D88 4B FE 33 75 */ bl OSPanic
+lbl_8028812C:
+/* 8028812C 00283D8C 80 9C 00 30 */ lwz r4, 0x30(r28)
+/* 80288130 00283D90 7F A0 16 70 */ srawi r0, r29, 2
+/* 80288134 00283D94 3C A0 80 29 */ lis r5, cbForSeekAsync@ha
+/* 80288138 00283D98 93 DC 00 38 */ stw r30, 0x38(r28)
+/* 8028813C 00283D9C 7F 83 E3 78 */ mr r3, r28
+/* 80288140 00283DA0 7F E6 FB 78 */ mr r6, r31
+/* 80288144 00283DA4 7C 84 02 14 */ add r4, r4, r0
+/* 80288148 00283DA8 38 A5 81 74 */ addi r5, r5, cbForSeekAsync@l
+/* 8028814C 00283DAC 48 00 3B 0D */ bl DVDSeekAbsAsyncPrio
+/* 80288150 00283DB0 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80288154 00283DB4 38 60 00 01 */ li r3, 1
+/* 80288158 00283DB8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8028815C 00283DBC 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80288160 00283DC0 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 80288164 00283DC4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80288168 00283DC8 7C 08 03 A6 */ mtlr r0
+/* 8028816C 00283DCC 38 21 00 20 */ addi r1, r1, 0x20
+/* 80288170 00283DD0 4E 80 00 20 */ blr
+
+.global cbForSeekAsync
+cbForSeekAsync:
+/* 80288174 00283DD4 81 84 00 38 */ lwz r12, 0x38(r4)
+/* 80288178 00283DD8 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028817C 00283DDC 4D 82 00 20 */ beqlr
+/* 80288180 00283DE0 7D 89 03 A6 */ mtctr r12
+/* 80288184 00283DE4 4E 80 04 20 */ bctr
+/* 80288188 00283DE8 4E 80 00 20 */ blr
diff --git a/asm/SDK/DVD/dvdidutils.s b/asm/SDK/DVD/dvdidutils.s
new file mode 100644
index 0000000..c73d605
--- /dev/null
+++ b/asm/SDK/DVD/dvdidutils.s
@@ -0,0 +1,72 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global DVDCompareDiskID
+DVDCompareDiskID:
+/* 8028CEEC 00288B4C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028CEF0 00288B50 7C 08 02 A6 */ mflr r0
+/* 8028CEF4 00288B54 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028CEF8 00288B58 88 03 00 00 */ lbz r0, 0(r3)
+/* 8028CEFC 00288B5C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028CF00 00288B60 7C 9F 23 78 */ mr r31, r4
+/* 8028CF04 00288B64 7C 00 07 75 */ extsb. r0, r0
+/* 8028CF08 00288B68 93 C1 00 08 */ stw r30, 8(r1)
+/* 8028CF0C 00288B6C 7C 7E 1B 78 */ mr r30, r3
+/* 8028CF10 00288B70 41 82 00 28 */ beq lbl_8028CF38
+/* 8028CF14 00288B74 88 04 00 00 */ lbz r0, 0(r4)
+/* 8028CF18 00288B78 7C 00 07 75 */ extsb. r0, r0
+/* 8028CF1C 00288B7C 41 82 00 1C */ beq lbl_8028CF38
+/* 8028CF20 00288B80 38 A0 00 04 */ li r5, 4
+/* 8028CF24 00288B84 4B F4 16 45 */ bl strncmp
+/* 8028CF28 00288B88 2C 03 00 00 */ cmpwi r3, 0
+/* 8028CF2C 00288B8C 41 82 00 0C */ beq lbl_8028CF38
+/* 8028CF30 00288B90 38 60 00 00 */ li r3, 0
+/* 8028CF34 00288B94 48 00 00 90 */ b lbl_8028CFC4
+lbl_8028CF38:
+/* 8028CF38 00288B98 88 1E 00 04 */ lbz r0, 4(r30)
+/* 8028CF3C 00288B9C 7C 00 07 75 */ extsb. r0, r0
+/* 8028CF40 00288BA0 41 82 00 28 */ beq lbl_8028CF68
+/* 8028CF44 00288BA4 88 1F 00 04 */ lbz r0, 4(r31)
+/* 8028CF48 00288BA8 7C 00 07 75 */ extsb. r0, r0
+/* 8028CF4C 00288BAC 41 82 00 1C */ beq lbl_8028CF68
+/* 8028CF50 00288BB0 38 7E 00 04 */ addi r3, r30, 4
+/* 8028CF54 00288BB4 38 9F 00 04 */ addi r4, r31, 4
+/* 8028CF58 00288BB8 38 A0 00 02 */ li r5, 2
+/* 8028CF5C 00288BBC 4B F4 16 0D */ bl strncmp
+/* 8028CF60 00288BC0 2C 03 00 00 */ cmpwi r3, 0
+/* 8028CF64 00288BC4 41 82 00 0C */ beq lbl_8028CF70
+lbl_8028CF68:
+/* 8028CF68 00288BC8 38 60 00 00 */ li r3, 0
+/* 8028CF6C 00288BCC 48 00 00 58 */ b lbl_8028CFC4
+lbl_8028CF70:
+/* 8028CF70 00288BD0 88 7E 00 06 */ lbz r3, 6(r30)
+/* 8028CF74 00288BD4 28 03 00 FF */ cmplwi r3, 0xff
+/* 8028CF78 00288BD8 41 82 00 20 */ beq lbl_8028CF98
+/* 8028CF7C 00288BDC 88 1F 00 06 */ lbz r0, 6(r31)
+/* 8028CF80 00288BE0 28 00 00 FF */ cmplwi r0, 0xff
+/* 8028CF84 00288BE4 41 82 00 14 */ beq lbl_8028CF98
+/* 8028CF88 00288BE8 7C 03 00 40 */ cmplw r3, r0
+/* 8028CF8C 00288BEC 41 82 00 0C */ beq lbl_8028CF98
+/* 8028CF90 00288BF0 38 60 00 00 */ li r3, 0
+/* 8028CF94 00288BF4 48 00 00 30 */ b lbl_8028CFC4
+lbl_8028CF98:
+/* 8028CF98 00288BF8 88 7E 00 07 */ lbz r3, 7(r30)
+/* 8028CF9C 00288BFC 28 03 00 FF */ cmplwi r3, 0xff
+/* 8028CFA0 00288C00 41 82 00 20 */ beq lbl_8028CFC0
+/* 8028CFA4 00288C04 88 1F 00 07 */ lbz r0, 7(r31)
+/* 8028CFA8 00288C08 28 00 00 FF */ cmplwi r0, 0xff
+/* 8028CFAC 00288C0C 41 82 00 14 */ beq lbl_8028CFC0
+/* 8028CFB0 00288C10 7C 03 00 40 */ cmplw r3, r0
+/* 8028CFB4 00288C14 41 82 00 0C */ beq lbl_8028CFC0
+/* 8028CFB8 00288C18 38 60 00 00 */ li r3, 0
+/* 8028CFBC 00288C1C 48 00 00 08 */ b lbl_8028CFC4
+lbl_8028CFC0:
+/* 8028CFC0 00288C20 38 60 00 01 */ li r3, 1
+lbl_8028CFC4:
+/* 8028CFC4 00288C24 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028CFC8 00288C28 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028CFCC 00288C2C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8028CFD0 00288C30 7C 08 03 A6 */ mtlr r0
+/* 8028CFD4 00288C34 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028CFD8 00288C38 4E 80 00 20 */ blr
diff --git a/asm/SDK/DVD/dvdqueue.s b/asm/SDK/DVD/dvdqueue.s
new file mode 100644
index 0000000..5dac7d5
--- /dev/null
+++ b/asm/SDK/DVD/dvdqueue.s
@@ -0,0 +1,183 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __DVDClearWaitingQueue
+__DVDClearWaitingQueue:
+/* 8028C98C 002885EC 3C C0 80 52 */ lis r6, lbl_8051B550@ha
+/* 8028C990 002885F0 38 C6 B5 50 */ addi r6, r6, lbl_8051B550@l
+/* 8028C994 002885F4 38 A6 00 08 */ addi r5, r6, 8
+/* 8028C998 002885F8 90 C6 00 00 */ stw r6, 0(r6)
+/* 8028C99C 002885FC 38 86 00 10 */ addi r4, r6, 0x10
+/* 8028C9A0 00288600 38 66 00 18 */ addi r3, r6, 0x18
+/* 8028C9A4 00288604 90 C6 00 04 */ stw r6, 4(r6)
+/* 8028C9A8 00288608 90 A6 00 08 */ stw r5, 8(r6)
+/* 8028C9AC 0028860C 90 A6 00 0C */ stw r5, 0xc(r6)
+/* 8028C9B0 00288610 90 86 00 10 */ stw r4, 0x10(r6)
+/* 8028C9B4 00288614 90 86 00 14 */ stw r4, 0x14(r6)
+/* 8028C9B8 00288618 90 66 00 18 */ stw r3, 0x18(r6)
+/* 8028C9BC 0028861C 90 66 00 1C */ stw r3, 0x1c(r6)
+/* 8028C9C0 00288620 4E 80 00 20 */ blr
+
+.global __DVDPushWaitingQueue
+__DVDPushWaitingQueue:
+/* 8028C9C4 00288624 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028C9C8 00288628 7C 08 02 A6 */ mflr r0
+/* 8028C9CC 0028862C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028C9D0 00288630 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028C9D4 00288634 7C 9F 23 78 */ mr r31, r4
+/* 8028C9D8 00288638 93 C1 00 08 */ stw r30, 8(r1)
+/* 8028C9DC 0028863C 7C 7E 1B 78 */ mr r30, r3
+/* 8028C9E0 00288640 4B FE 1D 7D */ bl OSDisableInterrupts
+/* 8028C9E4 00288644 3C 80 80 52 */ lis r4, lbl_8051B550@ha
+/* 8028C9E8 00288648 57 C0 18 38 */ slwi r0, r30, 3
+/* 8028C9EC 0028864C 38 84 B5 50 */ addi r4, r4, lbl_8051B550@l
+/* 8028C9F0 00288650 7C A4 02 14 */ add r5, r4, r0
+/* 8028C9F4 00288654 80 85 00 04 */ lwz r4, 4(r5)
+/* 8028C9F8 00288658 93 E4 00 00 */ stw r31, 0(r4)
+/* 8028C9FC 0028865C 80 05 00 04 */ lwz r0, 4(r5)
+/* 8028CA00 00288660 90 1F 00 04 */ stw r0, 4(r31)
+/* 8028CA04 00288664 90 BF 00 00 */ stw r5, 0(r31)
+/* 8028CA08 00288668 93 E5 00 04 */ stw r31, 4(r5)
+/* 8028CA0C 0028866C 4B FE 1D 79 */ bl OSRestoreInterrupts
+/* 8028CA10 00288670 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028CA14 00288674 38 60 00 01 */ li r3, 1
+/* 8028CA18 00288678 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8028CA1C 0028867C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028CA20 00288680 7C 08 03 A6 */ mtlr r0
+/* 8028CA24 00288684 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028CA28 00288688 4E 80 00 20 */ blr
+
+.global __DVDPopWaitingQueue
+__DVDPopWaitingQueue:
+/* 8028CA2C 0028868C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028CA30 00288690 7C 08 02 A6 */ mflr r0
+/* 8028CA34 00288694 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028CA38 00288698 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028CA3C 0028869C 4B FE 1D 21 */ bl OSDisableInterrupts
+/* 8028CA40 002886A0 3C 80 80 52 */ lis r4, lbl_8051B550@ha
+/* 8028CA44 002886A4 38 00 00 04 */ li r0, 4
+/* 8028CA48 002886A8 3B E0 00 00 */ li r31, 0
+/* 8028CA4C 002886AC 38 84 B5 50 */ addi r4, r4, lbl_8051B550@l
+/* 8028CA50 002886B0 7C 09 03 A6 */ mtctr r0
+lbl_8028CA54:
+/* 8028CA54 002886B4 80 04 00 00 */ lwz r0, 0(r4)
+/* 8028CA58 002886B8 7C 00 20 40 */ cmplw r0, r4
+/* 8028CA5C 002886BC 41 82 00 48 */ beq lbl_8028CAA4
+/* 8028CA60 002886C0 4B FE 1D 25 */ bl OSRestoreInterrupts
+/* 8028CA64 002886C4 4B FE 1C F9 */ bl OSDisableInterrupts
+/* 8028CA68 002886C8 3C 80 80 52 */ lis r4, lbl_8051B550@ha
+/* 8028CA6C 002886CC 57 E0 18 38 */ slwi r0, r31, 3
+/* 8028CA70 002886D0 38 84 B5 50 */ addi r4, r4, lbl_8051B550@l
+/* 8028CA74 002886D4 7F E4 00 2E */ lwzx r31, r4, r0
+/* 8028CA78 002886D8 7C A4 02 14 */ add r5, r4, r0
+/* 8028CA7C 002886DC 80 1F 00 00 */ lwz r0, 0(r31)
+/* 8028CA80 002886E0 90 05 00 00 */ stw r0, 0(r5)
+/* 8028CA84 002886E4 80 9F 00 00 */ lwz r4, 0(r31)
+/* 8028CA88 002886E8 90 A4 00 04 */ stw r5, 4(r4)
+/* 8028CA8C 002886EC 4B FE 1C F9 */ bl OSRestoreInterrupts
+/* 8028CA90 002886F0 38 00 00 00 */ li r0, 0
+/* 8028CA94 002886F4 7F E3 FB 78 */ mr r3, r31
+/* 8028CA98 002886F8 90 1F 00 00 */ stw r0, 0(r31)
+/* 8028CA9C 002886FC 90 1F 00 04 */ stw r0, 4(r31)
+/* 8028CAA0 00288700 48 00 00 18 */ b lbl_8028CAB8
+lbl_8028CAA4:
+/* 8028CAA4 00288704 38 84 00 08 */ addi r4, r4, 8
+/* 8028CAA8 00288708 3B FF 00 01 */ addi r31, r31, 1
+/* 8028CAAC 0028870C 42 00 FF A8 */ bdnz lbl_8028CA54
+/* 8028CAB0 00288710 4B FE 1C D5 */ bl OSRestoreInterrupts
+/* 8028CAB4 00288714 38 60 00 00 */ li r3, 0
+lbl_8028CAB8:
+/* 8028CAB8 00288718 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028CABC 0028871C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028CAC0 00288720 7C 08 03 A6 */ mtlr r0
+/* 8028CAC4 00288724 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028CAC8 00288728 4E 80 00 20 */ blr
+
+.global __DVDCheckWaitingQueue
+__DVDCheckWaitingQueue:
+/* 8028CACC 0028872C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028CAD0 00288730 7C 08 02 A6 */ mflr r0
+/* 8028CAD4 00288734 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028CAD8 00288738 4B FE 1C 85 */ bl OSDisableInterrupts
+/* 8028CADC 0028873C 3C 80 80 52 */ lis r4, lbl_8051B550@ha
+/* 8028CAE0 00288740 38 00 00 04 */ li r0, 4
+/* 8028CAE4 00288744 38 84 B5 50 */ addi r4, r4, lbl_8051B550@l
+/* 8028CAE8 00288748 7C 09 03 A6 */ mtctr r0
+lbl_8028CAEC:
+/* 8028CAEC 0028874C 80 04 00 00 */ lwz r0, 0(r4)
+/* 8028CAF0 00288750 7C 00 20 40 */ cmplw r0, r4
+/* 8028CAF4 00288754 41 82 00 10 */ beq lbl_8028CB04
+/* 8028CAF8 00288758 4B FE 1C 8D */ bl OSRestoreInterrupts
+/* 8028CAFC 0028875C 38 60 00 01 */ li r3, 1
+/* 8028CB00 00288760 48 00 00 14 */ b lbl_8028CB14
+lbl_8028CB04:
+/* 8028CB04 00288764 38 84 00 08 */ addi r4, r4, 8
+/* 8028CB08 00288768 42 00 FF E4 */ bdnz lbl_8028CAEC
+/* 8028CB0C 0028876C 4B FE 1C 79 */ bl OSRestoreInterrupts
+/* 8028CB10 00288770 38 60 00 00 */ li r3, 0
+lbl_8028CB14:
+/* 8028CB14 00288774 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028CB18 00288778 7C 08 03 A6 */ mtlr r0
+/* 8028CB1C 0028877C 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028CB20 00288780 4E 80 00 20 */ blr
+
+.global __DVDGetNextWaitingQueue
+__DVDGetNextWaitingQueue:
+/* 8028CB24 00288784 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028CB28 00288788 7C 08 02 A6 */ mflr r0
+/* 8028CB2C 0028878C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028CB30 00288790 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028CB34 00288794 4B FE 1C 29 */ bl OSDisableInterrupts
+/* 8028CB38 00288798 3C 80 80 52 */ lis r4, lbl_8051B550@ha
+/* 8028CB3C 0028879C 38 00 00 04 */ li r0, 4
+/* 8028CB40 002887A0 38 84 B5 50 */ addi r4, r4, lbl_8051B550@l
+/* 8028CB44 002887A4 7C 09 03 A6 */ mtctr r0
+lbl_8028CB48:
+/* 8028CB48 002887A8 83 E4 00 00 */ lwz r31, 0(r4)
+/* 8028CB4C 002887AC 7C 1F 20 40 */ cmplw r31, r4
+/* 8028CB50 002887B0 41 82 00 10 */ beq lbl_8028CB60
+/* 8028CB54 002887B4 4B FE 1C 31 */ bl OSRestoreInterrupts
+/* 8028CB58 002887B8 7F E3 FB 78 */ mr r3, r31
+/* 8028CB5C 002887BC 48 00 00 14 */ b lbl_8028CB70
+lbl_8028CB60:
+/* 8028CB60 002887C0 38 84 00 08 */ addi r4, r4, 8
+/* 8028CB64 002887C4 42 00 FF E4 */ bdnz lbl_8028CB48
+/* 8028CB68 002887C8 4B FE 1C 1D */ bl OSRestoreInterrupts
+/* 8028CB6C 002887CC 38 60 00 00 */ li r3, 0
+lbl_8028CB70:
+/* 8028CB70 002887D0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028CB74 002887D4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028CB78 002887D8 7C 08 03 A6 */ mtlr r0
+/* 8028CB7C 002887DC 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028CB80 002887E0 4E 80 00 20 */ blr
+
+.global __DVDDequeueWaitingQueue
+__DVDDequeueWaitingQueue:
+/* 8028CB84 002887E4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8028CB88 002887E8 7C 08 02 A6 */ mflr r0
+/* 8028CB8C 002887EC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8028CB90 002887F0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8028CB94 002887F4 7C 7F 1B 78 */ mr r31, r3
+/* 8028CB98 002887F8 4B FE 1B C5 */ bl OSDisableInterrupts
+/* 8028CB9C 002887FC 80 9F 00 04 */ lwz r4, 4(r31)
+/* 8028CBA0 00288800 80 BF 00 00 */ lwz r5, 0(r31)
+/* 8028CBA4 00288804 2C 04 00 00 */ cmpwi r4, 0
+/* 8028CBA8 00288808 41 82 00 0C */ beq lbl_8028CBB4
+/* 8028CBAC 0028880C 2C 05 00 00 */ cmpwi r5, 0
+/* 8028CBB0 00288810 40 82 00 10 */ bne lbl_8028CBC0
+lbl_8028CBB4:
+/* 8028CBB4 00288814 4B FE 1B D1 */ bl OSRestoreInterrupts
+/* 8028CBB8 00288818 38 60 00 00 */ li r3, 0
+/* 8028CBBC 0028881C 48 00 00 14 */ b lbl_8028CBD0
+lbl_8028CBC0:
+/* 8028CBC0 00288820 90 A4 00 00 */ stw r5, 0(r4)
+/* 8028CBC4 00288824 90 85 00 04 */ stw r4, 4(r5)
+/* 8028CBC8 00288828 4B FE 1B BD */ bl OSRestoreInterrupts
+/* 8028CBCC 0028882C 38 60 00 01 */ li r3, 1
+lbl_8028CBD0:
+/* 8028CBD0 00288830 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8028CBD4 00288834 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8028CBD8 00288838 7C 08 03 A6 */ mtlr r0
+/* 8028CBDC 0028883C 38 21 00 10 */ addi r1, r1, 0x10
+/* 8028CBE0 00288840 4E 80 00 20 */ blr
diff --git a/asm/SDK/OS/OS.s b/asm/SDK/OS/OS.s
index 859182a..2a71753 100644
--- a/asm/SDK/OS/OS.s
+++ b/asm/SDK/OS/OS.s
@@ -1014,7 +1014,7 @@ lbl_80269178:
/* 80269190 00264DF0 4C C6 31 82 */ crclr 6
/* 80269194 00264DF4 48 00 23 09 */ bl OSPanic
lbl_80269198:
-/* 80269198 00264DF8 48 01 F0 AD */ bl func_80288244
+/* 80269198 00264DF8 48 01 F0 AD */ bl DVDInit
/* 8026919C 00264DFC 80 0D A7 70 */ lwz r0, lbl_8063FA30-_SDA_BASE_(r13)
/* 802691A0 00264E00 2C 00 00 00 */ cmpwi r0, 0
/* 802691A4 00264E04 41 82 00 18 */ beq lbl_802691BC
@@ -1035,7 +1035,7 @@ lbl_802691BC:
/* 802691DC 00264E3C 38 7E 00 40 */ addi r3, r30, 0x40
/* 802691E0 00264E40 38 9E 00 20 */ addi r4, r30, 0x20
/* 802691E4 00264E44 38 A5 8B 5C */ addi r5, r5, InquiryCallback@l
-/* 802691E8 00264E48 48 02 2B 45 */ bl func_8028BD2C
+/* 802691E8 00264E48 48 02 2B 45 */ bl DVDInquiryAsync
lbl_802691EC:
/* 802691EC 00264E4C 80 0D A7 68 */ lwz r0, lbl_8063FA28-_SDA_BASE_(r13)
/* 802691F0 00264E50 2C 00 00 00 */ cmpwi r0, 0
diff --git a/asm/SDK/OS/OSAlarm.s b/asm/SDK/OS/OSAlarm.s
index 83e87eb..4613ebb 100644
--- a/asm/SDK/OS/OSAlarm.s
+++ b/asm/SDK/OS/OSAlarm.s
@@ -545,7 +545,7 @@ lbl_80269E44:
/* 80269E48 00265AA8 48 00 00 34 */ b lbl_80269E7C
lbl_80269E4C:
/* 80269E4C 00265AAC 7F E3 FB 78 */ mr r3, r31
-/* 80269E50 00265AB0 48 02 2B 11 */ bl func_8028C960
+/* 80269E50 00265AB0 48 02 2B 11 */ bl __DVDTestAlarm
/* 80269E54 00265AB4 2C 03 00 00 */ cmpwi r3, 0
/* 80269E58 00265AB8 40 82 00 0C */ bne lbl_80269E64
/* 80269E5C 00265ABC 7F E3 FB 78 */ mr r3, r31
diff --git a/asm/SDK/OS/OSExec.s b/asm/SDK/OS/OSExec.s
index 99c52da..086dde2 100644
--- a/asm/SDK/OS/OSExec.s
+++ b/asm/SDK/OS/OSExec.s
@@ -178,7 +178,7 @@ __OSReLaunchFirmware:
/* 8026BD8C 002679EC 98 A1 00 0A */ stb r5, 0xa(r1)
/* 8026BD90 002679F0 98 81 00 0B */ stb r4, 0xb(r1)
/* 8026BD94 002679F4 90 0D A7 CC */ stw r0, lbl_8063FA8C-_SDA_BASE_(r13)
-/* 8026BD98 002679F8 48 02 1B 49 */ bl func_8028D8E0
+/* 8026BD98 002679F8 48 02 1B 49 */ bl DVDLowClosePartition
lbl_8026BD9C:
/* 8026BD9C 002679FC 80 0D A7 CC */ lwz r0, lbl_8063FA8C-_SDA_BASE_(r13)
/* 8026BDA0 00267A00 2C 00 00 00 */ cmpwi r0, 0
@@ -201,7 +201,7 @@ lbl_8026BDCC:
/* 8026BDE0 00267A40 3C A0 00 01 */ lis r5, 1
/* 8026BDE4 00267A44 90 0D A7 CC */ stw r0, lbl_8063FA8C-_SDA_BASE_(r13)
/* 8026BDE8 00267A48 38 C6 BD 2C */ addi r6, r6, callback@l
-/* 8026BDEC 00267A4C 48 02 1C 59 */ bl func_8028DA44
+/* 8026BDEC 00267A4C 48 02 1C 59 */ bl DVDLowUnencryptedRead
lbl_8026BDF0:
/* 8026BDF0 00267A50 80 0D A7 CC */ lwz r0, lbl_8063FA8C-_SDA_BASE_(r13)
/* 8026BDF4 00267A54 2C 00 00 00 */ cmpwi r0, 0
@@ -225,7 +225,7 @@ lbl_8026BE20:
/* 8026BE38 00267A98 90 0D A7 CC */ stw r0, lbl_8063FA8C-_SDA_BASE_(r13)
/* 8026BE3C 00267A9C 38 80 00 20 */ li r4, 0x20
/* 8026BE40 00267AA0 80 A5 00 04 */ lwz r5, 4(r5)
-/* 8026BE44 00267AA4 48 02 1C 01 */ bl func_8028DA44
+/* 8026BE44 00267AA4 48 02 1C 01 */ bl DVDLowUnencryptedRead
lbl_8026BE48:
/* 8026BE48 00267AA8 80 0D A7 CC */ lwz r0, lbl_8063FA8C-_SDA_BASE_(r13)
/* 8026BE4C 00267AAC 2C 00 00 00 */ cmpwi r0, 0
@@ -270,7 +270,7 @@ lbl_8026BEB0:
/* 8026BED8 00267B38 80 63 00 00 */ lwz r3, 0(r3)
/* 8026BEDC 00267B3C 38 A0 00 00 */ li r5, 0
/* 8026BEE0 00267B40 38 C0 00 00 */ li r6, 0
-/* 8026BEE4 00267B44 48 02 17 95 */ bl func_8028D678
+/* 8026BEE4 00267B44 48 02 17 95 */ bl DVDLowOpenPartition
lbl_8026BEE8:
/* 8026BEE8 00267B48 80 0D A7 CC */ lwz r0, lbl_8063FA8C-_SDA_BASE_(r13)
/* 8026BEEC 00267B4C 2C 00 00 00 */ cmpwi r0, 0
@@ -289,7 +289,7 @@ lbl_8026BF18:
/* 8026BF1C 00267B7C 3C 60 80 27 */ lis r3, callback@ha
/* 8026BF20 00267B80 90 0D A7 CC */ stw r0, lbl_8063FA8C-_SDA_BASE_(r13)
/* 8026BF24 00267B84 38 63 BD 2C */ addi r3, r3, callback@l
-/* 8026BF28 00267B88 48 02 19 B9 */ bl func_8028D8E0
+/* 8026BF28 00267B88 48 02 19 B9 */ bl DVDLowClosePartition
lbl_8026BF2C:
/* 8026BF2C 00267B8C 80 0D A7 CC */ lwz r0, lbl_8063FA8C-_SDA_BASE_(r13)
/* 8026BF30 00267B90 2C 00 00 00 */ cmpwi r0, 0
@@ -383,13 +383,13 @@ lbl_8026C05C:
/* 8026C074 00267CD4 38 00 FF FF */ li r0, -1
/* 8026C078 00267CD8 90 01 00 0C */ stw r0, 0xc(r1)
lbl_8026C07C:
-/* 8026C07C 00267CDC 48 02 12 11 */ bl func_8028D28C
+/* 8026C07C 00267CDC 48 02 12 11 */ bl DVDLowInit
/* 8026C080 00267CE0 38 00 00 00 */ li r0, 0
/* 8026C084 00267CE4 3C 80 80 27 */ lis r4, callback@ha
/* 8026C088 00267CE8 90 0D A7 CC */ stw r0, lbl_8063FA8C-_SDA_BASE_(r13)
/* 8026C08C 00267CEC 38 7F 07 40 */ addi r3, r31, 0x740
/* 8026C090 00267CF0 38 84 BD 2C */ addi r4, r4, callback@l
-/* 8026C094 00267CF4 48 02 14 5D */ bl func_8028D4F0
+/* 8026C094 00267CF4 48 02 14 5D */ bl DVDLowReadDiskID
lbl_8026C098:
/* 8026C098 00267CF8 80 0D A7 CC */ lwz r0, lbl_8063FA8C-_SDA_BASE_(r13)
/* 8026C09C 00267CFC 2C 00 00 00 */ cmpwi r0, 0
@@ -412,7 +412,7 @@ lbl_8026C0C8:
/* 8026C0DC 00267D3C 3C A0 00 01 */ lis r5, 1
/* 8026C0E0 00267D40 90 0D A7 CC */ stw r0, lbl_8063FA8C-_SDA_BASE_(r13)
/* 8026C0E4 00267D44 38 C6 BD 2C */ addi r6, r6, callback@l
-/* 8026C0E8 00267D48 48 02 19 5D */ bl func_8028DA44
+/* 8026C0E8 00267D48 48 02 19 5D */ bl DVDLowUnencryptedRead
lbl_8026C0EC:
/* 8026C0EC 00267D4C 80 0D A7 CC */ lwz r0, lbl_8063FA8C-_SDA_BASE_(r13)
/* 8026C0F0 00267D50 2C 00 00 00 */ cmpwi r0, 0
@@ -436,7 +436,7 @@ lbl_8026C11C:
/* 8026C134 00267D94 90 0D A7 CC */ stw r0, lbl_8063FA8C-_SDA_BASE_(r13)
/* 8026C138 00267D98 38 80 00 20 */ li r4, 0x20
/* 8026C13C 00267D9C 80 A5 00 04 */ lwz r5, 4(r5)
-/* 8026C140 00267DA0 48 02 19 05 */ bl func_8028DA44
+/* 8026C140 00267DA0 48 02 19 05 */ bl DVDLowUnencryptedRead
lbl_8026C144:
/* 8026C144 00267DA4 80 0D A7 CC */ lwz r0, lbl_8063FA8C-_SDA_BASE_(r13)
/* 8026C148 00267DA8 2C 00 00 00 */ cmpwi r0, 0
@@ -481,7 +481,7 @@ lbl_8026C1AC:
/* 8026C1D4 00267E34 80 63 00 00 */ lwz r3, 0(r3)
/* 8026C1D8 00267E38 38 A0 00 00 */ li r5, 0
/* 8026C1DC 00267E3C 38 C0 00 00 */ li r6, 0
-/* 8026C1E0 00267E40 48 02 14 99 */ bl func_8028D678
+/* 8026C1E0 00267E40 48 02 14 99 */ bl DVDLowOpenPartition
lbl_8026C1E4:
/* 8026C1E4 00267E44 80 0D A7 CC */ lwz r0, lbl_8063FA8C-_SDA_BASE_(r13)
/* 8026C1E8 00267E48 2C 00 00 00 */ cmpwi r0, 0
@@ -701,15 +701,15 @@ __OSBootDolSimple:
/* 8026C4EC 0026814C 7F 45 D3 78 */ mr r5, r26
/* 8026C4F0 00268150 4B FF F6 51 */ bl PackArgs
lbl_8026C4F4:
-/* 8026C4F4 00268154 48 01 BD 51 */ bl func_80288244
+/* 8026C4F4 00268154 48 01 BD 51 */ bl DVDInit
/* 8026C4F8 00268158 38 60 00 01 */ li r3, 1
-/* 8026C4FC 0026815C 48 01 FA 6D */ bl func_8028BF68
-/* 8026C500 00268160 48 01 FA 79 */ bl func_8028BF78
+/* 8026C4FC 0026815C 48 01 FA 6D */ bl DVDSetAutoInvalidation
+/* 8026C500 00268160 48 01 FA 79 */ bl DVDResume
/* 8026C504 00268164 38 00 00 00 */ li r0, 0
/* 8026C508 00268168 3C 60 80 27 */ lis r3, Callback@ha
/* 8026C50C 0026816C 90 0D A7 E4 */ stw r0, lbl_8063FAA4-_SDA_BASE_(r13)
/* 8026C510 00268170 38 63 BC FC */ addi r3, r3, Callback@l
-/* 8026C514 00268174 48 02 01 F1 */ bl func_8028C704
+/* 8026C514 00268174 48 02 01 F1 */ bl __DVDPrepareResetAsync
/* 8026C518 00268178 38 60 FF F0 */ li r3, -16
/* 8026C51C 0026817C 48 00 25 D1 */ bl __OSMaskInterrupts
/* 8026C520 00268180 38 60 00 10 */ li r3, 0x10
@@ -744,22 +744,22 @@ lbl_8026C55C:
/* 8026C58C 002681EC 7C 06 16 70 */ srawi r6, r0, 2
/* 8026C590 002681F0 38 E0 00 00 */ li r7, 0
/* 8026C594 002681F4 39 00 00 00 */ li r8, 0
-/* 8026C598 002681F8 48 01 F5 DD */ bl func_8028BB74
+/* 8026C598 002681F8 48 01 F5 DD */ bl DVDReadAbsAsyncPrio
/* 8026C59C 002681FC 48 00 00 28 */ b lbl_8026C5C4
lbl_8026C5A0:
/* 8026C5A0 00268200 38 61 00 E0 */ addi r3, r1, 0xe0
-/* 8026C5A4 00268204 48 01 F8 61 */ bl func_8028BE04
+/* 8026C5A4 00268204 48 01 F8 61 */ bl DVDGetCommandBlockStatus
/* 8026C5A8 00268208 2C 03 00 02 */ cmpwi r3, 2
/* 8026C5AC 0026820C 41 81 00 14 */ bgt lbl_8026C5C0
/* 8026C5B0 00268210 38 61 00 E0 */ addi r3, r1, 0xe0
-/* 8026C5B4 00268214 48 01 F8 51 */ bl func_8028BE04
+/* 8026C5B4 00268214 48 01 F8 51 */ bl DVDGetCommandBlockStatus
/* 8026C5B8 00268218 2C 03 00 00 */ cmpwi r3, 0
/* 8026C5BC 0026821C 40 80 00 08 */ bge lbl_8026C5C4
lbl_8026C5C0:
/* 8026C5C0 00268220 48 00 3D 65 */ bl __OSReturnToMenuForError
lbl_8026C5C4:
/* 8026C5C4 00268224 38 61 00 E0 */ addi r3, r1, 0xe0
-/* 8026C5C8 00268228 48 01 F8 3D */ bl func_8028BE04
+/* 8026C5C8 00268228 48 01 F8 3D */ bl DVDGetCommandBlockStatus
/* 8026C5CC 0026822C 2C 03 00 00 */ cmpwi r3, 0
/* 8026C5D0 00268230 40 82 FF D0 */ bne lbl_8026C5A0
/* 8026C5D4 00268234 3C 60 80 00 */ lis r3, 0x800030F4@ha
@@ -778,22 +778,22 @@ lbl_8026C5F8:
/* 8026C600 00268260 38 A0 00 20 */ li r5, 0x20
/* 8026C604 00268264 38 E0 00 00 */ li r7, 0
/* 8026C608 00268268 39 00 00 00 */ li r8, 0
-/* 8026C60C 0026826C 48 01 F5 69 */ bl func_8028BB74
+/* 8026C60C 0026826C 48 01 F5 69 */ bl DVDReadAbsAsyncPrio
/* 8026C610 00268270 48 00 00 28 */ b lbl_8026C638
lbl_8026C614:
/* 8026C614 00268274 38 61 01 10 */ addi r3, r1, 0x110
-/* 8026C618 00268278 48 01 F7 ED */ bl func_8028BE04
+/* 8026C618 00268278 48 01 F7 ED */ bl DVDGetCommandBlockStatus
/* 8026C61C 0026827C 2C 03 00 02 */ cmpwi r3, 2
/* 8026C620 00268280 41 81 00 14 */ bgt lbl_8026C634
/* 8026C624 00268284 38 61 01 10 */ addi r3, r1, 0x110
-/* 8026C628 00268288 48 01 F7 DD */ bl func_8028BE04
+/* 8026C628 00268288 48 01 F7 DD */ bl DVDGetCommandBlockStatus
/* 8026C62C 0026828C 2C 03 00 00 */ cmpwi r3, 0
/* 8026C630 00268290 40 80 00 08 */ bge lbl_8026C638
lbl_8026C634:
/* 8026C634 00268294 48 00 3C F1 */ bl __OSReturnToMenuForError
lbl_8026C638:
/* 8026C638 00268298 38 61 01 10 */ addi r3, r1, 0x110
-/* 8026C63C 0026829C 48 01 F7 C9 */ bl func_8028BE04
+/* 8026C63C 0026829C 48 01 F7 C9 */ bl DVDGetCommandBlockStatus
/* 8026C640 002682A0 2C 03 00 00 */ cmpwi r3, 0
/* 8026C644 002682A4 40 82 FF D0 */ bne lbl_8026C614
/* 8026C648 002682A8 80 CD A7 C8 */ lwz r6, lbl_8063FA88-_SDA_BASE_(r13)
@@ -816,22 +816,22 @@ lbl_8026C658:
/* 8026C688 002682E8 7C 06 16 70 */ srawi r6, r0, 2
/* 8026C68C 002682EC 38 E0 00 00 */ li r7, 0
/* 8026C690 002682F0 39 00 00 00 */ li r8, 0
-/* 8026C694 002682F4 48 01 F4 E1 */ bl func_8028BB74
+/* 8026C694 002682F4 48 01 F4 E1 */ bl DVDReadAbsAsyncPrio
/* 8026C698 002682F8 48 00 00 28 */ b lbl_8026C6C0
lbl_8026C69C:
/* 8026C69C 002682FC 38 61 01 40 */ addi r3, r1, 0x140
-/* 8026C6A0 00268300 48 01 F7 65 */ bl func_8028BE04
+/* 8026C6A0 00268300 48 01 F7 65 */ bl DVDGetCommandBlockStatus
/* 8026C6A4 00268304 2C 03 00 02 */ cmpwi r3, 2
/* 8026C6A8 00268308 41 81 00 14 */ bgt lbl_8026C6BC
/* 8026C6AC 0026830C 38 61 01 40 */ addi r3, r1, 0x140
-/* 8026C6B0 00268310 48 01 F7 55 */ bl func_8028BE04
+/* 8026C6B0 00268310 48 01 F7 55 */ bl DVDGetCommandBlockStatus
/* 8026C6B4 00268314 2C 03 00 00 */ cmpwi r3, 0
/* 8026C6B8 00268318 40 80 00 08 */ bge lbl_8026C6C0
lbl_8026C6BC:
/* 8026C6BC 0026831C 48 00 3C 69 */ bl __OSReturnToMenuForError
lbl_8026C6C0:
/* 8026C6C0 00268320 38 61 01 40 */ addi r3, r1, 0x140
-/* 8026C6C4 00268324 48 01 F7 41 */ bl func_8028BE04
+/* 8026C6C4 00268324 48 01 F7 41 */ bl DVDGetCommandBlockStatus
/* 8026C6C8 00268328 2C 03 00 00 */ cmpwi r3, 0
/* 8026C6CC 0026832C 40 82 FF D0 */ bne lbl_8026C69C
/* 8026C6D0 00268330 3C 60 80 00 */ lis r3, 0x800030F4@ha
@@ -853,22 +853,22 @@ lbl_8026C6F4:
/* 8026C708 00268368 38 E0 00 00 */ li r7, 0
/* 8026C70C 0026836C 54 05 00 34 */ rlwinm r5, r0, 0, 0, 0x1a
/* 8026C710 00268370 39 00 00 00 */ li r8, 0
-/* 8026C714 00268374 48 01 F4 61 */ bl func_8028BB74
+/* 8026C714 00268374 48 01 F4 61 */ bl DVDReadAbsAsyncPrio
/* 8026C718 00268378 48 00 00 28 */ b lbl_8026C740
lbl_8026C71C:
/* 8026C71C 0026837C 38 61 01 70 */ addi r3, r1, 0x170
-/* 8026C720 00268380 48 01 F6 E5 */ bl func_8028BE04
+/* 8026C720 00268380 48 01 F6 E5 */ bl DVDGetCommandBlockStatus
/* 8026C724 00268384 2C 03 00 02 */ cmpwi r3, 2
/* 8026C728 00268388 41 81 00 14 */ bgt lbl_8026C73C
/* 8026C72C 0026838C 38 61 01 70 */ addi r3, r1, 0x170
-/* 8026C730 00268390 48 01 F6 D5 */ bl func_8028BE04
+/* 8026C730 00268390 48 01 F6 D5 */ bl DVDGetCommandBlockStatus
/* 8026C734 00268394 2C 03 00 00 */ cmpwi r3, 0
/* 8026C738 00268398 40 80 00 08 */ bge lbl_8026C740
lbl_8026C73C:
/* 8026C73C 0026839C 48 00 3B E9 */ bl __OSReturnToMenuForError
lbl_8026C740:
/* 8026C740 002683A0 38 61 01 70 */ addi r3, r1, 0x170
-/* 8026C744 002683A4 48 01 F6 C1 */ bl func_8028BE04
+/* 8026C744 002683A4 48 01 F6 C1 */ bl DVDGetCommandBlockStatus
/* 8026C748 002683A8 2C 03 00 00 */ cmpwi r3, 0
/* 8026C74C 002683AC 40 82 FF D0 */ bne lbl_8026C71C
/* 8026C750 002683B0 80 9F 00 14 */ lwz r4, 0x14(r31)
@@ -908,22 +908,22 @@ lbl_8026C7A4:
/* 8026C7D4 00268434 7C 06 16 70 */ srawi r6, r0, 2
/* 8026C7D8 00268438 38 E0 00 00 */ li r7, 0
/* 8026C7DC 0026843C 39 00 00 00 */ li r8, 0
-/* 8026C7E0 00268440 48 01 F3 95 */ bl func_8028BB74
+/* 8026C7E0 00268440 48 01 F3 95 */ bl DVDReadAbsAsyncPrio
/* 8026C7E4 00268444 48 00 00 28 */ b lbl_8026C80C
lbl_8026C7E8:
/* 8026C7E8 00268448 38 61 00 B0 */ addi r3, r1, 0xb0
-/* 8026C7EC 0026844C 48 01 F6 19 */ bl func_8028BE04
+/* 8026C7EC 0026844C 48 01 F6 19 */ bl DVDGetCommandBlockStatus
/* 8026C7F0 00268450 2C 03 00 02 */ cmpwi r3, 2
/* 8026C7F4 00268454 41 81 00 14 */ bgt lbl_8026C808
/* 8026C7F8 00268458 38 61 00 B0 */ addi r3, r1, 0xb0
-/* 8026C7FC 0026845C 48 01 F6 09 */ bl func_8028BE04
+/* 8026C7FC 0026845C 48 01 F6 09 */ bl DVDGetCommandBlockStatus
/* 8026C800 00268460 2C 03 00 00 */ cmpwi r3, 0
/* 8026C804 00268464 40 80 00 08 */ bge lbl_8026C80C
lbl_8026C808:
/* 8026C808 00268468 48 00 3B 1D */ bl __OSReturnToMenuForError
lbl_8026C80C:
/* 8026C80C 0026846C 38 61 00 B0 */ addi r3, r1, 0xb0
-/* 8026C810 00268470 48 01 F5 F5 */ bl func_8028BE04
+/* 8026C810 00268470 48 01 F5 F5 */ bl DVDGetCommandBlockStatus
/* 8026C814 00268474 2C 03 00 00 */ cmpwi r3, 0
/* 8026C818 00268478 40 82 FF D0 */ bne lbl_8026C7E8
/* 8026C81C 0026847C 3C 60 80 00 */ lis r3, 0x800030F4@ha
@@ -975,22 +975,22 @@ lbl_8026C8B0:
/* 8026C8C4 00268524 39 00 00 00 */ li r8, 0
/* 8026C8C8 00268528 80 81 00 14 */ lwz r4, 0x14(r1)
/* 8026C8CC 0026852C 7C C6 04 30 */ srw r6, r6, r0
-/* 8026C8D0 00268530 48 01 F2 A5 */ bl func_8028BB74
+/* 8026C8D0 00268530 48 01 F2 A5 */ bl DVDReadAbsAsyncPrio
/* 8026C8D4 00268534 48 00 00 28 */ b lbl_8026C8FC
lbl_8026C8D8:
/* 8026C8D8 00268538 38 61 00 80 */ addi r3, r1, 0x80
-/* 8026C8DC 0026853C 48 01 F5 29 */ bl func_8028BE04
+/* 8026C8DC 0026853C 48 01 F5 29 */ bl DVDGetCommandBlockStatus
/* 8026C8E0 00268540 2C 03 00 02 */ cmpwi r3, 2
/* 8026C8E4 00268544 41 81 00 14 */ bgt lbl_8026C8F8
/* 8026C8E8 00268548 38 61 00 80 */ addi r3, r1, 0x80
-/* 8026C8EC 0026854C 48 01 F5 19 */ bl func_8028BE04
+/* 8026C8EC 0026854C 48 01 F5 19 */ bl DVDGetCommandBlockStatus
/* 8026C8F0 00268550 2C 03 00 00 */ cmpwi r3, 0
/* 8026C8F4 00268554 40 80 00 08 */ bge lbl_8026C8FC
lbl_8026C8F8:
/* 8026C8F8 00268558 48 00 3A 2D */ bl __OSReturnToMenuForError
lbl_8026C8FC:
/* 8026C8FC 0026855C 38 61 00 80 */ addi r3, r1, 0x80
-/* 8026C900 00268560 48 01 F5 05 */ bl func_8028BE04
+/* 8026C900 00268560 48 01 F5 05 */ bl DVDGetCommandBlockStatus
/* 8026C904 00268564 2C 03 00 00 */ cmpwi r3, 0
/* 8026C908 00268568 40 82 FF D0 */ bne lbl_8026C8D8
lbl_8026C90C:
@@ -1048,22 +1048,22 @@ lbl_8026C9A4:
/* 8026C9D0 00268630 7C 06 16 70 */ srawi r6, r0, 2
/* 8026C9D4 00268634 38 E0 00 00 */ li r7, 0
/* 8026C9D8 00268638 39 00 00 00 */ li r8, 0
-/* 8026C9DC 0026863C 48 01 F1 99 */ bl func_8028BB74
+/* 8026C9DC 0026863C 48 01 F1 99 */ bl DVDReadAbsAsyncPrio
/* 8026C9E0 00268640 48 00 00 28 */ b lbl_8026CA08
lbl_8026C9E4:
/* 8026C9E4 00268644 38 61 00 50 */ addi r3, r1, 0x50
-/* 8026C9E8 00268648 48 01 F4 1D */ bl func_8028BE04
+/* 8026C9E8 00268648 48 01 F4 1D */ bl DVDGetCommandBlockStatus
/* 8026C9EC 0026864C 2C 03 00 02 */ cmpwi r3, 2
/* 8026C9F0 00268650 41 81 00 14 */ bgt lbl_8026CA04
/* 8026C9F4 00268654 38 61 00 50 */ addi r3, r1, 0x50
-/* 8026C9F8 00268658 48 01 F4 0D */ bl func_8028BE04
+/* 8026C9F8 00268658 48 01 F4 0D */ bl DVDGetCommandBlockStatus
/* 8026C9FC 0026865C 2C 03 00 00 */ cmpwi r3, 0
/* 8026CA00 00268660 40 80 00 08 */ bge lbl_8026CA08
lbl_8026CA04:
/* 8026CA04 00268664 48 00 39 21 */ bl __OSReturnToMenuForError
lbl_8026CA08:
/* 8026CA08 00268668 38 61 00 50 */ addi r3, r1, 0x50
-/* 8026CA0C 0026866C 48 01 F3 F9 */ bl func_8028BE04
+/* 8026CA0C 0026866C 48 01 F3 F9 */ bl DVDGetCommandBlockStatus
/* 8026CA10 00268670 2C 03 00 00 */ cmpwi r3, 0
/* 8026CA14 00268674 40 82 FF D0 */ bne lbl_8026C9E4
/* 8026CA18 00268678 3C 60 80 00 */ lis r3, 0x800030F4@ha
@@ -1088,22 +1088,22 @@ lbl_8026CA3C:
/* 8026CA5C 002686BC 7C C8 32 14 */ add r6, r8, r6
/* 8026CA60 002686C0 39 00 00 00 */ li r8, 0
/* 8026CA64 002686C4 54 05 00 34 */ rlwinm r5, r0, 0, 0, 0x1a
-/* 8026CA68 002686C8 48 01 F1 0D */ bl func_8028BB74
+/* 8026CA68 002686C8 48 01 F1 0D */ bl DVDReadAbsAsyncPrio
/* 8026CA6C 002686CC 48 00 00 28 */ b lbl_8026CA94
lbl_8026CA70:
/* 8026CA70 002686D0 38 61 00 20 */ addi r3, r1, 0x20
-/* 8026CA74 002686D4 48 01 F3 91 */ bl func_8028BE04
+/* 8026CA74 002686D4 48 01 F3 91 */ bl DVDGetCommandBlockStatus
/* 8026CA78 002686D8 2C 03 00 02 */ cmpwi r3, 2
/* 8026CA7C 002686DC 41 81 00 14 */ bgt lbl_8026CA90
/* 8026CA80 002686E0 38 61 00 20 */ addi r3, r1, 0x20
-/* 8026CA84 002686E4 48 01 F3 81 */ bl func_8028BE04
+/* 8026CA84 002686E4 48 01 F3 81 */ bl DVDGetCommandBlockStatus
/* 8026CA88 002686E8 2C 03 00 00 */ cmpwi r3, 0
/* 8026CA8C 002686EC 40 80 00 08 */ bge lbl_8026CA94
lbl_8026CA90:
/* 8026CA90 002686F0 48 00 38 95 */ bl __OSReturnToMenuForError
lbl_8026CA94:
/* 8026CA94 002686F4 38 61 00 20 */ addi r3, r1, 0x20
-/* 8026CA98 002686F8 48 01 F3 6D */ bl func_8028BE04
+/* 8026CA98 002686F8 48 01 F3 6D */ bl DVDGetCommandBlockStatus
/* 8026CA9C 002686FC 2C 03 00 00 */ cmpwi r3, 0
/* 8026CAA0 00268700 40 82 FF D0 */ bne lbl_8026CA70
/* 8026CAA4 00268704 80 9F 00 18 */ lwz r4, 0x18(r31)
diff --git a/asm/SDK/OS/OSReset.s b/asm/SDK/OS/OSReset.s
index 35ae487..0320e9b 100644
--- a/asm/SDK/OS/OSReset.s
+++ b/asm/SDK/OS/OSReset.s
@@ -226,10 +226,10 @@ OSRebootSystem:
/* 8026FF60 0026BBC0 90 01 00 34 */ stw r0, 0x34(r1)
/* 8026FF64 0026BBC4 48 00 3D B9 */ bl __OSStopPlayRecord
/* 8026FF68 0026BBC8 48 00 36 C5 */ bl __OSUnRegisterStateEvent
-/* 8026FF6C 0026BBCC 48 01 C8 C1 */ bl func_8028C82C
+/* 8026FF6C 0026BBCC 48 01 C8 C1 */ bl __DVDPrepareReset
/* 8026FF70 0026BBD0 38 61 00 10 */ addi r3, r1, 0x10
/* 8026FF74 0026BBD4 48 00 40 75 */ bl __OSReadStateFlags
-/* 8026FF78 0026BBD8 48 01 C4 89 */ bl func_8028C400
+/* 8026FF78 0026BBD8 48 01 C4 89 */ bl __DVDGetCoverStatus
/* 8026FF7C 0026BBDC 28 03 00 02 */ cmplwi r3, 2
/* 8026FF80 0026BBE0 41 82 00 10 */ beq lbl_8026FF90
/* 8026FF84 0026BBE4 38 00 00 03 */ li r0, 3
@@ -286,10 +286,10 @@ lbl_80270020:
/* 80270030 0026BC90 48 07 C4 0D */ bl func_802EC43C
/* 80270034 0026BC94 48 00 3C E9 */ bl __OSStopPlayRecord
/* 80270038 0026BC98 48 00 35 F5 */ bl __OSUnRegisterStateEvent
-/* 8027003C 0026BC9C 48 01 C7 F1 */ bl func_8028C82C
+/* 8027003C 0026BC9C 48 01 C7 F1 */ bl __DVDPrepareReset
/* 80270040 0026BCA0 38 61 00 18 */ addi r3, r1, 0x18
/* 80270044 0026BCA4 48 00 3F A5 */ bl __OSReadStateFlags
-/* 80270048 0026BCA8 48 01 C3 B9 */ bl func_8028C400
+/* 80270048 0026BCA8 48 01 C3 B9 */ bl __DVDGetCoverStatus
/* 8027004C 0026BCAC 28 03 00 02 */ cmplwi r3, 2
/* 80270050 0026BCB0 41 82 00 10 */ beq lbl_80270060
/* 80270054 0026BCB4 38 00 00 03 */ li r0, 3
@@ -444,10 +444,10 @@ OSReturnToMenu:
/* 80270258 0026BEB8 90 01 00 34 */ stw r0, 0x34(r1)
/* 8027025C 0026BEBC 48 00 3A C1 */ bl __OSStopPlayRecord
/* 80270260 0026BEC0 48 00 33 CD */ bl __OSUnRegisterStateEvent
-/* 80270264 0026BEC4 48 01 C5 C9 */ bl func_8028C82C
+/* 80270264 0026BEC4 48 01 C5 C9 */ bl __DVDPrepareReset
/* 80270268 0026BEC8 38 61 00 10 */ addi r3, r1, 0x10
/* 8027026C 0026BECC 48 00 3D 7D */ bl __OSReadStateFlags
-/* 80270270 0026BED0 48 01 C1 91 */ bl func_8028C400
+/* 80270270 0026BED0 48 01 C1 91 */ bl __DVDGetCoverStatus
/* 80270274 0026BED4 28 03 00 02 */ cmplwi r3, 2
/* 80270278 0026BED8 41 82 00 10 */ beq lbl_80270288
/* 8027027C 0026BEDC 38 00 00 03 */ li r0, 3
diff --git a/asm/SDK/VI/vi.s b/asm/SDK/VI/vi.s
index 1e742b0..c1708c0 100644
--- a/asm/SDK/VI/vi.s
+++ b/asm/SDK/VI/vi.s
@@ -584,7 +584,7 @@ lbl_80277C78:
/* 80277C7C 002738DC 80 0D A8 D8 */ lwz r0, lbl_8063FB98-_SDA_BASE_(r13)
/* 80277C80 002738E0 7C 03 00 40 */ cmplw r3, r0
/* 80277C84 002738E4 41 80 00 08 */ blt lbl_80277C8C
-/* 80277C88 002738E8 48 01 4D 01 */ bl func_8028C988
+/* 80277C88 002738E8 48 01 4D 01 */ bl __DVDRestartMotor
lbl_80277C8C:
/* 80277C8C 002738EC 38 00 00 00 */ li r0, 0
/* 80277C90 002738F0 90 0D A8 DC */ stw r0, lbl_8063FB9C-_SDA_BASE_(r13)
@@ -656,7 +656,7 @@ lbl_80277D60:
/* 80277D80 002739E0 80 0D A8 D8 */ lwz r0, lbl_8063FB98-_SDA_BASE_(r13)
/* 80277D84 002739E4 7C 03 00 40 */ cmplw r3, r0
/* 80277D88 002739E8 41 80 00 08 */ blt lbl_80277D90
-/* 80277D8C 002739EC 48 01 4B FD */ bl func_8028C988
+/* 80277D8C 002739EC 48 01 4B FD */ bl __DVDRestartMotor
lbl_80277D90:
/* 80277D90 002739F0 38 00 00 00 */ li r0, 0
/* 80277D94 002739F4 90 0D A8 E0 */ stw r0, lbl_8063FBA0-_SDA_BASE_(r13)
@@ -668,7 +668,7 @@ lbl_80277D98:
/* 80277DA8 00273A08 3C 60 80 52 */ lis r3, lbl_8051B4F0@ha
/* 80277DAC 00273A0C 38 80 00 00 */ li r4, 0
/* 80277DB0 00273A10 38 63 B4 F0 */ addi r3, r3, lbl_8051B4F0@l
-/* 80277DB4 00273A14 48 01 4B CD */ bl func_8028C980
+/* 80277DB4 00273A14 48 01 4B CD */ bl __DVDStopMotorAsync
lbl_80277DB8:
/* 80277DB8 00273A18 38 00 00 01 */ li r0, 1
/* 80277DBC 00273A1C 38 7E 01 48 */ addi r3, r30, 0x148