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/dvdfs.s845
-rw-r--r--asm/SDK/OS/OS.s4
-rw-r--r--asm/SDK/OS/OSAlarm.s2
-rw-r--r--asm/SDK/OS/OSExec.s72
-rw-r--r--asm/SDK/OS/OSReset.s12
-rw-r--r--asm/SDK/VI/vi.s6
7 files changed, 6027 insertions, 48 deletions
diff --git a/asm/SDK/DVD/dvd.s b/asm/SDK/DVD/dvd.s
new file mode 100644
index 0000000..8ff1df5
--- /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 func_8028D28C
+/* 80288274 00283ED4 4B FF F4 19 */ bl __DVDFSInit
+/* 80288278 00283ED8 48 00 47 15 */ bl func_8028C98C
+/* 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 func_8028E988
+/* 8028829C 00283EFC 48 00 66 F5 */ bl func_8028E990
+/* 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 func_8028D090
+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 func_8028E998
+/* 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 func_8028E4D8
+/* 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 func_8028CE48
+/* 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 func_8028CE48
+/* 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 func_8028DED4
+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 lbl_8028D100
+
+.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 func_8028D0EC
+/* 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 func_8028CE48
+/* 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 func_8028CE48
+/* 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 func_8028DBD8
+
+.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 hioEnumCallback
+/* 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 func_8028E048
+/* 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 func_8028DBD8
+/* 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 func_8028CE48
+/* 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 func_8028CE48
+/* 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 func_8028CE48
+/* 802889F4 00284654 48 00 04 2C */ b lbl_80288E20
+lbl_802889F8:
+/* 802889F8 00284658 48 00 5F 85 */ bl func_8028E97C
+/* 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 func_8028CE48
+/* 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 func_8028CE48
+/* 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 func_8028E688
+/* 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 func_8028DBD8
+/* 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 func_8028CE48
+/* 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 func_8028CE48
+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 func_8028CE48
+/* 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 func_8028CE48
+/* 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 func_8028DBD8
+/* 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 func_8028DED4
+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 func_8028CE48
+/* 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 func_8028CE48
+/* 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 func_8028CE48
+/* 802890CC 00284D2C 48 00 00 14 */ b lbl_802890E0
+lbl_802890D0:
+/* 802890D0 00284D30 48 00 58 AD */ bl func_8028E97C
+/* 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 func_8028CE48
+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 func_8028CE48
+/* 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 func_8028CE48
+/* 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 func_8028CE48
+/* 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 func_8028CEEC
+/* 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 func_8028E998
+/* 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 func_8028DA44
+/* 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 func_8028DBD8
+/* 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 func_8028DBD8
+/* 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 func_8028E998
+/* 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 func_8028DA44
+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 func_8028CE48
+/* 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 func_8028CE48
+/* 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 func_8028E998
+/* 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 func_8028DA44
+/* 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 func_8028DED4
+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 func_8028CE48
+/* 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 func_8028CE48
+/* 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 func_8028E998
+/* 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 func_8028D678
+/* 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 func_8028E998
+/* 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 func_8028D678
+/* 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 func_8028DED4
+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 func_8028CE48
+/* 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 func_8028CE48
+/* 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 func_8028E998
+/* 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 func_8028E4D8
+/* 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 func_8028DED4
+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 func_8028CE48
+/* 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 func_8028CE48
+/* 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 func_8028DED4
+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 func_8028CE48
+/* 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 func_8028CE48
+/* 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 func_8028CE48
+/* 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 func_8028CE48
+/* 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 func_8028CE48
+/* 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 func_8028E998
+/* 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 func_8028E4D8
+/* 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 func_8028DED4
+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 func_8028C98C
+/* 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 hioEnumCallback
+/* 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 func_8028E048
+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 func_8028E998
+/* 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 func_8028E358
+/* 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 func_8028E998
+/* 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 func_8028D4F0
+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 func_8028CE48
+/* 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 func_8028CE48
+/* 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 func_8028DED4
+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 func_8028E998
+/* 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 func_8028E358
+/* 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 func_8028CE48
+/* 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 func_8028CE48
+/* 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 func_8028E998
+/* 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 func_8028D4F0
+/* 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 func_8028DED4
+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 func_8028E998
+/* 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 func_8028D4F0
+/* 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 func_8028CE48
+/* 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 func_8028CE48
+/* 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 func_8028DED4
+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 func_8028E804
+/* 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 func_8028E990
+/* 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 func_8028E804
+/* 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 func_8028E804
+/* 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 func_8028E998
+/* 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 func_8028E990
+/* 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 func_8028E814
+/* 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 func_8028CACC
+/* 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 func_8028CA2C
+/* 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 func_8028CE48
+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 func_8028E998
+/* 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 func_8028D4F0
+/* 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 func_8028E998
+/* 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 func_8028E4D8
+/* 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 func_8028E998
+/* 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 func_8028E688
+/* 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 func_8028DBD8
+/* 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 func_8028DBD8
+/* 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 func_8028E998
+/* 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 func_8028E1C4
+/* 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 func_8028E998
+/* 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 func_8028DD6C
+/* 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 func_8028E998
+/* 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 func_8028DBD8
+/* 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 hioEnumCallback
+/* 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 func_8028E048
+/* 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 func_8028E998
+/* 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 func_8028DA44
+/* 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 func_8028E998
+/* 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 func_8028D678
+/* 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 func_8028E998
+/* 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 func_8028D8E0
+/* 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 func_8028E814
+/* 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 func_8028E814
+/* 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 func_8028E998
+/* 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 func_8028E358
+/* 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 func_8028CE48
+/* 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 func_8028CE48
+/* 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 func_8028CE48
+/* 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 func_8028E804
+/* 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 func_8028E804
+/* 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 func_8028E97C
+/* 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 func_8028E97C
+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 func_8028CE48
+/* 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 func_8028DED4
+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 func_8028C9C4
+/* 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 func_8028C9C4
+/* 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 func_8028C9C4
+/* 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 func_8028CB24
+/* 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 func_8028CB84
+/* 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 func_8028E814
+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 func_8028E804
+/* 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 func_8028C9C4
+/* 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 func_8028C98C
+/* 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 func_8028CA2C
+/* 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 func_8028C98C
+/* 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 func_8028CA2C
+/* 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 lbl_8028EAFC
+/* 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/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/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..4dc5f32 100644
--- a/asm/SDK/OS/OSExec.s
+++ b/asm/SDK/OS/OSExec.s
@@ -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