summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/SDK/WPAD/WPAD.s36
-rw-r--r--asm/SDK/WPAD/WPADEncrypt.s (renamed from asm/text_8_7.s)843
-rw-r--r--asm/SDK/WPAD/WPADHIDParser.s78
-rw-r--r--asm/SDK/WPAD/WPADMem.s791
-rw-r--r--asm/SDK/WPAD/debug_msg.s27
-rw-r--r--asm/text_4.s12
-rw-r--r--obj_files.mk4
7 files changed, 902 insertions, 889 deletions
diff --git a/asm/SDK/WPAD/WPAD.s b/asm/SDK/WPAD/WPAD.s
index 954e33f..354d412 100644
--- a/asm/SDK/WPAD/WPAD.s
+++ b/asm/SDK/WPAD/WPAD.s
@@ -9,7 +9,7 @@ noAlloc:
/* 802A5B90 002A17F0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A5B94 002A17F4 38 63 C0 04 */ addi r3, r3, lbl_8043C004@l
/* 802A5B98 002A17F8 4C C6 31 82 */ crclr 6
-/* 802A5B9C 002A17FC 48 00 DC C5 */ bl func_802B3860
+/* 802A5B9C 002A17FC 48 00 DC C5 */ bl DEBUGPrint
/* 802A5BA0 002A1800 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A5BA4 002A1804 38 60 00 00 */ li r3, 0
/* 802A5BA8 002A1808 7C 08 03 A6 */ mtlr r0
@@ -23,7 +23,7 @@ noFree:
/* 802A5BC0 002A1820 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A5BC4 002A1824 38 63 C0 20 */ addi r3, r3, lbl_8043C020@l
/* 802A5BC8 002A1828 4C C6 31 82 */ crclr 6
-/* 802A5BCC 002A182C 48 00 DC 95 */ bl func_802B3860
+/* 802A5BCC 002A182C 48 00 DC 95 */ bl DEBUGPrint
/* 802A5BD0 002A1830 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A5BD4 002A1834 38 60 00 00 */ li r3, 0
/* 802A5BD8 002A1838 7C 08 03 A6 */ mtlr r0
@@ -61,7 +61,7 @@ lbl_802A5C48:
/* 802A5C48 002A18A8 3C 60 80 44 */ lis r3, lbl_8043C03C@ha
/* 802A5C4C 002A18AC 38 63 C0 3C */ addi r3, r3, lbl_8043C03C@l
/* 802A5C50 002A18B0 4C C6 31 82 */ crclr 6
-/* 802A5C54 002A18B4 48 00 DC 0D */ bl func_802B3860
+/* 802A5C54 002A18B4 48 00 DC 0D */ bl DEBUGPrint
/* 802A5C58 002A18B8 3C 60 80 2A */ lis r3, noAlloc@ha
/* 802A5C5C 002A18BC 3C 80 80 2A */ lis r4, noFree@ha
/* 802A5C60 002A18C0 38 63 5B 84 */ addi r3, r3, noAlloc@l
@@ -1739,7 +1739,7 @@ lbl_802A7400:
/* 802A7438 002A3098 3C 60 80 44 */ lis r3, lbl_8043C080@ha
/* 802A743C 002A309C 38 63 C0 80 */ addi r3, r3, lbl_8043C080@l
/* 802A7440 002A30A0 4C C6 31 82 */ crclr 6
-/* 802A7444 002A30A4 48 00 C4 1D */ bl func_802B3860
+/* 802A7444 002A30A4 48 00 C4 1D */ bl DEBUGPrint
/* 802A7448 002A30A8 88 6D AE 4C */ lbz r3, lbl_8064010C-_SDA_BASE_(r13)
/* 802A744C 002A30AC 88 16 31 A2 */ lbz r0, 0x31a2(r22)
/* 802A7450 002A30B0 7C 63 07 74 */ extsb r3, r3
@@ -1753,7 +1753,7 @@ lbl_802A7400:
/* 802A7470 002A30D0 88 96 31 A2 */ lbz r4, 0x31a2(r22)
/* 802A7474 002A30D4 38 63 C0 A8 */ addi r3, r3, lbl_8043C0A8@l
/* 802A7478 002A30D8 4C C6 31 82 */ crclr 6
-/* 802A747C 002A30DC 48 00 C3 E5 */ bl func_802B3860
+/* 802A747C 002A30DC 48 00 C3 E5 */ bl DEBUGPrint
/* 802A7480 002A30E0 88 0D AE 4C */ lbz r0, lbl_8064010C-_SDA_BASE_(r13)
/* 802A7484 002A30E4 7C 03 07 74 */ extsb r3, r0
/* 802A7488 002A30E8 48 00 F8 AD */ bl func_802B6D34
@@ -2058,7 +2058,7 @@ WPADiInitSub:
/* 802A78F8 002A3558 98 04 00 0E */ stb r0, 0xe(r4)
/* 802A78FC 002A355C 98 04 00 0F */ stb r0, 0xf(r4)
/* 802A7900 002A3560 4C C6 31 82 */ crclr 6
-/* 802A7904 002A3564 48 00 BF 5D */ bl func_802B3860
+/* 802A7904 002A3564 48 00 BF 5D */ bl DEBUGPrint
/* 802A7908 002A3568 3B BF 10 60 */ addi r29, r31, 0x1060
/* 802A790C 002A356C 3B 9F 00 30 */ addi r28, r31, 0x30
/* 802A7910 002A3570 3B 00 00 00 */ li r24, 0
@@ -2407,7 +2407,7 @@ lbl_802A7D8C:
/* 802A7DB8 002A3A18 38 8D 89 AC */ addi r4, r13, lbl_8063DC6C-_SDA_BASE_
lbl_802A7DBC:
/* 802A7DBC 002A3A1C 4C C6 31 82 */ crclr 6
-/* 802A7DC0 002A3A20 48 00 BA A1 */ bl func_802B3860
+/* 802A7DC0 002A3A20 48 00 BA A1 */ bl DEBUGPrint
/* 802A7DC4 002A3A24 3F C0 80 2A */ lis r30, abortConnCallback@ha
/* 802A7DC8 002A3A28 38 7D 01 60 */ addi r3, r29, 0x160
/* 802A7DCC 002A3A2C 38 BE 7C 48 */ addi r5, r30, abortConnCallback@l
@@ -3040,7 +3040,7 @@ WPADiConnCallback:
/* 802A872C 002A438C 41 82 01 E0 */ beq lbl_802A890C
/* 802A8730 002A4390 38 7F 01 5C */ addi r3, r31, 0x15c
/* 802A8734 002A4394 4C C6 31 82 */ crclr 6
-/* 802A8738 002A4398 48 00 B1 29 */ bl func_802B3860
+/* 802A8738 002A4398 48 00 B1 29 */ bl DEBUGPrint
/* 802A873C 002A439C 7F 43 D3 78 */ mr r3, r26
/* 802A8740 002A43A0 4B FF FE C9 */ bl WPADiRetrieveChannel
/* 802A8744 002A43A4 3C A0 80 53 */ lis r5, lbl_80536D70@ha
@@ -3163,7 +3163,7 @@ lbl_802A8904:
lbl_802A890C:
/* 802A890C 002A456C 38 7F 01 74 */ addi r3, r31, 0x174
/* 802A8910 002A4570 4C C6 31 82 */ crclr 6
-/* 802A8914 002A4574 48 00 AF 4D */ bl func_802B3860
+/* 802A8914 002A4574 48 00 AF 4D */ bl DEBUGPrint
/* 802A8918 002A4578 3C 60 80 53 */ lis r3, lbl_80537D80@ha
/* 802A891C 002A457C 38 80 FF FF */ li r4, -1
/* 802A8920 002A4580 38 63 7D 80 */ addi r3, r3, lbl_80537D80@l
@@ -3285,7 +3285,7 @@ lbl_802A8AC8:
/* 802A8ACC 002A472C 40 82 FE CC */ bne lbl_802A8998
/* 802A8AD0 002A4730 38 7F 01 90 */ addi r3, r31, 0x190
/* 802A8AD4 002A4734 4C C6 31 82 */ crclr 6
-/* 802A8AD8 002A4738 48 00 AD 89 */ bl func_802B3860
+/* 802A8AD8 002A4738 48 00 AD 89 */ bl DEBUGPrint
/* 802A8ADC 002A473C 80 9C 08 AC */ lwz r4, 0x8ac(r28)
/* 802A8AE0 002A4740 2C 04 00 00 */ cmpwi r4, 0
/* 802A8AE4 002A4744 41 82 00 10 */ beq lbl_802A8AF4
@@ -3309,7 +3309,7 @@ lbl_802A8AF4:
lbl_802A8B28:
/* 802A8B28 002A4788 38 7F 01 A8 */ addi r3, r31, 0x1a8
/* 802A8B2C 002A478C 4C C6 31 82 */ crclr 6
-/* 802A8B30 002A4790 48 00 AD 31 */ bl func_802B3860
+/* 802A8B30 002A4790 48 00 AD 31 */ bl DEBUGPrint
lbl_802A8B34:
/* 802A8B34 002A4794 39 61 00 C0 */ addi r11, r1, 0xc0
/* 802A8B38 002A4798 4B F1 E6 39 */ bl _restgpr_26
@@ -3334,14 +3334,14 @@ WPADiRecvCallback:
/* 802A8B80 002A47E0 3C 60 80 44 */ lis r3, lbl_8043C1A8@ha
/* 802A8B84 002A47E4 38 63 C1 A8 */ addi r3, r3, lbl_8043C1A8@l
/* 802A8B88 002A47E8 4C C6 31 82 */ crclr 6
-/* 802A8B8C 002A47EC 48 00 AC D5 */ bl func_802B3860
+/* 802A8B8C 002A47EC 48 00 AC D5 */ bl DEBUGPrint
/* 802A8B90 002A47F0 48 00 00 18 */ b lbl_802A8BA8
lbl_802A8B94:
/* 802A8B94 002A47F4 3C 60 80 44 */ lis r3, lbl_8043C1C0@ha
/* 802A8B98 002A47F8 7C 04 03 78 */ mr r4, r0
/* 802A8B9C 002A47FC 38 63 C1 C0 */ addi r3, r3, lbl_8043C1C0@l
/* 802A8BA0 002A4800 4C C6 31 82 */ crclr 6
-/* 802A8BA4 002A4804 48 00 AC BD */ bl func_802B3860
+/* 802A8BA4 002A4804 48 00 AC BD */ bl DEBUGPrint
lbl_802A8BA8:
/* 802A8BA8 002A4808 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A8BAC 002A480C 7C 08 03 A6 */ mtlr r0
@@ -3525,7 +3525,7 @@ WPADSetSamplingCallback:
/* 802A8E20 002A4A80 93 C1 00 08 */ stw r30, 8(r1)
/* 802A8E24 002A4A84 7C 9E 23 78 */ mr r30, r4
/* 802A8E28 002A4A88 4C C6 31 82 */ crclr 6
-/* 802A8E2C 002A4A8C 48 00 AA 35 */ bl func_802B3860
+/* 802A8E2C 002A4A8C 48 00 AA 35 */ bl DEBUGPrint
/* 802A8E30 002A4A90 4B FC 59 2D */ bl OSDisableInterrupts
/* 802A8E34 002A4A94 3C 80 80 53 */ lis r4, lbl_80536D70@ha
/* 802A8E38 002A4A98 57 E0 10 3A */ slwi r0, r31, 2
@@ -3554,7 +3554,7 @@ WPADSetConnectCallback:
/* 802A8E88 002A4AE8 93 C1 00 08 */ stw r30, 8(r1)
/* 802A8E8C 002A4AEC 7C 9E 23 78 */ mr r30, r4
/* 802A8E90 002A4AF0 4C C6 31 82 */ crclr 6
-/* 802A8E94 002A4AF4 48 00 A9 CD */ bl func_802B3860
+/* 802A8E94 002A4AF4 48 00 A9 CD */ bl DEBUGPrint
/* 802A8E98 002A4AF8 4B FC 58 C5 */ bl OSDisableInterrupts
/* 802A8E9C 002A4AFC 3C 80 80 53 */ lis r4, lbl_80536D70@ha
/* 802A8EA0 002A4B00 57 E0 10 3A */ slwi r0, r31, 2
@@ -3583,7 +3583,7 @@ WPADSetExtensionCallback:
/* 802A8EF0 002A4B50 93 C1 00 08 */ stw r30, 8(r1)
/* 802A8EF4 002A4B54 7C 9E 23 78 */ mr r30, r4
/* 802A8EF8 002A4B58 4C C6 31 82 */ crclr 6
-/* 802A8EFC 002A4B5C 48 00 A9 65 */ bl func_802B3860
+/* 802A8EFC 002A4B5C 48 00 A9 65 */ bl DEBUGPrint
/* 802A8F00 002A4B60 4B FC 58 5D */ bl OSDisableInterrupts
/* 802A8F04 002A4B64 3C 80 80 53 */ lis r4, lbl_80536D70@ha
/* 802A8F08 002A4B68 57 E0 10 3A */ slwi r0, r31, 2
@@ -4248,7 +4248,7 @@ WPADSetAutoSamplingBuf:
/* 802A9830 002A5490 7C BF 2B 78 */ mr r31, r5
/* 802A9834 002A5494 38 66 C2 40 */ addi r3, r6, lbl_8043C240@l
/* 802A9838 002A5498 4C C6 31 82 */ crclr 6
-/* 802A983C 002A549C 48 00 A0 25 */ bl func_802B3860
+/* 802A983C 002A549C 48 00 A0 25 */ bl DEBUGPrint
/* 802A9840 002A54A0 4B FC 4F 1D */ bl OSDisableInterrupts
/* 802A9844 002A54A4 3C 80 80 53 */ lis r4, lbl_80536D70@ha
/* 802A9848 002A54A8 57 40 10 3A */ slwi r0, r26, 2
@@ -7576,7 +7576,7 @@ lbl_802AC910:
/* 802AC918 002A8578 38 63 C2 5C */ addi r3, r3, lbl_8043C25C@l
/* 802AC91C 002A857C 7F A4 07 74 */ extsb r4, r29
/* 802AC920 002A8580 4C C6 31 82 */ crclr 6
-/* 802AC924 002A8584 48 00 6F 3D */ bl func_802B3860
+/* 802AC924 002A8584 48 00 6F 3D */ bl DEBUGPrint
/* 802AC928 002A8588 38 19 00 12 */ addi r0, r25, 0x12
/* 802AC92C 002A858C 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 802AC930 002A8590 48 00 D1 7D */ bl func_802B9AAC
diff --git a/asm/text_8_7.s b/asm/SDK/WPAD/WPADEncrypt.s
index 5b499d7..a7db3ad 100644
--- a/asm/text_8_7.s
+++ b/asm/SDK/WPAD/WPADEncrypt.s
@@ -2,8 +2,8 @@
.section .text, "ax" # 0x80006980 - 0x803E1E60
-.global func_802B1C70
-func_802B1C70:
+.global WPADiCreateKey
+WPADiCreateKey:
/* 802B1C70 002AD8D0 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 802B1C74 002AD8D4 7C 08 02 A6 */ mflr r0
/* 802B1C78 002AD8D8 90 01 00 A4 */ stw r0, 0xa4(r1)
@@ -117,7 +117,7 @@ lbl_802B1D38:
/* 802B1E24 002ADA84 89 11 00 04 */ lbz r8, 4(r17)
/* 802B1E28 002ADA88 89 31 00 05 */ lbz r9, 5(r17)
/* 802B1E2C 002ADA8C 4C C6 31 82 */ crclr 6
-/* 802B1E30 002ADA90 48 00 1A 31 */ bl func_802B3860
+/* 802B1E30 002ADA90 48 00 1A 31 */ bl DEBUGPrint
/* 802B1E34 002ADA94 8B 61 00 2F */ lbz r27, 0x2f(r1)
/* 802B1E38 002ADA98 38 7E 12 7C */ addi r3, r30, 0x127c
/* 802B1E3C 002ADA9C 8B 41 00 2E */ lbz r26, 0x2e(r1)
@@ -139,7 +139,7 @@ lbl_802B1D38:
/* 802B1E7C 002ADADC 88 81 00 28 */ lbz r4, 0x28(r1)
/* 802B1E80 002ADAE0 7E A5 AB 78 */ mr r5, r21
/* 802B1E84 002ADAE4 4C C6 31 82 */ crclr 6
-/* 802B1E88 002ADAE8 48 00 19 D9 */ bl func_802B3860
+/* 802B1E88 002ADAE8 48 00 19 D9 */ bl DEBUGPrint
/* 802B1E8C 002ADAEC 3B FE 00 30 */ addi r31, r30, 0x30
/* 802B1E90 002ADAF0 8A 41 00 28 */ lbz r18, 0x28(r1)
/* 802B1E94 002ADAF4 7C 1F D8 AE */ lbzx r0, r31, r27
@@ -157,7 +157,7 @@ lbl_802B1D38:
/* 802B1EC4 002ADB24 7D 3F C8 AE */ lbzx r9, r31, r25
/* 802B1EC8 002ADB28 7D 5F D0 AE */ lbzx r10, r31, r26
/* 802B1ECC 002ADB2C 4C C6 31 82 */ crclr 6
-/* 802B1ED0 002ADB30 48 00 19 91 */ bl func_802B3860
+/* 802B1ED0 002ADB30 48 00 19 91 */ bl DEBUGPrint
/* 802B1ED4 002ADB34 4B FB C8 89 */ bl OSDisableInterrupts
/* 802B1ED8 002ADB38 7C 9F B0 AE */ lbzx r4, r31, r22
/* 802B1EDC 002ADB3C 7C BF 90 AE */ lbzx r5, r31, r18
@@ -275,7 +275,7 @@ lbl_802B1D38:
/* 802B209C 002ADCFC 7E 48 93 78 */ mr r8, r18
/* 802B20A0 002ADD00 7E 29 8B 78 */ mr r9, r17
/* 802B20A4 002ADD04 4C C6 31 82 */ crclr 6
-/* 802B20A8 002ADD08 48 00 17 B9 */ bl func_802B3860
+/* 802B20A8 002ADD08 48 00 17 B9 */ bl DEBUGPrint
/* 802B20AC 002ADD0C 38 6F 00 01 */ addi r3, r15, 1
/* 802B20B0 002ADD10 38 0F 00 02 */ addi r0, r15, 2
/* 802B20B4 002ADD14 54 6A 40 2E */ slwi r10, r3, 8
@@ -372,7 +372,7 @@ lbl_802B1D38:
/* 802B2220 002ADE80 89 21 00 25 */ lbz r9, 0x25(r1)
/* 802B2224 002ADE84 89 41 00 26 */ lbz r10, 0x26(r1)
/* 802B2228 002ADE88 4C C6 31 82 */ crclr 6
-/* 802B222C 002ADE8C 48 00 16 35 */ bl func_802B3860
+/* 802B222C 002ADE8C 48 00 16 35 */ bl DEBUGPrint
/* 802B2230 002ADE90 88 01 00 1F */ lbz r0, 0x1f(r1)
/* 802B2234 002ADE94 38 7E 13 08 */ addi r3, r30, 0x1308
/* 802B2238 002ADE98 90 01 00 08 */ stw r0, 8(r1)
@@ -384,7 +384,7 @@ lbl_802B1D38:
/* 802B2250 002ADEB0 89 21 00 1D */ lbz r9, 0x1d(r1)
/* 802B2254 002ADEB4 89 41 00 1E */ lbz r10, 0x1e(r1)
/* 802B2258 002ADEB8 4C C6 31 82 */ crclr 6
-/* 802B225C 002ADEBC 48 00 16 05 */ bl func_802B3860
+/* 802B225C 002ADEBC 48 00 16 05 */ bl DEBUGPrint
/* 802B2260 002ADEC0 38 60 00 00 */ li r3, 0
/* 802B2264 002ADEC4 38 C1 00 28 */ addi r6, r1, 0x28
/* 802B2268 002ADEC8 20 83 00 09 */ subfic r4, r3, 9
@@ -450,8 +450,8 @@ lbl_802B1D38:
/* 802B2358 002ADFB8 38 21 00 A0 */ addi r1, r1, 0xa0
/* 802B235C 002ADFBC 4E 80 00 20 */ blr
-.global func_802B2360
-func_802B2360:
+.global WPADiCreateKeyFor3rd
+WPADiCreateKeyFor3rd:
/* 802B2360 002ADFC0 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 802B2364 002ADFC4 7C 08 02 A6 */ mflr r0
/* 802B2368 002ADFC8 90 01 00 A4 */ stw r0, 0xa4(r1)
@@ -565,7 +565,7 @@ lbl_802B2428:
/* 802B2514 002AE174 89 11 00 04 */ lbz r8, 4(r17)
/* 802B2518 002AE178 89 31 00 05 */ lbz r9, 5(r17)
/* 802B251C 002AE17C 4C C6 31 82 */ crclr 6
-/* 802B2520 002AE180 48 00 13 41 */ bl func_802B3860
+/* 802B2520 002AE180 48 00 13 41 */ bl DEBUGPrint
/* 802B2524 002AE184 8B 61 00 2F */ lbz r27, 0x2f(r1)
/* 802B2528 002AE188 38 7E 12 7C */ addi r3, r30, 0x127c
/* 802B252C 002AE18C 8B 41 00 2E */ lbz r26, 0x2e(r1)
@@ -587,7 +587,7 @@ lbl_802B2428:
/* 802B256C 002AE1CC 88 81 00 28 */ lbz r4, 0x28(r1)
/* 802B2570 002AE1D0 7E A5 AB 78 */ mr r5, r21
/* 802B2574 002AE1D4 4C C6 31 82 */ crclr 6
-/* 802B2578 002AE1D8 48 00 12 E9 */ bl func_802B3860
+/* 802B2578 002AE1D8 48 00 12 E9 */ bl DEBUGPrint
/* 802B257C 002AE1DC 3B FE 09 60 */ addi r31, r30, 0x960
/* 802B2580 002AE1E0 8A 41 00 28 */ lbz r18, 0x28(r1)
/* 802B2584 002AE1E4 7C 1F D8 AE */ lbzx r0, r31, r27
@@ -605,7 +605,7 @@ lbl_802B2428:
/* 802B25B4 002AE214 7D 3F C8 AE */ lbzx r9, r31, r25
/* 802B25B8 002AE218 7D 5F D0 AE */ lbzx r10, r31, r26
/* 802B25BC 002AE21C 4C C6 31 82 */ crclr 6
-/* 802B25C0 002AE220 48 00 12 A1 */ bl func_802B3860
+/* 802B25C0 002AE220 48 00 12 A1 */ bl DEBUGPrint
/* 802B25C4 002AE224 4B FB C1 99 */ bl OSDisableInterrupts
/* 802B25C8 002AE228 7C 1F A8 AE */ lbzx r0, r31, r21
/* 802B25CC 002AE22C 7D 7F B0 AE */ lbzx r11, r31, r22
@@ -725,7 +725,7 @@ lbl_802B2428:
/* 802B2794 002AE3F4 7E 48 93 78 */ mr r8, r18
/* 802B2798 002AE3F8 7E 29 8B 78 */ mr r9, r17
/* 802B279C 002AE3FC 4C C6 31 82 */ crclr 6
-/* 802B27A0 002AE400 48 00 10 C1 */ bl func_802B3860
+/* 802B27A0 002AE400 48 00 10 C1 */ bl DEBUGPrint
/* 802B27A4 002AE404 38 6F 00 01 */ addi r3, r15, 1
/* 802B27A8 002AE408 38 0F 00 02 */ addi r0, r15, 2
/* 802B27AC 002AE40C 54 6A 40 2E */ slwi r10, r3, 8
@@ -822,7 +822,7 @@ lbl_802B2428:
/* 802B2918 002AE578 89 21 00 25 */ lbz r9, 0x25(r1)
/* 802B291C 002AE57C 89 41 00 26 */ lbz r10, 0x26(r1)
/* 802B2920 002AE580 4C C6 31 82 */ crclr 6
-/* 802B2924 002AE584 48 00 0F 3D */ bl func_802B3860
+/* 802B2924 002AE584 48 00 0F 3D */ bl DEBUGPrint
/* 802B2928 002AE588 88 01 00 1F */ lbz r0, 0x1f(r1)
/* 802B292C 002AE58C 38 7E 13 08 */ addi r3, r30, 0x1308
/* 802B2930 002AE590 90 01 00 08 */ stw r0, 8(r1)
@@ -834,7 +834,7 @@ lbl_802B2428:
/* 802B2948 002AE5A8 89 21 00 1D */ lbz r9, 0x1d(r1)
/* 802B294C 002AE5AC 89 41 00 1E */ lbz r10, 0x1e(r1)
/* 802B2950 002AE5B0 4C C6 31 82 */ crclr 6
-/* 802B2954 002AE5B4 48 00 0F 0D */ bl func_802B3860
+/* 802B2954 002AE5B4 48 00 0F 0D */ bl DEBUGPrint
/* 802B2958 002AE5B8 38 60 00 00 */ li r3, 0
/* 802B295C 002AE5BC 38 C1 00 28 */ addi r6, r1, 0x28
/* 802B2960 002AE5C0 20 83 00 09 */ subfic r4, r3, 9
@@ -900,8 +900,8 @@ lbl_802B2428:
/* 802B2A50 002AE6B0 38 21 00 A0 */ addi r1, r1, 0xa0
/* 802B2A54 002AE6B4 4E 80 00 20 */ blr
-.global func_802B2A58
-func_802B2A58:
+.global WPADiDecode
+WPADiDecode:
/* 802B2A58 002AE6B8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802B2A5C 002AE6BC 3D 00 80 53 */ lis r8, lbl_80536D70@ha
/* 802B2A60 002AE6C0 2C 05 00 00 */ cmpwi r5, 0
@@ -1082,810 +1082,3 @@ lbl_802B2D08:
/* 802B2D0C 002AE96C 83 C1 00 08 */ lwz r30, 8(r1)
/* 802B2D10 002AE970 38 21 00 10 */ addi r1, r1, 0x10
/* 802B2D14 002AE974 4E 80 00 20 */ blr
-lbl_802B2D18:
-/* 802B2D18 002AE978 1C C3 00 14 */ mulli r6, r3, 0x14
-/* 802B2D1C 002AE97C 3C A0 80 54 */ lis r5, lbl_8053A480@ha
-/* 802B2D20 002AE980 38 00 00 00 */ li r0, 0
-/* 802B2D24 002AE984 38 A5 A4 80 */ addi r5, r5, lbl_8053A480@l
-/* 802B2D28 002AE988 7C 05 31 2E */ stwx r0, r5, r6
-/* 802B2D2C 002AE98C 7C A5 32 14 */ add r5, r5, r6
-/* 802B2D30 002AE990 81 85 00 10 */ lwz r12, 0x10(r5)
-/* 802B2D34 002AE994 2C 0C 00 00 */ cmpwi r12, 0
-/* 802B2D38 002AE998 90 05 00 10 */ stw r0, 0x10(r5)
-/* 802B2D3C 002AE99C 4D 82 00 20 */ beqlr
-/* 802B2D40 002AE9A0 7D 89 03 A6 */ mtctr r12
-/* 802B2D44 002AE9A4 4E 80 04 20 */ bctr
-/* 802B2D48 002AE9A8 4E 80 00 20 */ blr
-lbl_802B2D4C:
-/* 802B2D4C 002AE9AC 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 802B2D50 002AE9B0 7C 08 02 A6 */ mflr r0
-/* 802B2D54 002AE9B4 3C C0 80 54 */ lis r6, lbl_8053A480@ha
-/* 802B2D58 002AE9B8 90 01 00 24 */ stw r0, 0x24(r1)
-/* 802B2D5C 002AE9BC 38 C6 A4 80 */ addi r6, r6, lbl_8053A480@l
-/* 802B2D60 002AE9C0 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 802B2D64 002AE9C4 7C 7F 1B 78 */ mr r31, r3
-/* 802B2D68 002AE9C8 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 802B2D6C 002AE9CC 1F C3 00 14 */ mulli r30, r3, 0x14
-/* 802B2D70 002AE9D0 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 802B2D74 002AE9D4 7C A6 F2 14 */ add r5, r6, r30
-/* 802B2D78 002AE9D8 93 81 00 10 */ stw r28, 0x10(r1)
-/* 802B2D7C 002AE9DC A0 E5 00 08 */ lhz r7, 8(r5)
-/* 802B2D80 002AE9E0 2C 07 00 00 */ cmpwi r7, 0
-/* 802B2D84 002AE9E4 40 82 00 28 */ bne lbl_802B2DAC
-/* 802B2D88 002AE9E8 38 00 00 00 */ li r0, 0
-/* 802B2D8C 002AE9EC 7C 06 F1 2E */ stwx r0, r6, r30
-/* 802B2D90 002AE9F0 81 85 00 10 */ lwz r12, 0x10(r5)
-/* 802B2D94 002AE9F4 2C 0C 00 00 */ cmpwi r12, 0
-/* 802B2D98 002AE9F8 90 05 00 10 */ stw r0, 0x10(r5)
-/* 802B2D9C 002AE9FC 41 82 01 00 */ beq lbl_802B2E9C
-/* 802B2DA0 002AEA00 7D 89 03 A6 */ mtctr r12
-/* 802B2DA4 002AEA04 4E 80 04 21 */ bctrl
-/* 802B2DA8 002AEA08 48 00 00 F4 */ b lbl_802B2E9C
-lbl_802B2DAC:
-/* 802B2DAC 002AEA0C 28 07 00 10 */ cmplwi r7, 0x10
-/* 802B2DB0 002AEA10 38 00 00 10 */ li r0, 0x10
-/* 802B2DB4 002AEA14 41 81 00 08 */ bgt lbl_802B2DBC
-/* 802B2DB8 002AEA18 7C E0 3B 78 */ mr r0, r7
-lbl_802B2DBC:
-/* 802B2DBC 002AEA1C 2C 04 00 00 */ cmpwi r4, 0
-/* 802B2DC0 002AEA20 54 1C 04 3E */ clrlwi r28, r0, 0x10
-/* 802B2DC4 002AEA24 40 82 00 64 */ bne lbl_802B2E28
-/* 802B2DC8 002AEA28 A0 05 00 08 */ lhz r0, 8(r5)
-/* 802B2DCC 002AEA2C 3C 60 80 54 */ lis r3, lbl_8053A480@ha
-/* 802B2DD0 002AEA30 38 63 A4 80 */ addi r3, r3, lbl_8053A480@l
-/* 802B2DD4 002AEA34 7C 1C 00 50 */ subf r0, r28, r0
-/* 802B2DD8 002AEA38 B0 05 00 08 */ sth r0, 8(r5)
-/* 802B2DDC 002AEA3C 7F C3 F2 14 */ add r30, r3, r30
-/* 802B2DE0 002AEA40 80 7E 00 0C */ lwz r3, 0xc(r30)
-/* 802B2DE4 002AEA44 38 03 00 10 */ addi r0, r3, 0x10
-/* 802B2DE8 002AEA48 90 1E 00 0C */ stw r0, 0xc(r30)
-/* 802B2DEC 002AEA4C 80 7E 00 04 */ lwz r3, 4(r30)
-/* 802B2DF0 002AEA50 38 03 00 10 */ addi r0, r3, 0x10
-/* 802B2DF4 002AEA54 90 1E 00 04 */ stw r0, 4(r30)
-/* 802B2DF8 002AEA58 4B FB B9 65 */ bl OSDisableInterrupts
-/* 802B2DFC 002AEA5C 3C E0 80 2B */ lis r7, lbl_802B2D4C@ha
-/* 802B2E00 002AEA60 80 9E 00 04 */ lwz r4, 4(r30)
-/* 802B2E04 002AEA64 7C 7D 1B 78 */ mr r29, r3
-/* 802B2E08 002AEA68 80 DE 00 0C */ lwz r6, 0xc(r30)
-/* 802B2E0C 002AEA6C 7F E3 FB 78 */ mr r3, r31
-/* 802B2E10 002AEA70 7F 85 E3 78 */ mr r5, r28
-/* 802B2E14 002AEA74 38 E7 2D 4C */ addi r7, r7, lbl_802B2D4C@l
-/* 802B2E18 002AEA78 48 00 08 25 */ bl func_802B363C
-/* 802B2E1C 002AEA7C 7F A3 EB 78 */ mr r3, r29
-/* 802B2E20 002AEA80 4B FB B9 65 */ bl OSRestoreInterrupts
-/* 802B2E24 002AEA84 48 00 00 78 */ b lbl_802B2E9C
-lbl_802B2E28:
-/* 802B2E28 002AEA88 2C 04 FF FE */ cmpwi r4, -2
-/* 802B2E2C 002AEA8C 40 82 00 40 */ bne lbl_802B2E6C
-/* 802B2E30 002AEA90 4B FB B9 2D */ bl OSDisableInterrupts
-/* 802B2E34 002AEA94 3C 80 80 54 */ lis r4, lbl_8053A480@ha
-/* 802B2E38 002AEA98 3C E0 80 2B */ lis r7, lbl_802B2D4C@ha
-/* 802B2E3C 002AEA9C 38 84 A4 80 */ addi r4, r4, lbl_8053A480@l
-/* 802B2E40 002AEAA0 7C 7D 1B 78 */ mr r29, r3
-/* 802B2E44 002AEAA4 7C C4 F2 14 */ add r6, r4, r30
-/* 802B2E48 002AEAA8 7F E3 FB 78 */ mr r3, r31
-/* 802B2E4C 002AEAAC 80 86 00 04 */ lwz r4, 4(r6)
-/* 802B2E50 002AEAB0 7F 85 E3 78 */ mr r5, r28
-/* 802B2E54 002AEAB4 80 C6 00 0C */ lwz r6, 0xc(r6)
-/* 802B2E58 002AEAB8 38 E7 2D 4C */ addi r7, r7, lbl_802B2D4C@l
-/* 802B2E5C 002AEABC 48 00 07 E1 */ bl func_802B363C
-/* 802B2E60 002AEAC0 7F A3 EB 78 */ mr r3, r29
-/* 802B2E64 002AEAC4 4B FB B9 21 */ bl OSRestoreInterrupts
-/* 802B2E68 002AEAC8 48 00 00 34 */ b lbl_802B2E9C
-lbl_802B2E6C:
-/* 802B2E6C 002AEACC 3C 60 80 54 */ lis r3, lbl_8053A480@ha
-/* 802B2E70 002AEAD0 38 00 00 00 */ li r0, 0
-/* 802B2E74 002AEAD4 38 63 A4 80 */ addi r3, r3, lbl_8053A480@l
-/* 802B2E78 002AEAD8 7C 03 F1 2E */ stwx r0, r3, r30
-/* 802B2E7C 002AEADC 7C 63 F2 14 */ add r3, r3, r30
-/* 802B2E80 002AEAE0 81 83 00 10 */ lwz r12, 0x10(r3)
-/* 802B2E84 002AEAE4 2C 0C 00 00 */ cmpwi r12, 0
-/* 802B2E88 002AEAE8 90 03 00 10 */ stw r0, 0x10(r3)
-/* 802B2E8C 002AEAEC 41 82 00 10 */ beq lbl_802B2E9C
-/* 802B2E90 002AEAF0 7F E3 FB 78 */ mr r3, r31
-/* 802B2E94 002AEAF4 7D 89 03 A6 */ mtctr r12
-/* 802B2E98 002AEAF8 4E 80 04 21 */ bctrl
-lbl_802B2E9C:
-/* 802B2E9C 002AEAFC 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 802B2EA0 002AEB00 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 802B2EA4 002AEB04 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 802B2EA8 002AEB08 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 802B2EAC 002AEB0C 83 81 00 10 */ lwz r28, 0x10(r1)
-/* 802B2EB0 002AEB10 7C 08 03 A6 */ mtlr r0
-/* 802B2EB4 002AEB14 38 21 00 20 */ addi r1, r1, 0x20
-/* 802B2EB8 002AEB18 4E 80 00 20 */ blr
-lbl_802B2EBC:
-/* 802B2EBC 002AEB1C 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 802B2EC0 002AEB20 7C 08 02 A6 */ mflr r0
-/* 802B2EC4 002AEB24 3C A0 80 53 */ lis r5, lbl_80536D70@ha
-/* 802B2EC8 002AEB28 90 01 00 24 */ stw r0, 0x24(r1)
-/* 802B2ECC 002AEB2C 54 60 10 3A */ slwi r0, r3, 2
-/* 802B2ED0 002AEB30 38 A5 6D 70 */ addi r5, r5, lbl_80536D70@l
-/* 802B2ED4 002AEB34 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 802B2ED8 002AEB38 7C 7F 1B 78 */ mr r31, r3
-/* 802B2EDC 002AEB3C 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 802B2EE0 002AEB40 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 802B2EE4 002AEB44 93 81 00 10 */ stw r28, 0x10(r1)
-/* 802B2EE8 002AEB48 7C C5 00 2E */ lwzx r6, r5, r0
-/* 802B2EEC 002AEB4C 80 06 00 3C */ lwz r0, 0x3c(r6)
-/* 802B2EF0 002AEB50 2C 00 00 00 */ cmpwi r0, 0
-/* 802B2EF4 002AEB54 40 82 00 1C */ bne lbl_802B2F10
-/* 802B2EF8 002AEB58 7C 85 00 34 */ cntlzw r5, r4
-/* 802B2EFC 002AEB5C 38 00 FF FD */ li r0, -3
-/* 802B2F00 002AEB60 54 A5 DF FE */ rlwinm r5, r5, 0x1b, 0x1f, 0x1f
-/* 802B2F04 002AEB64 7C A5 00 D0 */ neg r5, r5
-/* 802B2F08 002AEB68 7C 00 28 78 */ andc r0, r0, r5
-/* 802B2F0C 002AEB6C 90 06 00 3C */ stw r0, 0x3c(r6)
-lbl_802B2F10:
-/* 802B2F10 002AEB70 2C 04 00 00 */ cmpwi r4, 0
-/* 802B2F14 002AEB74 40 82 00 90 */ bne lbl_802B2FA4
-/* 802B2F18 002AEB78 80 06 00 38 */ lwz r0, 0x38(r6)
-/* 802B2F1C 002AEB7C 2C 00 00 00 */ cmpwi r0, 0
-/* 802B2F20 002AEB80 41 82 00 10 */ beq lbl_802B2F30
-/* 802B2F24 002AEB84 80 06 00 3C */ lwz r0, 0x3c(r6)
-/* 802B2F28 002AEB88 2C 00 00 00 */ cmpwi r0, 0
-/* 802B2F2C 002AEB8C 40 82 00 74 */ bne lbl_802B2FA0
-lbl_802B2F30:
-/* 802B2F30 002AEB90 1F C3 00 14 */ mulli r30, r3, 0x14
-/* 802B2F34 002AEB94 3C 80 80 54 */ lis r4, lbl_8053A480@ha
-/* 802B2F38 002AEB98 38 60 00 10 */ li r3, 0x10
-/* 802B2F3C 002AEB9C 38 84 A4 80 */ addi r4, r4, lbl_8053A480@l
-/* 802B2F40 002AEBA0 7C 84 F2 14 */ add r4, r4, r30
-/* 802B2F44 002AEBA4 A0 04 00 08 */ lhz r0, 8(r4)
-/* 802B2F48 002AEBA8 28 00 00 10 */ cmplwi r0, 0x10
-/* 802B2F4C 002AEBAC 41 81 00 08 */ bgt lbl_802B2F54
-/* 802B2F50 002AEBB0 7C 03 03 78 */ mr r3, r0
-lbl_802B2F54:
-/* 802B2F54 002AEBB4 A0 04 00 08 */ lhz r0, 8(r4)
-/* 802B2F58 002AEBB8 54 7C 04 3E */ clrlwi r28, r3, 0x10
-/* 802B2F5C 002AEBBC 7C 1C 00 50 */ subf r0, r28, r0
-/* 802B2F60 002AEBC0 B0 04 00 08 */ sth r0, 8(r4)
-/* 802B2F64 002AEBC4 4B FB B7 F9 */ bl OSDisableInterrupts
-/* 802B2F68 002AEBC8 3C 80 80 54 */ lis r4, lbl_8053A480@ha
-/* 802B2F6C 002AEBCC 3C E0 80 2B */ lis r7, lbl_802B2D4C@ha
-/* 802B2F70 002AEBD0 38 84 A4 80 */ addi r4, r4, lbl_8053A480@l
-/* 802B2F74 002AEBD4 7C 7D 1B 78 */ mr r29, r3
-/* 802B2F78 002AEBD8 7C C4 F2 14 */ add r6, r4, r30
-/* 802B2F7C 002AEBDC 7F E3 FB 78 */ mr r3, r31
-/* 802B2F80 002AEBE0 80 86 00 04 */ lwz r4, 4(r6)
-/* 802B2F84 002AEBE4 7F 85 E3 78 */ mr r5, r28
-/* 802B2F88 002AEBE8 80 C6 00 0C */ lwz r6, 0xc(r6)
-/* 802B2F8C 002AEBEC 38 E7 2D 4C */ addi r7, r7, lbl_802B2D4C@l
-/* 802B2F90 002AEBF0 48 00 06 AD */ bl func_802B363C
-/* 802B2F94 002AEBF4 7F A3 EB 78 */ mr r3, r29
-/* 802B2F98 002AEBF8 4B FB B7 ED */ bl OSRestoreInterrupts
-/* 802B2F9C 002AEBFC 48 00 00 40 */ b lbl_802B2FDC
-lbl_802B2FA0:
-/* 802B2FA0 002AEC00 38 80 FF FD */ li r4, -3
-lbl_802B2FA4:
-/* 802B2FA4 002AEC04 1C C3 00 14 */ mulli r6, r3, 0x14
-/* 802B2FA8 002AEC08 3C A0 80 54 */ lis r5, lbl_8053A480@ha
-/* 802B2FAC 002AEC0C 38 A5 A4 80 */ addi r5, r5, lbl_8053A480@l
-/* 802B2FB0 002AEC10 7F A5 32 14 */ add r29, r5, r6
-/* 802B2FB4 002AEC14 80 1D 00 10 */ lwz r0, 0x10(r29)
-/* 802B2FB8 002AEC18 2C 00 00 00 */ cmpwi r0, 0
-/* 802B2FBC 002AEC1C 41 82 00 20 */ beq lbl_802B2FDC
-/* 802B2FC0 002AEC20 3B C0 00 00 */ li r30, 0
-/* 802B2FC4 002AEC24 7F E3 FB 78 */ mr r3, r31
-/* 802B2FC8 002AEC28 7F C5 31 2E */ stwx r30, r5, r6
-/* 802B2FCC 002AEC2C 81 9D 00 10 */ lwz r12, 0x10(r29)
-/* 802B2FD0 002AEC30 7D 89 03 A6 */ mtctr r12
-/* 802B2FD4 002AEC34 4E 80 04 21 */ bctrl
-/* 802B2FD8 002AEC38 93 DD 00 10 */ stw r30, 0x10(r29)
-lbl_802B2FDC:
-/* 802B2FDC 002AEC3C 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 802B2FE0 002AEC40 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 802B2FE4 002AEC44 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 802B2FE8 002AEC48 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 802B2FEC 002AEC4C 83 81 00 10 */ lwz r28, 0x10(r1)
-/* 802B2FF0 002AEC50 7C 08 03 A6 */ mtlr r0
-/* 802B2FF4 002AEC54 38 21 00 20 */ addi r1, r1, 0x20
-/* 802B2FF8 002AEC58 4E 80 00 20 */ blr
-lbl_802B2FFC:
-/* 802B2FFC 002AEC5C 3C A0 80 53 */ lis r5, lbl_80536D70@ha
-/* 802B3000 002AEC60 54 60 10 3A */ slwi r0, r3, 2
-/* 802B3004 002AEC64 38 A5 6D 70 */ addi r5, r5, lbl_80536D70@l
-/* 802B3008 002AEC68 7C A5 00 2E */ lwzx r5, r5, r0
-/* 802B300C 002AEC6C 80 05 00 38 */ lwz r0, 0x38(r5)
-/* 802B3010 002AEC70 2C 00 00 00 */ cmpwi r0, 0
-/* 802B3014 002AEC74 4C 82 00 20 */ bnelr
-/* 802B3018 002AEC78 7C 83 00 34 */ cntlzw r3, r4
-/* 802B301C 002AEC7C 38 00 FF FD */ li r0, -3
-/* 802B3020 002AEC80 54 63 DF FE */ rlwinm r3, r3, 0x1b, 0x1f, 0x1f
-/* 802B3024 002AEC84 7C 63 00 D0 */ neg r3, r3
-/* 802B3028 002AEC88 7C 00 18 78 */ andc r0, r0, r3
-/* 802B302C 002AEC8C 90 05 00 38 */ stw r0, 0x38(r5)
-/* 802B3030 002AEC90 4E 80 00 20 */ blr
-lbl_802B3034:
-/* 802B3034 002AEC94 3C A0 80 53 */ lis r5, lbl_80536D70@ha
-/* 802B3038 002AEC98 54 60 10 3A */ slwi r0, r3, 2
-/* 802B303C 002AEC9C 38 A5 6D 70 */ addi r5, r5, lbl_80536D70@l
-/* 802B3040 002AECA0 7C A5 00 2E */ lwzx r5, r5, r0
-/* 802B3044 002AECA4 80 05 00 3C */ lwz r0, 0x3c(r5)
-/* 802B3048 002AECA8 2C 00 00 00 */ cmpwi r0, 0
-/* 802B304C 002AECAC 4C 82 00 20 */ bnelr
-/* 802B3050 002AECB0 7C 83 00 34 */ cntlzw r3, r4
-/* 802B3054 002AECB4 38 00 FF FD */ li r0, -3
-/* 802B3058 002AECB8 54 63 DF FE */ rlwinm r3, r3, 0x1b, 0x1f, 0x1f
-/* 802B305C 002AECBC 7C 63 00 D0 */ neg r3, r3
-/* 802B3060 002AECC0 7C 00 18 78 */ andc r0, r0, r3
-/* 802B3064 002AECC4 90 05 00 3C */ stw r0, 0x3c(r5)
-/* 802B3068 002AECC8 4E 80 00 20 */ blr
-
-.global func_802B306C
-func_802B306C:
-/* 802B306C 002AECCC 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 802B3070 002AECD0 7C 08 02 A6 */ mflr r0
-/* 802B3074 002AECD4 90 01 00 34 */ stw r0, 0x34(r1)
-/* 802B3078 002AECD8 39 61 00 30 */ addi r11, r1, 0x30
-/* 802B307C 002AECDC 4B F1 40 9D */ bl _savegpr_23
-/* 802B3080 002AECE0 3D 00 80 53 */ lis r8, lbl_80536D70@ha
-/* 802B3084 002AECE4 54 60 10 3A */ slwi r0, r3, 2
-/* 802B3088 002AECE8 39 08 6D 70 */ addi r8, r8, lbl_80536D70@l
-/* 802B308C 002AECEC 7C 7D 1B 78 */ mr r29, r3
-/* 802B3090 002AECF0 7F C8 00 2E */ lwzx r30, r8, r0
-/* 802B3094 002AECF4 7C 97 23 78 */ mr r23, r4
-/* 802B3098 002AECF8 7C B8 2B 78 */ mr r24, r5
-/* 802B309C 002AECFC 7C DB 33 78 */ mr r27, r6
-/* 802B30A0 002AED00 7C FA 3B 78 */ mr r26, r7
-/* 802B30A4 002AED04 4B FB B6 B9 */ bl OSDisableInterrupts
-/* 802B30A8 002AED08 83 3E 08 BC */ lwz r25, 0x8bc(r30)
-/* 802B30AC 002AED0C 7C 7F 1B 78 */ mr r31, r3
-/* 802B30B0 002AED10 80 1E 08 DC */ lwz r0, 0x8dc(r30)
-/* 802B30B4 002AED14 2C 19 FF FF */ cmpwi r25, -1
-/* 802B30B8 002AED18 41 82 03 24 */ beq lbl_802B33DC
-/* 802B30BC 002AED1C 2C 00 00 00 */ cmpwi r0, 0
-/* 802B30C0 002AED20 40 82 00 0C */ bne lbl_802B30CC
-/* 802B30C4 002AED24 3B 20 FF FE */ li r25, -2
-/* 802B30C8 002AED28 48 00 03 14 */ b lbl_802B33DC
-lbl_802B30CC:
-/* 802B30CC 002AED2C 1F 3D 00 14 */ mulli r25, r29, 0x14
-/* 802B30D0 002AED30 3F 80 80 54 */ lis r28, lbl_8053A480@ha
-/* 802B30D4 002AED34 3B 9C A4 80 */ addi r28, r28, lbl_8053A480@l
-/* 802B30D8 002AED38 7C 1C C8 2E */ lwzx r0, r28, r25
-/* 802B30DC 002AED3C 2C 00 00 00 */ cmpwi r0, 0
-/* 802B30E0 002AED40 40 82 02 F8 */ bne lbl_802B33D8
-/* 802B30E4 002AED44 38 7E 01 60 */ addi r3, r30, 0x160
-/* 802B30E8 002AED48 38 80 00 09 */ li r4, 9
-/* 802B30EC 002AED4C 4B FF 9F E9 */ bl __CanPushCmdQueue
-/* 802B30F0 002AED50 2C 03 00 00 */ cmpwi r3, 0
-/* 802B30F4 002AED54 40 82 00 0C */ bne lbl_802B3100
-/* 802B30F8 002AED58 3B 20 FF FE */ li r25, -2
-/* 802B30FC 002AED5C 48 00 02 E0 */ b lbl_802B33DC
-lbl_802B3100:
-/* 802B3100 002AED60 38 00 00 01 */ li r0, 1
-/* 802B3104 002AED64 7C DC CA 14 */ add r6, r28, r25
-/* 802B3108 002AED68 7C 1C C9 2E */ stwx r0, r28, r25
-/* 802B310C 002AED6C 38 1B 00 9A */ addi r0, r27, 0x9a
-/* 802B3110 002AED70 80 8D AE 54 */ lwz r4, lbl_80640114-_SDA_BASE_(r13)
-/* 802B3114 002AED74 38 7E 00 2A */ addi r3, r30, 0x2a
-/* 802B3118 002AED78 93 46 00 10 */ stw r26, 0x10(r6)
-/* 802B311C 002AED7C 38 A0 00 04 */ li r5, 4
-/* 802B3120 002AED80 B3 06 00 08 */ sth r24, 8(r6)
-/* 802B3124 002AED84 90 06 00 0C */ stw r0, 0xc(r6)
-/* 802B3128 002AED88 92 E6 00 04 */ stw r23, 4(r6)
-/* 802B312C 002AED8C 4B D5 0E D5 */ bl memcpy
-/* 802B3130 002AED90 3C 80 80 54 */ lis r4, lbl_8053A440@ha
-/* 802B3134 002AED94 38 7E 00 08 */ addi r3, r30, 8
-/* 802B3138 002AED98 38 84 A4 40 */ addi r4, r4, lbl_8053A440@l
-/* 802B313C 002AED9C 38 A0 00 22 */ li r5, 0x22
-/* 802B3140 002AEDA0 4B D5 0E C1 */ bl memcpy
-/* 802B3144 002AEDA4 4B FB F6 75 */ bl OSGetTime
-/* 802B3148 002AEDA8 90 9E 00 04 */ stw r4, 4(r30)
-/* 802B314C 002AEDAC 38 A0 00 00 */ li r5, 0
-/* 802B3150 002AEDB0 38 00 00 03 */ li r0, 3
-/* 802B3154 002AEDB4 38 80 00 00 */ li r4, 0
-/* 802B3158 002AEDB8 90 7E 00 00 */ stw r3, 0(r30)
-/* 802B315C 002AEDBC 88 6D AE 58 */ lbz r3, lbl_80640118-_SDA_BASE_(r13)
-/* 802B3160 002AEDC0 98 7E 00 2E */ stb r3, 0x2e(r30)
-/* 802B3164 002AEDC4 98 BE 00 2F */ stb r5, 0x2f(r30)
-/* 802B3168 002AEDC8 7C 09 03 A6 */ mtctr r0
-lbl_802B316C:
-/* 802B316C 002AEDCC 54 80 06 3E */ clrlwi r0, r4, 0x18
-/* 802B3170 002AEDD0 88 BE 00 2F */ lbz r5, 0x2f(r30)
-/* 802B3174 002AEDD4 7C 7E 00 AE */ lbzx r3, r30, r0
-/* 802B3178 002AEDD8 7C DE 02 14 */ add r6, r30, r0
-/* 802B317C 002AEDDC 38 84 00 07 */ addi r4, r4, 7
-/* 802B3180 002AEDE0 7C 65 1A 14 */ add r3, r5, r3
-/* 802B3184 002AEDE4 98 7E 00 2F */ stb r3, 0x2f(r30)
-/* 802B3188 002AEDE8 54 65 06 3E */ clrlwi r5, r3, 0x18
-/* 802B318C 002AEDEC 54 80 06 3E */ clrlwi r0, r4, 0x18
-/* 802B3190 002AEDF0 38 84 00 07 */ addi r4, r4, 7
-/* 802B3194 002AEDF4 88 66 00 01 */ lbz r3, 1(r6)
-/* 802B3198 002AEDF8 7C 65 1A 14 */ add r3, r5, r3
-/* 802B319C 002AEDFC 98 7E 00 2F */ stb r3, 0x2f(r30)
-/* 802B31A0 002AEE00 54 65 06 3E */ clrlwi r5, r3, 0x18
-/* 802B31A4 002AEE04 88 66 00 02 */ lbz r3, 2(r6)
-/* 802B31A8 002AEE08 7C 65 1A 14 */ add r3, r5, r3
-/* 802B31AC 002AEE0C 98 7E 00 2F */ stb r3, 0x2f(r30)
-/* 802B31B0 002AEE10 54 65 06 3E */ clrlwi r5, r3, 0x18
-/* 802B31B4 002AEE14 88 66 00 03 */ lbz r3, 3(r6)
-/* 802B31B8 002AEE18 7C 65 1A 14 */ add r3, r5, r3
-/* 802B31BC 002AEE1C 98 7E 00 2F */ stb r3, 0x2f(r30)
-/* 802B31C0 002AEE20 54 65 06 3E */ clrlwi r5, r3, 0x18
-/* 802B31C4 002AEE24 88 66 00 04 */ lbz r3, 4(r6)
-/* 802B31C8 002AEE28 7C 65 1A 14 */ add r3, r5, r3
-/* 802B31CC 002AEE2C 98 7E 00 2F */ stb r3, 0x2f(r30)
-/* 802B31D0 002AEE30 54 65 06 3E */ clrlwi r5, r3, 0x18
-/* 802B31D4 002AEE34 88 66 00 05 */ lbz r3, 5(r6)
-/* 802B31D8 002AEE38 7C 65 1A 14 */ add r3, r5, r3
-/* 802B31DC 002AEE3C 98 7E 00 2F */ stb r3, 0x2f(r30)
-/* 802B31E0 002AEE40 54 65 06 3E */ clrlwi r5, r3, 0x18
-/* 802B31E4 002AEE44 88 66 00 06 */ lbz r3, 6(r6)
-/* 802B31E8 002AEE48 7C DE 02 14 */ add r6, r30, r0
-/* 802B31EC 002AEE4C 54 80 06 3E */ clrlwi r0, r4, 0x18
-/* 802B31F0 002AEE50 7C 65 1A 14 */ add r3, r5, r3
-/* 802B31F4 002AEE54 98 7E 00 2F */ stb r3, 0x2f(r30)
-/* 802B31F8 002AEE58 54 65 06 3E */ clrlwi r5, r3, 0x18
-/* 802B31FC 002AEE5C 88 66 00 00 */ lbz r3, 0(r6)
-/* 802B3200 002AEE60 7C 65 1A 14 */ add r3, r5, r3
-/* 802B3204 002AEE64 98 7E 00 2F */ stb r3, 0x2f(r30)
-/* 802B3208 002AEE68 54 65 06 3E */ clrlwi r5, r3, 0x18
-/* 802B320C 002AEE6C 88 66 00 01 */ lbz r3, 1(r6)
-/* 802B3210 002AEE70 7C 65 1A 14 */ add r3, r5, r3
-/* 802B3214 002AEE74 98 7E 00 2F */ stb r3, 0x2f(r30)
-/* 802B3218 002AEE78 54 65 06 3E */ clrlwi r5, r3, 0x18
-/* 802B321C 002AEE7C 88 66 00 02 */ lbz r3, 2(r6)
-/* 802B3220 002AEE80 7C 65 1A 14 */ add r3, r5, r3
-/* 802B3224 002AEE84 98 7E 00 2F */ stb r3, 0x2f(r30)
-/* 802B3228 002AEE88 54 65 06 3E */ clrlwi r5, r3, 0x18
-/* 802B322C 002AEE8C 88 66 00 03 */ lbz r3, 3(r6)
-/* 802B3230 002AEE90 7C 65 1A 14 */ add r3, r5, r3
-/* 802B3234 002AEE94 98 7E 00 2F */ stb r3, 0x2f(r30)
-/* 802B3238 002AEE98 54 65 06 3E */ clrlwi r5, r3, 0x18
-/* 802B323C 002AEE9C 88 66 00 04 */ lbz r3, 4(r6)
-/* 802B3240 002AEEA0 7C 65 1A 14 */ add r3, r5, r3
-/* 802B3244 002AEEA4 98 7E 00 2F */ stb r3, 0x2f(r30)
-/* 802B3248 002AEEA8 54 65 06 3E */ clrlwi r5, r3, 0x18
-/* 802B324C 002AEEAC 88 66 00 05 */ lbz r3, 5(r6)
-/* 802B3250 002AEEB0 7C 65 1A 14 */ add r3, r5, r3
-/* 802B3254 002AEEB4 98 7E 00 2F */ stb r3, 0x2f(r30)
-/* 802B3258 002AEEB8 54 65 06 3E */ clrlwi r5, r3, 0x18
-/* 802B325C 002AEEBC 88 66 00 06 */ lbz r3, 6(r6)
-/* 802B3260 002AEEC0 7C 65 1A 14 */ add r3, r5, r3
-/* 802B3264 002AEEC4 98 7E 00 2F */ stb r3, 0x2f(r30)
-/* 802B3268 002AEEC8 42 00 FF 04 */ bdnz lbl_802B316C
-/* 802B326C 002AEECC 7C FE 00 AE */ lbzx r7, r30, r0
-/* 802B3270 002AEED0 38 A4 00 02 */ addi r5, r4, 2
-/* 802B3274 002AEED4 89 1E 00 2F */ lbz r8, 0x2f(r30)
-/* 802B3278 002AEED8 38 64 00 03 */ addi r3, r4, 3
-/* 802B327C 002AEEDC 54 69 06 3E */ clrlwi r9, r3, 0x18
-/* 802B3280 002AEEE0 38 C4 00 01 */ addi r6, r4, 1
-/* 802B3284 002AEEE4 7C E8 3A 14 */ add r7, r8, r7
-/* 802B3288 002AEEE8 38 04 00 04 */ addi r0, r4, 4
-/* 802B328C 002AEEEC 54 C4 06 3E */ clrlwi r4, r6, 0x18
-/* 802B3290 002AEEF0 98 FE 00 2F */ stb r7, 0x2f(r30)
-/* 802B3294 002AEEF4 54 08 06 3E */ clrlwi r8, r0, 0x18
-/* 802B3298 002AEEF8 54 E6 06 3E */ clrlwi r6, r7, 0x18
-/* 802B329C 002AEEFC 7C 9E 20 AE */ lbzx r4, r30, r4
-/* 802B32A0 002AEF00 3F 80 80 2B */ lis r28, lbl_802B2FFC@ha
-/* 802B32A4 002AEF04 54 A5 06 3E */ clrlwi r5, r5, 0x18
-/* 802B32A8 002AEF08 38 00 00 00 */ li r0, 0
-/* 802B32AC 002AEF0C 7C 86 22 14 */ add r4, r6, r4
-/* 802B32B0 002AEF10 7F A3 EB 78 */ mr r3, r29
-/* 802B32B4 002AEF14 98 9E 00 2F */ stb r4, 0x2f(r30)
-/* 802B32B8 002AEF18 54 8B 06 3E */ clrlwi r11, r4, 0x18
-/* 802B32BC 002AEF1C 7F C4 F3 78 */ mr r4, r30
-/* 802B32C0 002AEF20 38 FC 2F FC */ addi r7, r28, lbl_802B2FFC@l
-/* 802B32C4 002AEF24 7D 5E 28 AE */ lbzx r10, r30, r5
-/* 802B32C8 002AEF28 38 A0 00 10 */ li r5, 0x10
-/* 802B32CC 002AEF2C 38 C0 00 2A */ li r6, 0x2a
-/* 802B32D0 002AEF30 7D 4B 52 14 */ add r10, r11, r10
-/* 802B32D4 002AEF34 99 5E 00 2F */ stb r10, 0x2f(r30)
-/* 802B32D8 002AEF38 55 4A 06 3E */ clrlwi r10, r10, 0x18
-/* 802B32DC 002AEF3C 7D 3E 48 AE */ lbzx r9, r30, r9
-/* 802B32E0 002AEF40 7D 2A 4A 14 */ add r9, r10, r9
-/* 802B32E4 002AEF44 99 3E 00 2F */ stb r9, 0x2f(r30)
-/* 802B32E8 002AEF48 55 29 06 3E */ clrlwi r9, r9, 0x18
-/* 802B32EC 002AEF4C 7D 1E 40 AE */ lbzx r8, r30, r8
-/* 802B32F0 002AEF50 7D 09 42 14 */ add r8, r9, r8
-/* 802B32F4 002AEF54 55 08 06 3E */ clrlwi r8, r8, 0x18
-/* 802B32F8 002AEF58 39 08 00 55 */ addi r8, r8, 0x55
-/* 802B32FC 002AEF5C 99 1E 00 2F */ stb r8, 0x2f(r30)
-/* 802B3300 002AEF60 90 1E 00 38 */ stw r0, 0x38(r30)
-/* 802B3304 002AEF64 90 1E 00 3C */ stw r0, 0x3c(r30)
-/* 802B3308 002AEF68 48 00 03 35 */ bl func_802B363C
-/* 802B330C 002AEF6C 3B 7E 00 10 */ addi r27, r30, 0x10
-/* 802B3310 002AEF70 7F A3 EB 78 */ mr r3, r29
-/* 802B3314 002AEF74 7F 64 DB 78 */ mr r4, r27
-/* 802B3318 002AEF78 38 FC 2F FC */ addi r7, r28, 0x2ffc
-/* 802B331C 002AEF7C 38 A0 00 10 */ li r5, 0x10
-/* 802B3320 002AEF80 38 C0 00 3A */ li r6, 0x3a
-/* 802B3324 002AEF84 48 00 03 19 */ bl func_802B363C
-/* 802B3328 002AEF88 3B 5E 00 20 */ addi r26, r30, 0x20
-/* 802B332C 002AEF8C 7F A3 EB 78 */ mr r3, r29
-/* 802B3330 002AEF90 7F 44 D3 78 */ mr r4, r26
-/* 802B3334 002AEF94 38 FC 2F FC */ addi r7, r28, 0x2ffc
-/* 802B3338 002AEF98 38 A0 00 10 */ li r5, 0x10
-/* 802B333C 002AEF9C 38 C0 00 4A */ li r6, 0x4a
-/* 802B3340 002AEFA0 48 00 02 FD */ bl func_802B363C
-/* 802B3344 002AEFA4 3B 3E 00 30 */ addi r25, r30, 0x30
-/* 802B3348 002AEFA8 7F A3 EB 78 */ mr r3, r29
-/* 802B334C 002AEFAC 7F 24 CB 78 */ mr r4, r25
-/* 802B3350 002AEFB0 38 FC 2F FC */ addi r7, r28, 0x2ffc
-/* 802B3354 002AEFB4 38 A0 00 08 */ li r5, 8
-/* 802B3358 002AEFB8 38 C0 00 5A */ li r6, 0x5a
-/* 802B335C 002AEFBC 48 00 02 E1 */ bl func_802B363C
-/* 802B3360 002AEFC0 3F 80 80 2B */ lis r28, lbl_802B3034@ha
-/* 802B3364 002AEFC4 7F A3 EB 78 */ mr r3, r29
-/* 802B3368 002AEFC8 7F C4 F3 78 */ mr r4, r30
-/* 802B336C 002AEFCC 38 A0 00 10 */ li r5, 0x10
-/* 802B3370 002AEFD0 38 FC 30 34 */ addi r7, r28, lbl_802B3034@l
-/* 802B3374 002AEFD4 38 C0 00 62 */ li r6, 0x62
-/* 802B3378 002AEFD8 48 00 02 C5 */ bl func_802B363C
-/* 802B337C 002AEFDC 7F A3 EB 78 */ mr r3, r29
-/* 802B3380 002AEFE0 7F 64 DB 78 */ mr r4, r27
-/* 802B3384 002AEFE4 38 FC 30 34 */ addi r7, r28, 0x3034
-/* 802B3388 002AEFE8 38 A0 00 10 */ li r5, 0x10
-/* 802B338C 002AEFEC 38 C0 00 72 */ li r6, 0x72
-/* 802B3390 002AEFF0 48 00 02 AD */ bl func_802B363C
-/* 802B3394 002AEFF4 7F A3 EB 78 */ mr r3, r29
-/* 802B3398 002AEFF8 7F 44 D3 78 */ mr r4, r26
-/* 802B339C 002AEFFC 38 FC 30 34 */ addi r7, r28, 0x3034
-/* 802B33A0 002AF000 38 A0 00 10 */ li r5, 0x10
-/* 802B33A4 002AF004 38 C0 00 82 */ li r6, 0x82
-/* 802B33A8 002AF008 48 00 02 95 */ bl func_802B363C
-/* 802B33AC 002AF00C 3C E0 80 2B */ lis r7, lbl_802B2EBC@ha
-/* 802B33B0 002AF010 7F A3 EB 78 */ mr r3, r29
-/* 802B33B4 002AF014 7F 24 CB 78 */ mr r4, r25
-/* 802B33B8 002AF018 38 A0 00 08 */ li r5, 8
-/* 802B33BC 002AF01C 38 E7 2E BC */ addi r7, r7, lbl_802B2EBC@l
-/* 802B33C0 002AF020 38 C0 00 92 */ li r6, 0x92
-/* 802B33C4 002AF024 48 00 02 79 */ bl func_802B363C
-/* 802B33C8 002AF028 7F E3 FB 78 */ mr r3, r31
-/* 802B33CC 002AF02C 4B FB B3 B9 */ bl OSRestoreInterrupts
-/* 802B33D0 002AF030 38 60 00 00 */ li r3, 0
-/* 802B33D4 002AF034 48 00 00 30 */ b lbl_802B3404
-lbl_802B33D8:
-/* 802B33D8 002AF038 3B 20 FF FE */ li r25, -2
-lbl_802B33DC:
-/* 802B33DC 002AF03C 7F E3 FB 78 */ mr r3, r31
-/* 802B33E0 002AF040 4B FB B3 A5 */ bl OSRestoreInterrupts
-/* 802B33E4 002AF044 2C 1A 00 00 */ cmpwi r26, 0
-/* 802B33E8 002AF048 41 82 00 18 */ beq lbl_802B3400
-/* 802B33EC 002AF04C 7F 4C D3 78 */ mr r12, r26
-/* 802B33F0 002AF050 7F A3 EB 78 */ mr r3, r29
-/* 802B33F4 002AF054 7F 24 CB 78 */ mr r4, r25
-/* 802B33F8 002AF058 7D 89 03 A6 */ mtctr r12
-/* 802B33FC 002AF05C 4E 80 04 21 */ bctrl
-lbl_802B3400:
-/* 802B3400 002AF060 7F 23 CB 78 */ mr r3, r25
-lbl_802B3404:
-/* 802B3404 002AF064 39 61 00 30 */ addi r11, r1, 0x30
-/* 802B3408 002AF068 4B F1 3D 5D */ bl _restgpr_23
-/* 802B340C 002AF06C 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 802B3410 002AF070 7C 08 03 A6 */ mtlr r0
-/* 802B3414 002AF074 38 21 00 30 */ addi r1, r1, 0x30
-/* 802B3418 002AF078 4E 80 00 20 */ blr
-
-.global func_802B341C
-func_802B341C:
-/* 802B341C 002AF07C 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 802B3420 002AF080 7C 08 02 A6 */ mflr r0
-/* 802B3424 002AF084 90 01 00 34 */ stw r0, 0x34(r1)
-/* 802B3428 002AF088 39 61 00 30 */ addi r11, r1, 0x30
-/* 802B342C 002AF08C 4B F1 3C E9 */ bl _savegpr_22
-/* 802B3430 002AF090 3D 00 80 53 */ lis r8, lbl_80536D70@ha
-/* 802B3434 002AF094 54 60 10 3A */ slwi r0, r3, 2
-/* 802B3438 002AF098 39 08 6D 70 */ addi r8, r8, lbl_80536D70@l
-/* 802B343C 002AF09C 7C 78 1B 78 */ mr r24, r3
-/* 802B3440 002AF0A0 7E E8 00 2E */ lwzx r23, r8, r0
-/* 802B3444 002AF0A4 7C 99 23 78 */ mr r25, r4
-/* 802B3448 002AF0A8 7C BA 2B 78 */ mr r26, r5
-/* 802B344C 002AF0AC 7C DB 33 78 */ mr r27, r6
-/* 802B3450 002AF0B0 7C FC 3B 78 */ mr r28, r7
-/* 802B3454 002AF0B4 4B FB B3 09 */ bl OSDisableInterrupts
-/* 802B3458 002AF0B8 82 D7 08 BC */ lwz r22, 0x8bc(r23)
-/* 802B345C 002AF0BC 7C 7D 1B 78 */ mr r29, r3
-/* 802B3460 002AF0C0 80 17 08 DC */ lwz r0, 0x8dc(r23)
-/* 802B3464 002AF0C4 2C 16 FF FF */ cmpwi r22, -1
-/* 802B3468 002AF0C8 41 82 00 C8 */ beq lbl_802B3530
-/* 802B346C 002AF0CC 2C 00 00 00 */ cmpwi r0, 0
-/* 802B3470 002AF0D0 40 82 00 0C */ bne lbl_802B347C
-/* 802B3474 002AF0D4 3A C0 FF FE */ li r22, -2
-/* 802B3478 002AF0D8 48 00 00 B8 */ b lbl_802B3530
-lbl_802B347C:
-/* 802B347C 002AF0DC 1F D8 00 14 */ mulli r30, r24, 0x14
-/* 802B3480 002AF0E0 3F E0 80 54 */ lis r31, lbl_8053A480@ha
-/* 802B3484 002AF0E4 3B FF A4 80 */ addi r31, r31, lbl_8053A480@l
-/* 802B3488 002AF0E8 7C 1F F0 2E */ lwzx r0, r31, r30
-/* 802B348C 002AF0EC 2C 00 00 00 */ cmpwi r0, 0
-/* 802B3490 002AF0F0 40 82 00 9C */ bne lbl_802B352C
-/* 802B3494 002AF0F4 80 17 00 38 */ lwz r0, 0x38(r23)
-/* 802B3498 002AF0F8 38 80 00 00 */ li r4, 0
-/* 802B349C 002AF0FC 2C 00 00 00 */ cmpwi r0, 0
-/* 802B34A0 002AF100 41 82 00 10 */ beq lbl_802B34B0
-/* 802B34A4 002AF104 80 17 00 3C */ lwz r0, 0x3c(r23)
-/* 802B34A8 002AF108 2C 00 00 00 */ cmpwi r0, 0
-/* 802B34AC 002AF10C 40 82 00 08 */ bne lbl_802B34B4
-lbl_802B34B0:
-/* 802B34B0 002AF110 38 80 00 01 */ li r4, 1
-lbl_802B34B4:
-/* 802B34B4 002AF114 7C 64 00 D0 */ neg r3, r4
-/* 802B34B8 002AF118 38 00 FF FA */ li r0, -6
-/* 802B34BC 002AF11C 7C 63 23 78 */ or r3, r3, r4
-/* 802B34C0 002AF120 7C 63 FE 70 */ srawi r3, r3, 0x1f
-/* 802B34C4 002AF124 7C 16 18 79 */ andc. r22, r0, r3
-/* 802B34C8 002AF128 40 82 00 68 */ bne lbl_802B3530
-/* 802B34CC 002AF12C 80 6D AE 54 */ lwz r3, lbl_80640114-_SDA_BASE_(r13)
-/* 802B34D0 002AF130 38 97 00 2A */ addi r4, r23, 0x2a
-/* 802B34D4 002AF134 38 A0 00 04 */ li r5, 4
-/* 802B34D8 002AF138 4B F1 6E C1 */ bl memcmp
-/* 802B34DC 002AF13C 2C 03 00 00 */ cmpwi r3, 0
-/* 802B34E0 002AF140 40 82 00 44 */ bne lbl_802B3524
-/* 802B34E4 002AF144 38 00 00 01 */ li r0, 1
-/* 802B34E8 002AF148 3C 60 80 54 */ lis r3, lbl_8053A480@ha
-/* 802B34EC 002AF14C 38 63 A4 80 */ addi r3, r3, lbl_8053A480@l
-/* 802B34F0 002AF150 7C 1F F1 2E */ stwx r0, r31, r30
-/* 802B34F4 002AF154 7C 83 F2 14 */ add r4, r3, r30
-/* 802B34F8 002AF158 93 84 00 10 */ stw r28, 0x10(r4)
-/* 802B34FC 002AF15C 7F A3 EB 78 */ mr r3, r29
-/* 802B3500 002AF160 4B FB B2 85 */ bl OSRestoreInterrupts
-/* 802B3504 002AF164 3C E0 80 2B */ lis r7, lbl_802B2D18@ha
-/* 802B3508 002AF168 7F 03 C3 78 */ mr r3, r24
-/* 802B350C 002AF16C 7F 24 CB 78 */ mr r4, r25
-/* 802B3510 002AF170 7F 45 D3 78 */ mr r5, r26
-/* 802B3514 002AF174 38 DB 00 9A */ addi r6, r27, 0x9a
-/* 802B3518 002AF178 38 E7 2D 18 */ addi r7, r7, lbl_802B2D18@l
-/* 802B351C 002AF17C 48 00 00 55 */ bl func_802B3570
-/* 802B3520 002AF180 48 00 00 38 */ b lbl_802B3558
-lbl_802B3524:
-/* 802B3524 002AF184 3A C0 FF FB */ li r22, -5
-/* 802B3528 002AF188 48 00 00 08 */ b lbl_802B3530
-lbl_802B352C:
-/* 802B352C 002AF18C 3A C0 FF FE */ li r22, -2
-lbl_802B3530:
-/* 802B3530 002AF190 7F A3 EB 78 */ mr r3, r29
-/* 802B3534 002AF194 4B FB B2 51 */ bl OSRestoreInterrupts
-/* 802B3538 002AF198 2C 1C 00 00 */ cmpwi r28, 0
-/* 802B353C 002AF19C 41 82 00 18 */ beq lbl_802B3554
-/* 802B3540 002AF1A0 7F 8C E3 78 */ mr r12, r28
-/* 802B3544 002AF1A4 7F 03 C3 78 */ mr r3, r24
-/* 802B3548 002AF1A8 7E C4 B3 78 */ mr r4, r22
-/* 802B354C 002AF1AC 7D 89 03 A6 */ mtctr r12
-/* 802B3550 002AF1B0 4E 80 04 21 */ bctrl
-lbl_802B3554:
-/* 802B3554 002AF1B4 7E C3 B3 78 */ mr r3, r22
-lbl_802B3558:
-/* 802B3558 002AF1B8 39 61 00 30 */ addi r11, r1, 0x30
-/* 802B355C 002AF1BC 4B F1 3C 05 */ bl _restgpr_22
-/* 802B3560 002AF1C0 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 802B3564 002AF1C4 7C 08 03 A6 */ mtlr r0
-/* 802B3568 002AF1C8 38 21 00 30 */ addi r1, r1, 0x30
-/* 802B356C 002AF1CC 4E 80 00 20 */ blr
-
-.global func_802B3570
-func_802B3570:
-/* 802B3570 002AF1D0 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 802B3574 002AF1D4 7C 08 02 A6 */ mflr r0
-/* 802B3578 002AF1D8 90 01 00 34 */ stw r0, 0x34(r1)
-/* 802B357C 002AF1DC 39 61 00 30 */ addi r11, r1, 0x30
-/* 802B3580 002AF1E0 4B F1 3B 9D */ bl _savegpr_24
-/* 802B3584 002AF1E4 3D 00 80 53 */ lis r8, lbl_80536D70@ha
-/* 802B3588 002AF1E8 54 60 10 3A */ slwi r0, r3, 2
-/* 802B358C 002AF1EC 39 08 6D 70 */ addi r8, r8, lbl_80536D70@l
-/* 802B3590 002AF1F0 7C 78 1B 78 */ mr r24, r3
-/* 802B3594 002AF1F4 7F E8 00 2E */ lwzx r31, r8, r0
-/* 802B3598 002AF1F8 7C 99 23 78 */ mr r25, r4
-/* 802B359C 002AF1FC 7C BA 2B 78 */ mr r26, r5
-/* 802B35A0 002AF200 7C DB 33 78 */ mr r27, r6
-/* 802B35A4 002AF204 7C FC 3B 78 */ mr r28, r7
-/* 802B35A8 002AF208 4B FB B1 B5 */ bl OSDisableInterrupts
-/* 802B35AC 002AF20C 83 BF 08 BC */ lwz r29, 0x8bc(r31)
-/* 802B35B0 002AF210 83 DF 08 DC */ lwz r30, 0x8dc(r31)
-/* 802B35B4 002AF214 4B FB B1 D1 */ bl OSRestoreInterrupts
-/* 802B35B8 002AF218 2C 1D FF FF */ cmpwi r29, -1
-/* 802B35BC 002AF21C 41 82 00 40 */ beq lbl_802B35FC
-/* 802B35C0 002AF220 2C 1E 00 00 */ cmpwi r30, 0
-/* 802B35C4 002AF224 40 82 00 0C */ bne lbl_802B35D0
-/* 802B35C8 002AF228 3B A0 FF FE */ li r29, -2
-/* 802B35CC 002AF22C 48 00 00 30 */ b lbl_802B35FC
-lbl_802B35D0:
-/* 802B35D0 002AF230 7F 24 CB 78 */ mr r4, r25
-/* 802B35D4 002AF234 7F 45 D3 78 */ mr r5, r26
-/* 802B35D8 002AF238 7F 66 DB 78 */ mr r6, r27
-/* 802B35DC 002AF23C 7F 87 E3 78 */ mr r7, r28
-/* 802B35E0 002AF240 38 7F 01 60 */ addi r3, r31, 0x160
-/* 802B35E4 002AF244 4B FF 99 45 */ bl WPADiSendReadData
-/* 802B35E8 002AF248 7C 83 00 D0 */ neg r4, r3
-/* 802B35EC 002AF24C 38 00 FF FE */ li r0, -2
-/* 802B35F0 002AF250 7C 83 1B 78 */ or r3, r4, r3
-/* 802B35F4 002AF254 7C 63 FE 70 */ srawi r3, r3, 0x1f
-/* 802B35F8 002AF258 7C 1D 18 78 */ andc r29, r0, r3
-lbl_802B35FC:
-/* 802B35FC 002AF25C 2C 1D 00 00 */ cmpwi r29, 0
-/* 802B3600 002AF260 41 82 00 20 */ beq lbl_802B3620
-/* 802B3604 002AF264 2C 1C 00 00 */ cmpwi r28, 0
-/* 802B3608 002AF268 41 82 00 18 */ beq lbl_802B3620
-/* 802B360C 002AF26C 7F 8C E3 78 */ mr r12, r28
-/* 802B3610 002AF270 7F 03 C3 78 */ mr r3, r24
-/* 802B3614 002AF274 7F A4 EB 78 */ mr r4, r29
-/* 802B3618 002AF278 7D 89 03 A6 */ mtctr r12
-/* 802B361C 002AF27C 4E 80 04 21 */ bctrl
-lbl_802B3620:
-/* 802B3620 002AF280 39 61 00 30 */ addi r11, r1, 0x30
-/* 802B3624 002AF284 7F A3 EB 78 */ mr r3, r29
-/* 802B3628 002AF288 4B F1 3B 41 */ bl _restgpr_24
-/* 802B362C 002AF28C 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 802B3630 002AF290 7C 08 03 A6 */ mtlr r0
-/* 802B3634 002AF294 38 21 00 30 */ addi r1, r1, 0x30
-/* 802B3638 002AF298 4E 80 00 20 */ blr
-
-.global func_802B363C
-func_802B363C:
-/* 802B363C 002AF29C 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 802B3640 002AF2A0 7C 08 02 A6 */ mflr r0
-/* 802B3644 002AF2A4 90 01 00 34 */ stw r0, 0x34(r1)
-/* 802B3648 002AF2A8 39 61 00 30 */ addi r11, r1, 0x30
-/* 802B364C 002AF2AC 4B F1 3A D1 */ bl _savegpr_24
-/* 802B3650 002AF2B0 3D 00 80 53 */ lis r8, lbl_80536D70@ha
-/* 802B3654 002AF2B4 54 60 10 3A */ slwi r0, r3, 2
-/* 802B3658 002AF2B8 39 08 6D 70 */ addi r8, r8, lbl_80536D70@l
-/* 802B365C 002AF2BC 7C 78 1B 78 */ mr r24, r3
-/* 802B3660 002AF2C0 7F E8 00 2E */ lwzx r31, r8, r0
-/* 802B3664 002AF2C4 7C 99 23 78 */ mr r25, r4
-/* 802B3668 002AF2C8 7C BA 2B 78 */ mr r26, r5
-/* 802B366C 002AF2CC 7C DB 33 78 */ mr r27, r6
-/* 802B3670 002AF2D0 7C FC 3B 78 */ mr r28, r7
-/* 802B3674 002AF2D4 4B FB B0 E9 */ bl OSDisableInterrupts
-/* 802B3678 002AF2D8 83 BF 08 BC */ lwz r29, 0x8bc(r31)
-/* 802B367C 002AF2DC 83 DF 08 DC */ lwz r30, 0x8dc(r31)
-/* 802B3680 002AF2E0 4B FB B1 05 */ bl OSRestoreInterrupts
-/* 802B3684 002AF2E4 2C 1D FF FF */ cmpwi r29, -1
-/* 802B3688 002AF2E8 41 82 00 40 */ beq lbl_802B36C8
-/* 802B368C 002AF2EC 2C 1E 00 00 */ cmpwi r30, 0
-/* 802B3690 002AF2F0 40 82 00 0C */ bne lbl_802B369C
-/* 802B3694 002AF2F4 3B A0 FF FE */ li r29, -2
-/* 802B3698 002AF2F8 48 00 00 30 */ b lbl_802B36C8
-lbl_802B369C:
-/* 802B369C 002AF2FC 7F 24 CB 78 */ mr r4, r25
-/* 802B36A0 002AF300 7F 45 D3 78 */ mr r5, r26
-/* 802B36A4 002AF304 7F 66 DB 78 */ mr r6, r27
-/* 802B36A8 002AF308 7F 87 E3 78 */ mr r7, r28
-/* 802B36AC 002AF30C 38 7F 01 60 */ addi r3, r31, 0x160
-/* 802B36B0 002AF310 4B FF 96 C1 */ bl WPADiSendWriteData
-/* 802B36B4 002AF314 7C 83 00 D0 */ neg r4, r3
-/* 802B36B8 002AF318 38 00 FF FE */ li r0, -2
-/* 802B36BC 002AF31C 7C 83 1B 78 */ or r3, r4, r3
-/* 802B36C0 002AF320 7C 63 FE 70 */ srawi r3, r3, 0x1f
-/* 802B36C4 002AF324 7C 1D 18 78 */ andc r29, r0, r3
-lbl_802B36C8:
-/* 802B36C8 002AF328 2C 1D 00 00 */ cmpwi r29, 0
-/* 802B36CC 002AF32C 41 82 00 20 */ beq lbl_802B36EC
-/* 802B36D0 002AF330 2C 1C 00 00 */ cmpwi r28, 0
-/* 802B36D4 002AF334 41 82 00 18 */ beq lbl_802B36EC
-/* 802B36D8 002AF338 7F 8C E3 78 */ mr r12, r28
-/* 802B36DC 002AF33C 7F 03 C3 78 */ mr r3, r24
-/* 802B36E0 002AF340 7F A4 EB 78 */ mr r4, r29
-/* 802B36E4 002AF344 7D 89 03 A6 */ mtctr r12
-/* 802B36E8 002AF348 4E 80 04 21 */ bctrl
-lbl_802B36EC:
-/* 802B36EC 002AF34C 39 61 00 30 */ addi r11, r1, 0x30
-/* 802B36F0 002AF350 7F A3 EB 78 */ mr r3, r29
-/* 802B36F4 002AF354 4B F1 3A 75 */ bl _restgpr_24
-/* 802B36F8 002AF358 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 802B36FC 002AF35C 7C 08 03 A6 */ mtlr r0
-/* 802B3700 002AF360 38 21 00 30 */ addi r1, r1, 0x30
-/* 802B3704 002AF364 4E 80 00 20 */ blr
-
-.global func_802B3708
-func_802B3708:
-/* 802B3708 002AF368 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 802B370C 002AF36C 7C 08 02 A6 */ mflr r0
-/* 802B3710 002AF370 3C A0 80 53 */ lis r5, lbl_80536D70@ha
-/* 802B3714 002AF374 90 01 00 24 */ stw r0, 0x24(r1)
-/* 802B3718 002AF378 54 60 10 3A */ slwi r0, r3, 2
-/* 802B371C 002AF37C 38 A5 6D 70 */ addi r5, r5, lbl_80536D70@l
-/* 802B3720 002AF380 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 802B3724 002AF384 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 802B3728 002AF388 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 802B372C 002AF38C 7C 9D 23 78 */ mr r29, r4
-/* 802B3730 002AF390 7F E5 00 2E */ lwzx r31, r5, r0
-/* 802B3734 002AF394 4B FB B0 29 */ bl OSDisableInterrupts
-/* 802B3738 002AF398 80 1F 00 38 */ lwz r0, 0x38(r31)
-/* 802B373C 002AF39C 38 A0 00 00 */ li r5, 0
-/* 802B3740 002AF3A0 2C 00 00 00 */ cmpwi r0, 0
-/* 802B3744 002AF3A4 41 82 00 10 */ beq lbl_802B3754
-/* 802B3748 002AF3A8 80 1F 00 3C */ lwz r0, 0x3c(r31)
-/* 802B374C 002AF3AC 2C 00 00 00 */ cmpwi r0, 0
-/* 802B3750 002AF3B0 40 82 00 08 */ bne lbl_802B3758
-lbl_802B3754:
-/* 802B3754 002AF3B4 38 A0 00 01 */ li r5, 1
-lbl_802B3758:
-/* 802B3758 002AF3B8 7C 85 00 D0 */ neg r4, r5
-/* 802B375C 002AF3BC 38 00 FF FC */ li r0, -4
-/* 802B3760 002AF3C0 7C 84 2B 78 */ or r4, r4, r5
-/* 802B3764 002AF3C4 7C 84 FE 70 */ srawi r4, r4, 0x1f
-/* 802B3768 002AF3C8 7C 1E 20 79 */ andc. r30, r0, r4
-/* 802B376C 002AF3CC 40 82 00 10 */ bne lbl_802B377C
-/* 802B3770 002AF3D0 38 1F 00 08 */ addi r0, r31, 8
-/* 802B3774 002AF3D4 90 1D 00 00 */ stw r0, 0(r29)
-/* 802B3778 002AF3D8 48 00 00 0C */ b lbl_802B3784
-lbl_802B377C:
-/* 802B377C 002AF3DC 38 00 00 00 */ li r0, 0
-/* 802B3780 002AF3E0 90 1D 00 00 */ stw r0, 0(r29)
-lbl_802B3784:
-/* 802B3784 002AF3E4 4B FB B0 01 */ bl OSRestoreInterrupts
-/* 802B3788 002AF3E8 7F C3 F3 78 */ mr r3, r30
-/* 802B378C 002AF3EC 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 802B3790 002AF3F0 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 802B3794 002AF3F4 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 802B3798 002AF3F8 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 802B379C 002AF3FC 7C 08 03 A6 */ mtlr r0
-/* 802B37A0 002AF400 38 21 00 20 */ addi r1, r1, 0x20
-/* 802B37A4 002AF404 4E 80 00 20 */ blr
-
-.global func_802B37A8
-func_802B37A8:
-/* 802B37A8 002AF408 3C 80 80 54 */ lis r4, lbl_8053A440@ha
-/* 802B37AC 002AF40C 38 00 00 02 */ li r0, 2
-/* 802B37B0 002AF410 38 A0 00 00 */ li r5, 0
-/* 802B37B4 002AF414 38 84 A4 40 */ addi r4, r4, lbl_8053A440@l
-/* 802B37B8 002AF418 7C 09 03 A6 */ mtctr r0
-lbl_802B37BC:
-/* 802B37BC 002AF41C A0 03 00 00 */ lhz r0, 0(r3)
-/* 802B37C0 002AF420 2C 00 00 00 */ cmpwi r0, 0
-/* 802B37C4 002AF424 B0 04 00 00 */ sth r0, 0(r4)
-/* 802B37C8 002AF428 41 82 00 84 */ beq lbl_802B384C
-/* 802B37CC 002AF42C A0 03 00 02 */ lhz r0, 2(r3)
-/* 802B37D0 002AF430 2C 00 00 00 */ cmpwi r0, 0
-/* 802B37D4 002AF434 B0 04 00 02 */ sth r0, 2(r4)
-/* 802B37D8 002AF438 41 82 00 74 */ beq lbl_802B384C
-/* 802B37DC 002AF43C A0 03 00 04 */ lhz r0, 4(r3)
-/* 802B37E0 002AF440 2C 00 00 00 */ cmpwi r0, 0
-/* 802B37E4 002AF444 B0 04 00 04 */ sth r0, 4(r4)
-/* 802B37E8 002AF448 41 82 00 64 */ beq lbl_802B384C
-/* 802B37EC 002AF44C A0 03 00 06 */ lhz r0, 6(r3)
-/* 802B37F0 002AF450 2C 00 00 00 */ cmpwi r0, 0
-/* 802B37F4 002AF454 B0 04 00 06 */ sth r0, 6(r4)
-/* 802B37F8 002AF458 41 82 00 54 */ beq lbl_802B384C
-/* 802B37FC 002AF45C A0 03 00 08 */ lhz r0, 8(r3)
-/* 802B3800 002AF460 2C 00 00 00 */ cmpwi r0, 0
-/* 802B3804 002AF464 B0 04 00 08 */ sth r0, 8(r4)
-/* 802B3808 002AF468 41 82 00 44 */ beq lbl_802B384C
-/* 802B380C 002AF46C A0 03 00 0A */ lhz r0, 0xa(r3)
-/* 802B3810 002AF470 2C 00 00 00 */ cmpwi r0, 0
-/* 802B3814 002AF474 B0 04 00 0A */ sth r0, 0xa(r4)
-/* 802B3818 002AF478 41 82 00 34 */ beq lbl_802B384C
-/* 802B381C 002AF47C A0 03 00 0C */ lhz r0, 0xc(r3)
-/* 802B3820 002AF480 2C 00 00 00 */ cmpwi r0, 0
-/* 802B3824 002AF484 B0 04 00 0C */ sth r0, 0xc(r4)
-/* 802B3828 002AF488 41 82 00 24 */ beq lbl_802B384C
-/* 802B382C 002AF48C A0 03 00 0E */ lhz r0, 0xe(r3)
-/* 802B3830 002AF490 2C 00 00 00 */ cmpwi r0, 0
-/* 802B3834 002AF494 B0 04 00 0E */ sth r0, 0xe(r4)
-/* 802B3838 002AF498 41 82 00 14 */ beq lbl_802B384C
-/* 802B383C 002AF49C 38 63 00 10 */ addi r3, r3, 0x10
-/* 802B3840 002AF4A0 38 84 00 10 */ addi r4, r4, 0x10
-/* 802B3844 002AF4A4 38 A5 00 07 */ addi r5, r5, 7
-/* 802B3848 002AF4A8 42 00 FF 74 */ bdnz lbl_802B37BC
-lbl_802B384C:
-/* 802B384C 002AF4AC 3C 60 80 54 */ lis r3, lbl_8053A440@ha
-/* 802B3850 002AF4B0 38 00 00 00 */ li r0, 0
-/* 802B3854 002AF4B4 38 63 A4 40 */ addi r3, r3, lbl_8053A440@l
-/* 802B3858 002AF4B8 B0 03 00 20 */ sth r0, 0x20(r3)
-/* 802B385C 002AF4BC 4E 80 00 20 */ blr
-
-.global func_802B3860
-func_802B3860:
-/* 802B3860 002AF4C0 94 21 FF 90 */ stwu r1, -0x70(r1)
-/* 802B3864 002AF4C4 40 86 00 24 */ bne cr1, lbl_802B3888
-/* 802B3868 002AF4C8 D8 21 00 28 */ stfd f1, 0x28(r1)
-/* 802B386C 002AF4CC D8 41 00 30 */ stfd f2, 0x30(r1)
-/* 802B3870 002AF4D0 D8 61 00 38 */ stfd f3, 0x38(r1)
-/* 802B3874 002AF4D4 D8 81 00 40 */ stfd f4, 0x40(r1)
-/* 802B3878 002AF4D8 D8 A1 00 48 */ stfd f5, 0x48(r1)
-/* 802B387C 002AF4DC D8 C1 00 50 */ stfd f6, 0x50(r1)
-/* 802B3880 002AF4E0 D8 E1 00 58 */ stfd f7, 0x58(r1)
-/* 802B3884 002AF4E4 D9 01 00 60 */ stfd f8, 0x60(r1)
-lbl_802B3888:
-/* 802B3888 002AF4E8 90 61 00 08 */ stw r3, 8(r1)
-/* 802B388C 002AF4EC 90 81 00 0C */ stw r4, 0xc(r1)
-/* 802B3890 002AF4F0 90 A1 00 10 */ stw r5, 0x10(r1)
-/* 802B3894 002AF4F4 90 C1 00 14 */ stw r6, 0x14(r1)
-/* 802B3898 002AF4F8 90 E1 00 18 */ stw r7, 0x18(r1)
-/* 802B389C 002AF4FC 91 01 00 1C */ stw r8, 0x1c(r1)
-/* 802B38A0 002AF500 91 21 00 20 */ stw r9, 0x20(r1)
-/* 802B38A4 002AF504 91 41 00 24 */ stw r10, 0x24(r1)
-/* 802B38A8 002AF508 38 21 00 70 */ addi r1, r1, 0x70
-/* 802B38AC 002AF50C 4E 80 00 20 */ blr
diff --git a/asm/SDK/WPAD/WPADHIDParser.s b/asm/SDK/WPAD/WPADHIDParser.s
index 4e93f65..d20f990 100644
--- a/asm/SDK/WPAD/WPADHIDParser.s
+++ b/asm/SDK/WPAD/WPADHIDParser.s
@@ -248,7 +248,7 @@ lbl_802AD528:
/* 802AD53C 002A919C 40 82 01 38 */ bne lbl_802AD674
/* 802AD540 002A91A0 38 7E 00 98 */ addi r3, r30, 0x98
/* 802AD544 002A91A4 4C C6 31 82 */ crclr 6
-/* 802AD548 002A91A8 48 00 63 19 */ bl func_802B3860
+/* 802AD548 002A91A8 48 00 63 19 */ bl DEBUGPrint
/* 802AD54C 002A91AC 7C 7D CA 14 */ add r3, r29, r25
/* 802AD550 002A91B0 7C 99 E8 AE */ lbzx r4, r25, r29
/* 802AD554 002A91B4 88 03 00 02 */ lbz r0, 2(r3)
@@ -326,7 +326,7 @@ lbl_802AD528:
lbl_802AD674:
/* 802AD674 002A92D4 38 7E 00 B0 */ addi r3, r30, 0xb0
/* 802AD678 002A92D8 4C C6 31 82 */ crclr 6
-/* 802AD67C 002A92DC 48 00 61 E5 */ bl func_802B3860
+/* 802AD67C 002A92DC 48 00 61 E5 */ bl DEBUGPrint
/* 802AD680 002A92E0 3B 9C 00 01 */ addi r28, r28, 1
/* 802AD684 002A92E4 28 1C 00 02 */ cmplwi r28, 2
/* 802AD688 002A92E8 41 80 FD 58 */ blt lbl_802AD3E0
@@ -334,7 +334,7 @@ lbl_802AD674:
lbl_802AD690:
/* 802AD690 002A92F0 38 7E 00 C8 */ addi r3, r30, 0xc8
/* 802AD694 002A92F4 4C C6 31 82 */ crclr 6
-/* 802AD698 002A92F8 48 00 61 C9 */ bl func_802B3860
+/* 802AD698 002A92F8 48 00 61 C9 */ bl DEBUGPrint
lbl_802AD69C:
/* 802AD69C 002A92FC 3B A0 00 00 */ li r29, 0
/* 802AD6A0 002A9300 3F E0 80 00 */ lis r31, 0x8000
@@ -443,7 +443,7 @@ lbl_802AD7FC:
/* 802AD810 002A9470 40 82 00 A4 */ bne lbl_802AD8B4
/* 802AD814 002A9474 38 7E 01 0C */ addi r3, r30, 0x10c
/* 802AD818 002A9478 4C C6 31 82 */ crclr 6
-/* 802AD81C 002A947C 48 00 60 45 */ bl func_802B3860
+/* 802AD81C 002A947C 48 00 60 45 */ bl DEBUGPrint
/* 802AD820 002A9480 88 16 00 03 */ lbz r0, 3(r22)
/* 802AD824 002A9484 88 76 00 00 */ lbz r3, 0(r22)
/* 802AD828 002A9488 54 00 E7 BE */ rlwinm r0, r0, 0x1c, 0x1e, 0x1f
@@ -484,7 +484,7 @@ lbl_802AD7FC:
lbl_802AD8B4:
/* 802AD8B4 002A9514 38 7E 01 18 */ addi r3, r30, 0x118
/* 802AD8B8 002A9518 4C C6 31 82 */ crclr 6
-/* 802AD8BC 002A951C 48 00 5F A5 */ bl func_802B3860
+/* 802AD8BC 002A951C 48 00 5F A5 */ bl DEBUGPrint
/* 802AD8C0 002A9520 3B BD 00 01 */ addi r29, r29, 1
/* 802AD8C4 002A9524 28 1D 00 02 */ cmplwi r29, 2
/* 802AD8C8 002A9528 41 80 FD DC */ blt lbl_802AD6A4
@@ -494,18 +494,18 @@ lbl_802AD8CC:
/* 802AD8D4 002A9534 A8 BB 08 76 */ lha r5, 0x876(r27)
/* 802AD8D8 002A9538 A8 DB 08 78 */ lha r6, 0x878(r27)
/* 802AD8DC 002A953C 4C C6 31 82 */ crclr 6
-/* 802AD8E0 002A9540 48 00 5F 81 */ bl func_802B3860
+/* 802AD8E0 002A9540 48 00 5F 81 */ bl DEBUGPrint
/* 802AD8E4 002A9544 A8 9B 08 7A */ lha r4, 0x87a(r27)
/* 802AD8E8 002A9548 38 7E 01 50 */ addi r3, r30, 0x150
/* 802AD8EC 002A954C A8 BB 08 7C */ lha r5, 0x87c(r27)
/* 802AD8F0 002A9550 A8 DB 08 7E */ lha r6, 0x87e(r27)
/* 802AD8F4 002A9554 4C C6 31 82 */ crclr 6
-/* 802AD8F8 002A9558 48 00 5F 69 */ bl func_802B3860
+/* 802AD8F8 002A9558 48 00 5F 69 */ bl DEBUGPrint
/* 802AD8FC 002A955C 88 9B 08 81 */ lbz r4, 0x881(r27)
/* 802AD900 002A9560 38 7E 01 78 */ addi r3, r30, 0x178
/* 802AD904 002A9564 88 BB 08 80 */ lbz r5, 0x880(r27)
/* 802AD908 002A9568 4C C6 31 82 */ crclr 6
-/* 802AD90C 002A956C 48 00 5F 55 */ bl func_802B3860
+/* 802AD90C 002A956C 48 00 5F 55 */ bl DEBUGPrint
lbl_802AD910:
/* 802AD910 002A9570 39 61 00 30 */ addi r11, r1, 0x30
/* 802AD914 002A9574 4B F1 98 4D */ bl _restgpr_22
@@ -561,7 +561,7 @@ lbl_802AD99C:
/* 802AD9C0 002A9620 7F A4 EB 78 */ mr r4, r29
/* 802AD9C4 002A9624 38 A0 00 20 */ li r5, 0x20
/* 802AD9C8 002A9628 38 C0 00 20 */ li r6, 0x20
-/* 802AD9CC 002A962C 48 00 50 8D */ bl func_802B2A58
+/* 802AD9CC 002A962C 48 00 50 8D */ bl WPADiDecode
/* 802AD9D0 002A9630 38 A0 00 00 */ li r5, 0
/* 802AD9D4 002A9634 38 80 00 00 */ li r4, 0
/* 802AD9D8 002A9638 3C 60 80 00 */ lis r3, 0x8000
@@ -684,7 +684,7 @@ lbl_802ADB78:
/* 802ADB7C 002A97DC 40 80 00 34 */ bge lbl_802ADBB0
/* 802ADB80 002A97E0 38 7F 01 94 */ addi r3, r31, 0x194
/* 802ADB84 002A97E4 4C C6 31 82 */ crclr 6
-/* 802ADB88 002A97E8 48 00 5C D9 */ bl func_802B3860
+/* 802ADB88 002A97E8 48 00 5C D9 */ bl DEBUGPrint
/* 802ADB8C 002A97EC 38 60 02 00 */ li r3, 0x200
/* 802ADB90 002A97F0 38 00 02 CC */ li r0, 0x2cc
/* 802ADB94 002A97F4 B0 7E 08 8E */ sth r3, 0x88e(r30)
@@ -749,25 +749,25 @@ lbl_802ADBB0:
/* 802ADC7C 002A98DC 7C 00 07 74 */ extsb r0, r0
/* 802ADC80 002A98E0 B0 1E 08 88 */ sth r0, 0x888(r30)
/* 802ADC84 002A98E4 4C C6 31 82 */ crclr 6
-/* 802ADC88 002A98E8 48 00 5B D9 */ bl func_802B3860
+/* 802ADC88 002A98E8 48 00 5B D9 */ bl DEBUGPrint
/* 802ADC8C 002A98EC A8 9E 08 94 */ lha r4, 0x894(r30)
/* 802ADC90 002A98F0 38 7F 01 D8 */ addi r3, r31, 0x1d8
/* 802ADC94 002A98F4 A8 BE 08 96 */ lha r5, 0x896(r30)
/* 802ADC98 002A98F8 A8 DE 08 98 */ lha r6, 0x898(r30)
/* 802ADC9C 002A98FC 4C C6 31 82 */ crclr 6
-/* 802ADCA0 002A9900 48 00 5B C1 */ bl func_802B3860
+/* 802ADCA0 002A9900 48 00 5B C1 */ bl DEBUGPrint
/* 802ADCA4 002A9904 A8 9E 08 82 */ lha r4, 0x882(r30)
/* 802ADCA8 002A9908 38 7F 02 08 */ addi r3, r31, 0x208
/* 802ADCAC 002A990C A8 BE 08 86 */ lha r5, 0x886(r30)
/* 802ADCB0 002A9910 A8 DE 08 84 */ lha r6, 0x884(r30)
/* 802ADCB4 002A9914 4C C6 31 82 */ crclr 6
-/* 802ADCB8 002A9918 48 00 5B A9 */ bl func_802B3860
+/* 802ADCB8 002A9918 48 00 5B A9 */ bl DEBUGPrint
/* 802ADCBC 002A991C A8 9E 08 88 */ lha r4, 0x888(r30)
/* 802ADCC0 002A9920 38 7F 02 30 */ addi r3, r31, 0x230
/* 802ADCC4 002A9924 A8 BE 08 8C */ lha r5, 0x88c(r30)
/* 802ADCC8 002A9928 A8 DE 08 8A */ lha r6, 0x88a(r30)
/* 802ADCCC 002A992C 4C C6 31 82 */ crclr 6
-/* 802ADCD0 002A9930 48 00 5B 91 */ bl func_802B3860
+/* 802ADCD0 002A9930 48 00 5B 91 */ bl DEBUGPrint
/* 802ADCD4 002A9934 48 00 01 10 */ b lbl_802ADDE4
lbl_802ADCD8:
/* 802ADCD8 002A9938 7C 1D E0 AE */ lbzx r0, r29, r28
@@ -813,30 +813,30 @@ lbl_802ADCD8:
/* 802ADD78 002A99D8 88 07 00 0D */ lbz r0, 0xd(r7)
/* 802ADD7C 002A99DC 98 1E 08 9B */ stb r0, 0x89b(r30)
/* 802ADD80 002A99E0 4C C6 31 82 */ crclr 6
-/* 802ADD84 002A99E4 48 00 5A DD */ bl func_802B3860
+/* 802ADD84 002A99E4 48 00 5A DD */ bl DEBUGPrint
/* 802ADD88 002A99E8 A8 9E 08 88 */ lha r4, 0x888(r30)
/* 802ADD8C 002A99EC 38 7F 02 80 */ addi r3, r31, 0x280
/* 802ADD90 002A99F0 A8 BE 08 8C */ lha r5, 0x88c(r30)
/* 802ADD94 002A99F4 A8 DE 08 8A */ lha r6, 0x88a(r30)
/* 802ADD98 002A99F8 4C C6 31 82 */ crclr 6
-/* 802ADD9C 002A99FC 48 00 5A C5 */ bl func_802B3860
+/* 802ADD9C 002A99FC 48 00 5A C5 */ bl DEBUGPrint
/* 802ADDA0 002A9A00 A8 9E 08 8E */ lha r4, 0x88e(r30)
/* 802ADDA4 002A9A04 38 7F 02 A8 */ addi r3, r31, 0x2a8
/* 802ADDA8 002A9A08 A8 BE 08 92 */ lha r5, 0x892(r30)
/* 802ADDAC 002A9A0C A8 DE 08 90 */ lha r6, 0x890(r30)
/* 802ADDB0 002A9A10 4C C6 31 82 */ crclr 6
-/* 802ADDB4 002A9A14 48 00 5A AD */ bl func_802B3860
+/* 802ADDB4 002A9A14 48 00 5A AD */ bl DEBUGPrint
/* 802ADDB8 002A9A18 A8 9E 08 94 */ lha r4, 0x894(r30)
/* 802ADDBC 002A9A1C 38 7F 02 D0 */ addi r3, r31, 0x2d0
/* 802ADDC0 002A9A20 A8 BE 08 98 */ lha r5, 0x898(r30)
/* 802ADDC4 002A9A24 A8 DE 08 96 */ lha r6, 0x896(r30)
/* 802ADDC8 002A9A28 4C C6 31 82 */ crclr 6
-/* 802ADDCC 002A9A2C 48 00 5A 95 */ bl func_802B3860
+/* 802ADDCC 002A9A2C 48 00 5A 95 */ bl DEBUGPrint
/* 802ADDD0 002A9A30 88 9E 08 9A */ lbz r4, 0x89a(r30)
/* 802ADDD4 002A9A34 38 7F 02 F8 */ addi r3, r31, 0x2f8
/* 802ADDD8 002A9A38 88 BE 08 9B */ lbz r5, 0x89b(r30)
/* 802ADDDC 002A9A3C 4C C6 31 82 */ crclr 6
-/* 802ADDE0 002A9A40 48 00 5A 81 */ bl func_802B3860
+/* 802ADDE0 002A9A40 48 00 5A 81 */ bl DEBUGPrint
lbl_802ADDE4:
/* 802ADDE4 002A9A44 38 00 00 00 */ li r0, 0
/* 802ADDE8 002A9A48 98 1E 09 11 */ stb r0, 0x911(r30)
@@ -918,12 +918,12 @@ lbl_802ADEE8:
/* 802ADEEC 002A9B4C 88 9C 00 00 */ lbz r4, 0(r28)
/* 802ADEF0 002A9B50 38 63 C5 B0 */ addi r3, r3, lbl_8043C5B0@l
/* 802ADEF4 002A9B54 4C C6 31 82 */ crclr 6
-/* 802ADEF8 002A9B58 48 00 59 69 */ bl func_802B3860
+/* 802ADEF8 002A9B58 48 00 59 69 */ bl DEBUGPrint
/* 802ADEFC 002A9B5C 3C 60 80 44 */ lis r3, lbl_8043C5BC@ha
/* 802ADF00 002A9B60 7C 9B E8 AE */ lbzx r4, r27, r29
/* 802ADF04 002A9B64 38 63 C5 BC */ addi r3, r3, lbl_8043C5BC@l
/* 802ADF08 002A9B68 4C C6 31 82 */ crclr 6
-/* 802ADF0C 002A9B6C 48 00 59 55 */ bl func_802B3860
+/* 802ADF0C 002A9B6C 48 00 59 55 */ bl DEBUGPrint
/* 802ADF10 002A9B70 88 7C 00 00 */ lbz r3, 0(r28)
/* 802ADF14 002A9B74 38 03 00 05 */ addi r0, r3, 5
/* 802ADF18 002A9B78 54 00 06 3E */ clrlwi r0, r0, 0x18
@@ -953,7 +953,7 @@ lbl_802ADF50:
/* 802ADF74 002A9BD4 38 DB D1 BC */ addi r6, r27, abortInitExtension@l
/* 802ADF78 002A9BD8 4B FF EC 45 */ bl WPADiSendWriteDataCmd
/* 802ADF7C 002A9BDC 7F A3 EB 78 */ mr r3, r29
-/* 802ADF80 002A9BE0 48 00 3C F1 */ bl func_802B1C70
+/* 802ADF80 002A9BE0 48 00 3C F1 */ bl WPADiCreateKey
/* 802ADF84 002A9BE4 7F C3 F3 78 */ mr r3, r30
/* 802ADF88 002A9BE8 38 9F 09 14 */ addi r4, r31, 0x914
/* 802ADF8C 002A9BEC 38 DC 00 40 */ addi r6, r28, 0x40
@@ -988,7 +988,7 @@ lbl_802ADFE8:
/* 802ADFFC 002A9C5C 38 DC D1 BC */ addi r6, r28, abortInitExtension@l
/* 802AE000 002A9C60 4B FF EB BD */ bl WPADiSendWriteDataCmd
/* 802AE004 002A9C64 7F A3 EB 78 */ mr r3, r29
-/* 802AE008 002A9C68 48 00 43 59 */ bl func_802B2360
+/* 802AE008 002A9C68 48 00 43 59 */ bl WPADiCreateKeyFor3rd
/* 802AE00C 002A9C6C 7F C3 F3 78 */ mr r3, r30
/* 802AE010 002A9C70 38 9F 09 14 */ addi r4, r31, 0x914
/* 802AE014 002A9C74 38 DB 00 40 */ addi r6, r27, 0x40
@@ -1195,7 +1195,7 @@ __a1_20_status_report:
/* 802AE2F8 002A9F58 7C 9A 23 78 */ mr r26, r4
/* 802AE2FC 002A9F5C 38 7F 03 28 */ addi r3, r31, 0x328
/* 802AE300 002A9F60 4C C6 31 82 */ crclr 6
-/* 802AE304 002A9F64 48 00 55 5D */ bl func_802B3860
+/* 802AE304 002A9F64 48 00 55 5D */ bl DEBUGPrint
/* 802AE308 002A9F68 4B FC 04 55 */ bl OSDisableInterrupts
/* 802AE30C 002A9F6C 3C 80 80 53 */ lis r4, lbl_80536D70@ha
/* 802AE310 002A9F70 57 20 15 BA */ rlwinm r0, r25, 2, 0x16, 0x1d
@@ -1342,7 +1342,7 @@ lbl_802AE518:
/* 802AE528 002AA188 40 82 00 C0 */ bne lbl_802AE5E8
/* 802AE52C 002AA18C 38 7F 03 3C */ addi r3, r31, 0x33c
/* 802AE530 002AA190 4C C6 31 82 */ crclr 6
-/* 802AE534 002AA194 48 00 53 2D */ bl func_802B3860
+/* 802AE534 002AA194 48 00 53 2D */ bl DEBUGPrint
/* 802AE538 002AA198 3C 60 80 53 */ lis r3, lbl_80536D70@ha
/* 802AE53C 002AA19C 57 20 15 BA */ rlwinm r0, r25, 2, 0x16, 0x1d
/* 802AE540 002AA1A0 38 63 6D 70 */ addi r3, r3, lbl_80536D70@l
@@ -1390,7 +1390,7 @@ lbl_802AE518:
lbl_802AE5E8:
/* 802AE5E8 002AA248 38 7F 03 54 */ addi r3, r31, 0x354
/* 802AE5EC 002AA24C 4C C6 31 82 */ crclr 6
-/* 802AE5F0 002AA250 48 00 52 71 */ bl func_802B3860
+/* 802AE5F0 002AA250 48 00 52 71 */ bl DEBUGPrint
/* 802AE5F4 002AA254 48 00 00 5C */ b lbl_802AE650
lbl_802AE5F8:
/* 802AE5F8 002AA258 38 00 00 00 */ li r0, 0
@@ -1415,7 +1415,7 @@ lbl_802AE5F8:
lbl_802AE644:
/* 802AE644 002AA2A4 38 7F 03 6C */ addi r3, r31, 0x36c
/* 802AE648 002AA2A8 4C C6 31 82 */ crclr 6
-/* 802AE64C 002AA2AC 48 00 52 15 */ bl func_802B3860
+/* 802AE64C 002AA2AC 48 00 52 15 */ bl DEBUGPrint
lbl_802AE650:
/* 802AE650 002AA2B0 80 7E 08 50 */ lwz r3, 0x850(r30)
/* 802AE654 002AA2B4 2C 03 00 00 */ cmpwi r3, 0
@@ -1562,7 +1562,7 @@ lbl_802AE744:
/* 802AE86C 002AA4CC 41 82 00 58 */ beq lbl_802AE8C4
/* 802AE870 002AA4D0 38 7E 03 84 */ addi r3, r30, 0x384
/* 802AE874 002AA4D4 4C C6 31 82 */ crclr 6
-/* 802AE878 002AA4D8 48 00 4F E9 */ bl func_802B3860
+/* 802AE878 002AA4D8 48 00 4F E9 */ bl DEBUGPrint
/* 802AE87C 002AA4DC 38 00 FF FF */ li r0, -1
/* 802AE880 002AA4E0 90 1D 09 7C */ stw r0, 0x97c(r29)
/* 802AE884 002AA4E4 81 9D 08 9C */ lwz r12, 0x89c(r29)
@@ -1610,11 +1610,11 @@ lbl_802AE8C4:
/* 802AE91C 002AA57C 80 9D 09 78 */ lwz r4, 0x978(r29)
/* 802AE920 002AA580 38 7E 03 9C */ addi r3, r30, 0x39c
/* 802AE924 002AA584 4C C6 31 82 */ crclr 6
-/* 802AE928 002AA588 48 00 4F 39 */ bl func_802B3860
+/* 802AE928 002AA588 48 00 4F 39 */ bl DEBUGPrint
/* 802AE92C 002AA58C A0 9D 09 80 */ lhz r4, 0x980(r29)
/* 802AE930 002AA590 38 7E 03 B0 */ addi r3, r30, 0x3b0
/* 802AE934 002AA594 4C C6 31 82 */ crclr 6
-/* 802AE938 002AA598 48 00 4F 29 */ bl func_802B3860
+/* 802AE938 002AA598 48 00 4F 29 */ bl DEBUGPrint
/* 802AE93C 002AA59C 80 9D 09 78 */ lwz r4, 0x978(r29)
/* 802AE940 002AA5A0 38 00 FF FD */ li r0, -3
/* 802AE944 002AA5A4 80 7D 09 7C */ lwz r3, 0x97c(r29)
@@ -1686,7 +1686,7 @@ lbl_802AEA20:
lbl_802AEA2C:
/* 802AEA2C 002AA68C 38 7E 03 C0 */ addi r3, r30, 0x3c0
/* 802AEA30 002AA690 4C C6 31 82 */ crclr 6
-/* 802AEA34 002AA694 48 00 4E 2D */ bl func_802B3860
+/* 802AEA34 002AA694 48 00 4E 2D */ bl DEBUGPrint
lbl_802AEA38:
/* 802AEA38 002AA698 38 00 FF FE */ li r0, -2
/* 802AEA3C 002AA69C 7F 83 E3 78 */ mr r3, r28
@@ -1720,7 +1720,7 @@ __a1_22_ack:
/* 802AEAA0 002AA700 7C 7D 1B 78 */ mr r29, r3
/* 802AEAA4 002AA704 38 7F 03 E0 */ addi r3, r31, 0x3e0
/* 802AEAA8 002AA708 4C C6 31 82 */ crclr 6
-/* 802AEAAC 002AA70C 48 00 4D B5 */ bl func_802B3860
+/* 802AEAAC 002AA70C 48 00 4D B5 */ bl DEBUGPrint
/* 802AEAB0 002AA710 3C 60 80 53 */ lis r3, lbl_80536D70@ha
/* 802AEAB4 002AA714 57 44 15 BA */ rlwinm r4, r26, 2, 0x16, 0x1d
/* 802AEAB8 002AA718 38 63 6D 70 */ addi r3, r3, lbl_80536D70@l
@@ -1806,7 +1806,7 @@ lbl_802AEAE0:
/* 802AEBF4 002AA854 7F 24 CB 78 */ mr r4, r25
/* 802AEBF8 002AA858 7F 65 DB 78 */ mr r5, r27
/* 802AEBFC 002AA85C 4C C6 31 82 */ crclr 6
-/* 802AEC00 002AA860 48 00 4C 61 */ bl func_802B3860
+/* 802AEC00 002AA860 48 00 4C 61 */ bl DEBUGPrint
/* 802AEC04 002AA864 38 00 FF FE */ li r0, -2
/* 802AEC08 002AA868 7F 63 00 34 */ cntlzw r3, r27
/* 802AEC0C 002AA86C 98 1C 00 29 */ stb r0, 0x29(r28)
@@ -1822,7 +1822,7 @@ lbl_802AEAE0:
/* 802AEC34 002AA894 7F 65 DB 78 */ mr r5, r27
/* 802AEC38 002AA898 38 7F 04 1C */ addi r3, r31, 0x41c
/* 802AEC3C 002AA89C 4C C6 31 82 */ crclr 6
-/* 802AEC40 002AA8A0 48 00 4C 21 */ bl func_802B3860
+/* 802AEC40 002AA8A0 48 00 4C 21 */ bl DEBUGPrint
lbl_802AEC44:
/* 802AEC44 002AA8A4 88 1E 09 87 */ lbz r0, 0x987(r30)
/* 802AEC48 002AA8A8 7C 00 C8 40 */ cmplw r0, r25
@@ -1843,7 +1843,7 @@ lbl_802AEC74:
lbl_802AEC80:
/* 802AEC80 002AA8E0 38 7F 04 4C */ addi r3, r31, 0x44c
/* 802AEC84 002AA8E4 4C C6 31 82 */ crclr 6
-/* 802AEC88 002AA8E8 48 00 4B D9 */ bl func_802B3860
+/* 802AEC88 002AA8E8 48 00 4B D9 */ bl DEBUGPrint
lbl_802AEC8C:
/* 802AEC8C 002AA8EC 88 1E 08 C8 */ lbz r0, 0x8c8(r30)
/* 802AEC90 002AA8F0 7F A3 EB 78 */ mr r3, r29
@@ -2441,7 +2441,7 @@ lbl_802AF518:
/* 802AF544 002AB1A4 38 9B 00 03 */ addi r4, r27, 3
/* 802AF548 002AB1A8 38 A0 00 08 */ li r5, 8
/* 802AF54C 002AB1AC 38 C0 00 00 */ li r6, 0
-/* 802AF550 002AB1B0 48 00 35 09 */ bl func_802B2A58
+/* 802AF550 002AB1B0 48 00 35 09 */ bl WPADiDecode
/* 802AF554 002AB1B4 80 1F 08 40 */ lwz r0, 0x840(r31)
/* 802AF558 002AB1B8 2C 00 00 00 */ cmpwi r0, 0
/* 802AF55C 002AB1BC 41 82 05 B8 */ beq lbl_802AFB14
@@ -3182,7 +3182,7 @@ lbl_802AFF5C:
/* 802B0020 002ABC80 38 9C 00 06 */ addi r4, r28, 6
/* 802B0024 002ABC84 38 A0 00 10 */ li r5, 0x10
/* 802B0028 002ABC88 38 C0 00 00 */ li r6, 0
-/* 802B002C 002ABC8C 48 00 2A 2D */ bl func_802B2A58
+/* 802B002C 002ABC8C 48 00 2A 2D */ bl WPADiDecode
/* 802B0030 002ABC90 80 1F 08 40 */ lwz r0, 0x840(r31)
/* 802B0034 002ABC94 2C 00 00 00 */ cmpwi r0, 0
/* 802B0038 002ABC98 41 82 05 B8 */ beq lbl_802B05F0
@@ -3702,7 +3702,7 @@ lbl_802B067C:
/* 802B07B8 002AC418 38 9C 00 0D */ addi r4, r28, 0xd
/* 802B07BC 002AC41C 38 A0 00 09 */ li r5, 9
/* 802B07C0 002AC420 38 C0 00 00 */ li r6, 0
-/* 802B07C4 002AC424 48 00 22 95 */ bl func_802B2A58
+/* 802B07C4 002AC424 48 00 22 95 */ bl WPADiDecode
/* 802B07C8 002AC428 80 1F 08 40 */ lwz r0, 0x840(r31)
/* 802B07CC 002AC42C 2C 00 00 00 */ cmpwi r0, 0
/* 802B07D0 002AC430 41 82 00 34 */ beq lbl_802B0804
@@ -3896,7 +3896,7 @@ lbl_802B09BC:
/* 802B0AA4 002AC704 38 9D 00 10 */ addi r4, r29, 0x10
/* 802B0AA8 002AC708 38 A0 00 06 */ li r5, 6
/* 802B0AAC 002AC70C 38 C0 00 00 */ li r6, 0
-/* 802B0AB0 002AC710 48 00 1F A9 */ bl func_802B2A58
+/* 802B0AB0 002AC710 48 00 1F A9 */ bl WPADiDecode
/* 802B0AB4 002AC714 80 1F 08 40 */ lwz r0, 0x840(r31)
/* 802B0AB8 002AC718 2C 00 00 00 */ cmpwi r0, 0
/* 802B0ABC 002AC71C 41 82 05 A0 */ beq lbl_802B105C
diff --git a/asm/SDK/WPAD/WPADMem.s b/asm/SDK/WPAD/WPADMem.s
new file mode 100644
index 0000000..174c306
--- /dev/null
+++ b/asm/SDK/WPAD/WPADMem.s
@@ -0,0 +1,791 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+ResultCallback:
+/* 802B2D18 002AE978 1C C3 00 14 */ mulli r6, r3, 0x14
+/* 802B2D1C 002AE97C 3C A0 80 54 */ lis r5, lbl_8053A480@ha
+/* 802B2D20 002AE980 38 00 00 00 */ li r0, 0
+/* 802B2D24 002AE984 38 A5 A4 80 */ addi r5, r5, lbl_8053A480@l
+/* 802B2D28 002AE988 7C 05 31 2E */ stwx r0, r5, r6
+/* 802B2D2C 002AE98C 7C A5 32 14 */ add r5, r5, r6
+/* 802B2D30 002AE990 81 85 00 10 */ lwz r12, 0x10(r5)
+/* 802B2D34 002AE994 2C 0C 00 00 */ cmpwi r12, 0
+/* 802B2D38 002AE998 90 05 00 10 */ stw r0, 0x10(r5)
+/* 802B2D3C 002AE99C 4D 82 00 20 */ beqlr
+/* 802B2D40 002AE9A0 7D 89 03 A6 */ mtctr r12
+/* 802B2D44 002AE9A4 4E 80 04 20 */ bctr
+/* 802B2D48 002AE9A8 4E 80 00 20 */ blr
+
+WriteCallback:
+/* 802B2D4C 002AE9AC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802B2D50 002AE9B0 7C 08 02 A6 */ mflr r0
+/* 802B2D54 002AE9B4 3C C0 80 54 */ lis r6, lbl_8053A480@ha
+/* 802B2D58 002AE9B8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802B2D5C 002AE9BC 38 C6 A4 80 */ addi r6, r6, lbl_8053A480@l
+/* 802B2D60 002AE9C0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802B2D64 002AE9C4 7C 7F 1B 78 */ mr r31, r3
+/* 802B2D68 002AE9C8 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802B2D6C 002AE9CC 1F C3 00 14 */ mulli r30, r3, 0x14
+/* 802B2D70 002AE9D0 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802B2D74 002AE9D4 7C A6 F2 14 */ add r5, r6, r30
+/* 802B2D78 002AE9D8 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802B2D7C 002AE9DC A0 E5 00 08 */ lhz r7, 8(r5)
+/* 802B2D80 002AE9E0 2C 07 00 00 */ cmpwi r7, 0
+/* 802B2D84 002AE9E4 40 82 00 28 */ bne lbl_802B2DAC
+/* 802B2D88 002AE9E8 38 00 00 00 */ li r0, 0
+/* 802B2D8C 002AE9EC 7C 06 F1 2E */ stwx r0, r6, r30
+/* 802B2D90 002AE9F0 81 85 00 10 */ lwz r12, 0x10(r5)
+/* 802B2D94 002AE9F4 2C 0C 00 00 */ cmpwi r12, 0
+/* 802B2D98 002AE9F8 90 05 00 10 */ stw r0, 0x10(r5)
+/* 802B2D9C 002AE9FC 41 82 01 00 */ beq lbl_802B2E9C
+/* 802B2DA0 002AEA00 7D 89 03 A6 */ mtctr r12
+/* 802B2DA4 002AEA04 4E 80 04 21 */ bctrl
+/* 802B2DA8 002AEA08 48 00 00 F4 */ b lbl_802B2E9C
+lbl_802B2DAC:
+/* 802B2DAC 002AEA0C 28 07 00 10 */ cmplwi r7, 0x10
+/* 802B2DB0 002AEA10 38 00 00 10 */ li r0, 0x10
+/* 802B2DB4 002AEA14 41 81 00 08 */ bgt lbl_802B2DBC
+/* 802B2DB8 002AEA18 7C E0 3B 78 */ mr r0, r7
+lbl_802B2DBC:
+/* 802B2DBC 002AEA1C 2C 04 00 00 */ cmpwi r4, 0
+/* 802B2DC0 002AEA20 54 1C 04 3E */ clrlwi r28, r0, 0x10
+/* 802B2DC4 002AEA24 40 82 00 64 */ bne lbl_802B2E28
+/* 802B2DC8 002AEA28 A0 05 00 08 */ lhz r0, 8(r5)
+/* 802B2DCC 002AEA2C 3C 60 80 54 */ lis r3, lbl_8053A480@ha
+/* 802B2DD0 002AEA30 38 63 A4 80 */ addi r3, r3, lbl_8053A480@l
+/* 802B2DD4 002AEA34 7C 1C 00 50 */ subf r0, r28, r0
+/* 802B2DD8 002AEA38 B0 05 00 08 */ sth r0, 8(r5)
+/* 802B2DDC 002AEA3C 7F C3 F2 14 */ add r30, r3, r30
+/* 802B2DE0 002AEA40 80 7E 00 0C */ lwz r3, 0xc(r30)
+/* 802B2DE4 002AEA44 38 03 00 10 */ addi r0, r3, 0x10
+/* 802B2DE8 002AEA48 90 1E 00 0C */ stw r0, 0xc(r30)
+/* 802B2DEC 002AEA4C 80 7E 00 04 */ lwz r3, 4(r30)
+/* 802B2DF0 002AEA50 38 03 00 10 */ addi r0, r3, 0x10
+/* 802B2DF4 002AEA54 90 1E 00 04 */ stw r0, 4(r30)
+/* 802B2DF8 002AEA58 4B FB B9 65 */ bl OSDisableInterrupts
+/* 802B2DFC 002AEA5C 3C E0 80 2B */ lis r7, WriteCallback@ha
+/* 802B2E00 002AEA60 80 9E 00 04 */ lwz r4, 4(r30)
+/* 802B2E04 002AEA64 7C 7D 1B 78 */ mr r29, r3
+/* 802B2E08 002AEA68 80 DE 00 0C */ lwz r6, 0xc(r30)
+/* 802B2E0C 002AEA6C 7F E3 FB 78 */ mr r3, r31
+/* 802B2E10 002AEA70 7F 85 E3 78 */ mr r5, r28
+/* 802B2E14 002AEA74 38 E7 2D 4C */ addi r7, r7, WriteCallback@l
+/* 802B2E18 002AEA78 48 00 08 25 */ bl WPADWriteMemoryAsync
+/* 802B2E1C 002AEA7C 7F A3 EB 78 */ mr r3, r29
+/* 802B2E20 002AEA80 4B FB B9 65 */ bl OSRestoreInterrupts
+/* 802B2E24 002AEA84 48 00 00 78 */ b lbl_802B2E9C
+lbl_802B2E28:
+/* 802B2E28 002AEA88 2C 04 FF FE */ cmpwi r4, -2
+/* 802B2E2C 002AEA8C 40 82 00 40 */ bne lbl_802B2E6C
+/* 802B2E30 002AEA90 4B FB B9 2D */ bl OSDisableInterrupts
+/* 802B2E34 002AEA94 3C 80 80 54 */ lis r4, lbl_8053A480@ha
+/* 802B2E38 002AEA98 3C E0 80 2B */ lis r7, WriteCallback@ha
+/* 802B2E3C 002AEA9C 38 84 A4 80 */ addi r4, r4, lbl_8053A480@l
+/* 802B2E40 002AEAA0 7C 7D 1B 78 */ mr r29, r3
+/* 802B2E44 002AEAA4 7C C4 F2 14 */ add r6, r4, r30
+/* 802B2E48 002AEAA8 7F E3 FB 78 */ mr r3, r31
+/* 802B2E4C 002AEAAC 80 86 00 04 */ lwz r4, 4(r6)
+/* 802B2E50 002AEAB0 7F 85 E3 78 */ mr r5, r28
+/* 802B2E54 002AEAB4 80 C6 00 0C */ lwz r6, 0xc(r6)
+/* 802B2E58 002AEAB8 38 E7 2D 4C */ addi r7, r7, WriteCallback@l
+/* 802B2E5C 002AEABC 48 00 07 E1 */ bl WPADWriteMemoryAsync
+/* 802B2E60 002AEAC0 7F A3 EB 78 */ mr r3, r29
+/* 802B2E64 002AEAC4 4B FB B9 21 */ bl OSRestoreInterrupts
+/* 802B2E68 002AEAC8 48 00 00 34 */ b lbl_802B2E9C
+lbl_802B2E6C:
+/* 802B2E6C 002AEACC 3C 60 80 54 */ lis r3, lbl_8053A480@ha
+/* 802B2E70 002AEAD0 38 00 00 00 */ li r0, 0
+/* 802B2E74 002AEAD4 38 63 A4 80 */ addi r3, r3, lbl_8053A480@l
+/* 802B2E78 002AEAD8 7C 03 F1 2E */ stwx r0, r3, r30
+/* 802B2E7C 002AEADC 7C 63 F2 14 */ add r3, r3, r30
+/* 802B2E80 002AEAE0 81 83 00 10 */ lwz r12, 0x10(r3)
+/* 802B2E84 002AEAE4 2C 0C 00 00 */ cmpwi r12, 0
+/* 802B2E88 002AEAE8 90 03 00 10 */ stw r0, 0x10(r3)
+/* 802B2E8C 002AEAEC 41 82 00 10 */ beq lbl_802B2E9C
+/* 802B2E90 002AEAF0 7F E3 FB 78 */ mr r3, r31
+/* 802B2E94 002AEAF4 7D 89 03 A6 */ mtctr r12
+/* 802B2E98 002AEAF8 4E 80 04 21 */ bctrl
+lbl_802B2E9C:
+/* 802B2E9C 002AEAFC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802B2EA0 002AEB00 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802B2EA4 002AEB04 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802B2EA8 002AEB08 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802B2EAC 002AEB0C 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802B2EB0 002AEB10 7C 08 03 A6 */ mtlr r0
+/* 802B2EB4 002AEB14 38 21 00 20 */ addi r1, r1, 0x20
+/* 802B2EB8 002AEB18 4E 80 00 20 */ blr
+
+WriteGameDataSub:
+/* 802B2EBC 002AEB1C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802B2EC0 002AEB20 7C 08 02 A6 */ mflr r0
+/* 802B2EC4 002AEB24 3C A0 80 53 */ lis r5, lbl_80536D70@ha
+/* 802B2EC8 002AEB28 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802B2ECC 002AEB2C 54 60 10 3A */ slwi r0, r3, 2
+/* 802B2ED0 002AEB30 38 A5 6D 70 */ addi r5, r5, lbl_80536D70@l
+/* 802B2ED4 002AEB34 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802B2ED8 002AEB38 7C 7F 1B 78 */ mr r31, r3
+/* 802B2EDC 002AEB3C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802B2EE0 002AEB40 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802B2EE4 002AEB44 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802B2EE8 002AEB48 7C C5 00 2E */ lwzx r6, r5, r0
+/* 802B2EEC 002AEB4C 80 06 00 3C */ lwz r0, 0x3c(r6)
+/* 802B2EF0 002AEB50 2C 00 00 00 */ cmpwi r0, 0
+/* 802B2EF4 002AEB54 40 82 00 1C */ bne lbl_802B2F10
+/* 802B2EF8 002AEB58 7C 85 00 34 */ cntlzw r5, r4
+/* 802B2EFC 002AEB5C 38 00 FF FD */ li r0, -3
+/* 802B2F00 002AEB60 54 A5 DF FE */ rlwinm r5, r5, 0x1b, 0x1f, 0x1f
+/* 802B2F04 002AEB64 7C A5 00 D0 */ neg r5, r5
+/* 802B2F08 002AEB68 7C 00 28 78 */ andc r0, r0, r5
+/* 802B2F0C 002AEB6C 90 06 00 3C */ stw r0, 0x3c(r6)
+lbl_802B2F10:
+/* 802B2F10 002AEB70 2C 04 00 00 */ cmpwi r4, 0
+/* 802B2F14 002AEB74 40 82 00 90 */ bne lbl_802B2FA4
+/* 802B2F18 002AEB78 80 06 00 38 */ lwz r0, 0x38(r6)
+/* 802B2F1C 002AEB7C 2C 00 00 00 */ cmpwi r0, 0
+/* 802B2F20 002AEB80 41 82 00 10 */ beq lbl_802B2F30
+/* 802B2F24 002AEB84 80 06 00 3C */ lwz r0, 0x3c(r6)
+/* 802B2F28 002AEB88 2C 00 00 00 */ cmpwi r0, 0
+/* 802B2F2C 002AEB8C 40 82 00 74 */ bne lbl_802B2FA0
+lbl_802B2F30:
+/* 802B2F30 002AEB90 1F C3 00 14 */ mulli r30, r3, 0x14
+/* 802B2F34 002AEB94 3C 80 80 54 */ lis r4, lbl_8053A480@ha
+/* 802B2F38 002AEB98 38 60 00 10 */ li r3, 0x10
+/* 802B2F3C 002AEB9C 38 84 A4 80 */ addi r4, r4, lbl_8053A480@l
+/* 802B2F40 002AEBA0 7C 84 F2 14 */ add r4, r4, r30
+/* 802B2F44 002AEBA4 A0 04 00 08 */ lhz r0, 8(r4)
+/* 802B2F48 002AEBA8 28 00 00 10 */ cmplwi r0, 0x10
+/* 802B2F4C 002AEBAC 41 81 00 08 */ bgt lbl_802B2F54
+/* 802B2F50 002AEBB0 7C 03 03 78 */ mr r3, r0
+lbl_802B2F54:
+/* 802B2F54 002AEBB4 A0 04 00 08 */ lhz r0, 8(r4)
+/* 802B2F58 002AEBB8 54 7C 04 3E */ clrlwi r28, r3, 0x10
+/* 802B2F5C 002AEBBC 7C 1C 00 50 */ subf r0, r28, r0
+/* 802B2F60 002AEBC0 B0 04 00 08 */ sth r0, 8(r4)
+/* 802B2F64 002AEBC4 4B FB B7 F9 */ bl OSDisableInterrupts
+/* 802B2F68 002AEBC8 3C 80 80 54 */ lis r4, lbl_8053A480@ha
+/* 802B2F6C 002AEBCC 3C E0 80 2B */ lis r7, WriteCallback@ha
+/* 802B2F70 002AEBD0 38 84 A4 80 */ addi r4, r4, lbl_8053A480@l
+/* 802B2F74 002AEBD4 7C 7D 1B 78 */ mr r29, r3
+/* 802B2F78 002AEBD8 7C C4 F2 14 */ add r6, r4, r30
+/* 802B2F7C 002AEBDC 7F E3 FB 78 */ mr r3, r31
+/* 802B2F80 002AEBE0 80 86 00 04 */ lwz r4, 4(r6)
+/* 802B2F84 002AEBE4 7F 85 E3 78 */ mr r5, r28
+/* 802B2F88 002AEBE8 80 C6 00 0C */ lwz r6, 0xc(r6)
+/* 802B2F8C 002AEBEC 38 E7 2D 4C */ addi r7, r7, WriteCallback@l
+/* 802B2F90 002AEBF0 48 00 06 AD */ bl WPADWriteMemoryAsync
+/* 802B2F94 002AEBF4 7F A3 EB 78 */ mr r3, r29
+/* 802B2F98 002AEBF8 4B FB B7 ED */ bl OSRestoreInterrupts
+/* 802B2F9C 002AEBFC 48 00 00 40 */ b lbl_802B2FDC
+lbl_802B2FA0:
+/* 802B2FA0 002AEC00 38 80 FF FD */ li r4, -3
+lbl_802B2FA4:
+/* 802B2FA4 002AEC04 1C C3 00 14 */ mulli r6, r3, 0x14
+/* 802B2FA8 002AEC08 3C A0 80 54 */ lis r5, lbl_8053A480@ha
+/* 802B2FAC 002AEC0C 38 A5 A4 80 */ addi r5, r5, lbl_8053A480@l
+/* 802B2FB0 002AEC10 7F A5 32 14 */ add r29, r5, r6
+/* 802B2FB4 002AEC14 80 1D 00 10 */ lwz r0, 0x10(r29)
+/* 802B2FB8 002AEC18 2C 00 00 00 */ cmpwi r0, 0
+/* 802B2FBC 002AEC1C 41 82 00 20 */ beq lbl_802B2FDC
+/* 802B2FC0 002AEC20 3B C0 00 00 */ li r30, 0
+/* 802B2FC4 002AEC24 7F E3 FB 78 */ mr r3, r31
+/* 802B2FC8 002AEC28 7F C5 31 2E */ stwx r30, r5, r6
+/* 802B2FCC 002AEC2C 81 9D 00 10 */ lwz r12, 0x10(r29)
+/* 802B2FD0 002AEC30 7D 89 03 A6 */ mtctr r12
+/* 802B2FD4 002AEC34 4E 80 04 21 */ bctrl
+/* 802B2FD8 002AEC38 93 DD 00 10 */ stw r30, 0x10(r29)
+lbl_802B2FDC:
+/* 802B2FDC 002AEC3C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802B2FE0 002AEC40 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802B2FE4 002AEC44 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802B2FE8 002AEC48 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802B2FEC 002AEC4C 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802B2FF0 002AEC50 7C 08 03 A6 */ mtlr r0
+/* 802B2FF4 002AEC54 38 21 00 20 */ addi r1, r1, 0x20
+/* 802B2FF8 002AEC58 4E 80 00 20 */ blr
+
+writeCheck1:
+/* 802B2FFC 002AEC5C 3C A0 80 53 */ lis r5, lbl_80536D70@ha
+/* 802B3000 002AEC60 54 60 10 3A */ slwi r0, r3, 2
+/* 802B3004 002AEC64 38 A5 6D 70 */ addi r5, r5, lbl_80536D70@l
+/* 802B3008 002AEC68 7C A5 00 2E */ lwzx r5, r5, r0
+/* 802B300C 002AEC6C 80 05 00 38 */ lwz r0, 0x38(r5)
+/* 802B3010 002AEC70 2C 00 00 00 */ cmpwi r0, 0
+/* 802B3014 002AEC74 4C 82 00 20 */ bnelr
+/* 802B3018 002AEC78 7C 83 00 34 */ cntlzw r3, r4
+/* 802B301C 002AEC7C 38 00 FF FD */ li r0, -3
+/* 802B3020 002AEC80 54 63 DF FE */ rlwinm r3, r3, 0x1b, 0x1f, 0x1f
+/* 802B3024 002AEC84 7C 63 00 D0 */ neg r3, r3
+/* 802B3028 002AEC88 7C 00 18 78 */ andc r0, r0, r3
+/* 802B302C 002AEC8C 90 05 00 38 */ stw r0, 0x38(r5)
+/* 802B3030 002AEC90 4E 80 00 20 */ blr
+
+writeCheck2:
+/* 802B3034 002AEC94 3C A0 80 53 */ lis r5, lbl_80536D70@ha
+/* 802B3038 002AEC98 54 60 10 3A */ slwi r0, r3, 2
+/* 802B303C 002AEC9C 38 A5 6D 70 */ addi r5, r5, lbl_80536D70@l
+/* 802B3040 002AECA0 7C A5 00 2E */ lwzx r5, r5, r0
+/* 802B3044 002AECA4 80 05 00 3C */ lwz r0, 0x3c(r5)
+/* 802B3048 002AECA8 2C 00 00 00 */ cmpwi r0, 0
+/* 802B304C 002AECAC 4C 82 00 20 */ bnelr
+/* 802B3050 002AECB0 7C 83 00 34 */ cntlzw r3, r4
+/* 802B3054 002AECB4 38 00 FF FD */ li r0, -3
+/* 802B3058 002AECB8 54 63 DF FE */ rlwinm r3, r3, 0x1b, 0x1f, 0x1f
+/* 802B305C 002AECBC 7C 63 00 D0 */ neg r3, r3
+/* 802B3060 002AECC0 7C 00 18 78 */ andc r0, r0, r3
+/* 802B3064 002AECC4 90 05 00 3C */ stw r0, 0x3c(r5)
+/* 802B3068 002AECC8 4E 80 00 20 */ blr
+
+.global WPADWriteGameData
+WPADWriteGameData:
+/* 802B306C 002AECCC 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802B3070 002AECD0 7C 08 02 A6 */ mflr r0
+/* 802B3074 002AECD4 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802B3078 002AECD8 39 61 00 30 */ addi r11, r1, 0x30
+/* 802B307C 002AECDC 4B F1 40 9D */ bl _savegpr_23
+/* 802B3080 002AECE0 3D 00 80 53 */ lis r8, lbl_80536D70@ha
+/* 802B3084 002AECE4 54 60 10 3A */ slwi r0, r3, 2
+/* 802B3088 002AECE8 39 08 6D 70 */ addi r8, r8, lbl_80536D70@l
+/* 802B308C 002AECEC 7C 7D 1B 78 */ mr r29, r3
+/* 802B3090 002AECF0 7F C8 00 2E */ lwzx r30, r8, r0
+/* 802B3094 002AECF4 7C 97 23 78 */ mr r23, r4
+/* 802B3098 002AECF8 7C B8 2B 78 */ mr r24, r5
+/* 802B309C 002AECFC 7C DB 33 78 */ mr r27, r6
+/* 802B30A0 002AED00 7C FA 3B 78 */ mr r26, r7
+/* 802B30A4 002AED04 4B FB B6 B9 */ bl OSDisableInterrupts
+/* 802B30A8 002AED08 83 3E 08 BC */ lwz r25, 0x8bc(r30)
+/* 802B30AC 002AED0C 7C 7F 1B 78 */ mr r31, r3
+/* 802B30B0 002AED10 80 1E 08 DC */ lwz r0, 0x8dc(r30)
+/* 802B30B4 002AED14 2C 19 FF FF */ cmpwi r25, -1
+/* 802B30B8 002AED18 41 82 03 24 */ beq lbl_802B33DC
+/* 802B30BC 002AED1C 2C 00 00 00 */ cmpwi r0, 0
+/* 802B30C0 002AED20 40 82 00 0C */ bne lbl_802B30CC
+/* 802B30C4 002AED24 3B 20 FF FE */ li r25, -2
+/* 802B30C8 002AED28 48 00 03 14 */ b lbl_802B33DC
+lbl_802B30CC:
+/* 802B30CC 002AED2C 1F 3D 00 14 */ mulli r25, r29, 0x14
+/* 802B30D0 002AED30 3F 80 80 54 */ lis r28, lbl_8053A480@ha
+/* 802B30D4 002AED34 3B 9C A4 80 */ addi r28, r28, lbl_8053A480@l
+/* 802B30D8 002AED38 7C 1C C8 2E */ lwzx r0, r28, r25
+/* 802B30DC 002AED3C 2C 00 00 00 */ cmpwi r0, 0
+/* 802B30E0 002AED40 40 82 02 F8 */ bne lbl_802B33D8
+/* 802B30E4 002AED44 38 7E 01 60 */ addi r3, r30, 0x160
+/* 802B30E8 002AED48 38 80 00 09 */ li r4, 9
+/* 802B30EC 002AED4C 4B FF 9F E9 */ bl __CanPushCmdQueue
+/* 802B30F0 002AED50 2C 03 00 00 */ cmpwi r3, 0
+/* 802B30F4 002AED54 40 82 00 0C */ bne lbl_802B3100
+/* 802B30F8 002AED58 3B 20 FF FE */ li r25, -2
+/* 802B30FC 002AED5C 48 00 02 E0 */ b lbl_802B33DC
+lbl_802B3100:
+/* 802B3100 002AED60 38 00 00 01 */ li r0, 1
+/* 802B3104 002AED64 7C DC CA 14 */ add r6, r28, r25
+/* 802B3108 002AED68 7C 1C C9 2E */ stwx r0, r28, r25
+/* 802B310C 002AED6C 38 1B 00 9A */ addi r0, r27, 0x9a
+/* 802B3110 002AED70 80 8D AE 54 */ lwz r4, lbl_80640114-_SDA_BASE_(r13)
+/* 802B3114 002AED74 38 7E 00 2A */ addi r3, r30, 0x2a
+/* 802B3118 002AED78 93 46 00 10 */ stw r26, 0x10(r6)
+/* 802B311C 002AED7C 38 A0 00 04 */ li r5, 4
+/* 802B3120 002AED80 B3 06 00 08 */ sth r24, 8(r6)
+/* 802B3124 002AED84 90 06 00 0C */ stw r0, 0xc(r6)
+/* 802B3128 002AED88 92 E6 00 04 */ stw r23, 4(r6)
+/* 802B312C 002AED8C 4B D5 0E D5 */ bl memcpy
+/* 802B3130 002AED90 3C 80 80 54 */ lis r4, lbl_8053A440@ha
+/* 802B3134 002AED94 38 7E 00 08 */ addi r3, r30, 8
+/* 802B3138 002AED98 38 84 A4 40 */ addi r4, r4, lbl_8053A440@l
+/* 802B313C 002AED9C 38 A0 00 22 */ li r5, 0x22
+/* 802B3140 002AEDA0 4B D5 0E C1 */ bl memcpy
+/* 802B3144 002AEDA4 4B FB F6 75 */ bl OSGetTime
+/* 802B3148 002AEDA8 90 9E 00 04 */ stw r4, 4(r30)
+/* 802B314C 002AEDAC 38 A0 00 00 */ li r5, 0
+/* 802B3150 002AEDB0 38 00 00 03 */ li r0, 3
+/* 802B3154 002AEDB4 38 80 00 00 */ li r4, 0
+/* 802B3158 002AEDB8 90 7E 00 00 */ stw r3, 0(r30)
+/* 802B315C 002AEDBC 88 6D AE 58 */ lbz r3, lbl_80640118-_SDA_BASE_(r13)
+/* 802B3160 002AEDC0 98 7E 00 2E */ stb r3, 0x2e(r30)
+/* 802B3164 002AEDC4 98 BE 00 2F */ stb r5, 0x2f(r30)
+/* 802B3168 002AEDC8 7C 09 03 A6 */ mtctr r0
+lbl_802B316C:
+/* 802B316C 002AEDCC 54 80 06 3E */ clrlwi r0, r4, 0x18
+/* 802B3170 002AEDD0 88 BE 00 2F */ lbz r5, 0x2f(r30)
+/* 802B3174 002AEDD4 7C 7E 00 AE */ lbzx r3, r30, r0
+/* 802B3178 002AEDD8 7C DE 02 14 */ add r6, r30, r0
+/* 802B317C 002AEDDC 38 84 00 07 */ addi r4, r4, 7
+/* 802B3180 002AEDE0 7C 65 1A 14 */ add r3, r5, r3
+/* 802B3184 002AEDE4 98 7E 00 2F */ stb r3, 0x2f(r30)
+/* 802B3188 002AEDE8 54 65 06 3E */ clrlwi r5, r3, 0x18
+/* 802B318C 002AEDEC 54 80 06 3E */ clrlwi r0, r4, 0x18
+/* 802B3190 002AEDF0 38 84 00 07 */ addi r4, r4, 7
+/* 802B3194 002AEDF4 88 66 00 01 */ lbz r3, 1(r6)
+/* 802B3198 002AEDF8 7C 65 1A 14 */ add r3, r5, r3
+/* 802B319C 002AEDFC 98 7E 00 2F */ stb r3, 0x2f(r30)
+/* 802B31A0 002AEE00 54 65 06 3E */ clrlwi r5, r3, 0x18
+/* 802B31A4 002AEE04 88 66 00 02 */ lbz r3, 2(r6)
+/* 802B31A8 002AEE08 7C 65 1A 14 */ add r3, r5, r3
+/* 802B31AC 002AEE0C 98 7E 00 2F */ stb r3, 0x2f(r30)
+/* 802B31B0 002AEE10 54 65 06 3E */ clrlwi r5, r3, 0x18
+/* 802B31B4 002AEE14 88 66 00 03 */ lbz r3, 3(r6)
+/* 802B31B8 002AEE18 7C 65 1A 14 */ add r3, r5, r3
+/* 802B31BC 002AEE1C 98 7E 00 2F */ stb r3, 0x2f(r30)
+/* 802B31C0 002AEE20 54 65 06 3E */ clrlwi r5, r3, 0x18
+/* 802B31C4 002AEE24 88 66 00 04 */ lbz r3, 4(r6)
+/* 802B31C8 002AEE28 7C 65 1A 14 */ add r3, r5, r3
+/* 802B31CC 002AEE2C 98 7E 00 2F */ stb r3, 0x2f(r30)
+/* 802B31D0 002AEE30 54 65 06 3E */ clrlwi r5, r3, 0x18
+/* 802B31D4 002AEE34 88 66 00 05 */ lbz r3, 5(r6)
+/* 802B31D8 002AEE38 7C 65 1A 14 */ add r3, r5, r3
+/* 802B31DC 002AEE3C 98 7E 00 2F */ stb r3, 0x2f(r30)
+/* 802B31E0 002AEE40 54 65 06 3E */ clrlwi r5, r3, 0x18
+/* 802B31E4 002AEE44 88 66 00 06 */ lbz r3, 6(r6)
+/* 802B31E8 002AEE48 7C DE 02 14 */ add r6, r30, r0
+/* 802B31EC 002AEE4C 54 80 06 3E */ clrlwi r0, r4, 0x18
+/* 802B31F0 002AEE50 7C 65 1A 14 */ add r3, r5, r3
+/* 802B31F4 002AEE54 98 7E 00 2F */ stb r3, 0x2f(r30)
+/* 802B31F8 002AEE58 54 65 06 3E */ clrlwi r5, r3, 0x18
+/* 802B31FC 002AEE5C 88 66 00 00 */ lbz r3, 0(r6)
+/* 802B3200 002AEE60 7C 65 1A 14 */ add r3, r5, r3
+/* 802B3204 002AEE64 98 7E 00 2F */ stb r3, 0x2f(r30)
+/* 802B3208 002AEE68 54 65 06 3E */ clrlwi r5, r3, 0x18
+/* 802B320C 002AEE6C 88 66 00 01 */ lbz r3, 1(r6)
+/* 802B3210 002AEE70 7C 65 1A 14 */ add r3, r5, r3
+/* 802B3214 002AEE74 98 7E 00 2F */ stb r3, 0x2f(r30)
+/* 802B3218 002AEE78 54 65 06 3E */ clrlwi r5, r3, 0x18
+/* 802B321C 002AEE7C 88 66 00 02 */ lbz r3, 2(r6)
+/* 802B3220 002AEE80 7C 65 1A 14 */ add r3, r5, r3
+/* 802B3224 002AEE84 98 7E 00 2F */ stb r3, 0x2f(r30)
+/* 802B3228 002AEE88 54 65 06 3E */ clrlwi r5, r3, 0x18
+/* 802B322C 002AEE8C 88 66 00 03 */ lbz r3, 3(r6)
+/* 802B3230 002AEE90 7C 65 1A 14 */ add r3, r5, r3
+/* 802B3234 002AEE94 98 7E 00 2F */ stb r3, 0x2f(r30)
+/* 802B3238 002AEE98 54 65 06 3E */ clrlwi r5, r3, 0x18
+/* 802B323C 002AEE9C 88 66 00 04 */ lbz r3, 4(r6)
+/* 802B3240 002AEEA0 7C 65 1A 14 */ add r3, r5, r3
+/* 802B3244 002AEEA4 98 7E 00 2F */ stb r3, 0x2f(r30)
+/* 802B3248 002AEEA8 54 65 06 3E */ clrlwi r5, r3, 0x18
+/* 802B324C 002AEEAC 88 66 00 05 */ lbz r3, 5(r6)
+/* 802B3250 002AEEB0 7C 65 1A 14 */ add r3, r5, r3
+/* 802B3254 002AEEB4 98 7E 00 2F */ stb r3, 0x2f(r30)
+/* 802B3258 002AEEB8 54 65 06 3E */ clrlwi r5, r3, 0x18
+/* 802B325C 002AEEBC 88 66 00 06 */ lbz r3, 6(r6)
+/* 802B3260 002AEEC0 7C 65 1A 14 */ add r3, r5, r3
+/* 802B3264 002AEEC4 98 7E 00 2F */ stb r3, 0x2f(r30)
+/* 802B3268 002AEEC8 42 00 FF 04 */ bdnz lbl_802B316C
+/* 802B326C 002AEECC 7C FE 00 AE */ lbzx r7, r30, r0
+/* 802B3270 002AEED0 38 A4 00 02 */ addi r5, r4, 2
+/* 802B3274 002AEED4 89 1E 00 2F */ lbz r8, 0x2f(r30)
+/* 802B3278 002AEED8 38 64 00 03 */ addi r3, r4, 3
+/* 802B327C 002AEEDC 54 69 06 3E */ clrlwi r9, r3, 0x18
+/* 802B3280 002AEEE0 38 C4 00 01 */ addi r6, r4, 1
+/* 802B3284 002AEEE4 7C E8 3A 14 */ add r7, r8, r7
+/* 802B3288 002AEEE8 38 04 00 04 */ addi r0, r4, 4
+/* 802B328C 002AEEEC 54 C4 06 3E */ clrlwi r4, r6, 0x18
+/* 802B3290 002AEEF0 98 FE 00 2F */ stb r7, 0x2f(r30)
+/* 802B3294 002AEEF4 54 08 06 3E */ clrlwi r8, r0, 0x18
+/* 802B3298 002AEEF8 54 E6 06 3E */ clrlwi r6, r7, 0x18
+/* 802B329C 002AEEFC 7C 9E 20 AE */ lbzx r4, r30, r4
+/* 802B32A0 002AEF00 3F 80 80 2B */ lis r28, writeCheck1@ha
+/* 802B32A4 002AEF04 54 A5 06 3E */ clrlwi r5, r5, 0x18
+/* 802B32A8 002AEF08 38 00 00 00 */ li r0, 0
+/* 802B32AC 002AEF0C 7C 86 22 14 */ add r4, r6, r4
+/* 802B32B0 002AEF10 7F A3 EB 78 */ mr r3, r29
+/* 802B32B4 002AEF14 98 9E 00 2F */ stb r4, 0x2f(r30)
+/* 802B32B8 002AEF18 54 8B 06 3E */ clrlwi r11, r4, 0x18
+/* 802B32BC 002AEF1C 7F C4 F3 78 */ mr r4, r30
+/* 802B32C0 002AEF20 38 FC 2F FC */ addi r7, r28, writeCheck1@l
+/* 802B32C4 002AEF24 7D 5E 28 AE */ lbzx r10, r30, r5
+/* 802B32C8 002AEF28 38 A0 00 10 */ li r5, 0x10
+/* 802B32CC 002AEF2C 38 C0 00 2A */ li r6, 0x2a
+/* 802B32D0 002AEF30 7D 4B 52 14 */ add r10, r11, r10
+/* 802B32D4 002AEF34 99 5E 00 2F */ stb r10, 0x2f(r30)
+/* 802B32D8 002AEF38 55 4A 06 3E */ clrlwi r10, r10, 0x18
+/* 802B32DC 002AEF3C 7D 3E 48 AE */ lbzx r9, r30, r9
+/* 802B32E0 002AEF40 7D 2A 4A 14 */ add r9, r10, r9
+/* 802B32E4 002AEF44 99 3E 00 2F */ stb r9, 0x2f(r30)
+/* 802B32E8 002AEF48 55 29 06 3E */ clrlwi r9, r9, 0x18
+/* 802B32EC 002AEF4C 7D 1E 40 AE */ lbzx r8, r30, r8
+/* 802B32F0 002AEF50 7D 09 42 14 */ add r8, r9, r8
+/* 802B32F4 002AEF54 55 08 06 3E */ clrlwi r8, r8, 0x18
+/* 802B32F8 002AEF58 39 08 00 55 */ addi r8, r8, 0x55
+/* 802B32FC 002AEF5C 99 1E 00 2F */ stb r8, 0x2f(r30)
+/* 802B3300 002AEF60 90 1E 00 38 */ stw r0, 0x38(r30)
+/* 802B3304 002AEF64 90 1E 00 3C */ stw r0, 0x3c(r30)
+/* 802B3308 002AEF68 48 00 03 35 */ bl WPADWriteMemoryAsync
+/* 802B330C 002AEF6C 3B 7E 00 10 */ addi r27, r30, 0x10
+/* 802B3310 002AEF70 7F A3 EB 78 */ mr r3, r29
+/* 802B3314 002AEF74 7F 64 DB 78 */ mr r4, r27
+/* 802B3318 002AEF78 38 FC 2F FC */ addi r7, r28, 0x2ffc
+/* 802B331C 002AEF7C 38 A0 00 10 */ li r5, 0x10
+/* 802B3320 002AEF80 38 C0 00 3A */ li r6, 0x3a
+/* 802B3324 002AEF84 48 00 03 19 */ bl WPADWriteMemoryAsync
+/* 802B3328 002AEF88 3B 5E 00 20 */ addi r26, r30, 0x20
+/* 802B332C 002AEF8C 7F A3 EB 78 */ mr r3, r29
+/* 802B3330 002AEF90 7F 44 D3 78 */ mr r4, r26
+/* 802B3334 002AEF94 38 FC 2F FC */ addi r7, r28, 0x2ffc
+/* 802B3338 002AEF98 38 A0 00 10 */ li r5, 0x10
+/* 802B333C 002AEF9C 38 C0 00 4A */ li r6, 0x4a
+/* 802B3340 002AEFA0 48 00 02 FD */ bl WPADWriteMemoryAsync
+/* 802B3344 002AEFA4 3B 3E 00 30 */ addi r25, r30, 0x30
+/* 802B3348 002AEFA8 7F A3 EB 78 */ mr r3, r29
+/* 802B334C 002AEFAC 7F 24 CB 78 */ mr r4, r25
+/* 802B3350 002AEFB0 38 FC 2F FC */ addi r7, r28, 0x2ffc
+/* 802B3354 002AEFB4 38 A0 00 08 */ li r5, 8
+/* 802B3358 002AEFB8 38 C0 00 5A */ li r6, 0x5a
+/* 802B335C 002AEFBC 48 00 02 E1 */ bl WPADWriteMemoryAsync
+/* 802B3360 002AEFC0 3F 80 80 2B */ lis r28, writeCheck2@ha
+/* 802B3364 002AEFC4 7F A3 EB 78 */ mr r3, r29
+/* 802B3368 002AEFC8 7F C4 F3 78 */ mr r4, r30
+/* 802B336C 002AEFCC 38 A0 00 10 */ li r5, 0x10
+/* 802B3370 002AEFD0 38 FC 30 34 */ addi r7, r28, writeCheck2@l
+/* 802B3374 002AEFD4 38 C0 00 62 */ li r6, 0x62
+/* 802B3378 002AEFD8 48 00 02 C5 */ bl WPADWriteMemoryAsync
+/* 802B337C 002AEFDC 7F A3 EB 78 */ mr r3, r29
+/* 802B3380 002AEFE0 7F 64 DB 78 */ mr r4, r27
+/* 802B3384 002AEFE4 38 FC 30 34 */ addi r7, r28, 0x3034
+/* 802B3388 002AEFE8 38 A0 00 10 */ li r5, 0x10
+/* 802B338C 002AEFEC 38 C0 00 72 */ li r6, 0x72
+/* 802B3390 002AEFF0 48 00 02 AD */ bl WPADWriteMemoryAsync
+/* 802B3394 002AEFF4 7F A3 EB 78 */ mr r3, r29
+/* 802B3398 002AEFF8 7F 44 D3 78 */ mr r4, r26
+/* 802B339C 002AEFFC 38 FC 30 34 */ addi r7, r28, 0x3034
+/* 802B33A0 002AF000 38 A0 00 10 */ li r5, 0x10
+/* 802B33A4 002AF004 38 C0 00 82 */ li r6, 0x82
+/* 802B33A8 002AF008 48 00 02 95 */ bl WPADWriteMemoryAsync
+/* 802B33AC 002AF00C 3C E0 80 2B */ lis r7, WriteGameDataSub@ha
+/* 802B33B0 002AF010 7F A3 EB 78 */ mr r3, r29
+/* 802B33B4 002AF014 7F 24 CB 78 */ mr r4, r25
+/* 802B33B8 002AF018 38 A0 00 08 */ li r5, 8
+/* 802B33BC 002AF01C 38 E7 2E BC */ addi r7, r7, WriteGameDataSub@l
+/* 802B33C0 002AF020 38 C0 00 92 */ li r6, 0x92
+/* 802B33C4 002AF024 48 00 02 79 */ bl WPADWriteMemoryAsync
+/* 802B33C8 002AF028 7F E3 FB 78 */ mr r3, r31
+/* 802B33CC 002AF02C 4B FB B3 B9 */ bl OSRestoreInterrupts
+/* 802B33D0 002AF030 38 60 00 00 */ li r3, 0
+/* 802B33D4 002AF034 48 00 00 30 */ b lbl_802B3404
+lbl_802B33D8:
+/* 802B33D8 002AF038 3B 20 FF FE */ li r25, -2
+lbl_802B33DC:
+/* 802B33DC 002AF03C 7F E3 FB 78 */ mr r3, r31
+/* 802B33E0 002AF040 4B FB B3 A5 */ bl OSRestoreInterrupts
+/* 802B33E4 002AF044 2C 1A 00 00 */ cmpwi r26, 0
+/* 802B33E8 002AF048 41 82 00 18 */ beq lbl_802B3400
+/* 802B33EC 002AF04C 7F 4C D3 78 */ mr r12, r26
+/* 802B33F0 002AF050 7F A3 EB 78 */ mr r3, r29
+/* 802B33F4 002AF054 7F 24 CB 78 */ mr r4, r25
+/* 802B33F8 002AF058 7D 89 03 A6 */ mtctr r12
+/* 802B33FC 002AF05C 4E 80 04 21 */ bctrl
+lbl_802B3400:
+/* 802B3400 002AF060 7F 23 CB 78 */ mr r3, r25
+lbl_802B3404:
+/* 802B3404 002AF064 39 61 00 30 */ addi r11, r1, 0x30
+/* 802B3408 002AF068 4B F1 3D 5D */ bl _restgpr_23
+/* 802B340C 002AF06C 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802B3410 002AF070 7C 08 03 A6 */ mtlr r0
+/* 802B3414 002AF074 38 21 00 30 */ addi r1, r1, 0x30
+/* 802B3418 002AF078 4E 80 00 20 */ blr
+
+.global WPADReadGameData
+WPADReadGameData:
+/* 802B341C 002AF07C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802B3420 002AF080 7C 08 02 A6 */ mflr r0
+/* 802B3424 002AF084 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802B3428 002AF088 39 61 00 30 */ addi r11, r1, 0x30
+/* 802B342C 002AF08C 4B F1 3C E9 */ bl _savegpr_22
+/* 802B3430 002AF090 3D 00 80 53 */ lis r8, lbl_80536D70@ha
+/* 802B3434 002AF094 54 60 10 3A */ slwi r0, r3, 2
+/* 802B3438 002AF098 39 08 6D 70 */ addi r8, r8, lbl_80536D70@l
+/* 802B343C 002AF09C 7C 78 1B 78 */ mr r24, r3
+/* 802B3440 002AF0A0 7E E8 00 2E */ lwzx r23, r8, r0
+/* 802B3444 002AF0A4 7C 99 23 78 */ mr r25, r4
+/* 802B3448 002AF0A8 7C BA 2B 78 */ mr r26, r5
+/* 802B344C 002AF0AC 7C DB 33 78 */ mr r27, r6
+/* 802B3450 002AF0B0 7C FC 3B 78 */ mr r28, r7
+/* 802B3454 002AF0B4 4B FB B3 09 */ bl OSDisableInterrupts
+/* 802B3458 002AF0B8 82 D7 08 BC */ lwz r22, 0x8bc(r23)
+/* 802B345C 002AF0BC 7C 7D 1B 78 */ mr r29, r3
+/* 802B3460 002AF0C0 80 17 08 DC */ lwz r0, 0x8dc(r23)
+/* 802B3464 002AF0C4 2C 16 FF FF */ cmpwi r22, -1
+/* 802B3468 002AF0C8 41 82 00 C8 */ beq lbl_802B3530
+/* 802B346C 002AF0CC 2C 00 00 00 */ cmpwi r0, 0
+/* 802B3470 002AF0D0 40 82 00 0C */ bne lbl_802B347C
+/* 802B3474 002AF0D4 3A C0 FF FE */ li r22, -2
+/* 802B3478 002AF0D8 48 00 00 B8 */ b lbl_802B3530
+lbl_802B347C:
+/* 802B347C 002AF0DC 1F D8 00 14 */ mulli r30, r24, 0x14
+/* 802B3480 002AF0E0 3F E0 80 54 */ lis r31, lbl_8053A480@ha
+/* 802B3484 002AF0E4 3B FF A4 80 */ addi r31, r31, lbl_8053A480@l
+/* 802B3488 002AF0E8 7C 1F F0 2E */ lwzx r0, r31, r30
+/* 802B348C 002AF0EC 2C 00 00 00 */ cmpwi r0, 0
+/* 802B3490 002AF0F0 40 82 00 9C */ bne lbl_802B352C
+/* 802B3494 002AF0F4 80 17 00 38 */ lwz r0, 0x38(r23)
+/* 802B3498 002AF0F8 38 80 00 00 */ li r4, 0
+/* 802B349C 002AF0FC 2C 00 00 00 */ cmpwi r0, 0
+/* 802B34A0 002AF100 41 82 00 10 */ beq lbl_802B34B0
+/* 802B34A4 002AF104 80 17 00 3C */ lwz r0, 0x3c(r23)
+/* 802B34A8 002AF108 2C 00 00 00 */ cmpwi r0, 0
+/* 802B34AC 002AF10C 40 82 00 08 */ bne lbl_802B34B4
+lbl_802B34B0:
+/* 802B34B0 002AF110 38 80 00 01 */ li r4, 1
+lbl_802B34B4:
+/* 802B34B4 002AF114 7C 64 00 D0 */ neg r3, r4
+/* 802B34B8 002AF118 38 00 FF FA */ li r0, -6
+/* 802B34BC 002AF11C 7C 63 23 78 */ or r3, r3, r4
+/* 802B34C0 002AF120 7C 63 FE 70 */ srawi r3, r3, 0x1f
+/* 802B34C4 002AF124 7C 16 18 79 */ andc. r22, r0, r3
+/* 802B34C8 002AF128 40 82 00 68 */ bne lbl_802B3530
+/* 802B34CC 002AF12C 80 6D AE 54 */ lwz r3, lbl_80640114-_SDA_BASE_(r13)
+/* 802B34D0 002AF130 38 97 00 2A */ addi r4, r23, 0x2a
+/* 802B34D4 002AF134 38 A0 00 04 */ li r5, 4
+/* 802B34D8 002AF138 4B F1 6E C1 */ bl memcmp
+/* 802B34DC 002AF13C 2C 03 00 00 */ cmpwi r3, 0
+/* 802B34E0 002AF140 40 82 00 44 */ bne lbl_802B3524
+/* 802B34E4 002AF144 38 00 00 01 */ li r0, 1
+/* 802B34E8 002AF148 3C 60 80 54 */ lis r3, lbl_8053A480@ha
+/* 802B34EC 002AF14C 38 63 A4 80 */ addi r3, r3, lbl_8053A480@l
+/* 802B34F0 002AF150 7C 1F F1 2E */ stwx r0, r31, r30
+/* 802B34F4 002AF154 7C 83 F2 14 */ add r4, r3, r30
+/* 802B34F8 002AF158 93 84 00 10 */ stw r28, 0x10(r4)
+/* 802B34FC 002AF15C 7F A3 EB 78 */ mr r3, r29
+/* 802B3500 002AF160 4B FB B2 85 */ bl OSRestoreInterrupts
+/* 802B3504 002AF164 3C E0 80 2B */ lis r7, ResultCallback@ha
+/* 802B3508 002AF168 7F 03 C3 78 */ mr r3, r24
+/* 802B350C 002AF16C 7F 24 CB 78 */ mr r4, r25
+/* 802B3510 002AF170 7F 45 D3 78 */ mr r5, r26
+/* 802B3514 002AF174 38 DB 00 9A */ addi r6, r27, 0x9a
+/* 802B3518 002AF178 38 E7 2D 18 */ addi r7, r7, ResultCallback@l
+/* 802B351C 002AF17C 48 00 00 55 */ bl WPADReadMemoryAsync
+/* 802B3520 002AF180 48 00 00 38 */ b lbl_802B3558
+lbl_802B3524:
+/* 802B3524 002AF184 3A C0 FF FB */ li r22, -5
+/* 802B3528 002AF188 48 00 00 08 */ b lbl_802B3530
+lbl_802B352C:
+/* 802B352C 002AF18C 3A C0 FF FE */ li r22, -2
+lbl_802B3530:
+/* 802B3530 002AF190 7F A3 EB 78 */ mr r3, r29
+/* 802B3534 002AF194 4B FB B2 51 */ bl OSRestoreInterrupts
+/* 802B3538 002AF198 2C 1C 00 00 */ cmpwi r28, 0
+/* 802B353C 002AF19C 41 82 00 18 */ beq lbl_802B3554
+/* 802B3540 002AF1A0 7F 8C E3 78 */ mr r12, r28
+/* 802B3544 002AF1A4 7F 03 C3 78 */ mr r3, r24
+/* 802B3548 002AF1A8 7E C4 B3 78 */ mr r4, r22
+/* 802B354C 002AF1AC 7D 89 03 A6 */ mtctr r12
+/* 802B3550 002AF1B0 4E 80 04 21 */ bctrl
+lbl_802B3554:
+/* 802B3554 002AF1B4 7E C3 B3 78 */ mr r3, r22
+lbl_802B3558:
+/* 802B3558 002AF1B8 39 61 00 30 */ addi r11, r1, 0x30
+/* 802B355C 002AF1BC 4B F1 3C 05 */ bl _restgpr_22
+/* 802B3560 002AF1C0 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802B3564 002AF1C4 7C 08 03 A6 */ mtlr r0
+/* 802B3568 002AF1C8 38 21 00 30 */ addi r1, r1, 0x30
+/* 802B356C 002AF1CC 4E 80 00 20 */ blr
+
+.global WPADReadMemoryAsync
+WPADReadMemoryAsync:
+/* 802B3570 002AF1D0 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802B3574 002AF1D4 7C 08 02 A6 */ mflr r0
+/* 802B3578 002AF1D8 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802B357C 002AF1DC 39 61 00 30 */ addi r11, r1, 0x30
+/* 802B3580 002AF1E0 4B F1 3B 9D */ bl _savegpr_24
+/* 802B3584 002AF1E4 3D 00 80 53 */ lis r8, lbl_80536D70@ha
+/* 802B3588 002AF1E8 54 60 10 3A */ slwi r0, r3, 2
+/* 802B358C 002AF1EC 39 08 6D 70 */ addi r8, r8, lbl_80536D70@l
+/* 802B3590 002AF1F0 7C 78 1B 78 */ mr r24, r3
+/* 802B3594 002AF1F4 7F E8 00 2E */ lwzx r31, r8, r0
+/* 802B3598 002AF1F8 7C 99 23 78 */ mr r25, r4
+/* 802B359C 002AF1FC 7C BA 2B 78 */ mr r26, r5
+/* 802B35A0 002AF200 7C DB 33 78 */ mr r27, r6
+/* 802B35A4 002AF204 7C FC 3B 78 */ mr r28, r7
+/* 802B35A8 002AF208 4B FB B1 B5 */ bl OSDisableInterrupts
+/* 802B35AC 002AF20C 83 BF 08 BC */ lwz r29, 0x8bc(r31)
+/* 802B35B0 002AF210 83 DF 08 DC */ lwz r30, 0x8dc(r31)
+/* 802B35B4 002AF214 4B FB B1 D1 */ bl OSRestoreInterrupts
+/* 802B35B8 002AF218 2C 1D FF FF */ cmpwi r29, -1
+/* 802B35BC 002AF21C 41 82 00 40 */ beq lbl_802B35FC
+/* 802B35C0 002AF220 2C 1E 00 00 */ cmpwi r30, 0
+/* 802B35C4 002AF224 40 82 00 0C */ bne lbl_802B35D0
+/* 802B35C8 002AF228 3B A0 FF FE */ li r29, -2
+/* 802B35CC 002AF22C 48 00 00 30 */ b lbl_802B35FC
+lbl_802B35D0:
+/* 802B35D0 002AF230 7F 24 CB 78 */ mr r4, r25
+/* 802B35D4 002AF234 7F 45 D3 78 */ mr r5, r26
+/* 802B35D8 002AF238 7F 66 DB 78 */ mr r6, r27
+/* 802B35DC 002AF23C 7F 87 E3 78 */ mr r7, r28
+/* 802B35E0 002AF240 38 7F 01 60 */ addi r3, r31, 0x160
+/* 802B35E4 002AF244 4B FF 99 45 */ bl WPADiSendReadData
+/* 802B35E8 002AF248 7C 83 00 D0 */ neg r4, r3
+/* 802B35EC 002AF24C 38 00 FF FE */ li r0, -2
+/* 802B35F0 002AF250 7C 83 1B 78 */ or r3, r4, r3
+/* 802B35F4 002AF254 7C 63 FE 70 */ srawi r3, r3, 0x1f
+/* 802B35F8 002AF258 7C 1D 18 78 */ andc r29, r0, r3
+lbl_802B35FC:
+/* 802B35FC 002AF25C 2C 1D 00 00 */ cmpwi r29, 0
+/* 802B3600 002AF260 41 82 00 20 */ beq lbl_802B3620
+/* 802B3604 002AF264 2C 1C 00 00 */ cmpwi r28, 0
+/* 802B3608 002AF268 41 82 00 18 */ beq lbl_802B3620
+/* 802B360C 002AF26C 7F 8C E3 78 */ mr r12, r28
+/* 802B3610 002AF270 7F 03 C3 78 */ mr r3, r24
+/* 802B3614 002AF274 7F A4 EB 78 */ mr r4, r29
+/* 802B3618 002AF278 7D 89 03 A6 */ mtctr r12
+/* 802B361C 002AF27C 4E 80 04 21 */ bctrl
+lbl_802B3620:
+/* 802B3620 002AF280 39 61 00 30 */ addi r11, r1, 0x30
+/* 802B3624 002AF284 7F A3 EB 78 */ mr r3, r29
+/* 802B3628 002AF288 4B F1 3B 41 */ bl _restgpr_24
+/* 802B362C 002AF28C 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802B3630 002AF290 7C 08 03 A6 */ mtlr r0
+/* 802B3634 002AF294 38 21 00 30 */ addi r1, r1, 0x30
+/* 802B3638 002AF298 4E 80 00 20 */ blr
+
+.global WPADWriteMemoryAsync
+WPADWriteMemoryAsync:
+/* 802B363C 002AF29C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802B3640 002AF2A0 7C 08 02 A6 */ mflr r0
+/* 802B3644 002AF2A4 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802B3648 002AF2A8 39 61 00 30 */ addi r11, r1, 0x30
+/* 802B364C 002AF2AC 4B F1 3A D1 */ bl _savegpr_24
+/* 802B3650 002AF2B0 3D 00 80 53 */ lis r8, lbl_80536D70@ha
+/* 802B3654 002AF2B4 54 60 10 3A */ slwi r0, r3, 2
+/* 802B3658 002AF2B8 39 08 6D 70 */ addi r8, r8, lbl_80536D70@l
+/* 802B365C 002AF2BC 7C 78 1B 78 */ mr r24, r3
+/* 802B3660 002AF2C0 7F E8 00 2E */ lwzx r31, r8, r0
+/* 802B3664 002AF2C4 7C 99 23 78 */ mr r25, r4
+/* 802B3668 002AF2C8 7C BA 2B 78 */ mr r26, r5
+/* 802B366C 002AF2CC 7C DB 33 78 */ mr r27, r6
+/* 802B3670 002AF2D0 7C FC 3B 78 */ mr r28, r7
+/* 802B3674 002AF2D4 4B FB B0 E9 */ bl OSDisableInterrupts
+/* 802B3678 002AF2D8 83 BF 08 BC */ lwz r29, 0x8bc(r31)
+/* 802B367C 002AF2DC 83 DF 08 DC */ lwz r30, 0x8dc(r31)
+/* 802B3680 002AF2E0 4B FB B1 05 */ bl OSRestoreInterrupts
+/* 802B3684 002AF2E4 2C 1D FF FF */ cmpwi r29, -1
+/* 802B3688 002AF2E8 41 82 00 40 */ beq lbl_802B36C8
+/* 802B368C 002AF2EC 2C 1E 00 00 */ cmpwi r30, 0
+/* 802B3690 002AF2F0 40 82 00 0C */ bne lbl_802B369C
+/* 802B3694 002AF2F4 3B A0 FF FE */ li r29, -2
+/* 802B3698 002AF2F8 48 00 00 30 */ b lbl_802B36C8
+lbl_802B369C:
+/* 802B369C 002AF2FC 7F 24 CB 78 */ mr r4, r25
+/* 802B36A0 002AF300 7F 45 D3 78 */ mr r5, r26
+/* 802B36A4 002AF304 7F 66 DB 78 */ mr r6, r27
+/* 802B36A8 002AF308 7F 87 E3 78 */ mr r7, r28
+/* 802B36AC 002AF30C 38 7F 01 60 */ addi r3, r31, 0x160
+/* 802B36B0 002AF310 4B FF 96 C1 */ bl WPADiSendWriteData
+/* 802B36B4 002AF314 7C 83 00 D0 */ neg r4, r3
+/* 802B36B8 002AF318 38 00 FF FE */ li r0, -2
+/* 802B36BC 002AF31C 7C 83 1B 78 */ or r3, r4, r3
+/* 802B36C0 002AF320 7C 63 FE 70 */ srawi r3, r3, 0x1f
+/* 802B36C4 002AF324 7C 1D 18 78 */ andc r29, r0, r3
+lbl_802B36C8:
+/* 802B36C8 002AF328 2C 1D 00 00 */ cmpwi r29, 0
+/* 802B36CC 002AF32C 41 82 00 20 */ beq lbl_802B36EC
+/* 802B36D0 002AF330 2C 1C 00 00 */ cmpwi r28, 0
+/* 802B36D4 002AF334 41 82 00 18 */ beq lbl_802B36EC
+/* 802B36D8 002AF338 7F 8C E3 78 */ mr r12, r28
+/* 802B36DC 002AF33C 7F 03 C3 78 */ mr r3, r24
+/* 802B36E0 002AF340 7F A4 EB 78 */ mr r4, r29
+/* 802B36E4 002AF344 7D 89 03 A6 */ mtctr r12
+/* 802B36E8 002AF348 4E 80 04 21 */ bctrl
+lbl_802B36EC:
+/* 802B36EC 002AF34C 39 61 00 30 */ addi r11, r1, 0x30
+/* 802B36F0 002AF350 7F A3 EB 78 */ mr r3, r29
+/* 802B36F4 002AF354 4B F1 3A 75 */ bl _restgpr_24
+/* 802B36F8 002AF358 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802B36FC 002AF35C 7C 08 03 A6 */ mtlr r0
+/* 802B3700 002AF360 38 21 00 30 */ addi r1, r1, 0x30
+/* 802B3704 002AF364 4E 80 00 20 */ blr
+
+.global WPADGetGameTitleUtf16
+WPADGetGameTitleUtf16:
+/* 802B3708 002AF368 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802B370C 002AF36C 7C 08 02 A6 */ mflr r0
+/* 802B3710 002AF370 3C A0 80 53 */ lis r5, lbl_80536D70@ha
+/* 802B3714 002AF374 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802B3718 002AF378 54 60 10 3A */ slwi r0, r3, 2
+/* 802B371C 002AF37C 38 A5 6D 70 */ addi r5, r5, lbl_80536D70@l
+/* 802B3720 002AF380 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802B3724 002AF384 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802B3728 002AF388 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802B372C 002AF38C 7C 9D 23 78 */ mr r29, r4
+/* 802B3730 002AF390 7F E5 00 2E */ lwzx r31, r5, r0
+/* 802B3734 002AF394 4B FB B0 29 */ bl OSDisableInterrupts
+/* 802B3738 002AF398 80 1F 00 38 */ lwz r0, 0x38(r31)
+/* 802B373C 002AF39C 38 A0 00 00 */ li r5, 0
+/* 802B3740 002AF3A0 2C 00 00 00 */ cmpwi r0, 0
+/* 802B3744 002AF3A4 41 82 00 10 */ beq lbl_802B3754
+/* 802B3748 002AF3A8 80 1F 00 3C */ lwz r0, 0x3c(r31)
+/* 802B374C 002AF3AC 2C 00 00 00 */ cmpwi r0, 0
+/* 802B3750 002AF3B0 40 82 00 08 */ bne lbl_802B3758
+lbl_802B3754:
+/* 802B3754 002AF3B4 38 A0 00 01 */ li r5, 1
+lbl_802B3758:
+/* 802B3758 002AF3B8 7C 85 00 D0 */ neg r4, r5
+/* 802B375C 002AF3BC 38 00 FF FC */ li r0, -4
+/* 802B3760 002AF3C0 7C 84 2B 78 */ or r4, r4, r5
+/* 802B3764 002AF3C4 7C 84 FE 70 */ srawi r4, r4, 0x1f
+/* 802B3768 002AF3C8 7C 1E 20 79 */ andc. r30, r0, r4
+/* 802B376C 002AF3CC 40 82 00 10 */ bne lbl_802B377C
+/* 802B3770 002AF3D0 38 1F 00 08 */ addi r0, r31, 8
+/* 802B3774 002AF3D4 90 1D 00 00 */ stw r0, 0(r29)
+/* 802B3778 002AF3D8 48 00 00 0C */ b lbl_802B3784
+lbl_802B377C:
+/* 802B377C 002AF3DC 38 00 00 00 */ li r0, 0
+/* 802B3780 002AF3E0 90 1D 00 00 */ stw r0, 0(r29)
+lbl_802B3784:
+/* 802B3784 002AF3E4 4B FB B0 01 */ bl OSRestoreInterrupts
+/* 802B3788 002AF3E8 7F C3 F3 78 */ mr r3, r30
+/* 802B378C 002AF3EC 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802B3790 002AF3F0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802B3794 002AF3F4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802B3798 002AF3F8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802B379C 002AF3FC 7C 08 03 A6 */ mtlr r0
+/* 802B37A0 002AF400 38 21 00 20 */ addi r1, r1, 0x20
+/* 802B37A4 002AF404 4E 80 00 20 */ blr
+
+.global WPADSetGameTitleUtf16
+WPADSetGameTitleUtf16:
+/* 802B37A8 002AF408 3C 80 80 54 */ lis r4, lbl_8053A440@ha
+/* 802B37AC 002AF40C 38 00 00 02 */ li r0, 2
+/* 802B37B0 002AF410 38 A0 00 00 */ li r5, 0
+/* 802B37B4 002AF414 38 84 A4 40 */ addi r4, r4, lbl_8053A440@l
+/* 802B37B8 002AF418 7C 09 03 A6 */ mtctr r0
+lbl_802B37BC:
+/* 802B37BC 002AF41C A0 03 00 00 */ lhz r0, 0(r3)
+/* 802B37C0 002AF420 2C 00 00 00 */ cmpwi r0, 0
+/* 802B37C4 002AF424 B0 04 00 00 */ sth r0, 0(r4)
+/* 802B37C8 002AF428 41 82 00 84 */ beq lbl_802B384C
+/* 802B37CC 002AF42C A0 03 00 02 */ lhz r0, 2(r3)
+/* 802B37D0 002AF430 2C 00 00 00 */ cmpwi r0, 0
+/* 802B37D4 002AF434 B0 04 00 02 */ sth r0, 2(r4)
+/* 802B37D8 002AF438 41 82 00 74 */ beq lbl_802B384C
+/* 802B37DC 002AF43C A0 03 00 04 */ lhz r0, 4(r3)
+/* 802B37E0 002AF440 2C 00 00 00 */ cmpwi r0, 0
+/* 802B37E4 002AF444 B0 04 00 04 */ sth r0, 4(r4)
+/* 802B37E8 002AF448 41 82 00 64 */ beq lbl_802B384C
+/* 802B37EC 002AF44C A0 03 00 06 */ lhz r0, 6(r3)
+/* 802B37F0 002AF450 2C 00 00 00 */ cmpwi r0, 0
+/* 802B37F4 002AF454 B0 04 00 06 */ sth r0, 6(r4)
+/* 802B37F8 002AF458 41 82 00 54 */ beq lbl_802B384C
+/* 802B37FC 002AF45C A0 03 00 08 */ lhz r0, 8(r3)
+/* 802B3800 002AF460 2C 00 00 00 */ cmpwi r0, 0
+/* 802B3804 002AF464 B0 04 00 08 */ sth r0, 8(r4)
+/* 802B3808 002AF468 41 82 00 44 */ beq lbl_802B384C
+/* 802B380C 002AF46C A0 03 00 0A */ lhz r0, 0xa(r3)
+/* 802B3810 002AF470 2C 00 00 00 */ cmpwi r0, 0
+/* 802B3814 002AF474 B0 04 00 0A */ sth r0, 0xa(r4)
+/* 802B3818 002AF478 41 82 00 34 */ beq lbl_802B384C
+/* 802B381C 002AF47C A0 03 00 0C */ lhz r0, 0xc(r3)
+/* 802B3820 002AF480 2C 00 00 00 */ cmpwi r0, 0
+/* 802B3824 002AF484 B0 04 00 0C */ sth r0, 0xc(r4)
+/* 802B3828 002AF488 41 82 00 24 */ beq lbl_802B384C
+/* 802B382C 002AF48C A0 03 00 0E */ lhz r0, 0xe(r3)
+/* 802B3830 002AF490 2C 00 00 00 */ cmpwi r0, 0
+/* 802B3834 002AF494 B0 04 00 0E */ sth r0, 0xe(r4)
+/* 802B3838 002AF498 41 82 00 14 */ beq lbl_802B384C
+/* 802B383C 002AF49C 38 63 00 10 */ addi r3, r3, 0x10
+/* 802B3840 002AF4A0 38 84 00 10 */ addi r4, r4, 0x10
+/* 802B3844 002AF4A4 38 A5 00 07 */ addi r5, r5, 7
+/* 802B3848 002AF4A8 42 00 FF 74 */ bdnz lbl_802B37BC
+lbl_802B384C:
+/* 802B384C 002AF4AC 3C 60 80 54 */ lis r3, lbl_8053A440@ha
+/* 802B3850 002AF4B0 38 00 00 00 */ li r0, 0
+/* 802B3854 002AF4B4 38 63 A4 40 */ addi r3, r3, lbl_8053A440@l
+/* 802B3858 002AF4B8 B0 03 00 20 */ sth r0, 0x20(r3)
+/* 802B385C 002AF4BC 4E 80 00 20 */ blr
diff --git a/asm/SDK/WPAD/debug_msg.s b/asm/SDK/WPAD/debug_msg.s
new file mode 100644
index 0000000..2cf62fc
--- /dev/null
+++ b/asm/SDK/WPAD/debug_msg.s
@@ -0,0 +1,27 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global DEBUGPrint
+DEBUGPrint:
+/* 802B3860 002AF4C0 94 21 FF 90 */ stwu r1, -0x70(r1)
+/* 802B3864 002AF4C4 40 86 00 24 */ bne cr1, lbl_802B3888
+/* 802B3868 002AF4C8 D8 21 00 28 */ stfd f1, 0x28(r1)
+/* 802B386C 002AF4CC D8 41 00 30 */ stfd f2, 0x30(r1)
+/* 802B3870 002AF4D0 D8 61 00 38 */ stfd f3, 0x38(r1)
+/* 802B3874 002AF4D4 D8 81 00 40 */ stfd f4, 0x40(r1)
+/* 802B3878 002AF4D8 D8 A1 00 48 */ stfd f5, 0x48(r1)
+/* 802B387C 002AF4DC D8 C1 00 50 */ stfd f6, 0x50(r1)
+/* 802B3880 002AF4E0 D8 E1 00 58 */ stfd f7, 0x58(r1)
+/* 802B3884 002AF4E4 D9 01 00 60 */ stfd f8, 0x60(r1)
+lbl_802B3888:
+/* 802B3888 002AF4E8 90 61 00 08 */ stw r3, 8(r1)
+/* 802B388C 002AF4EC 90 81 00 0C */ stw r4, 0xc(r1)
+/* 802B3890 002AF4F0 90 A1 00 10 */ stw r5, 0x10(r1)
+/* 802B3894 002AF4F4 90 C1 00 14 */ stw r6, 0x14(r1)
+/* 802B3898 002AF4F8 90 E1 00 18 */ stw r7, 0x18(r1)
+/* 802B389C 002AF4FC 91 01 00 1C */ stw r8, 0x1c(r1)
+/* 802B38A0 002AF500 91 21 00 20 */ stw r9, 0x20(r1)
+/* 802B38A4 002AF504 91 41 00 24 */ stw r10, 0x24(r1)
+/* 802B38A8 002AF508 38 21 00 70 */ addi r1, r1, 0x70
+/* 802B38AC 002AF50C 4E 80 00 20 */ blr
diff --git a/asm/text_4.s b/asm/text_4.s
index 6d08c64..08aecdb 100644
--- a/asm/text_4.s
+++ b/asm/text_4.s
@@ -81391,7 +81391,7 @@ lbl_80161884:
/* 80161998 0015D5F8 48 00 06 A8 */ b lbl_80162040
/* 8016199C 0015D5FC 3C 60 80 42 */ lis r3, lbl_8041EC10@ha
/* 801619A0 0015D600 38 63 EC 10 */ addi r3, r3, lbl_8041EC10@l
-/* 801619A4 0015D604 48 15 1E 05 */ bl func_802B37A8
+/* 801619A4 0015D604 48 15 1E 05 */ bl WPADSetGameTitleUtf16
/* 801619A8 0015D608 3F 20 80 49 */ lis r25, lbl_80488300@ha
/* 801619AC 0015D60C 38 00 00 03 */ li r0, 3
/* 801619B0 0015D610 3B 39 83 00 */ addi r25, r25, lbl_80488300@l
@@ -81402,7 +81402,7 @@ lbl_80161884:
/* 801619C4 0015D624 38 A0 0F 00 */ li r5, 0xf00
/* 801619C8 0015D628 80 99 00 0C */ lwz r4, 0xc(r25)
/* 801619CC 0015D62C 38 C0 00 00 */ li r6, 0
-/* 801619D0 0015D630 48 15 16 9D */ bl func_802B306C
+/* 801619D0 0015D630 48 15 16 9D */ bl WPADWriteGameData
/* 801619D4 0015D634 2C 03 FF FF */ cmpwi r3, -1
/* 801619D8 0015D638 41 82 00 14 */ beq lbl_801619EC
/* 801619DC 0015D63C 40 80 06 64 */ bge lbl_80162040
@@ -81458,10 +81458,10 @@ lbl_80161A6C:
lbl_80161A94:
/* 80161A94 0015D6F4 3C 60 80 42 */ lis r3, lbl_8041EC10@ha
/* 80161A98 0015D6F8 38 63 EC 10 */ addi r3, r3, lbl_8041EC10@l
-/* 80161A9C 0015D6FC 48 15 1D 0D */ bl func_802B37A8
+/* 80161A9C 0015D6FC 48 15 1D 0D */ bl WPADSetGameTitleUtf16
/* 80161AA0 0015D700 88 79 00 1E */ lbz r3, 0x1e(r25)
/* 80161AA4 0015D704 38 8D 9D 70 */ addi r4, r13, lbl_8063F030-_SDA_BASE_
-/* 80161AA8 0015D708 48 15 1C 61 */ bl func_802B3708
+/* 80161AA8 0015D708 48 15 1C 61 */ bl WPADGetGameTitleUtf16
/* 80161AAC 0015D70C 2C 03 00 00 */ cmpwi r3, 0
/* 80161AB0 0015D710 40 82 00 18 */ bne lbl_80161AC8
/* 80161AB4 0015D714 38 60 00 06 */ li r3, 6
@@ -81486,7 +81486,7 @@ lbl_80161AC8:
/* 80161AFC 0015D75C 38 E7 10 F4 */ addi r7, r7, lbl_801610F4@l
/* 80161B00 0015D760 38 A0 07 80 */ li r5, 0x780
/* 80161B04 0015D764 38 C0 00 00 */ li r6, 0
-/* 80161B08 0015D768 48 15 19 15 */ bl func_802B341C
+/* 80161B08 0015D768 48 15 19 15 */ bl WPADReadGameData
/* 80161B0C 0015D76C 48 00 00 24 */ b lbl_80161B30
lbl_80161B10:
/* 80161B10 0015D770 80 85 00 0C */ lwz r4, 0xc(r5)
@@ -81496,7 +81496,7 @@ lbl_80161B10:
/* 80161B20 0015D780 38 84 07 80 */ addi r4, r4, 0x780
/* 80161B24 0015D784 38 A0 07 80 */ li r5, 0x780
/* 80161B28 0015D788 38 C0 07 80 */ li r6, 0x780
-/* 80161B2C 0015D78C 48 15 18 F1 */ bl func_802B341C
+/* 80161B2C 0015D78C 48 15 18 F1 */ bl WPADReadGameData
lbl_80161B30:
/* 80161B30 0015D790 2C 03 FF FE */ cmpwi r3, -2
/* 80161B34 0015D794 41 82 00 34 */ beq lbl_80161B68
diff --git a/obj_files.mk b/obj_files.mk
index 6886f99..46f928a 100644
--- a/obj_files.mk
+++ b/obj_files.mk
@@ -221,7 +221,9 @@ TEXT_O_FILES := \
$(BUILD_DIR)/asm/SDK/PAD/Pad.o \
$(BUILD_DIR)/asm/SDK/WPAD/WPAD.o \
$(BUILD_DIR)/asm/SDK/WPAD/WPADHIDParser.o \
- $(BUILD_DIR)/asm/text_8_7.o \
+ $(BUILD_DIR)/asm/SDK/WPAD/WPADEncrypt.o \
+ $(BUILD_DIR)/asm/SDK/WPAD/WPADMem.o \
+ $(BUILD_DIR)/asm/SDK/WPAD/debug_msg.o \
$(BUILD_DIR)/asm/text_8_8.o \
$(BUILD_DIR)/asm/text_9.o \
$(BUILD_DIR)/asm/text_10.o \