summaryrefslogtreecommitdiff
path: root/asm/Dolphin/gx/GXPerf.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/Dolphin/gx/GXPerf.s')
-rw-r--r--asm/Dolphin/gx/GXPerf.s748
1 files changed, 748 insertions, 0 deletions
diff --git a/asm/Dolphin/gx/GXPerf.s b/asm/Dolphin/gx/GXPerf.s
new file mode 100644
index 0000000..560ef72
--- /dev/null
+++ b/asm/Dolphin/gx/GXPerf.s
@@ -0,0 +1,748 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80005600 - 0x8036FBA0
+.global GXSetGPMetric
+GXSetGPMetric:
+/* 800ADBF8 000AAB38 80 AD 82 C8 */ lwz r5, gx@sda21(r13)
+/* 800ADBFC 000AAB3C 80 05 04 E4 */ lwz r0, 0x4e4(r5)
+/* 800ADC00 000AAB40 2C 00 00 22 */ cmpwi r0, 0x22
+/* 800ADC04 000AAB44 41 82 00 2C */ beq lbl_800ADC30
+/* 800ADC08 000AAB48 40 80 00 74 */ bge lbl_800ADC7C
+/* 800ADC0C 000AAB4C 2C 00 00 0B */ cmpwi r0, 0xb
+/* 800ADC10 000AAB50 40 80 00 10 */ bge lbl_800ADC20
+/* 800ADC14 000AAB54 2C 00 00 00 */ cmpwi r0, 0
+/* 800ADC18 000AAB58 40 80 00 18 */ bge lbl_800ADC30
+/* 800ADC1C 000AAB5C 48 00 00 60 */ b lbl_800ADC7C
+lbl_800ADC20:
+/* 800ADC20 000AAB60 2C 00 00 1B */ cmpwi r0, 0x1b
+/* 800ADC24 000AAB64 40 80 00 44 */ bge lbl_800ADC68
+/* 800ADC28 000AAB68 48 00 00 28 */ b lbl_800ADC50
+/* 800ADC2C 000AAB6C 48 00 00 50 */ b lbl_800ADC7C
+lbl_800ADC30:
+/* 800ADC30 000AAB70 38 00 00 10 */ li r0, 0x10
+/* 800ADC34 000AAB74 3C C0 CC 01 */ lis r6, 0xCC008000@ha
+/* 800ADC38 000AAB78 98 06 80 00 */ stb r0, 0xCC008000@l(r6)
+/* 800ADC3C 000AAB7C 38 A0 10 06 */ li r5, 0x1006
+/* 800ADC40 000AAB80 38 00 00 00 */ li r0, 0
+/* 800ADC44 000AAB84 90 A6 80 00 */ stw r5, -0x8000(r6)
+/* 800ADC48 000AAB88 90 06 80 00 */ stw r0, -0x8000(r6)
+/* 800ADC4C 000AAB8C 48 00 00 30 */ b lbl_800ADC7C
+lbl_800ADC50:
+/* 800ADC50 000AAB90 38 00 00 61 */ li r0, 0x61
+/* 800ADC54 000AAB94 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADC58 000AAB98 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADC5C 000AAB9C 3C 00 23 00 */ lis r0, 0x2300
+/* 800ADC60 000AABA0 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800ADC64 000AABA4 48 00 00 18 */ b lbl_800ADC7C
+lbl_800ADC68:
+/* 800ADC68 000AABA8 38 00 00 61 */ li r0, 0x61
+/* 800ADC6C 000AABAC 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADC70 000AABB0 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADC74 000AABB4 3C 00 24 00 */ lis r0, 0x2400
+/* 800ADC78 000AABB8 90 05 80 00 */ stw r0, -0x8000(r5)
+lbl_800ADC7C:
+/* 800ADC7C 000AABBC 80 AD 82 C8 */ lwz r5, gx@sda21(r13)
+/* 800ADC80 000AABC0 80 05 04 E8 */ lwz r0, 0x4e8(r5)
+/* 800ADC84 000AABC4 2C 00 00 15 */ cmpwi r0, 0x15
+/* 800ADC88 000AABC8 41 82 00 2C */ beq lbl_800ADCB4
+/* 800ADC8C 000AABCC 40 80 00 80 */ bge lbl_800ADD0C
+/* 800ADC90 000AABD0 2C 00 00 09 */ cmpwi r0, 9
+/* 800ADC94 000AABD4 40 80 00 10 */ bge lbl_800ADCA4
+/* 800ADC98 000AABD8 2C 00 00 00 */ cmpwi r0, 0
+/* 800ADC9C 000AABDC 40 80 00 18 */ bge lbl_800ADCB4
+/* 800ADCA0 000AABE0 48 00 00 6C */ b lbl_800ADD0C
+lbl_800ADCA4:
+/* 800ADCA4 000AABE4 2C 00 00 11 */ cmpwi r0, 0x11
+/* 800ADCA8 000AABE8 40 80 00 58 */ bge lbl_800ADD00
+/* 800ADCAC 000AABEC 48 00 00 20 */ b lbl_800ADCCC
+/* 800ADCB0 000AABF0 48 00 00 5C */ b lbl_800ADD0C
+lbl_800ADCB4:
+/* 800ADCB4 000AABF4 38 00 00 61 */ li r0, 0x61
+/* 800ADCB8 000AABF8 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADCBC 000AABFC 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADCC0 000AAC00 3C 00 67 00 */ lis r0, 0x6700
+/* 800ADCC4 000AAC04 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800ADCC8 000AAC08 48 00 00 44 */ b lbl_800ADD0C
+lbl_800ADCCC:
+/* 800ADCCC 000AAC0C 38 E5 04 EC */ addi r7, r5, 0x4ec
+/* 800ADCD0 000AAC10 80 05 04 EC */ lwz r0, 0x4ec(r5)
+/* 800ADCD4 000AAC14 38 A0 00 08 */ li r5, 8
+/* 800ADCD8 000AAC18 3C C0 CC 01 */ lis r6, 0xCC008000@ha
+/* 800ADCDC 000AAC1C 54 00 07 2E */ rlwinm r0, r0, 0, 0x1c, 0x17
+/* 800ADCE0 000AAC20 90 07 00 00 */ stw r0, 0(r7)
+/* 800ADCE4 000AAC24 38 00 00 20 */ li r0, 0x20
+/* 800ADCE8 000AAC28 98 A6 80 00 */ stb r5, 0xCC008000@l(r6)
+/* 800ADCEC 000AAC2C 80 AD 82 C8 */ lwz r5, gx@sda21(r13)
+/* 800ADCF0 000AAC30 98 06 80 00 */ stb r0, -0x8000(r6)
+/* 800ADCF4 000AAC34 80 05 04 EC */ lwz r0, 0x4ec(r5)
+/* 800ADCF8 000AAC38 90 06 80 00 */ stw r0, -0x8000(r6)
+/* 800ADCFC 000AAC3C 48 00 00 10 */ b lbl_800ADD0C
+lbl_800ADD00:
+/* 800ADD00 000AAC40 80 AD 95 5C */ lwz r5, __cpReg@sda21(r13)
+/* 800ADD04 000AAC44 38 00 00 00 */ li r0, 0
+/* 800ADD08 000AAC48 B0 05 00 06 */ sth r0, 6(r5)
+lbl_800ADD0C:
+/* 800ADD0C 000AAC4C 80 AD 82 C8 */ lwz r5, gx@sda21(r13)
+/* 800ADD10 000AAC50 90 65 04 E4 */ stw r3, 0x4e4(r5)
+/* 800ADD14 000AAC54 80 6D 82 C8 */ lwz r3, gx@sda21(r13)
+/* 800ADD18 000AAC58 80 03 04 E4 */ lwz r0, 0x4e4(r3)
+/* 800ADD1C 000AAC5C 28 00 00 23 */ cmplwi r0, 0x23
+/* 800ADD20 000AAC60 41 81 04 1C */ bgt lbl_800AE13C
+/* 800ADD24 000AAC64 3C 60 80 3B */ lis r3, "@241"@ha
+/* 800ADD28 000AAC68 38 63 1B B4 */ addi r3, r3, "@241"@l
+/* 800ADD2C 000AAC6C 54 00 10 3A */ slwi r0, r0, 2
+/* 800ADD30 000AAC70 7C 03 00 2E */ lwzx r0, r3, r0
+/* 800ADD34 000AAC74 7C 09 03 A6 */ mtctr r0
+/* 800ADD38 000AAC78 4E 80 04 20 */ bctr
+lbl_800ADD3C:
+/* 800ADD3C 000AAC7C 38 00 00 10 */ li r0, 0x10
+/* 800ADD40 000AAC80 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADD44 000AAC84 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADD48 000AAC88 38 60 10 06 */ li r3, 0x1006
+/* 800ADD4C 000AAC8C 38 00 02 73 */ li r0, 0x273
+/* 800ADD50 000AAC90 90 65 80 00 */ stw r3, -0x8000(r5)
+/* 800ADD54 000AAC94 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800ADD58 000AAC98 48 00 03 E4 */ b lbl_800AE13C
+lbl_800ADD5C:
+/* 800ADD5C 000AAC9C 38 00 00 10 */ li r0, 0x10
+/* 800ADD60 000AACA0 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADD64 000AACA4 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADD68 000AACA8 38 60 10 06 */ li r3, 0x1006
+/* 800ADD6C 000AACAC 38 00 01 4A */ li r0, 0x14a
+/* 800ADD70 000AACB0 90 65 80 00 */ stw r3, -0x8000(r5)
+/* 800ADD74 000AACB4 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800ADD78 000AACB8 48 00 03 C4 */ b lbl_800AE13C
+lbl_800ADD7C:
+/* 800ADD7C 000AACBC 38 00 00 10 */ li r0, 0x10
+/* 800ADD80 000AACC0 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADD84 000AACC4 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADD88 000AACC8 38 60 10 06 */ li r3, 0x1006
+/* 800ADD8C 000AACCC 38 00 01 6B */ li r0, 0x16b
+/* 800ADD90 000AACD0 90 65 80 00 */ stw r3, -0x8000(r5)
+/* 800ADD94 000AACD4 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800ADD98 000AACD8 48 00 03 A4 */ b lbl_800AE13C
+lbl_800ADD9C:
+/* 800ADD9C 000AACDC 38 00 00 10 */ li r0, 0x10
+/* 800ADDA0 000AACE0 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADDA4 000AACE4 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADDA8 000AACE8 38 60 10 06 */ li r3, 0x1006
+/* 800ADDAC 000AACEC 38 00 00 84 */ li r0, 0x84
+/* 800ADDB0 000AACF0 90 65 80 00 */ stw r3, -0x8000(r5)
+/* 800ADDB4 000AACF4 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800ADDB8 000AACF8 48 00 03 84 */ b lbl_800AE13C
+lbl_800ADDBC:
+/* 800ADDBC 000AACFC 38 00 00 10 */ li r0, 0x10
+/* 800ADDC0 000AAD00 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADDC4 000AAD04 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADDC8 000AAD08 38 60 10 06 */ li r3, 0x1006
+/* 800ADDCC 000AAD0C 38 00 00 C6 */ li r0, 0xc6
+/* 800ADDD0 000AAD10 90 65 80 00 */ stw r3, -0x8000(r5)
+/* 800ADDD4 000AAD14 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800ADDD8 000AAD18 48 00 03 64 */ b lbl_800AE13C
+lbl_800ADDDC:
+/* 800ADDDC 000AAD1C 38 00 00 10 */ li r0, 0x10
+/* 800ADDE0 000AAD20 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADDE4 000AAD24 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADDE8 000AAD28 38 60 10 06 */ li r3, 0x1006
+/* 800ADDEC 000AAD2C 38 00 02 10 */ li r0, 0x210
+/* 800ADDF0 000AAD30 90 65 80 00 */ stw r3, -0x8000(r5)
+/* 800ADDF4 000AAD34 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800ADDF8 000AAD38 48 00 03 44 */ b lbl_800AE13C
+lbl_800ADDFC:
+/* 800ADDFC 000AAD3C 38 00 00 10 */ li r0, 0x10
+/* 800ADE00 000AAD40 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADE04 000AAD44 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADE08 000AAD48 38 60 10 06 */ li r3, 0x1006
+/* 800ADE0C 000AAD4C 38 00 02 52 */ li r0, 0x252
+/* 800ADE10 000AAD50 90 65 80 00 */ stw r3, -0x8000(r5)
+/* 800ADE14 000AAD54 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800ADE18 000AAD58 48 00 03 24 */ b lbl_800AE13C
+lbl_800ADE1C:
+/* 800ADE1C 000AAD5C 38 00 00 10 */ li r0, 0x10
+/* 800ADE20 000AAD60 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADE24 000AAD64 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADE28 000AAD68 38 60 10 06 */ li r3, 0x1006
+/* 800ADE2C 000AAD6C 38 00 02 31 */ li r0, 0x231
+/* 800ADE30 000AAD70 90 65 80 00 */ stw r3, -0x8000(r5)
+/* 800ADE34 000AAD74 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800ADE38 000AAD78 48 00 03 04 */ b lbl_800AE13C
+lbl_800ADE3C:
+/* 800ADE3C 000AAD7C 38 00 00 10 */ li r0, 0x10
+/* 800ADE40 000AAD80 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADE44 000AAD84 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADE48 000AAD88 38 60 10 06 */ li r3, 0x1006
+/* 800ADE4C 000AAD8C 38 00 01 AD */ li r0, 0x1ad
+/* 800ADE50 000AAD90 90 65 80 00 */ stw r3, -0x8000(r5)
+/* 800ADE54 000AAD94 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800ADE58 000AAD98 48 00 02 E4 */ b lbl_800AE13C
+lbl_800ADE5C:
+/* 800ADE5C 000AAD9C 38 00 00 10 */ li r0, 0x10
+/* 800ADE60 000AADA0 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADE64 000AADA4 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADE68 000AADA8 38 60 10 06 */ li r3, 0x1006
+/* 800ADE6C 000AADAC 38 00 01 CE */ li r0, 0x1ce
+/* 800ADE70 000AADB0 90 65 80 00 */ stw r3, -0x8000(r5)
+/* 800ADE74 000AADB4 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800ADE78 000AADB8 48 00 02 C4 */ b lbl_800AE13C
+lbl_800ADE7C:
+/* 800ADE7C 000AADBC 38 00 00 10 */ li r0, 0x10
+/* 800ADE80 000AADC0 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADE84 000AADC4 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADE88 000AADC8 38 60 10 06 */ li r3, 0x1006
+/* 800ADE8C 000AADCC 38 00 00 21 */ li r0, 0x21
+/* 800ADE90 000AADD0 90 65 80 00 */ stw r3, -0x8000(r5)
+/* 800ADE94 000AADD4 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800ADE98 000AADD8 48 00 02 A4 */ b lbl_800AE13C
+lbl_800ADE9C:
+/* 800ADE9C 000AADDC 38 00 00 10 */ li r0, 0x10
+/* 800ADEA0 000AADE0 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADEA4 000AADE4 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADEA8 000AADE8 38 60 10 06 */ li r3, 0x1006
+/* 800ADEAC 000AADEC 38 00 01 53 */ li r0, 0x153
+/* 800ADEB0 000AADF0 90 65 80 00 */ stw r3, -0x8000(r5)
+/* 800ADEB4 000AADF4 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800ADEB8 000AADF8 48 00 02 84 */ b lbl_800AE13C
+lbl_800ADEBC:
+/* 800ADEBC 000AADFC 38 00 00 61 */ li r0, 0x61
+/* 800ADEC0 000AAE00 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADEC4 000AAE04 3C 60 23 01 */ lis r3, 0x2300AE7F@ha
+/* 800ADEC8 000AAE08 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADECC 000AAE0C 38 03 AE 7F */ addi r0, r3, 0x2300AE7F@l
+/* 800ADED0 000AAE10 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800ADED4 000AAE14 48 00 02 68 */ b lbl_800AE13C
+lbl_800ADED8:
+/* 800ADED8 000AAE18 38 00 00 61 */ li r0, 0x61
+/* 800ADEDC 000AAE1C 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADEE0 000AAE20 3C 60 23 01 */ lis r3, 0x23008E7F@ha
+/* 800ADEE4 000AAE24 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADEE8 000AAE28 38 03 8E 7F */ addi r0, r3, 0x23008E7F@l
+/* 800ADEEC 000AAE2C 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800ADEF0 000AAE30 48 00 02 4C */ b lbl_800AE13C
+lbl_800ADEF4:
+/* 800ADEF4 000AAE34 38 00 00 61 */ li r0, 0x61
+/* 800ADEF8 000AAE38 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADEFC 000AAE3C 3C 60 23 01 */ lis r3, 0x23009E7F@ha
+/* 800ADF00 000AAE40 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADF04 000AAE44 38 03 9E 7F */ addi r0, r3, 0x23009E7F@l
+/* 800ADF08 000AAE48 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800ADF0C 000AAE4C 48 00 02 30 */ b lbl_800AE13C
+lbl_800ADF10:
+/* 800ADF10 000AAE50 38 00 00 61 */ li r0, 0x61
+/* 800ADF14 000AAE54 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADF18 000AAE58 3C 60 23 00 */ lis r3, 0x23001E7F@ha
+/* 800ADF1C 000AAE5C 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADF20 000AAE60 38 03 1E 7F */ addi r0, r3, 0x23001E7F@l
+/* 800ADF24 000AAE64 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800ADF28 000AAE68 48 00 02 14 */ b lbl_800AE13C
+lbl_800ADF2C:
+/* 800ADF2C 000AAE6C 38 00 00 61 */ li r0, 0x61
+/* 800ADF30 000AAE70 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADF34 000AAE74 3C 60 23 01 */ lis r3, 0x2300AC3F@ha
+/* 800ADF38 000AAE78 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADF3C 000AAE7C 38 03 AC 3F */ addi r0, r3, 0x2300AC3F@l
+/* 800ADF40 000AAE80 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800ADF44 000AAE84 48 00 01 F8 */ b lbl_800AE13C
+lbl_800ADF48:
+/* 800ADF48 000AAE88 38 00 00 61 */ li r0, 0x61
+/* 800ADF4C 000AAE8C 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADF50 000AAE90 3C 60 23 01 */ lis r3, 0x2300AC7F@ha
+/* 800ADF54 000AAE94 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADF58 000AAE98 38 03 AC 7F */ addi r0, r3, 0x2300AC7F@l
+/* 800ADF5C 000AAE9C 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800ADF60 000AAEA0 48 00 01 DC */ b lbl_800AE13C
+lbl_800ADF64:
+/* 800ADF64 000AAEA4 38 00 00 61 */ li r0, 0x61
+/* 800ADF68 000AAEA8 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADF6C 000AAEAC 3C 60 23 01 */ lis r3, 0x2300ACBF@ha
+/* 800ADF70 000AAEB0 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADF74 000AAEB4 38 03 AC BF */ addi r0, r3, 0x2300ACBF@l
+/* 800ADF78 000AAEB8 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800ADF7C 000AAEBC 48 00 01 C0 */ b lbl_800AE13C
+lbl_800ADF80:
+/* 800ADF80 000AAEC0 38 00 00 61 */ li r0, 0x61
+/* 800ADF84 000AAEC4 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADF88 000AAEC8 3C 60 23 01 */ lis r3, 0x2300ACFF@ha
+/* 800ADF8C 000AAECC 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADF90 000AAED0 38 03 AC FF */ addi r0, r3, 0x2300ACFF@l
+/* 800ADF94 000AAED4 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800ADF98 000AAED8 48 00 01 A4 */ b lbl_800AE13C
+lbl_800ADF9C:
+/* 800ADF9C 000AAEDC 38 00 00 61 */ li r0, 0x61
+/* 800ADFA0 000AAEE0 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADFA4 000AAEE4 3C 60 23 01 */ lis r3, 0x2300AD3F@ha
+/* 800ADFA8 000AAEE8 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADFAC 000AAEEC 38 03 AD 3F */ addi r0, r3, 0x2300AD3F@l
+/* 800ADFB0 000AAEF0 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800ADFB4 000AAEF4 48 00 01 88 */ b lbl_800AE13C
+lbl_800ADFB8:
+/* 800ADFB8 000AAEF8 38 00 00 61 */ li r0, 0x61
+/* 800ADFBC 000AAEFC 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADFC0 000AAF00 3C 60 23 01 */ lis r3, 0x2300AD7F@ha
+/* 800ADFC4 000AAF04 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADFC8 000AAF08 38 03 AD 7F */ addi r0, r3, 0x2300AD7F@l
+/* 800ADFCC 000AAF0C 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800ADFD0 000AAF10 48 00 01 6C */ b lbl_800AE13C
+lbl_800ADFD4:
+/* 800ADFD4 000AAF14 38 00 00 61 */ li r0, 0x61
+/* 800ADFD8 000AAF18 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADFDC 000AAF1C 3C 60 23 01 */ lis r3, 0x2300ADBF@ha
+/* 800ADFE0 000AAF20 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800ADFE4 000AAF24 38 03 AD BF */ addi r0, r3, 0x2300ADBF@l
+/* 800ADFE8 000AAF28 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800ADFEC 000AAF2C 48 00 01 50 */ b lbl_800AE13C
+lbl_800ADFF0:
+/* 800ADFF0 000AAF30 38 00 00 61 */ li r0, 0x61
+/* 800ADFF4 000AAF34 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800ADFF8 000AAF38 3C 60 23 01 */ lis r3, 0x2300ADFF@ha
+/* 800ADFFC 000AAF3C 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800AE000 000AAF40 38 03 AD FF */ addi r0, r3, 0x2300ADFF@l
+/* 800AE004 000AAF44 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800AE008 000AAF48 48 00 01 34 */ b lbl_800AE13C
+lbl_800AE00C:
+/* 800AE00C 000AAF4C 38 00 00 61 */ li r0, 0x61
+/* 800AE010 000AAF50 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800AE014 000AAF54 3C 60 23 01 */ lis r3, 0x2300AE3F@ha
+/* 800AE018 000AAF58 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800AE01C 000AAF5C 38 03 AE 3F */ addi r0, r3, 0x2300AE3F@l
+/* 800AE020 000AAF60 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800AE024 000AAF64 48 00 01 18 */ b lbl_800AE13C
+lbl_800AE028:
+/* 800AE028 000AAF68 38 00 00 61 */ li r0, 0x61
+/* 800AE02C 000AAF6C 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800AE030 000AAF70 3C 60 23 01 */ lis r3, 0x2300A27F@ha
+/* 800AE034 000AAF74 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800AE038 000AAF78 38 03 A2 7F */ addi r0, r3, 0x2300A27F@l
+/* 800AE03C 000AAF7C 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800AE040 000AAF80 48 00 00 FC */ b lbl_800AE13C
+lbl_800AE044:
+/* 800AE044 000AAF84 38 00 00 61 */ li r0, 0x61
+/* 800AE048 000AAF88 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800AE04C 000AAF8C 3C 60 23 01 */ lis r3, 0x2300A67F@ha
+/* 800AE050 000AAF90 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800AE054 000AAF94 38 03 A6 7F */ addi r0, r3, 0x2300A67F@l
+/* 800AE058 000AAF98 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800AE05C 000AAF9C 48 00 00 E0 */ b lbl_800AE13C
+lbl_800AE060:
+/* 800AE060 000AAFA0 38 00 00 61 */ li r0, 0x61
+/* 800AE064 000AAFA4 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800AE068 000AAFA8 3C 60 23 01 */ lis r3, 0x2300AA7F@ha
+/* 800AE06C 000AAFAC 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800AE070 000AAFB0 38 03 AA 7F */ addi r0, r3, 0x2300AA7F@l
+/* 800AE074 000AAFB4 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800AE078 000AAFB8 48 00 00 C4 */ b lbl_800AE13C
+lbl_800AE07C:
+/* 800AE07C 000AAFBC 38 00 00 61 */ li r0, 0x61
+/* 800AE080 000AAFC0 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800AE084 000AAFC4 3C 60 24 03 */ lis r3, 0x2402C0C6@ha
+/* 800AE088 000AAFC8 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800AE08C 000AAFCC 38 03 C0 C6 */ addi r0, r3, 0x2402C0C6@l
+/* 800AE090 000AAFD0 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800AE094 000AAFD4 48 00 00 A8 */ b lbl_800AE13C
+lbl_800AE098:
+/* 800AE098 000AAFD8 38 00 00 61 */ li r0, 0x61
+/* 800AE09C 000AAFDC 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800AE0A0 000AAFE0 3C 60 24 03 */ lis r3, 0x2402C16B@ha
+/* 800AE0A4 000AAFE4 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800AE0A8 000AAFE8 38 03 C1 6B */ addi r0, r3, 0x2402C16B@l
+/* 800AE0AC 000AAFEC 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800AE0B0 000AAFF0 48 00 00 8C */ b lbl_800AE13C
+lbl_800AE0B4:
+/* 800AE0B4 000AAFF4 38 00 00 61 */ li r0, 0x61
+/* 800AE0B8 000AAFF8 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800AE0BC 000AAFFC 3C 60 24 03 */ lis r3, 0x2402C0E7@ha
+/* 800AE0C0 000AB000 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800AE0C4 000AB004 38 03 C0 E7 */ addi r0, r3, 0x2402C0E7@l
+/* 800AE0C8 000AB008 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800AE0CC 000AB00C 48 00 00 70 */ b lbl_800AE13C
+lbl_800AE0D0:
+/* 800AE0D0 000AB010 38 00 00 61 */ li r0, 0x61
+/* 800AE0D4 000AB014 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800AE0D8 000AB018 3C 60 24 03 */ lis r3, 0x2402C108@ha
+/* 800AE0DC 000AB01C 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800AE0E0 000AB020 38 03 C1 08 */ addi r0, r3, 0x2402C108@l
+/* 800AE0E4 000AB024 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800AE0E8 000AB028 48 00 00 54 */ b lbl_800AE13C
+lbl_800AE0EC:
+/* 800AE0EC 000AB02C 38 00 00 61 */ li r0, 0x61
+/* 800AE0F0 000AB030 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800AE0F4 000AB034 3C 60 24 03 */ lis r3, 0x2402C129@ha
+/* 800AE0F8 000AB038 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800AE0FC 000AB03C 38 03 C1 29 */ addi r0, r3, 0x2402C129@l
+/* 800AE100 000AB040 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800AE104 000AB044 48 00 00 38 */ b lbl_800AE13C
+lbl_800AE108:
+/* 800AE108 000AB048 38 00 00 61 */ li r0, 0x61
+/* 800AE10C 000AB04C 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800AE110 000AB050 3C 60 24 03 */ lis r3, 0x2402C14A@ha
+/* 800AE114 000AB054 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800AE118 000AB058 38 03 C1 4A */ addi r0, r3, 0x2402C14A@l
+/* 800AE11C 000AB05C 90 05 80 00 */ stw r0, -0x8000(r5)
+/* 800AE120 000AB060 48 00 00 1C */ b lbl_800AE13C
+lbl_800AE124:
+/* 800AE124 000AB064 38 00 00 61 */ li r0, 0x61
+/* 800AE128 000AB068 3C A0 CC 01 */ lis r5, 0xCC008000@ha
+/* 800AE12C 000AB06C 3C 60 24 03 */ lis r3, 0x2402C1AD@ha
+/* 800AE130 000AB070 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
+/* 800AE134 000AB074 38 03 C1 AD */ addi r0, r3, 0x2402C1AD@l
+/* 800AE138 000AB078 90 05 80 00 */ stw r0, -0x8000(r5)
+lbl_800AE13C:
+/* 800AE13C 000AB07C 80 6D 82 C8 */ lwz r3, gx@sda21(r13)
+/* 800AE140 000AB080 90 83 04 E8 */ stw r4, 0x4e8(r3)
+/* 800AE144 000AB084 80 8D 82 C8 */ lwz r4, gx@sda21(r13)
+/* 800AE148 000AB088 80 04 04 E8 */ lwz r0, 0x4e8(r4)
+/* 800AE14C 000AB08C 28 00 00 16 */ cmplwi r0, 0x16
+/* 800AE150 000AB090 41 81 03 30 */ bgt lbl_800AE480
+/* 800AE154 000AB094 3C 60 80 3B */ lis r3, "@242"@ha
+/* 800AE158 000AB098 38 63 1B 58 */ addi r3, r3, "@242"@l
+/* 800AE15C 000AB09C 54 00 10 3A */ slwi r0, r0, 2
+/* 800AE160 000AB0A0 7C 03 00 2E */ lwzx r0, r3, r0
+/* 800AE164 000AB0A4 7C 09 03 A6 */ mtctr r0
+/* 800AE168 000AB0A8 4E 80 04 20 */ bctr
+lbl_800AE16C:
+/* 800AE16C 000AB0AC 38 00 00 61 */ li r0, 0x61
+/* 800AE170 000AB0B0 3C 80 CC 01 */ lis r4, 0xCC008000@ha
+/* 800AE174 000AB0B4 3C 60 67 00 */ lis r3, 0x67000042@ha
+/* 800AE178 000AB0B8 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
+/* 800AE17C 000AB0BC 38 03 00 42 */ addi r0, r3, 0x67000042@l
+/* 800AE180 000AB0C0 90 04 80 00 */ stw r0, -0x8000(r4)
+/* 800AE184 000AB0C4 48 00 02 FC */ b lbl_800AE480
+lbl_800AE188:
+/* 800AE188 000AB0C8 38 00 00 61 */ li r0, 0x61
+/* 800AE18C 000AB0CC 3C 80 CC 01 */ lis r4, 0xCC008000@ha
+/* 800AE190 000AB0D0 3C 60 67 00 */ lis r3, 0x67000084@ha
+/* 800AE194 000AB0D4 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
+/* 800AE198 000AB0D8 38 03 00 84 */ addi r0, r3, 0x67000084@l
+/* 800AE19C 000AB0DC 90 04 80 00 */ stw r0, -0x8000(r4)
+/* 800AE1A0 000AB0E0 48 00 02 E0 */ b lbl_800AE480
+lbl_800AE1A4:
+/* 800AE1A4 000AB0E4 38 00 00 61 */ li r0, 0x61
+/* 800AE1A8 000AB0E8 3C 80 CC 01 */ lis r4, 0xCC008000@ha
+/* 800AE1AC 000AB0EC 3C 60 67 00 */ lis r3, 0x67000063@ha
+/* 800AE1B0 000AB0F0 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
+/* 800AE1B4 000AB0F4 38 03 00 63 */ addi r0, r3, 0x67000063@l
+/* 800AE1B8 000AB0F8 90 04 80 00 */ stw r0, -0x8000(r4)
+/* 800AE1BC 000AB0FC 48 00 02 C4 */ b lbl_800AE480
+lbl_800AE1C0:
+/* 800AE1C0 000AB100 38 00 00 61 */ li r0, 0x61
+/* 800AE1C4 000AB104 3C 80 CC 01 */ lis r4, 0xCC008000@ha
+/* 800AE1C8 000AB108 3C 60 67 00 */ lis r3, 0x67000129@ha
+/* 800AE1CC 000AB10C 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
+/* 800AE1D0 000AB110 38 03 01 29 */ addi r0, r3, 0x67000129@l
+/* 800AE1D4 000AB114 90 04 80 00 */ stw r0, -0x8000(r4)
+/* 800AE1D8 000AB118 48 00 02 A8 */ b lbl_800AE480
+lbl_800AE1DC:
+/* 800AE1DC 000AB11C 38 00 00 61 */ li r0, 0x61
+/* 800AE1E0 000AB120 3C 80 CC 01 */ lis r4, 0xCC008000@ha
+/* 800AE1E4 000AB124 3C 60 67 00 */ lis r3, 0x67000252@ha
+/* 800AE1E8 000AB128 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
+/* 800AE1EC 000AB12C 38 03 02 52 */ addi r0, r3, 0x67000252@l
+/* 800AE1F0 000AB130 90 04 80 00 */ stw r0, -0x8000(r4)
+/* 800AE1F4 000AB134 48 00 02 8C */ b lbl_800AE480
+lbl_800AE1F8:
+/* 800AE1F8 000AB138 38 00 00 61 */ li r0, 0x61
+/* 800AE1FC 000AB13C 3C 80 CC 01 */ lis r4, 0xCC008000@ha
+/* 800AE200 000AB140 3C 60 67 00 */ lis r3, 0x67000021@ha
+/* 800AE204 000AB144 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
+/* 800AE208 000AB148 38 03 00 21 */ addi r0, r3, 0x67000021@l
+/* 800AE20C 000AB14C 90 04 80 00 */ stw r0, -0x8000(r4)
+/* 800AE210 000AB150 48 00 02 70 */ b lbl_800AE480
+lbl_800AE214:
+/* 800AE214 000AB154 38 00 00 61 */ li r0, 0x61
+/* 800AE218 000AB158 3C 80 CC 01 */ lis r4, 0xCC008000@ha
+/* 800AE21C 000AB15C 3C 60 67 00 */ lis r3, 0x6700014B@ha
+/* 800AE220 000AB160 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
+/* 800AE224 000AB164 38 03 01 4B */ addi r0, r3, 0x6700014B@l
+/* 800AE228 000AB168 90 04 80 00 */ stw r0, -0x8000(r4)
+/* 800AE22C 000AB16C 48 00 02 54 */ b lbl_800AE480
+lbl_800AE230:
+/* 800AE230 000AB170 38 00 00 61 */ li r0, 0x61
+/* 800AE234 000AB174 3C 80 CC 01 */ lis r4, 0xCC008000@ha
+/* 800AE238 000AB178 3C 60 67 00 */ lis r3, 0x6700018D@ha
+/* 800AE23C 000AB17C 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
+/* 800AE240 000AB180 38 03 01 8D */ addi r0, r3, 0x6700018D@l
+/* 800AE244 000AB184 90 04 80 00 */ stw r0, -0x8000(r4)
+/* 800AE248 000AB188 48 00 02 38 */ b lbl_800AE480
+lbl_800AE24C:
+/* 800AE24C 000AB18C 38 00 00 61 */ li r0, 0x61
+/* 800AE250 000AB190 3C 80 CC 01 */ lis r4, 0xCC008000@ha
+/* 800AE254 000AB194 3C 60 67 00 */ lis r3, 0x670001CF@ha
+/* 800AE258 000AB198 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
+/* 800AE25C 000AB19C 38 03 01 CF */ addi r0, r3, 0x670001CF@l
+/* 800AE260 000AB1A0 90 04 80 00 */ stw r0, -0x8000(r4)
+/* 800AE264 000AB1A4 48 00 02 1C */ b lbl_800AE480
+lbl_800AE268:
+/* 800AE268 000AB1A8 38 00 00 61 */ li r0, 0x61
+/* 800AE26C 000AB1AC 3C 80 CC 01 */ lis r4, 0xCC008000@ha
+/* 800AE270 000AB1B0 3C 60 67 00 */ lis r3, 0x67000211@ha
+/* 800AE274 000AB1B4 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
+/* 800AE278 000AB1B8 38 03 02 11 */ addi r0, r3, 0x67000211@l
+/* 800AE27C 000AB1BC 90 04 80 00 */ stw r0, -0x8000(r4)
+/* 800AE280 000AB1C0 48 00 02 00 */ b lbl_800AE480
+lbl_800AE284:
+/* 800AE284 000AB1C4 38 A4 04 EC */ addi r5, r4, 0x4ec
+/* 800AE288 000AB1C8 80 04 04 EC */ lwz r0, 0x4ec(r4)
+/* 800AE28C 000AB1CC 38 60 00 08 */ li r3, 8
+/* 800AE290 000AB1D0 3C 80 CC 01 */ lis r4, 0xCC008000@ha
+/* 800AE294 000AB1D4 54 00 07 2E */ rlwinm r0, r0, 0, 0x1c, 0x17
+/* 800AE298 000AB1D8 60 00 00 20 */ ori r0, r0, 0x20
+/* 800AE29C 000AB1DC 90 05 00 00 */ stw r0, 0(r5)
+/* 800AE2A0 000AB1E0 38 00 00 20 */ li r0, 0x20
+/* 800AE2A4 000AB1E4 98 64 80 00 */ stb r3, 0xCC008000@l(r4)
+/* 800AE2A8 000AB1E8 80 6D 82 C8 */ lwz r3, gx@sda21(r13)
+/* 800AE2AC 000AB1EC 98 04 80 00 */ stb r0, -0x8000(r4)
+/* 800AE2B0 000AB1F0 80 03 04 EC */ lwz r0, 0x4ec(r3)
+/* 800AE2B4 000AB1F4 90 04 80 00 */ stw r0, -0x8000(r4)
+/* 800AE2B8 000AB1F8 48 00 01 C8 */ b lbl_800AE480
+lbl_800AE2BC:
+/* 800AE2BC 000AB1FC 38 A4 04 EC */ addi r5, r4, 0x4ec
+/* 800AE2C0 000AB200 80 04 04 EC */ lwz r0, 0x4ec(r4)
+/* 800AE2C4 000AB204 38 60 00 08 */ li r3, 8
+/* 800AE2C8 000AB208 3C 80 CC 01 */ lis r4, 0xCC008000@ha
+/* 800AE2CC 000AB20C 54 00 07 2E */ rlwinm r0, r0, 0, 0x1c, 0x17
+/* 800AE2D0 000AB210 60 00 00 30 */ ori r0, r0, 0x30
+/* 800AE2D4 000AB214 90 05 00 00 */ stw r0, 0(r5)
+/* 800AE2D8 000AB218 38 00 00 20 */ li r0, 0x20
+/* 800AE2DC 000AB21C 98 64 80 00 */ stb r3, 0xCC008000@l(r4)
+/* 800AE2E0 000AB220 80 6D 82 C8 */ lwz r3, gx@sda21(r13)
+/* 800AE2E4 000AB224 98 04 80 00 */ stb r0, -0x8000(r4)
+/* 800AE2E8 000AB228 80 03 04 EC */ lwz r0, 0x4ec(r3)
+/* 800AE2EC 000AB22C 90 04 80 00 */ stw r0, -0x8000(r4)
+/* 800AE2F0 000AB230 48 00 01 90 */ b lbl_800AE480
+lbl_800AE2F4:
+/* 800AE2F4 000AB234 38 A4 04 EC */ addi r5, r4, 0x4ec
+/* 800AE2F8 000AB238 80 04 04 EC */ lwz r0, 0x4ec(r4)
+/* 800AE2FC 000AB23C 38 60 00 08 */ li r3, 8
+/* 800AE300 000AB240 3C 80 CC 01 */ lis r4, 0xCC008000@ha
+/* 800AE304 000AB244 54 00 07 2E */ rlwinm r0, r0, 0, 0x1c, 0x17
+/* 800AE308 000AB248 60 00 00 40 */ ori r0, r0, 0x40
+/* 800AE30C 000AB24C 90 05 00 00 */ stw r0, 0(r5)
+/* 800AE310 000AB250 38 00 00 20 */ li r0, 0x20
+/* 800AE314 000AB254 98 64 80 00 */ stb r3, 0xCC008000@l(r4)
+/* 800AE318 000AB258 80 6D 82 C8 */ lwz r3, gx@sda21(r13)
+/* 800AE31C 000AB25C 98 04 80 00 */ stb r0, -0x8000(r4)
+/* 800AE320 000AB260 80 03 04 EC */ lwz r0, 0x4ec(r3)
+/* 800AE324 000AB264 90 04 80 00 */ stw r0, -0x8000(r4)
+/* 800AE328 000AB268 48 00 01 58 */ b lbl_800AE480
+lbl_800AE32C:
+/* 800AE32C 000AB26C 38 A4 04 EC */ addi r5, r4, 0x4ec
+/* 800AE330 000AB270 80 04 04 EC */ lwz r0, 0x4ec(r4)
+/* 800AE334 000AB274 38 60 00 08 */ li r3, 8
+/* 800AE338 000AB278 3C 80 CC 01 */ lis r4, 0xCC008000@ha
+/* 800AE33C 000AB27C 54 00 07 2E */ rlwinm r0, r0, 0, 0x1c, 0x17
+/* 800AE340 000AB280 60 00 00 50 */ ori r0, r0, 0x50
+/* 800AE344 000AB284 90 05 00 00 */ stw r0, 0(r5)
+/* 800AE348 000AB288 38 00 00 20 */ li r0, 0x20
+/* 800AE34C 000AB28C 98 64 80 00 */ stb r3, 0xCC008000@l(r4)
+/* 800AE350 000AB290 80 6D 82 C8 */ lwz r3, gx@sda21(r13)
+/* 800AE354 000AB294 98 04 80 00 */ stb r0, -0x8000(r4)
+/* 800AE358 000AB298 80 03 04 EC */ lwz r0, 0x4ec(r3)
+/* 800AE35C 000AB29C 90 04 80 00 */ stw r0, -0x8000(r4)
+/* 800AE360 000AB2A0 48 00 01 20 */ b lbl_800AE480
+lbl_800AE364:
+/* 800AE364 000AB2A4 38 A4 04 EC */ addi r5, r4, 0x4ec
+/* 800AE368 000AB2A8 80 04 04 EC */ lwz r0, 0x4ec(r4)
+/* 800AE36C 000AB2AC 38 60 00 08 */ li r3, 8
+/* 800AE370 000AB2B0 3C 80 CC 01 */ lis r4, 0xCC008000@ha
+/* 800AE374 000AB2B4 54 00 07 2E */ rlwinm r0, r0, 0, 0x1c, 0x17
+/* 800AE378 000AB2B8 60 00 00 60 */ ori r0, r0, 0x60
+/* 800AE37C 000AB2BC 90 05 00 00 */ stw r0, 0(r5)
+/* 800AE380 000AB2C0 38 00 00 20 */ li r0, 0x20
+/* 800AE384 000AB2C4 98 64 80 00 */ stb r3, 0xCC008000@l(r4)
+/* 800AE388 000AB2C8 80 6D 82 C8 */ lwz r3, gx@sda21(r13)
+/* 800AE38C 000AB2CC 98 04 80 00 */ stb r0, -0x8000(r4)
+/* 800AE390 000AB2D0 80 03 04 EC */ lwz r0, 0x4ec(r3)
+/* 800AE394 000AB2D4 90 04 80 00 */ stw r0, -0x8000(r4)
+/* 800AE398 000AB2D8 48 00 00 E8 */ b lbl_800AE480
+lbl_800AE39C:
+/* 800AE39C 000AB2DC 38 A4 04 EC */ addi r5, r4, 0x4ec
+/* 800AE3A0 000AB2E0 80 04 04 EC */ lwz r0, 0x4ec(r4)
+/* 800AE3A4 000AB2E4 38 60 00 08 */ li r3, 8
+/* 800AE3A8 000AB2E8 3C 80 CC 01 */ lis r4, 0xCC008000@ha
+/* 800AE3AC 000AB2EC 54 00 07 2E */ rlwinm r0, r0, 0, 0x1c, 0x17
+/* 800AE3B0 000AB2F0 60 00 00 70 */ ori r0, r0, 0x70
+/* 800AE3B4 000AB2F4 90 05 00 00 */ stw r0, 0(r5)
+/* 800AE3B8 000AB2F8 38 00 00 20 */ li r0, 0x20
+/* 800AE3BC 000AB2FC 98 64 80 00 */ stb r3, 0xCC008000@l(r4)
+/* 800AE3C0 000AB300 80 6D 82 C8 */ lwz r3, gx@sda21(r13)
+/* 800AE3C4 000AB304 98 04 80 00 */ stb r0, -0x8000(r4)
+/* 800AE3C8 000AB308 80 03 04 EC */ lwz r0, 0x4ec(r3)
+/* 800AE3CC 000AB30C 90 04 80 00 */ stw r0, -0x8000(r4)
+/* 800AE3D0 000AB310 48 00 00 B0 */ b lbl_800AE480
+lbl_800AE3D4:
+/* 800AE3D4 000AB314 38 A4 04 EC */ addi r5, r4, 0x4ec
+/* 800AE3D8 000AB318 80 04 04 EC */ lwz r0, 0x4ec(r4)
+/* 800AE3DC 000AB31C 38 60 00 08 */ li r3, 8
+/* 800AE3E0 000AB320 3C 80 CC 01 */ lis r4, 0xCC008000@ha
+/* 800AE3E4 000AB324 54 00 07 2E */ rlwinm r0, r0, 0, 0x1c, 0x17
+/* 800AE3E8 000AB328 60 00 00 90 */ ori r0, r0, 0x90
+/* 800AE3EC 000AB32C 90 05 00 00 */ stw r0, 0(r5)
+/* 800AE3F0 000AB330 38 00 00 20 */ li r0, 0x20
+/* 800AE3F4 000AB334 98 64 80 00 */ stb r3, 0xCC008000@l(r4)
+/* 800AE3F8 000AB338 80 6D 82 C8 */ lwz r3, gx@sda21(r13)
+/* 800AE3FC 000AB33C 98 04 80 00 */ stb r0, -0x8000(r4)
+/* 800AE400 000AB340 80 03 04 EC */ lwz r0, 0x4ec(r3)
+/* 800AE404 000AB344 90 04 80 00 */ stw r0, -0x8000(r4)
+/* 800AE408 000AB348 48 00 00 78 */ b lbl_800AE480
+lbl_800AE40C:
+/* 800AE40C 000AB34C 38 A4 04 EC */ addi r5, r4, 0x4ec
+/* 800AE410 000AB350 80 04 04 EC */ lwz r0, 0x4ec(r4)
+/* 800AE414 000AB354 38 60 00 08 */ li r3, 8
+/* 800AE418 000AB358 3C 80 CC 01 */ lis r4, 0xCC008000@ha
+/* 800AE41C 000AB35C 54 00 07 2E */ rlwinm r0, r0, 0, 0x1c, 0x17
+/* 800AE420 000AB360 60 00 00 80 */ ori r0, r0, 0x80
+/* 800AE424 000AB364 90 05 00 00 */ stw r0, 0(r5)
+/* 800AE428 000AB368 38 00 00 20 */ li r0, 0x20
+/* 800AE42C 000AB36C 98 64 80 00 */ stb r3, 0xCC008000@l(r4)
+/* 800AE430 000AB370 80 6D 82 C8 */ lwz r3, gx@sda21(r13)
+/* 800AE434 000AB374 98 04 80 00 */ stb r0, -0x8000(r4)
+/* 800AE438 000AB378 80 03 04 EC */ lwz r0, 0x4ec(r3)
+/* 800AE43C 000AB37C 90 04 80 00 */ stw r0, -0x8000(r4)
+/* 800AE440 000AB380 48 00 00 40 */ b lbl_800AE480
+lbl_800AE444:
+/* 800AE444 000AB384 80 6D 95 5C */ lwz r3, __cpReg@sda21(r13)
+/* 800AE448 000AB388 38 00 00 02 */ li r0, 2
+/* 800AE44C 000AB38C B0 03 00 06 */ sth r0, 6(r3)
+/* 800AE450 000AB390 48 00 00 30 */ b lbl_800AE480
+lbl_800AE454:
+/* 800AE454 000AB394 80 6D 95 5C */ lwz r3, __cpReg@sda21(r13)
+/* 800AE458 000AB398 38 00 00 03 */ li r0, 3
+/* 800AE45C 000AB39C B0 03 00 06 */ sth r0, 6(r3)
+/* 800AE460 000AB3A0 48 00 00 20 */ b lbl_800AE480
+lbl_800AE464:
+/* 800AE464 000AB3A4 80 6D 95 5C */ lwz r3, __cpReg@sda21(r13)
+/* 800AE468 000AB3A8 38 00 00 04 */ li r0, 4
+/* 800AE46C 000AB3AC B0 03 00 06 */ sth r0, 6(r3)
+/* 800AE470 000AB3B0 48 00 00 10 */ b lbl_800AE480
+lbl_800AE474:
+/* 800AE474 000AB3B4 80 6D 95 5C */ lwz r3, __cpReg@sda21(r13)
+/* 800AE478 000AB3B8 38 00 00 05 */ li r0, 5
+/* 800AE47C 000AB3BC B0 03 00 06 */ sth r0, 6(r3)
+lbl_800AE480:
+/* 800AE480 000AB3C0 80 6D 82 C8 */ lwz r3, gx@sda21(r13)
+/* 800AE484 000AB3C4 38 00 00 00 */ li r0, 0
+/* 800AE488 000AB3C8 B0 03 00 02 */ sth r0, 2(r3)
+/* 800AE48C 000AB3CC 4E 80 00 20 */ blr
+
+.global GXClearGPMetric
+GXClearGPMetric:
+/* 800AE490 000AB3D0 80 6D 95 5C */ lwz r3, __cpReg@sda21(r13)
+/* 800AE494 000AB3D4 38 00 00 04 */ li r0, 4
+/* 800AE498 000AB3D8 B0 03 00 04 */ sth r0, 4(r3)
+/* 800AE49C 000AB3DC 4E 80 00 20 */ blr
+
+.global GXReadPixMetric
+GXReadPixMetric:
+/* 800AE4A0 000AB3E0 81 2D 95 60 */ lwz r9, __peReg@sda21(r13)
+/* 800AE4A4 000AB3E4 A1 49 00 1A */ lhz r10, 0x1a(r9)
+/* 800AE4A8 000AB3E8 A0 09 00 18 */ lhz r0, 0x18(r9)
+/* 800AE4AC 000AB3EC 51 40 80 1E */ rlwimi r0, r10, 0x10, 0, 0xf
+/* 800AE4B0 000AB3F0 54 00 10 3A */ slwi r0, r0, 2
+/* 800AE4B4 000AB3F4 90 03 00 00 */ stw r0, 0(r3)
+/* 800AE4B8 000AB3F8 80 6D 95 60 */ lwz r3, __peReg@sda21(r13)
+/* 800AE4BC 000AB3FC A1 23 00 1E */ lhz r9, 0x1e(r3)
+/* 800AE4C0 000AB400 A0 03 00 1C */ lhz r0, 0x1c(r3)
+/* 800AE4C4 000AB404 51 20 80 1E */ rlwimi r0, r9, 0x10, 0, 0xf
+/* 800AE4C8 000AB408 54 00 10 3A */ slwi r0, r0, 2
+/* 800AE4CC 000AB40C 90 04 00 00 */ stw r0, 0(r4)
+/* 800AE4D0 000AB410 80 6D 95 60 */ lwz r3, __peReg@sda21(r13)
+/* 800AE4D4 000AB414 A0 83 00 22 */ lhz r4, 0x22(r3)
+/* 800AE4D8 000AB418 A0 03 00 20 */ lhz r0, 0x20(r3)
+/* 800AE4DC 000AB41C 50 80 80 1E */ rlwimi r0, r4, 0x10, 0, 0xf
+/* 800AE4E0 000AB420 54 00 10 3A */ slwi r0, r0, 2
+/* 800AE4E4 000AB424 90 05 00 00 */ stw r0, 0(r5)
+/* 800AE4E8 000AB428 80 6D 95 60 */ lwz r3, __peReg@sda21(r13)
+/* 800AE4EC 000AB42C A0 83 00 26 */ lhz r4, 0x26(r3)
+/* 800AE4F0 000AB430 A0 03 00 24 */ lhz r0, 0x24(r3)
+/* 800AE4F4 000AB434 50 80 80 1E */ rlwimi r0, r4, 0x10, 0, 0xf
+/* 800AE4F8 000AB438 54 00 10 3A */ slwi r0, r0, 2
+/* 800AE4FC 000AB43C 90 06 00 00 */ stw r0, 0(r6)
+/* 800AE500 000AB440 80 6D 95 60 */ lwz r3, __peReg@sda21(r13)
+/* 800AE504 000AB444 A0 03 00 2A */ lhz r0, 0x2a(r3)
+/* 800AE508 000AB448 A0 63 00 28 */ lhz r3, 0x28(r3)
+/* 800AE50C 000AB44C 50 03 80 1E */ rlwimi r3, r0, 0x10, 0, 0xf
+/* 800AE510 000AB450 54 60 10 3A */ slwi r0, r3, 2
+/* 800AE514 000AB454 90 07 00 00 */ stw r0, 0(r7)
+/* 800AE518 000AB458 80 8D 95 60 */ lwz r4, __peReg@sda21(r13)
+/* 800AE51C 000AB45C A0 64 00 2E */ lhz r3, 0x2e(r4)
+/* 800AE520 000AB460 A0 04 00 2C */ lhz r0, 0x2c(r4)
+/* 800AE524 000AB464 50 60 80 1E */ rlwimi r0, r3, 0x10, 0, 0xf
+/* 800AE528 000AB468 90 08 00 00 */ stw r0, 0(r8)
+/* 800AE52C 000AB46C 4E 80 00 20 */ blr
+
+.global GXClearPixMetric
+GXClearPixMetric:
+/* 800AE530 000AB470 38 E0 00 61 */ li r7, 0x61
+/* 800AE534 000AB474 80 6D 82 C8 */ lwz r3, gx@sda21(r13)
+/* 800AE538 000AB478 3C C0 CC 01 */ lis r6, 0xCC008000@ha
+/* 800AE53C 000AB47C 3C A0 57 00 */ lis r5, 0x57000AAA@ha
+/* 800AE540 000AB480 98 E6 80 00 */ stb r7, 0xCC008000@l(r6)
+/* 800AE544 000AB484 38 85 0A AA */ addi r4, r5, 0x57000AAA@l
+/* 800AE548 000AB488 90 A6 80 00 */ stw r5, -0x8000(r6)
+/* 800AE54C 000AB48C 38 00 00 00 */ li r0, 0
+/* 800AE550 000AB490 98 E6 80 00 */ stb r7, -0x8000(r6)
+/* 800AE554 000AB494 90 86 80 00 */ stw r4, -0x8000(r6)
+/* 800AE558 000AB498 B0 03 00 02 */ sth r0, 2(r3)
+/* 800AE55C 000AB49C 4E 80 00 20 */ blr
+
+.section .data, "wa" # 0x803A8380 - 0x803E6000
+"@242":
+ .4byte lbl_800AE16C
+ .4byte lbl_800AE188
+ .4byte lbl_800AE1A4
+ .4byte lbl_800AE1C0
+ .4byte lbl_800AE214
+ .4byte lbl_800AE230
+ .4byte lbl_800AE24C
+ .4byte lbl_800AE268
+ .4byte lbl_800AE1DC
+ .4byte lbl_800AE284
+ .4byte lbl_800AE2BC
+ .4byte lbl_800AE2F4
+ .4byte lbl_800AE32C
+ .4byte lbl_800AE364
+ .4byte lbl_800AE39C
+ .4byte lbl_800AE3D4
+ .4byte lbl_800AE40C
+ .4byte lbl_800AE444
+ .4byte lbl_800AE454
+ .4byte lbl_800AE464
+ .4byte lbl_800AE474
+ .4byte lbl_800AE1F8
+ .4byte lbl_800AE480
+"@241":
+ .4byte lbl_800ADD3C
+ .4byte lbl_800ADD5C
+ .4byte lbl_800ADD7C
+ .4byte lbl_800ADD9C
+ .4byte lbl_800ADDBC
+ .4byte lbl_800ADDDC
+ .4byte lbl_800ADDFC
+ .4byte lbl_800ADE1C
+ .4byte lbl_800ADE3C
+ .4byte lbl_800ADE5C
+ .4byte lbl_800ADE9C
+ .4byte lbl_800ADEBC
+ .4byte lbl_800ADED8
+ .4byte lbl_800ADEF4
+ .4byte lbl_800ADF10
+ .4byte lbl_800ADF2C
+ .4byte lbl_800ADF48
+ .4byte lbl_800ADF64
+ .4byte lbl_800ADF80
+ .4byte lbl_800ADF9C
+ .4byte lbl_800ADFB8
+ .4byte lbl_800ADFD4
+ .4byte lbl_800ADFF0
+ .4byte lbl_800AE00C
+ .4byte lbl_800AE028
+ .4byte lbl_800AE044
+ .4byte lbl_800AE060
+ .4byte lbl_800AE07C
+ .4byte lbl_800AE098
+ .4byte lbl_800AE0B4
+ .4byte lbl_800AE0D0
+ .4byte lbl_800AE0EC
+ .4byte lbl_800AE108
+ .4byte lbl_800AE124
+ .4byte lbl_800ADE7C
+ .4byte lbl_800AE13C