summaryrefslogtreecommitdiff
path: root/asm/SDK/NTR
diff options
context:
space:
mode:
authorRevo <projectrevotpp@hotmail.com>2020-10-09 11:03:51 -0400
committerGitHub <noreply@github.com>2020-10-09 11:03:51 -0400
commit8e96dbb3fe6f6e60f75f7e3297238260ab9f787c (patch)
treea45db4396680b81d05b5aa7a4a824e41c2e9f115 /asm/SDK/NTR
parent2a7ed2ea787182bc981df3fb159a305eb5644b9e (diff)
parent7df55f362496fd304927bd9e6fd17e31a2662541 (diff)
Merge pull request #133 from mparisi20/master
Split WD, NTR, SO, NCD
Diffstat (limited to 'asm/SDK/NTR')
-rw-r--r--asm/SDK/NTR/crc.s254
-rw-r--r--asm/SDK/NTR/math.s28
-rw-r--r--asm/SDK/NTR/wdp_common.s421
-rw-r--r--asm/SDK/NTR/wdp_parent.s1539
4 files changed, 2242 insertions, 0 deletions
diff --git a/asm/SDK/NTR/crc.s b/asm/SDK/NTR/crc.s
new file mode 100644
index 0000000..fcb5dd8
--- /dev/null
+++ b/asm/SDK/NTR/crc.s
@@ -0,0 +1,254 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global MATHi_CRC8InitTable
+MATHi_CRC8InitTable:
+/* 802EE638 002EA298 38 00 01 00 */ li r0, 0x100
+/* 802EE63C 002EA29C 38 C0 00 00 */ li r6, 0
+/* 802EE640 002EA2A0 7C 09 03 A6 */ mtctr r0
+lbl_802EE644:
+/* 802EE644 002EA2A4 54 C0 06 31 */ rlwinm. r0, r6, 0, 0x18, 0x18
+/* 802EE648 002EA2A8 54 C5 08 3C */ slwi r5, r6, 1
+/* 802EE64C 002EA2AC 41 82 00 08 */ beq lbl_802EE654
+/* 802EE650 002EA2B0 7C A5 22 78 */ xor r5, r5, r4
+lbl_802EE654:
+/* 802EE654 002EA2B4 54 A0 06 31 */ rlwinm. r0, r5, 0, 0x18, 0x18
+/* 802EE658 002EA2B8 54 A5 08 3C */ slwi r5, r5, 1
+/* 802EE65C 002EA2BC 41 82 00 08 */ beq lbl_802EE664
+/* 802EE660 002EA2C0 7C A5 22 78 */ xor r5, r5, r4
+lbl_802EE664:
+/* 802EE664 002EA2C4 54 A0 06 31 */ rlwinm. r0, r5, 0, 0x18, 0x18
+/* 802EE668 002EA2C8 54 A5 08 3C */ slwi r5, r5, 1
+/* 802EE66C 002EA2CC 41 82 00 08 */ beq lbl_802EE674
+/* 802EE670 002EA2D0 7C A5 22 78 */ xor r5, r5, r4
+lbl_802EE674:
+/* 802EE674 002EA2D4 54 A0 06 31 */ rlwinm. r0, r5, 0, 0x18, 0x18
+/* 802EE678 002EA2D8 54 A5 08 3C */ slwi r5, r5, 1
+/* 802EE67C 002EA2DC 41 82 00 08 */ beq lbl_802EE684
+/* 802EE680 002EA2E0 7C A5 22 78 */ xor r5, r5, r4
+lbl_802EE684:
+/* 802EE684 002EA2E4 54 A0 06 31 */ rlwinm. r0, r5, 0, 0x18, 0x18
+/* 802EE688 002EA2E8 54 A5 08 3C */ slwi r5, r5, 1
+/* 802EE68C 002EA2EC 41 82 00 08 */ beq lbl_802EE694
+/* 802EE690 002EA2F0 7C A5 22 78 */ xor r5, r5, r4
+lbl_802EE694:
+/* 802EE694 002EA2F4 54 A0 06 31 */ rlwinm. r0, r5, 0, 0x18, 0x18
+/* 802EE698 002EA2F8 54 A5 08 3C */ slwi r5, r5, 1
+/* 802EE69C 002EA2FC 41 82 00 08 */ beq lbl_802EE6A4
+/* 802EE6A0 002EA300 7C A5 22 78 */ xor r5, r5, r4
+lbl_802EE6A4:
+/* 802EE6A4 002EA304 54 A0 06 31 */ rlwinm. r0, r5, 0, 0x18, 0x18
+/* 802EE6A8 002EA308 54 A5 08 3C */ slwi r5, r5, 1
+/* 802EE6AC 002EA30C 41 82 00 08 */ beq lbl_802EE6B4
+/* 802EE6B0 002EA310 7C A5 22 78 */ xor r5, r5, r4
+lbl_802EE6B4:
+/* 802EE6B4 002EA314 54 A0 06 31 */ rlwinm. r0, r5, 0, 0x18, 0x18
+/* 802EE6B8 002EA318 54 A5 08 3C */ slwi r5, r5, 1
+/* 802EE6BC 002EA31C 41 82 00 08 */ beq lbl_802EE6C4
+/* 802EE6C0 002EA320 7C A5 22 78 */ xor r5, r5, r4
+lbl_802EE6C4:
+/* 802EE6C4 002EA324 98 A3 00 00 */ stb r5, 0(r3)
+/* 802EE6C8 002EA328 38 C6 00 01 */ addi r6, r6, 1
+/* 802EE6CC 002EA32C 38 63 00 01 */ addi r3, r3, 1
+/* 802EE6D0 002EA330 42 00 FF 74 */ bdnz lbl_802EE644
+/* 802EE6D4 002EA334 4E 80 00 20 */ blr
+
+.global MATHi_CRC32InitTableRev
+MATHi_CRC32InitTableRev:
+/* 802EE6D8 002EA338 38 00 01 00 */ li r0, 0x100
+/* 802EE6DC 002EA33C 38 C0 00 00 */ li r6, 0
+/* 802EE6E0 002EA340 7C 09 03 A6 */ mtctr r0
+lbl_802EE6E4:
+/* 802EE6E4 002EA344 54 C0 07 FF */ clrlwi. r0, r6, 0x1f
+/* 802EE6E8 002EA348 54 C5 F8 7E */ srwi r5, r6, 1
+/* 802EE6EC 002EA34C 41 82 00 08 */ beq lbl_802EE6F4
+/* 802EE6F0 002EA350 7C A5 22 78 */ xor r5, r5, r4
+lbl_802EE6F4:
+/* 802EE6F4 002EA354 54 A0 07 FF */ clrlwi. r0, r5, 0x1f
+/* 802EE6F8 002EA358 54 A5 F8 7E */ srwi r5, r5, 1
+/* 802EE6FC 002EA35C 41 82 00 08 */ beq lbl_802EE704
+/* 802EE700 002EA360 7C A5 22 78 */ xor r5, r5, r4
+lbl_802EE704:
+/* 802EE704 002EA364 54 A0 07 FF */ clrlwi. r0, r5, 0x1f
+/* 802EE708 002EA368 54 A5 F8 7E */ srwi r5, r5, 1
+/* 802EE70C 002EA36C 41 82 00 08 */ beq lbl_802EE714
+/* 802EE710 002EA370 7C A5 22 78 */ xor r5, r5, r4
+lbl_802EE714:
+/* 802EE714 002EA374 54 A0 07 FF */ clrlwi. r0, r5, 0x1f
+/* 802EE718 002EA378 54 A5 F8 7E */ srwi r5, r5, 1
+/* 802EE71C 002EA37C 41 82 00 08 */ beq lbl_802EE724
+/* 802EE720 002EA380 7C A5 22 78 */ xor r5, r5, r4
+lbl_802EE724:
+/* 802EE724 002EA384 54 A0 07 FF */ clrlwi. r0, r5, 0x1f
+/* 802EE728 002EA388 54 A5 F8 7E */ srwi r5, r5, 1
+/* 802EE72C 002EA38C 41 82 00 08 */ beq lbl_802EE734
+/* 802EE730 002EA390 7C A5 22 78 */ xor r5, r5, r4
+lbl_802EE734:
+/* 802EE734 002EA394 54 A0 07 FF */ clrlwi. r0, r5, 0x1f
+/* 802EE738 002EA398 54 A5 F8 7E */ srwi r5, r5, 1
+/* 802EE73C 002EA39C 41 82 00 08 */ beq lbl_802EE744
+/* 802EE740 002EA3A0 7C A5 22 78 */ xor r5, r5, r4
+lbl_802EE744:
+/* 802EE744 002EA3A4 54 A0 07 FF */ clrlwi. r0, r5, 0x1f
+/* 802EE748 002EA3A8 54 A5 F8 7E */ srwi r5, r5, 1
+/* 802EE74C 002EA3AC 41 82 00 08 */ beq lbl_802EE754
+/* 802EE750 002EA3B0 7C A5 22 78 */ xor r5, r5, r4
+lbl_802EE754:
+/* 802EE754 002EA3B4 54 A0 07 FF */ clrlwi. r0, r5, 0x1f
+/* 802EE758 002EA3B8 54 A5 F8 7E */ srwi r5, r5, 1
+/* 802EE75C 002EA3BC 41 82 00 08 */ beq lbl_802EE764
+/* 802EE760 002EA3C0 7C A5 22 78 */ xor r5, r5, r4
+lbl_802EE764:
+/* 802EE764 002EA3C4 90 A3 00 00 */ stw r5, 0(r3)
+/* 802EE768 002EA3C8 38 63 00 04 */ addi r3, r3, 4
+/* 802EE76C 002EA3CC 38 C6 00 01 */ addi r6, r6, 1
+/* 802EE770 002EA3D0 42 00 FF 74 */ bdnz lbl_802EE6E4
+/* 802EE774 002EA3D4 4E 80 00 20 */ blr
+
+.global MATH_CalcCRC8
+MATH_CalcCRC8:
+/* 802EE778 002EA3D8 2C 05 00 00 */ cmpwi r5, 0
+/* 802EE77C 002EA3DC 38 E0 00 00 */ li r7, 0
+/* 802EE780 002EA3E0 39 60 00 00 */ li r11, 0
+/* 802EE784 002EA3E4 41 82 00 BC */ beq lbl_802EE840
+/* 802EE788 002EA3E8 28 05 00 08 */ cmplwi r5, 8
+/* 802EE78C 002EA3EC 38 C5 FF F8 */ addi r6, r5, -8
+/* 802EE790 002EA3F0 40 81 00 88 */ ble lbl_802EE818
+/* 802EE794 002EA3F4 38 06 00 07 */ addi r0, r6, 7
+/* 802EE798 002EA3F8 54 00 E8 FE */ srwi r0, r0, 3
+/* 802EE79C 002EA3FC 7C 09 03 A6 */ mtctr r0
+/* 802EE7A0 002EA400 28 06 00 00 */ cmplwi r6, 0
+/* 802EE7A4 002EA404 40 81 00 74 */ ble lbl_802EE818
+lbl_802EE7A8:
+/* 802EE7A8 002EA408 88 04 00 00 */ lbz r0, 0(r4)
+/* 802EE7AC 002EA40C 39 6B 00 08 */ addi r11, r11, 8
+/* 802EE7B0 002EA410 88 C4 00 01 */ lbz r6, 1(r4)
+/* 802EE7B4 002EA414 7C E7 02 78 */ xor r7, r7, r0
+/* 802EE7B8 002EA418 88 04 00 02 */ lbz r0, 2(r4)
+/* 802EE7BC 002EA41C 54 E7 06 3E */ clrlwi r7, r7, 0x18
+/* 802EE7C0 002EA420 89 24 00 03 */ lbz r9, 3(r4)
+/* 802EE7C4 002EA424 7C E3 38 AE */ lbzx r7, r3, r7
+/* 802EE7C8 002EA428 89 04 00 04 */ lbz r8, 4(r4)
+/* 802EE7CC 002EA42C 7C E6 32 78 */ xor r6, r7, r6
+/* 802EE7D0 002EA430 88 E4 00 05 */ lbz r7, 5(r4)
+/* 802EE7D4 002EA434 7D 43 30 AE */ lbzx r10, r3, r6
+/* 802EE7D8 002EA438 88 C4 00 06 */ lbz r6, 6(r4)
+/* 802EE7DC 002EA43C 7D 4A 02 78 */ xor r10, r10, r0
+/* 802EE7E0 002EA440 88 04 00 07 */ lbz r0, 7(r4)
+/* 802EE7E4 002EA444 7D 43 50 AE */ lbzx r10, r3, r10
+/* 802EE7E8 002EA448 38 84 00 08 */ addi r4, r4, 8
+/* 802EE7EC 002EA44C 7D 49 4A 78 */ xor r9, r10, r9
+/* 802EE7F0 002EA450 7D 23 48 AE */ lbzx r9, r3, r9
+/* 802EE7F4 002EA454 7D 28 42 78 */ xor r8, r9, r8
+/* 802EE7F8 002EA458 7D 03 40 AE */ lbzx r8, r3, r8
+/* 802EE7FC 002EA45C 7D 07 3A 78 */ xor r7, r8, r7
+/* 802EE800 002EA460 7C E3 38 AE */ lbzx r7, r3, r7
+/* 802EE804 002EA464 7C E6 32 78 */ xor r6, r7, r6
+/* 802EE808 002EA468 7C C3 30 AE */ lbzx r6, r3, r6
+/* 802EE80C 002EA46C 7C C0 02 78 */ xor r0, r6, r0
+/* 802EE810 002EA470 7C E3 00 AE */ lbzx r7, r3, r0
+/* 802EE814 002EA474 42 00 FF 94 */ bdnz lbl_802EE7A8
+lbl_802EE818:
+/* 802EE818 002EA478 7C 0B 28 50 */ subf r0, r11, r5
+/* 802EE81C 002EA47C 7C 09 03 A6 */ mtctr r0
+/* 802EE820 002EA480 7C 0B 28 40 */ cmplw r11, r5
+/* 802EE824 002EA484 40 80 00 1C */ bge lbl_802EE840
+lbl_802EE828:
+/* 802EE828 002EA488 88 04 00 00 */ lbz r0, 0(r4)
+/* 802EE82C 002EA48C 38 84 00 01 */ addi r4, r4, 1
+/* 802EE830 002EA490 7C E0 02 78 */ xor r0, r7, r0
+/* 802EE834 002EA494 54 00 06 3E */ clrlwi r0, r0, 0x18
+/* 802EE838 002EA498 7C E3 00 AE */ lbzx r7, r3, r0
+/* 802EE83C 002EA49C 42 00 FF EC */ bdnz lbl_802EE828
+lbl_802EE840:
+/* 802EE840 002EA4A0 7C E3 3B 78 */ mr r3, r7
+/* 802EE844 002EA4A4 4E 80 00 20 */ blr
+
+.global MATH_CalcCRC32
+MATH_CalcCRC32:
+/* 802EE848 002EA4A8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802EE84C 002EA4AC 2C 05 00 00 */ cmpwi r5, 0
+/* 802EE850 002EA4B0 39 20 FF FF */ li r9, -1
+/* 802EE854 002EA4B4 38 C0 00 00 */ li r6, 0
+/* 802EE858 002EA4B8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802EE85C 002EA4BC 41 82 01 20 */ beq lbl_802EE97C
+/* 802EE860 002EA4C0 28 05 00 08 */ cmplwi r5, 8
+/* 802EE864 002EA4C4 38 E5 FF F8 */ addi r7, r5, -8
+/* 802EE868 002EA4C8 40 81 00 E4 */ ble lbl_802EE94C
+/* 802EE86C 002EA4CC 38 07 00 07 */ addi r0, r7, 7
+/* 802EE870 002EA4D0 54 00 E8 FE */ srwi r0, r0, 3
+/* 802EE874 002EA4D4 7C 09 03 A6 */ mtctr r0
+/* 802EE878 002EA4D8 28 07 00 00 */ cmplwi r7, 0
+/* 802EE87C 002EA4DC 40 81 00 D0 */ ble lbl_802EE94C
+lbl_802EE880:
+/* 802EE880 002EA4E0 88 E4 00 00 */ lbz r7, 0(r4)
+/* 802EE884 002EA4E4 55 28 C2 3E */ srwi r8, r9, 8
+/* 802EE888 002EA4E8 88 04 00 01 */ lbz r0, 1(r4)
+/* 802EE88C 002EA4EC 38 C6 00 08 */ addi r6, r6, 8
+/* 802EE890 002EA4F0 7D 27 3A 78 */ xor r7, r9, r7
+/* 802EE894 002EA4F4 89 64 00 02 */ lbz r11, 2(r4)
+/* 802EE898 002EA4F8 54 E7 15 BA */ rlwinm r7, r7, 2, 0x16, 0x1d
+/* 802EE89C 002EA4FC 89 44 00 03 */ lbz r10, 3(r4)
+/* 802EE8A0 002EA500 7C E3 38 2E */ lwzx r7, r3, r7
+/* 802EE8A4 002EA504 89 24 00 04 */ lbz r9, 4(r4)
+/* 802EE8A8 002EA508 7D 1F 3A 78 */ xor r31, r8, r7
+/* 802EE8AC 002EA50C 89 04 00 05 */ lbz r8, 5(r4)
+/* 802EE8B0 002EA510 7F E0 02 78 */ xor r0, r31, r0
+/* 802EE8B4 002EA514 88 E4 00 06 */ lbz r7, 6(r4)
+/* 802EE8B8 002EA518 54 0C 15 BA */ rlwinm r12, r0, 2, 0x16, 0x1d
+/* 802EE8BC 002EA51C 88 04 00 07 */ lbz r0, 7(r4)
+/* 802EE8C0 002EA520 7D 83 60 2E */ lwzx r12, r3, r12
+/* 802EE8C4 002EA524 57 FF C2 3E */ srwi r31, r31, 8
+/* 802EE8C8 002EA528 38 84 00 08 */ addi r4, r4, 8
+/* 802EE8CC 002EA52C 7F EC 62 78 */ xor r12, r31, r12
+/* 802EE8D0 002EA530 7D 8B 5A 78 */ xor r11, r12, r11
+/* 802EE8D4 002EA534 55 6B 15 BA */ rlwinm r11, r11, 2, 0x16, 0x1d
+/* 802EE8D8 002EA538 55 8C C2 3E */ srwi r12, r12, 8
+/* 802EE8DC 002EA53C 7D 63 58 2E */ lwzx r11, r3, r11
+/* 802EE8E0 002EA540 7D 8B 5A 78 */ xor r11, r12, r11
+/* 802EE8E4 002EA544 7D 6A 52 78 */ xor r10, r11, r10
+/* 802EE8E8 002EA548 55 4A 15 BA */ rlwinm r10, r10, 2, 0x16, 0x1d
+/* 802EE8EC 002EA54C 55 6B C2 3E */ srwi r11, r11, 8
+/* 802EE8F0 002EA550 7D 43 50 2E */ lwzx r10, r3, r10
+/* 802EE8F4 002EA554 7D 6A 52 78 */ xor r10, r11, r10
+/* 802EE8F8 002EA558 7D 49 4A 78 */ xor r9, r10, r9
+/* 802EE8FC 002EA55C 55 29 15 BA */ rlwinm r9, r9, 2, 0x16, 0x1d
+/* 802EE900 002EA560 55 4A C2 3E */ srwi r10, r10, 8
+/* 802EE904 002EA564 7D 23 48 2E */ lwzx r9, r3, r9
+/* 802EE908 002EA568 7D 49 4A 78 */ xor r9, r10, r9
+/* 802EE90C 002EA56C 7D 28 42 78 */ xor r8, r9, r8
+/* 802EE910 002EA570 55 08 15 BA */ rlwinm r8, r8, 2, 0x16, 0x1d
+/* 802EE914 002EA574 55 29 C2 3E */ srwi r9, r9, 8
+/* 802EE918 002EA578 7D 03 40 2E */ lwzx r8, r3, r8
+/* 802EE91C 002EA57C 7D 28 42 78 */ xor r8, r9, r8
+/* 802EE920 002EA580 7D 07 3A 78 */ xor r7, r8, r7
+/* 802EE924 002EA584 54 E7 15 BA */ rlwinm r7, r7, 2, 0x16, 0x1d
+/* 802EE928 002EA588 55 08 C2 3E */ srwi r8, r8, 8
+/* 802EE92C 002EA58C 7C E3 38 2E */ lwzx r7, r3, r7
+/* 802EE930 002EA590 7D 07 3A 78 */ xor r7, r8, r7
+/* 802EE934 002EA594 7C E0 02 78 */ xor r0, r7, r0
+/* 802EE938 002EA598 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
+/* 802EE93C 002EA59C 54 E7 C2 3E */ srwi r7, r7, 8
+/* 802EE940 002EA5A0 7C 03 00 2E */ lwzx r0, r3, r0
+/* 802EE944 002EA5A4 7C E9 02 78 */ xor r9, r7, r0
+/* 802EE948 002EA5A8 42 00 FF 38 */ bdnz lbl_802EE880
+lbl_802EE94C:
+/* 802EE94C 002EA5AC 7C 06 28 50 */ subf r0, r6, r5
+/* 802EE950 002EA5B0 7C 09 03 A6 */ mtctr r0
+/* 802EE954 002EA5B4 7C 06 28 40 */ cmplw r6, r5
+/* 802EE958 002EA5B8 40 80 00 24 */ bge lbl_802EE97C
+lbl_802EE95C:
+/* 802EE95C 002EA5BC 88 04 00 00 */ lbz r0, 0(r4)
+/* 802EE960 002EA5C0 55 25 C2 3E */ srwi r5, r9, 8
+/* 802EE964 002EA5C4 38 84 00 01 */ addi r4, r4, 1
+/* 802EE968 002EA5C8 7D 20 02 78 */ xor r0, r9, r0
+/* 802EE96C 002EA5CC 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
+/* 802EE970 002EA5D0 7C 03 00 2E */ lwzx r0, r3, r0
+/* 802EE974 002EA5D4 7C A9 02 78 */ xor r9, r5, r0
+/* 802EE978 002EA5D8 42 00 FF E4 */ bdnz lbl_802EE95C
+lbl_802EE97C:
+/* 802EE97C 002EA5DC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802EE980 002EA5E0 7D 23 48 F8 */ nor r3, r9, r9
+/* 802EE984 002EA5E4 38 21 00 10 */ addi r1, r1, 0x10
+/* 802EE988 002EA5E8 4E 80 00 20 */ blr
diff --git a/asm/SDK/NTR/math.s b/asm/SDK/NTR/math.s
new file mode 100644
index 0000000..7daffd2
--- /dev/null
+++ b/asm/SDK/NTR/math.s
@@ -0,0 +1,28 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global MATH_CountPopulation
+MATH_CountPopulation:
+/* 802EE98C 002EA5EC 3C C0 55 55 */ lis r6, 0x55555555@ha
+/* 802EE990 002EA5F0 3C A0 33 33 */ lis r5, 0x33333333@ha
+/* 802EE994 002EA5F4 54 67 F8 7E */ srwi r7, r3, 1
+/* 802EE998 002EA5F8 3C 80 0F 0F */ lis r4, 0x0F0F0F0F@ha
+/* 802EE99C 002EA5FC 38 06 55 55 */ addi r0, r6, 0x55555555@l
+/* 802EE9A0 002EA600 38 A5 33 33 */ addi r5, r5, 0x33333333@l
+/* 802EE9A4 002EA604 7C E6 00 38 */ and r6, r7, r0
+/* 802EE9A8 002EA608 38 04 0F 0F */ addi r0, r4, 0x0F0F0F0F@l
+/* 802EE9AC 002EA60C 7C 86 18 50 */ subf r4, r6, r3
+/* 802EE9B0 002EA610 54 83 F0 BE */ srwi r3, r4, 2
+/* 802EE9B4 002EA614 7C 84 28 38 */ and r4, r4, r5
+/* 802EE9B8 002EA618 7C 63 28 38 */ and r3, r3, r5
+/* 802EE9BC 002EA61C 7C 84 1A 14 */ add r4, r4, r3
+/* 802EE9C0 002EA620 54 83 E1 3E */ srwi r3, r4, 4
+/* 802EE9C4 002EA624 7C 84 1A 14 */ add r4, r4, r3
+/* 802EE9C8 002EA628 7C 84 00 38 */ and r4, r4, r0
+/* 802EE9CC 002EA62C 54 80 C2 3E */ srwi r0, r4, 8
+/* 802EE9D0 002EA630 7C 84 02 14 */ add r4, r4, r0
+/* 802EE9D4 002EA634 54 80 84 3E */ srwi r0, r4, 0x10
+/* 802EE9D8 002EA638 7C 84 02 14 */ add r4, r4, r0
+/* 802EE9DC 002EA63C 54 83 06 3E */ clrlwi r3, r4, 0x18
+/* 802EE9E0 002EA640 4E 80 00 20 */ blr
diff --git a/asm/SDK/NTR/wdp_common.s b/asm/SDK/NTR/wdp_common.s
new file mode 100644
index 0000000..d780c6f
--- /dev/null
+++ b/asm/SDK/NTR/wdp_common.s
@@ -0,0 +1,421 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global WDPi_GetBeaconCheckSum
+WDPi_GetBeaconCheckSum:
+/* 802EE9E4 002EA644 38 00 00 03 */ li r0, 3
+/* 802EE9E8 002EA648 38 C0 00 00 */ li r6, 0
+/* 802EE9EC 002EA64C 7C 09 03 A6 */ mtctr r0
+lbl_802EE9F0:
+/* 802EE9F0 002EA650 88 83 00 01 */ lbz r4, 1(r3)
+/* 802EE9F4 002EA654 88 03 00 03 */ lbz r0, 3(r3)
+/* 802EE9F8 002EA658 88 A3 00 00 */ lbz r5, 0(r3)
+/* 802EE9FC 002EA65C 50 85 44 2E */ rlwimi r5, r4, 8, 0x10, 0x17
+/* 802EEA00 002EA660 88 83 00 02 */ lbz r4, 2(r3)
+/* 802EEA04 002EA664 50 04 44 2E */ rlwimi r4, r0, 8, 0x10, 0x17
+/* 802EEA08 002EA668 7C C6 2A 14 */ add r6, r6, r5
+/* 802EEA0C 002EA66C 88 03 00 05 */ lbz r0, 5(r3)
+/* 802EEA10 002EA670 88 A3 00 04 */ lbz r5, 4(r3)
+/* 802EEA14 002EA674 7C C6 22 14 */ add r6, r6, r4
+/* 802EEA18 002EA678 50 05 44 2E */ rlwimi r5, r0, 8, 0x10, 0x17
+/* 802EEA1C 002EA67C 88 03 00 07 */ lbz r0, 7(r3)
+/* 802EEA20 002EA680 88 83 00 06 */ lbz r4, 6(r3)
+/* 802EEA24 002EA684 7C C6 2A 14 */ add r6, r6, r5
+/* 802EEA28 002EA688 50 04 44 2E */ rlwimi r4, r0, 8, 0x10, 0x17
+/* 802EEA2C 002EA68C 88 03 00 09 */ lbz r0, 9(r3)
+/* 802EEA30 002EA690 88 A3 00 08 */ lbz r5, 8(r3)
+/* 802EEA34 002EA694 7C C6 22 14 */ add r6, r6, r4
+/* 802EEA38 002EA698 50 05 44 2E */ rlwimi r5, r0, 8, 0x10, 0x17
+/* 802EEA3C 002EA69C 88 03 00 0B */ lbz r0, 0xb(r3)
+/* 802EEA40 002EA6A0 88 83 00 0A */ lbz r4, 0xa(r3)
+/* 802EEA44 002EA6A4 7C C6 2A 14 */ add r6, r6, r5
+/* 802EEA48 002EA6A8 50 04 44 2E */ rlwimi r4, r0, 8, 0x10, 0x17
+/* 802EEA4C 002EA6AC 88 03 00 0D */ lbz r0, 0xd(r3)
+/* 802EEA50 002EA6B0 88 A3 00 0C */ lbz r5, 0xc(r3)
+/* 802EEA54 002EA6B4 7C C6 22 14 */ add r6, r6, r4
+/* 802EEA58 002EA6B8 50 05 44 2E */ rlwimi r5, r0, 8, 0x10, 0x17
+/* 802EEA5C 002EA6BC 88 83 00 0F */ lbz r4, 0xf(r3)
+/* 802EEA60 002EA6C0 88 03 00 0E */ lbz r0, 0xe(r3)
+/* 802EEA64 002EA6C4 7C C6 2A 14 */ add r6, r6, r5
+/* 802EEA68 002EA6C8 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
+/* 802EEA6C 002EA6CC 88 83 00 11 */ lbz r4, 0x11(r3)
+/* 802EEA70 002EA6D0 7C C6 02 14 */ add r6, r6, r0
+/* 802EEA74 002EA6D4 88 A3 00 10 */ lbz r5, 0x10(r3)
+/* 802EEA78 002EA6D8 50 85 44 2E */ rlwimi r5, r4, 8, 0x10, 0x17
+/* 802EEA7C 002EA6DC 88 03 00 13 */ lbz r0, 0x13(r3)
+/* 802EEA80 002EA6E0 88 83 00 12 */ lbz r4, 0x12(r3)
+/* 802EEA84 002EA6E4 7C C6 2A 14 */ add r6, r6, r5
+/* 802EEA88 002EA6E8 50 04 44 2E */ rlwimi r4, r0, 8, 0x10, 0x17
+/* 802EEA8C 002EA6EC 88 03 00 15 */ lbz r0, 0x15(r3)
+/* 802EEA90 002EA6F0 88 A3 00 14 */ lbz r5, 0x14(r3)
+/* 802EEA94 002EA6F4 7C C6 22 14 */ add r6, r6, r4
+/* 802EEA98 002EA6F8 50 05 44 2E */ rlwimi r5, r0, 8, 0x10, 0x17
+/* 802EEA9C 002EA6FC 88 03 00 17 */ lbz r0, 0x17(r3)
+/* 802EEAA0 002EA700 88 83 00 16 */ lbz r4, 0x16(r3)
+/* 802EEAA4 002EA704 7C C6 2A 14 */ add r6, r6, r5
+/* 802EEAA8 002EA708 50 04 44 2E */ rlwimi r4, r0, 8, 0x10, 0x17
+/* 802EEAAC 002EA70C 88 03 00 19 */ lbz r0, 0x19(r3)
+/* 802EEAB0 002EA710 88 A3 00 18 */ lbz r5, 0x18(r3)
+/* 802EEAB4 002EA714 7C C6 22 14 */ add r6, r6, r4
+/* 802EEAB8 002EA718 50 05 44 2E */ rlwimi r5, r0, 8, 0x10, 0x17
+/* 802EEABC 002EA71C 88 03 00 1B */ lbz r0, 0x1b(r3)
+/* 802EEAC0 002EA720 88 83 00 1A */ lbz r4, 0x1a(r3)
+/* 802EEAC4 002EA724 7C C6 2A 14 */ add r6, r6, r5
+/* 802EEAC8 002EA728 50 04 44 2E */ rlwimi r4, r0, 8, 0x10, 0x17
+/* 802EEACC 002EA72C 88 03 00 1D */ lbz r0, 0x1d(r3)
+/* 802EEAD0 002EA730 88 A3 00 1C */ lbz r5, 0x1c(r3)
+/* 802EEAD4 002EA734 7C C6 22 14 */ add r6, r6, r4
+/* 802EEAD8 002EA738 50 05 44 2E */ rlwimi r5, r0, 8, 0x10, 0x17
+/* 802EEADC 002EA73C 88 83 00 1F */ lbz r4, 0x1f(r3)
+/* 802EEAE0 002EA740 88 03 00 1E */ lbz r0, 0x1e(r3)
+/* 802EEAE4 002EA744 7C C6 2A 14 */ add r6, r6, r5
+/* 802EEAE8 002EA748 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
+/* 802EEAEC 002EA74C 38 63 00 20 */ addi r3, r3, 0x20
+/* 802EEAF0 002EA750 7C C6 02 14 */ add r6, r6, r0
+/* 802EEAF4 002EA754 42 00 FE FC */ bdnz lbl_802EE9F0
+/* 802EEAF8 002EA758 88 03 00 01 */ lbz r0, 1(r3)
+/* 802EEAFC 002EA75C 88 83 00 00 */ lbz r4, 0(r3)
+/* 802EEB00 002EA760 50 04 44 2E */ rlwimi r4, r0, 8, 0x10, 0x17
+/* 802EEB04 002EA764 88 03 00 03 */ lbz r0, 3(r3)
+/* 802EEB08 002EA768 88 A3 00 02 */ lbz r5, 2(r3)
+/* 802EEB0C 002EA76C 7C C6 22 14 */ add r6, r6, r4
+/* 802EEB10 002EA770 50 05 44 2E */ rlwimi r5, r0, 8, 0x10, 0x17
+/* 802EEB14 002EA774 88 83 00 05 */ lbz r4, 5(r3)
+/* 802EEB18 002EA778 88 03 00 04 */ lbz r0, 4(r3)
+/* 802EEB1C 002EA77C 7C C6 2A 14 */ add r6, r6, r5
+/* 802EEB20 002EA780 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
+/* 802EEB24 002EA784 7C C6 02 14 */ add r6, r6, r0
+/* 802EEB28 002EA788 54 C3 84 3E */ srwi r3, r6, 0x10
+/* 802EEB2C 002EA78C 54 C0 04 3E */ clrlwi r0, r6, 0x10
+/* 802EEB30 002EA790 7C 03 02 14 */ add r0, r3, r0
+/* 802EEB34 002EA794 54 03 84 3E */ srwi r3, r0, 0x10
+/* 802EEB38 002EA798 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 802EEB3C 002EA79C 7C 03 02 14 */ add r0, r3, r0
+/* 802EEB40 002EA7A0 7C 00 00 F8 */ nor r0, r0, r0
+/* 802EEB44 002EA7A4 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802EEB48 002EA7A8 4E 80 00 20 */ blr
+
+.global WDP_CompareMemory
+WDP_CompareMemory:
+/* 802EEB4C 002EA7AC 38 00 00 00 */ li r0, 0
+/* 802EEB50 002EA7B0 38 E0 00 00 */ li r7, 0
+/* 802EEB54 002EA7B4 48 00 00 1C */ b lbl_802EEB70
+lbl_802EEB58:
+/* 802EEB58 002EA7B8 88 C4 00 00 */ lbz r6, 0(r4)
+/* 802EEB5C 002EA7BC 38 E7 00 01 */ addi r7, r7, 1
+/* 802EEB60 002EA7C0 88 03 00 00 */ lbz r0, 0(r3)
+/* 802EEB64 002EA7C4 38 63 00 01 */ addi r3, r3, 1
+/* 802EEB68 002EA7C8 38 84 00 01 */ addi r4, r4, 1
+/* 802EEB6C 002EA7CC 7C 06 00 50 */ subf r0, r6, r0
+lbl_802EEB70:
+/* 802EEB70 002EA7D0 2C 00 00 00 */ cmpwi r0, 0
+/* 802EEB74 002EA7D4 40 82 00 0C */ bne lbl_802EEB80
+/* 802EEB78 002EA7D8 7C 07 28 40 */ cmplw r7, r5
+/* 802EEB7C 002EA7DC 41 80 FF DC */ blt lbl_802EEB58
+lbl_802EEB80:
+/* 802EEB80 002EA7E0 7C 03 03 78 */ mr r3, r0
+/* 802EEB84 002EA7E4 4E 80 00 20 */ blr
+
+.global WDP_CopyString
+WDP_CopyString:
+/* 802EEB88 002EA7E8 54 84 F8 7E */ srwi r4, r4, 1
+/* 802EEB8C 002EA7EC 38 C0 00 00 */ li r6, 0
+/* 802EEB90 002EA7F0 7C 89 03 A6 */ mtctr r4
+/* 802EEB94 002EA7F4 28 04 00 00 */ cmplwi r4, 0
+/* 802EEB98 002EA7F8 40 81 00 2C */ ble lbl_802EEBC4
+lbl_802EEB9C:
+/* 802EEB9C 002EA7FC A0 05 00 00 */ lhz r0, 0(r5)
+/* 802EEBA0 002EA800 38 A5 00 02 */ addi r5, r5, 2
+/* 802EEBA4 002EA804 2C 00 00 00 */ cmpwi r0, 0
+/* 802EEBA8 002EA808 41 82 00 1C */ beq lbl_802EEBC4
+/* 802EEBAC 002EA80C 98 03 00 00 */ stb r0, 0(r3)
+/* 802EEBB0 002EA810 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
+/* 802EEBB4 002EA814 38 C6 00 01 */ addi r6, r6, 1
+/* 802EEBB8 002EA818 98 03 00 01 */ stb r0, 1(r3)
+/* 802EEBBC 002EA81C 38 63 00 02 */ addi r3, r3, 2
+/* 802EEBC0 002EA820 42 00 FF DC */ bdnz lbl_802EEB9C
+lbl_802EEBC4:
+/* 802EEBC4 002EA824 7C 06 20 40 */ cmplw r6, r4
+/* 802EEBC8 002EA828 7C 86 20 50 */ subf r4, r6, r4
+/* 802EEBCC 002EA82C 38 A0 00 00 */ li r5, 0
+/* 802EEBD0 002EA830 40 80 00 74 */ bge lbl_802EEC44
+/* 802EEBD4 002EA834 54 80 E8 FF */ rlwinm. r0, r4, 0x1d, 3, 0x1f
+/* 802EEBD8 002EA838 7C 09 03 A6 */ mtctr r0
+/* 802EEBDC 002EA83C 41 82 00 54 */ beq lbl_802EEC30
+lbl_802EEBE0:
+/* 802EEBE0 002EA840 98 A3 00 00 */ stb r5, 0(r3)
+/* 802EEBE4 002EA844 98 A3 00 01 */ stb r5, 1(r3)
+/* 802EEBE8 002EA848 98 A3 00 02 */ stb r5, 2(r3)
+/* 802EEBEC 002EA84C 98 A3 00 03 */ stb r5, 3(r3)
+/* 802EEBF0 002EA850 98 A3 00 04 */ stb r5, 4(r3)
+/* 802EEBF4 002EA854 98 A3 00 05 */ stb r5, 5(r3)
+/* 802EEBF8 002EA858 98 A3 00 06 */ stb r5, 6(r3)
+/* 802EEBFC 002EA85C 98 A3 00 07 */ stb r5, 7(r3)
+/* 802EEC00 002EA860 98 A3 00 08 */ stb r5, 8(r3)
+/* 802EEC04 002EA864 98 A3 00 09 */ stb r5, 9(r3)
+/* 802EEC08 002EA868 98 A3 00 0A */ stb r5, 0xa(r3)
+/* 802EEC0C 002EA86C 98 A3 00 0B */ stb r5, 0xb(r3)
+/* 802EEC10 002EA870 98 A3 00 0C */ stb r5, 0xc(r3)
+/* 802EEC14 002EA874 98 A3 00 0D */ stb r5, 0xd(r3)
+/* 802EEC18 002EA878 98 A3 00 0E */ stb r5, 0xe(r3)
+/* 802EEC1C 002EA87C 98 A3 00 0F */ stb r5, 0xf(r3)
+/* 802EEC20 002EA880 38 63 00 10 */ addi r3, r3, 0x10
+/* 802EEC24 002EA884 42 00 FF BC */ bdnz lbl_802EEBE0
+/* 802EEC28 002EA888 70 84 00 07 */ andi. r4, r4, 7
+/* 802EEC2C 002EA88C 41 82 00 18 */ beq lbl_802EEC44
+lbl_802EEC30:
+/* 802EEC30 002EA890 7C 89 03 A6 */ mtctr r4
+lbl_802EEC34:
+/* 802EEC34 002EA894 98 A3 00 00 */ stb r5, 0(r3)
+/* 802EEC38 002EA898 98 A3 00 01 */ stb r5, 1(r3)
+/* 802EEC3C 002EA89C 38 63 00 02 */ addi r3, r3, 2
+/* 802EEC40 002EA8A0 42 00 FF F4 */ bdnz lbl_802EEC34
+lbl_802EEC44:
+/* 802EEC44 002EA8A4 7C C3 33 78 */ mr r3, r6
+/* 802EEC48 002EA8A8 4E 80 00 20 */ blr
+
+.global WDPi_IsValidSegmentRegion
+WDPi_IsValidSegmentRegion:
+/* 802EEC4C 002EA8AC 2C 07 00 00 */ cmpwi r7, 0
+/* 802EEC50 002EA8B0 38 00 00 00 */ li r0, 0
+/* 802EEC54 002EA8B4 41 82 00 0C */ beq lbl_802EEC60
+/* 802EEC58 002EA8B8 39 00 00 00 */ li r8, 0
+/* 802EEC5C 002EA8BC 91 07 00 00 */ stw r8, 0(r7)
+lbl_802EEC60:
+/* 802EEC60 002EA8C0 2C 83 00 03 */ cmpwi cr1, r3, 3
+/* 802EEC64 002EA8C4 40 84 01 5C */ bge cr1, lbl_802EEDC0
+/* 802EEC68 002EA8C8 7C 88 2B 78 */ or r8, r4, r5
+/* 802EEC6C 002EA8CC 55 08 00 01 */ rlwinm. r8, r8, 0, 0, 0
+/* 802EEC70 002EA8D0 40 82 01 50 */ bne lbl_802EEDC0
+/* 802EEC74 002EA8D4 2C 03 00 01 */ cmpwi r3, 1
+/* 802EEC78 002EA8D8 41 82 00 48 */ beq lbl_802EECC0
+/* 802EEC7C 002EA8DC 40 80 00 10 */ bge lbl_802EEC8C
+/* 802EEC80 002EA8E0 2C 03 00 00 */ cmpwi r3, 0
+/* 802EEC84 002EA8E4 40 80 00 10 */ bge lbl_802EEC94
+/* 802EEC88 002EA8E8 48 00 01 38 */ b lbl_802EEDC0
+lbl_802EEC8C:
+/* 802EEC8C 002EA8EC 40 84 01 34 */ bge cr1, lbl_802EEDC0
+/* 802EEC90 002EA8F0 48 00 00 58 */ b lbl_802EECE8
+lbl_802EEC94:
+/* 802EEC94 002EA8F4 3C 60 02 80 */ lis r3, 0x027FFE00@ha
+/* 802EEC98 002EA8F8 38 00 00 00 */ li r0, 0
+/* 802EEC9C 002EA8FC 38 C3 FE 00 */ addi r6, r3, 0x027FFE00@l
+/* 802EECA0 002EA900 7C 04 30 40 */ cmplw r4, r6
+/* 802EECA4 002EA904 41 80 01 1C */ blt lbl_802EEDC0
+/* 802EECA8 002EA908 7C 84 2A 14 */ add r4, r4, r5
+/* 802EECAC 002EA90C 38 63 FF 60 */ addi r3, r3, -160
+/* 802EECB0 002EA910 7C 04 18 40 */ cmplw r4, r3
+/* 802EECB4 002EA914 41 81 01 0C */ bgt lbl_802EEDC0
+/* 802EECB8 002EA918 38 00 00 01 */ li r0, 1
+/* 802EECBC 002EA91C 48 00 01 04 */ b lbl_802EEDC0
+lbl_802EECC0:
+/* 802EECC0 002EA920 3C 60 02 00 */ lis r3, 0x200
+/* 802EECC4 002EA924 38 00 00 00 */ li r0, 0
+/* 802EECC8 002EA928 7C 04 18 40 */ cmplw r4, r3
+/* 802EECCC 002EA92C 41 80 00 F4 */ blt lbl_802EEDC0
+/* 802EECD0 002EA930 7C 84 2A 14 */ add r4, r4, r5
+/* 802EECD4 002EA934 3C 60 02 2C */ lis r3, 0x22c
+/* 802EECD8 002EA938 7C 04 18 40 */ cmplw r4, r3
+/* 802EECDC 002EA93C 41 81 00 E4 */ bgt lbl_802EEDC0
+/* 802EECE0 002EA940 38 00 00 01 */ li r0, 1
+/* 802EECE4 002EA944 48 00 00 DC */ b lbl_802EEDC0
+lbl_802EECE8:
+/* 802EECE8 002EA948 3C 60 02 00 */ lis r3, 0x200
+/* 802EECEC 002EA94C 39 20 00 00 */ li r9, 0
+/* 802EECF0 002EA950 7C 04 18 40 */ cmplw r4, r3
+/* 802EECF4 002EA954 41 80 00 18 */ blt lbl_802EED0C
+/* 802EECF8 002EA958 7D 04 2A 14 */ add r8, r4, r5
+/* 802EECFC 002EA95C 3C 60 02 30 */ lis r3, 0x230
+/* 802EED00 002EA960 7C 08 18 40 */ cmplw r8, r3
+/* 802EED04 002EA964 41 81 00 08 */ bgt lbl_802EED0C
+/* 802EED08 002EA968 39 20 00 01 */ li r9, 1
+lbl_802EED0C:
+/* 802EED0C 002EA96C 2C 09 00 00 */ cmpwi r9, 0
+/* 802EED10 002EA970 41 82 00 0C */ beq lbl_802EED1C
+/* 802EED14 002EA974 38 00 00 01 */ li r0, 1
+/* 802EED18 002EA978 48 00 00 A8 */ b lbl_802EEDC0
+lbl_802EED1C:
+/* 802EED1C 002EA97C 2C 06 00 00 */ cmpwi r6, 0
+/* 802EED20 002EA980 41 82 00 A0 */ beq lbl_802EEDC0
+/* 802EED24 002EA984 3C 60 02 30 */ lis r3, 0x230
+/* 802EED28 002EA988 39 00 00 00 */ li r8, 0
+/* 802EED2C 002EA98C 7C 04 18 40 */ cmplw r4, r3
+/* 802EED30 002EA990 41 80 00 1C */ blt lbl_802EED4C
+/* 802EED34 002EA994 3C 60 02 40 */ lis r3, 0x023FE800@ha
+/* 802EED38 002EA998 7C C4 2A 14 */ add r6, r4, r5
+/* 802EED3C 002EA99C 38 63 E8 00 */ addi r3, r3, 0x023FE800@l
+/* 802EED40 002EA9A0 7C 06 18 40 */ cmplw r6, r3
+/* 802EED44 002EA9A4 41 81 00 08 */ bgt lbl_802EED4C
+/* 802EED48 002EA9A8 39 00 00 01 */ li r8, 1
+lbl_802EED4C:
+/* 802EED4C 002EA9AC 2C 08 00 00 */ cmpwi r8, 0
+/* 802EED50 002EA9B0 41 82 00 28 */ beq lbl_802EED78
+/* 802EED54 002EA9B4 3C 60 00 04 */ lis r3, 4
+/* 802EED58 002EA9B8 7C 05 18 40 */ cmplw r5, r3
+/* 802EED5C 002EA9BC 41 81 00 1C */ bgt lbl_802EED78
+/* 802EED60 002EA9C0 2C 07 00 00 */ cmpwi r7, 0
+/* 802EED64 002EA9C4 38 00 00 01 */ li r0, 1
+/* 802EED68 002EA9C8 41 82 00 58 */ beq lbl_802EEDC0
+/* 802EED6C 002EA9CC 38 60 00 01 */ li r3, 1
+/* 802EED70 002EA9D0 90 67 00 00 */ stw r3, 0(r7)
+/* 802EED74 002EA9D4 48 00 00 4C */ b lbl_802EEDC0
+lbl_802EED78:
+/* 802EED78 002EA9D8 3C 60 03 80 */ lis r3, 0x037F8000@ha
+/* 802EED7C 002EA9DC 38 C0 00 00 */ li r6, 0
+/* 802EED80 002EA9E0 38 63 80 00 */ addi r3, r3, 0x037F8000@l
+/* 802EED84 002EA9E4 7C 04 18 40 */ cmplw r4, r3
+/* 802EED88 002EA9E8 41 80 00 1C */ blt lbl_802EEDA4
+/* 802EED8C 002EA9EC 3C 60 03 81 */ lis r3, 0x0380F000@ha
+/* 802EED90 002EA9F0 7C 84 2A 14 */ add r4, r4, r5
+/* 802EED94 002EA9F4 38 63 F0 00 */ addi r3, r3, 0x0380F000@l
+/* 802EED98 002EA9F8 7C 04 18 40 */ cmplw r4, r3
+/* 802EED9C 002EA9FC 41 81 00 08 */ bgt lbl_802EEDA4
+/* 802EEDA0 002EAA00 38 C0 00 01 */ li r6, 1
+lbl_802EEDA4:
+/* 802EEDA4 002EAA04 2C 06 00 00 */ cmpwi r6, 0
+/* 802EEDA8 002EAA08 41 82 00 18 */ beq lbl_802EEDC0
+/* 802EEDAC 002EAA0C 2C 07 00 00 */ cmpwi r7, 0
+/* 802EEDB0 002EAA10 38 00 00 01 */ li r0, 1
+/* 802EEDB4 002EAA14 41 82 00 0C */ beq lbl_802EEDC0
+/* 802EEDB8 002EAA18 38 60 00 01 */ li r3, 1
+/* 802EEDBC 002EAA1C 90 67 00 00 */ stw r3, 0(r7)
+lbl_802EEDC0:
+/* 802EEDC0 002EAA20 7C 03 03 78 */ mr r3, r0
+/* 802EEDC4 002EAA24 4E 80 00 20 */ blr
+
+.global WDPi_InitSegmentMapper
+WDPi_InitSegmentMapper:
+/* 802EEDC8 002EAA28 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802EEDCC 002EAA2C 7C 08 02 A6 */ mflr r0
+/* 802EEDD0 002EAA30 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802EEDD4 002EAA34 39 61 00 30 */ addi r11, r1, 0x30
+/* 802EEDD8 002EAA38 4B ED 83 45 */ bl _savegpr_24
+/* 802EEDDC 002EAA3C 7C 7B 1B 78 */ mr r27, r3
+/* 802EEDE0 002EAA40 7C 9C 23 78 */ mr r28, r4
+/* 802EEDE4 002EAA44 3B A5 FF FA */ addi r29, r5, -6
+/* 802EEDE8 002EAA48 3B C0 00 00 */ li r30, 0
+/* 802EEDEC 002EAA4C 3B E0 00 00 */ li r31, 0
+/* 802EEDF0 002EAA50 3B 40 00 00 */ li r26, 0
+/* 802EEDF4 002EAA54 3B 20 00 00 */ li r25, 0
+lbl_802EEDF8:
+/* 802EEDF8 002EAA58 7D 3C D2 14 */ add r9, r28, r26
+/* 802EEDFC 002EAA5C 7F E3 FB 78 */ mr r3, r31
+/* 802EEE00 002EAA60 88 09 00 15 */ lbz r0, 0x15(r9)
+/* 802EEE04 002EAA64 38 C0 00 01 */ li r6, 1
+/* 802EEE08 002EAA68 8B 09 00 14 */ lbz r24, 0x14(r9)
+/* 802EEE0C 002EAA6C 38 E0 00 00 */ li r7, 0
+/* 802EEE10 002EAA70 50 18 44 2E */ rlwimi r24, r0, 8, 0x10, 0x17
+/* 802EEE14 002EAA74 88 89 00 16 */ lbz r4, 0x16(r9)
+/* 802EEE18 002EAA78 88 09 00 11 */ lbz r0, 0x11(r9)
+/* 802EEE1C 002EAA7C 50 98 82 1E */ rlwimi r24, r4, 0x10, 8, 0xf
+/* 802EEE20 002EAA80 88 A9 00 17 */ lbz r5, 0x17(r9)
+/* 802EEE24 002EAA84 88 89 00 10 */ lbz r4, 0x10(r9)
+/* 802EEE28 002EAA88 50 04 44 2E */ rlwimi r4, r0, 8, 0x10, 0x17
+/* 802EEE2C 002EAA8C 89 09 00 12 */ lbz r8, 0x12(r9)
+/* 802EEE30 002EAA90 50 B8 C0 0E */ rlwimi r24, r5, 0x18, 0, 7
+/* 802EEE34 002EAA94 88 09 00 13 */ lbz r0, 0x13(r9)
+/* 802EEE38 002EAA98 7F 05 C3 78 */ mr r5, r24
+/* 802EEE3C 002EAA9C 51 04 82 1E */ rlwimi r4, r8, 0x10, 8, 0xf
+/* 802EEE40 002EAAA0 50 04 C0 0E */ rlwimi r4, r0, 0x18, 0, 7
+/* 802EEE44 002EAAA4 4B FF FE 09 */ bl WDPi_IsValidSegmentRegion
+/* 802EEE48 002EAAA8 2C 03 00 00 */ cmpwi r3, 0
+/* 802EEE4C 002EAAAC 40 82 00 0C */ bne lbl_802EEE58
+/* 802EEE50 002EAAB0 3B C0 00 00 */ li r30, 0
+/* 802EEE54 002EAAB4 48 00 00 30 */ b lbl_802EEE84
+lbl_802EEE58:
+/* 802EEE58 002EAAB8 7C 78 EA 14 */ add r3, r24, r29
+/* 802EEE5C 002EAABC 7C 9B CA 14 */ add r4, r27, r25
+/* 802EEE60 002EAAC0 38 03 FF FF */ addi r0, r3, -1
+/* 802EEE64 002EAAC4 3B FF 00 01 */ addi r31, r31, 1
+/* 802EEE68 002EAAC8 7C 00 EB 96 */ divwu r0, r0, r29
+/* 802EEE6C 002EAACC B3 C4 00 06 */ sth r30, 6(r4)
+/* 802EEE70 002EAAD0 2C 1F 00 03 */ cmpwi r31, 3
+/* 802EEE74 002EAAD4 3B 5A 00 10 */ addi r26, r26, 0x10
+/* 802EEE78 002EAAD8 3B 39 00 02 */ addi r25, r25, 2
+/* 802EEE7C 002EAADC 7F DE 02 14 */ add r30, r30, r0
+/* 802EEE80 002EAAE0 41 80 FF 78 */ blt lbl_802EEDF8
+lbl_802EEE84:
+/* 802EEE84 002EAAE4 28 1E 30 00 */ cmplwi r30, 0x3000
+/* 802EEE88 002EAAE8 41 80 00 08 */ blt lbl_802EEE90
+/* 802EEE8C 002EAAEC 3B C0 00 00 */ li r30, 0
+lbl_802EEE90:
+/* 802EEE90 002EAAF0 57 A0 04 3E */ clrlwi r0, r29, 0x10
+/* 802EEE94 002EAAF4 B3 DB 00 04 */ sth r30, 4(r27)
+/* 802EEE98 002EAAF8 7F 83 E3 78 */ mr r3, r28
+/* 802EEE9C 002EAAFC 38 9B 00 0C */ addi r4, r27, 0xc
+/* 802EEEA0 002EAB00 90 1B 00 00 */ stw r0, 0(r27)
+/* 802EEEA4 002EAB04 38 A0 00 E4 */ li r5, 0xe4
+/* 802EEEA8 002EAB08 48 00 51 65 */ bl func_802F400C
+/* 802EEEAC 002EAB0C 39 61 00 30 */ addi r11, r1, 0x30
+/* 802EEEB0 002EAB10 7F C3 F3 78 */ mr r3, r30
+/* 802EEEB4 002EAB14 4B ED 82 B5 */ bl _restgpr_24
+/* 802EEEB8 002EAB18 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802EEEBC 002EAB1C 7C 08 03 A6 */ mtlr r0
+/* 802EEEC0 002EAB20 38 21 00 30 */ addi r1, r1, 0x30
+/* 802EEEC4 002EAB24 4E 80 00 20 */ blr
+
+.global WDPi_GetSegmentRegion
+WDPi_GetSegmentRegion:
+/* 802EEEC8 002EAB28 A0 03 00 04 */ lhz r0, 4(r3)
+/* 802EEECC 002EAB2C 38 E0 00 00 */ li r7, 0
+/* 802EEED0 002EAB30 7C 04 00 40 */ cmplw r4, r0
+/* 802EEED4 002EAB34 40 80 00 78 */ bge lbl_802EEF4C
+/* 802EEED8 002EAB38 38 C3 00 06 */ addi r6, r3, 6
+/* 802EEEDC 002EAB3C 39 00 00 03 */ li r8, 3
+/* 802EEEE0 002EAB40 48 00 00 60 */ b lbl_802EEF40
+lbl_802EEEE4:
+/* 802EEEE4 002EAB44 A0 06 00 06 */ lhz r0, 6(r6)
+/* 802EEEE8 002EAB48 7D 20 20 51 */ subf. r9, r0, r4
+/* 802EEEEC 002EAB4C 41 80 00 54 */ blt lbl_802EEF40
+/* 802EEEF0 002EAB50 55 00 20 36 */ slwi r0, r8, 4
+/* 802EEEF4 002EAB54 80 83 00 00 */ lwz r4, 0(r3)
+/* 802EEEF8 002EAB58 7C E3 02 14 */ add r7, r3, r0
+/* 802EEEFC 002EAB5C 91 05 00 00 */ stw r8, 0(r5)
+/* 802EEF00 002EAB60 7C 09 21 D6 */ mullw r0, r9, r4
+/* 802EEF04 002EAB64 88 67 00 21 */ lbz r3, 0x21(r7)
+/* 802EEF08 002EAB68 89 07 00 20 */ lbz r8, 0x20(r7)
+/* 802EEF0C 002EAB6C 50 68 44 2E */ rlwimi r8, r3, 8, 0x10, 0x17
+/* 802EEF10 002EAB70 88 C7 00 22 */ lbz r6, 0x22(r7)
+/* 802EEF14 002EAB74 88 67 00 23 */ lbz r3, 0x23(r7)
+/* 802EEF18 002EAB78 50 C8 82 1E */ rlwimi r8, r6, 0x10, 8, 0xf
+/* 802EEF1C 002EAB7C 90 05 00 04 */ stw r0, 4(r5)
+/* 802EEF20 002EAB80 50 68 C0 0E */ rlwimi r8, r3, 0x18, 0, 7
+/* 802EEF24 002EAB84 7C 00 40 50 */ subf r0, r0, r8
+/* 802EEF28 002EAB88 7C 00 20 40 */ cmplw r0, r4
+/* 802EEF2C 002EAB8C 90 05 00 08 */ stw r0, 8(r5)
+/* 802EEF30 002EAB90 40 81 00 08 */ ble lbl_802EEF38
+/* 802EEF34 002EAB94 90 85 00 08 */ stw r4, 8(r5)
+lbl_802EEF38:
+/* 802EEF38 002EAB98 38 E0 00 01 */ li r7, 1
+/* 802EEF3C 002EAB9C 48 00 00 10 */ b lbl_802EEF4C
+lbl_802EEF40:
+/* 802EEF40 002EABA0 35 08 FF FF */ addic. r8, r8, -1
+/* 802EEF44 002EABA4 38 C6 FF FE */ addi r6, r6, -2
+/* 802EEF48 002EABA8 40 80 FF 9C */ bge lbl_802EEEE4
+lbl_802EEF4C:
+/* 802EEF4C 002EABAC 7C E3 3B 78 */ mr r3, r7
+/* 802EEF50 002EABB0 4E 80 00 20 */ blr
+
+.global WDP_MergeBitset
+WDP_MergeBitset:
+/* 802EEF54 002EABB4 7C 03 00 D0 */ neg r0, r3
+/* 802EEF58 002EABB8 7C 00 00 34 */ cntlzw r0, r0
+/* 802EEF5C 002EABBC 54 07 D9 7F */ rlwinm. r7, r0, 0x1b, 5, 0x1f
+/* 802EEF60 002EABC0 40 82 00 38 */ bne lbl_802EEF98
+/* 802EEF64 002EABC4 7C 05 20 40 */ cmplw r5, r4
+/* 802EEF68 002EABC8 40 80 00 30 */ bge lbl_802EEF98
+/* 802EEF6C 002EABCC 54 A6 E8 FA */ rlwinm r6, r5, 0x1d, 3, 0x1d
+/* 802EEF70 002EABD0 54 A0 06 FE */ clrlwi r0, r5, 0x1b
+/* 802EEF74 002EABD4 38 A0 00 01 */ li r5, 1
+/* 802EEF78 002EABD8 7C 83 30 2E */ lwzx r4, r3, r6
+/* 802EEF7C 002EABDC 7C A5 00 30 */ slw r5, r5, r0
+/* 802EEF80 002EABE0 7C A0 20 38 */ and r0, r5, r4
+/* 802EEF84 002EABE4 7C 00 00 34 */ cntlzw r0, r0
+/* 802EEF88 002EABE8 54 07 D9 7F */ rlwinm. r7, r0, 0x1b, 5, 0x1f
+/* 802EEF8C 002EABEC 41 82 00 0C */ beq lbl_802EEF98
+/* 802EEF90 002EABF0 7C 80 2B 78 */ or r0, r4, r5
+/* 802EEF94 002EABF4 7C 03 31 2E */ stwx r0, r3, r6
+lbl_802EEF98:
+/* 802EEF98 002EABF8 7C E3 3B 78 */ mr r3, r7
+/* 802EEF9C 002EABFC 4E 80 00 20 */ blr
diff --git a/asm/SDK/NTR/wdp_parent.s b/asm/SDK/NTR/wdp_parent.s
new file mode 100644
index 0000000..5a93eb0
--- /dev/null
+++ b/asm/SDK/NTR/wdp_parent.s
@@ -0,0 +1,1539 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global WDPi_SwitchActiveSession
+WDPi_SwitchActiveSession:
+/* 802EEFA0 002EAC00 80 03 00 04 */ lwz r0, 4(r3)
+/* 802EEFA4 002EAC04 38 C0 00 00 */ li r6, 0
+/* 802EEFA8 002EAC08 2C 00 00 00 */ cmpwi r0, 0
+/* 802EEFAC 002EAC0C 40 82 00 10 */ bne lbl_802EEFBC
+/* 802EEFB0 002EAC10 38 00 00 00 */ li r0, 0
+/* 802EEFB4 002EAC14 90 03 00 10 */ stw r0, 0x10(r3)
+/* 802EEFB8 002EAC18 48 00 00 44 */ b lbl_802EEFFC
+lbl_802EEFBC:
+/* 802EEFBC 002EAC1C 80 83 00 10 */ lwz r4, 0x10(r3)
+/* 802EEFC0 002EAC20 2C 04 00 00 */ cmpwi r4, 0
+/* 802EEFC4 002EAC24 41 82 00 14 */ beq lbl_802EEFD8
+/* 802EEFC8 002EAC28 80 A4 00 00 */ lwz r5, 0(r4)
+/* 802EEFCC 002EAC2C 2C 05 00 00 */ cmpwi r5, 0
+/* 802EEFD0 002EAC30 41 82 00 08 */ beq lbl_802EEFD8
+/* 802EEFD4 002EAC34 48 00 00 08 */ b lbl_802EEFDC
+lbl_802EEFD8:
+/* 802EEFD8 002EAC38 7C 05 03 78 */ mr r5, r0
+lbl_802EEFDC:
+/* 802EEFDC 002EAC3C 38 80 00 00 */ li r4, 0
+/* 802EEFE0 002EAC40 90 A3 00 10 */ stw r5, 0x10(r3)
+/* 802EEFE4 002EAC44 38 00 00 01 */ li r0, 1
+/* 802EEFE8 002EAC48 38 C0 00 01 */ li r6, 1
+/* 802EEFEC 002EAC4C 98 83 00 16 */ stb r4, 0x16(r3)
+/* 802EEFF0 002EAC50 88 85 03 6A */ lbz r4, 0x36a(r5)
+/* 802EEFF4 002EAC54 98 83 00 17 */ stb r4, 0x17(r3)
+/* 802EEFF8 002EAC58 B0 03 00 14 */ sth r0, 0x14(r3)
+lbl_802EEFFC:
+/* 802EEFFC 002EAC5C 7C C3 33 78 */ mr r3, r6
+/* 802EF000 002EAC60 4E 80 00 20 */ blr
+
+.global WDPi_UpdateStatus
+WDPi_UpdateStatus:
+/* 802EF004 002EAC64 1C C4 00 34 */ mulli r6, r4, 0x34
+/* 802EF008 002EAC68 38 00 00 01 */ li r0, 1
+/* 802EF00C 002EAC6C 7C 09 20 30 */ slw r9, r0, r4
+/* 802EF010 002EAC70 7C E3 32 14 */ add r7, r3, r6
+/* 802EF014 002EAC74 80 07 00 28 */ lwz r0, 0x28(r7)
+/* 802EF018 002EAC78 55 2A 04 3E */ clrlwi r10, r9, 0x10
+/* 802EF01C 002EAC7C 80 C7 00 2C */ lwz r6, 0x2c(r7)
+/* 802EF020 002EAC80 2C 00 00 06 */ cmpwi r0, 6
+/* 802EF024 002EAC84 41 82 00 50 */ beq lbl_802EF074
+/* 802EF028 002EAC88 40 80 00 10 */ bge lbl_802EF038
+/* 802EF02C 002EAC8C 2C 00 00 01 */ cmpwi r0, 1
+/* 802EF030 002EAC90 41 82 00 14 */ beq lbl_802EF044
+/* 802EF034 002EAC94 48 00 00 4C */ b lbl_802EF080
+lbl_802EF038:
+/* 802EF038 002EAC98 2C 00 00 08 */ cmpwi r0, 8
+/* 802EF03C 002EAC9C 40 80 00 44 */ bge lbl_802EF080
+/* 802EF040 002EACA0 48 00 00 14 */ b lbl_802EF054
+lbl_802EF044:
+/* 802EF044 002EACA4 A0 03 03 68 */ lhz r0, 0x368(r3)
+/* 802EF048 002EACA8 7C 00 50 78 */ andc r0, r0, r10
+/* 802EF04C 002EACAC B0 03 03 68 */ sth r0, 0x368(r3)
+/* 802EF050 002EACB0 48 00 00 30 */ b lbl_802EF080
+lbl_802EF054:
+/* 802EF054 002EACB4 A0 06 05 D4 */ lhz r0, 0x5d4(r6)
+/* 802EF058 002EACB8 7D 48 50 F8 */ nor r8, r10, r10
+/* 802EF05C 002EACBC 7C 00 40 38 */ and r0, r0, r8
+/* 802EF060 002EACC0 B0 06 05 D4 */ sth r0, 0x5d4(r6)
+/* 802EF064 002EACC4 A0 03 03 6A */ lhz r0, 0x36a(r3)
+/* 802EF068 002EACC8 7C 00 40 38 */ and r0, r0, r8
+/* 802EF06C 002EACCC B0 03 03 6A */ sth r0, 0x36a(r3)
+/* 802EF070 002EACD0 48 00 00 10 */ b lbl_802EF080
+lbl_802EF074:
+/* 802EF074 002EACD4 A0 03 03 6E */ lhz r0, 0x36e(r3)
+/* 802EF078 002EACD8 7C 00 50 78 */ andc r0, r0, r10
+/* 802EF07C 002EACDC B0 03 03 6E */ sth r0, 0x36e(r3)
+lbl_802EF080:
+/* 802EF080 002EACE0 2C 05 00 05 */ cmpwi r5, 5
+/* 802EF084 002EACE4 90 A7 00 28 */ stw r5, 0x28(r7)
+/* 802EF088 002EACE8 41 82 00 A8 */ beq lbl_802EF130
+/* 802EF08C 002EACEC 40 80 00 1C */ bge lbl_802EF0A8
+/* 802EF090 002EACF0 2C 05 00 01 */ cmpwi r5, 1
+/* 802EF094 002EACF4 41 82 00 24 */ beq lbl_802EF0B8
+/* 802EF098 002EACF8 41 80 00 98 */ blt lbl_802EF130
+/* 802EF09C 002EACFC 2C 05 00 04 */ cmpwi r5, 4
+/* 802EF0A0 002EAD00 40 80 00 6C */ bge lbl_802EF10C
+/* 802EF0A4 002EAD04 48 00 00 8C */ b lbl_802EF130
+lbl_802EF0A8:
+/* 802EF0A8 002EAD08 2C 05 00 07 */ cmpwi r5, 7
+/* 802EF0AC 002EAD0C 41 82 00 1C */ beq lbl_802EF0C8
+/* 802EF0B0 002EAD10 40 80 00 80 */ bge lbl_802EF130
+/* 802EF0B4 002EAD14 48 00 00 70 */ b lbl_802EF124
+lbl_802EF0B8:
+/* 802EF0B8 002EAD18 A0 03 03 68 */ lhz r0, 0x368(r3)
+/* 802EF0BC 002EAD1C 7C 00 53 78 */ or r0, r0, r10
+/* 802EF0C0 002EAD20 B0 03 03 68 */ sth r0, 0x368(r3)
+/* 802EF0C4 002EAD24 48 00 00 6C */ b lbl_802EF130
+lbl_802EF0C8:
+/* 802EF0C8 002EAD28 A0 A6 05 D4 */ lhz r5, 0x5d4(r6)
+/* 802EF0CC 002EAD2C 55 20 04 3E */ clrlwi r0, r9, 0x10
+/* 802EF0D0 002EAD30 7C A5 53 78 */ or r5, r5, r10
+/* 802EF0D4 002EAD34 B0 A6 05 D4 */ sth r5, 0x5d4(r6)
+/* 802EF0D8 002EAD38 A0 A3 03 6A */ lhz r5, 0x36a(r3)
+/* 802EF0DC 002EAD3C 7C A5 53 78 */ or r5, r5, r10
+/* 802EF0E0 002EAD40 B0 A3 03 6A */ sth r5, 0x36a(r3)
+/* 802EF0E4 002EAD44 A0 A6 04 D8 */ lhz r5, 0x4d8(r6)
+/* 802EF0E8 002EAD48 7C A5 4B 78 */ or r5, r5, r9
+/* 802EF0EC 002EAD4C B0 A6 04 D8 */ sth r5, 0x4d8(r6)
+/* 802EF0F0 002EAD50 A0 A6 04 DA */ lhz r5, 0x4da(r6)
+/* 802EF0F4 002EAD54 7C A5 4B 78 */ or r5, r5, r9
+/* 802EF0F8 002EAD58 B0 A6 04 DA */ sth r5, 0x4da(r6)
+/* 802EF0FC 002EAD5C A0 A6 05 D2 */ lhz r5, 0x5d2(r6)
+/* 802EF100 002EAD60 7C A0 03 78 */ or r0, r5, r0
+/* 802EF104 002EAD64 B0 06 05 D2 */ sth r0, 0x5d2(r6)
+/* 802EF108 002EAD68 48 00 00 28 */ b lbl_802EF130
+lbl_802EF10C:
+/* 802EF10C 002EAD6C A0 A6 05 D0 */ lhz r5, 0x5d0(r6)
+/* 802EF110 002EAD70 38 00 00 00 */ li r0, 0
+/* 802EF114 002EAD74 7C A5 4B 78 */ or r5, r5, r9
+/* 802EF118 002EAD78 B0 A6 05 D0 */ sth r5, 0x5d0(r6)
+/* 802EF11C 002EAD7C B0 06 05 CC */ sth r0, 0x5cc(r6)
+/* 802EF120 002EAD80 48 00 00 10 */ b lbl_802EF130
+lbl_802EF124:
+/* 802EF124 002EAD84 A0 03 03 6E */ lhz r0, 0x36e(r3)
+/* 802EF128 002EAD88 7C 00 53 78 */ or r0, r0, r10
+/* 802EF12C 002EAD8C B0 03 03 6E */ sth r0, 0x36e(r3)
+lbl_802EF130:
+/* 802EF130 002EAD90 81 83 00 00 */ lwz r12, 0(r3)
+/* 802EF134 002EAD94 2C 0C 00 00 */ cmpwi r12, 0
+/* 802EF138 002EAD98 4D 82 00 20 */ beqlr
+/* 802EF13C 002EAD9C 7C 85 23 78 */ mr r5, r4
+/* 802EF140 002EADA0 38 80 00 00 */ li r4, 0
+/* 802EF144 002EADA4 7D 89 03 A6 */ mtctr r12
+/* 802EF148 002EADA8 4E 80 04 20 */ bctr
+/* 802EF14C 002EADAC 4E 80 00 20 */ blr
+
+.global WDP_InitParentContext
+WDP_InitParentContext:
+/* 802EF150 002EADB0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802EF154 002EADB4 7C 08 02 A6 */ mflr r0
+/* 802EF158 002EADB8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802EF15C 002EADBC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802EF160 002EADC0 3B E0 00 00 */ li r31, 0
+/* 802EF164 002EADC4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802EF168 002EADC8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802EF16C 002EADCC 7C DD 33 78 */ mr r29, r6
+/* 802EF170 002EADD0 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802EF174 002EADD4 7C 7C 1B 78 */ mr r28, r3
+/* 802EF178 002EADD8 90 83 00 00 */ stw r4, 0(r3)
+/* 802EF17C 002EADDC 38 80 00 14 */ li r4, 0x14
+/* 802EF180 002EADE0 90 E3 00 24 */ stw r7, 0x24(r3)
+/* 802EF184 002EADE4 93 E3 00 04 */ stw r31, 4(r3)
+/* 802EF188 002EADE8 93 E3 00 10 */ stw r31, 0x10(r3)
+/* 802EF18C 002EADEC 93 E3 00 18 */ stw r31, 0x18(r3)
+/* 802EF190 002EADF0 93 E3 00 1C */ stw r31, 0x1c(r3)
+/* 802EF194 002EADF4 9B E3 00 17 */ stb r31, 0x17(r3)
+/* 802EF198 002EADF8 93 E3 00 20 */ stw r31, 0x20(r3)
+/* 802EF19C 002EADFC B3 E3 03 68 */ sth r31, 0x368(r3)
+/* 802EF1A0 002EAE00 B3 E3 03 6A */ sth r31, 0x36a(r3)
+/* 802EF1A4 002EAE04 B3 E3 03 6C */ sth r31, 0x36c(r3)
+/* 802EF1A8 002EAE08 B3 E3 03 6E */ sth r31, 0x36e(r3)
+/* 802EF1AC 002EAE0C B3 E3 03 70 */ sth r31, 0x370(r3)
+/* 802EF1B0 002EAE10 B3 E3 03 72 */ sth r31, 0x372(r3)
+/* 802EF1B4 002EAE14 93 E3 00 08 */ stw r31, 8(r3)
+/* 802EF1B8 002EAE18 38 63 00 36 */ addi r3, r3, 0x36
+/* 802EF1BC 002EAE1C 4B FF F9 CD */ bl WDP_CopyString
+/* 802EF1C0 002EAE20 88 1C 00 34 */ lbz r0, 0x34(r28)
+/* 802EF1C4 002EAE24 53 A0 07 3E */ rlwimi r0, r29, 0, 0x1c, 0x1f
+/* 802EF1C8 002EAE28 98 7C 00 35 */ stb r3, 0x35(r28)
+/* 802EF1CC 002EAE2C 3B DC 00 5C */ addi r30, r28, 0x5c
+/* 802EF1D0 002EAE30 3B A0 00 01 */ li r29, 1
+/* 802EF1D4 002EAE34 98 1C 00 34 */ stb r0, 0x34(r28)
+lbl_802EF1D8:
+/* 802EF1D8 002EAE38 7F 83 E3 78 */ mr r3, r28
+/* 802EF1DC 002EAE3C 7F A4 EB 78 */ mr r4, r29
+/* 802EF1E0 002EAE40 38 A0 00 00 */ li r5, 0
+/* 802EF1E4 002EAE44 4B FF FE 21 */ bl WDPi_UpdateStatus
+/* 802EF1E8 002EAE48 93 FE 00 04 */ stw r31, 4(r30)
+/* 802EF1EC 002EAE4C 38 7E 00 08 */ addi r3, r30, 8
+/* 802EF1F0 002EAE50 38 80 00 00 */ li r4, 0
+/* 802EF1F4 002EAE54 38 A0 00 20 */ li r5, 0x20
+/* 802EF1F8 002EAE58 48 00 4E 11 */ bl func_802F4008
+/* 802EF1FC 002EAE5C 38 7E 00 28 */ addi r3, r30, 0x28
+/* 802EF200 002EAE60 38 80 00 00 */ li r4, 0
+/* 802EF204 002EAE64 38 A0 00 04 */ li r5, 4
+/* 802EF208 002EAE68 48 00 4E 01 */ bl func_802F4008
+/* 802EF20C 002EAE6C 93 FE 00 2C */ stw r31, 0x2c(r30)
+/* 802EF210 002EAE70 3B BD 00 01 */ addi r29, r29, 1
+/* 802EF214 002EAE74 2C 1D 00 10 */ cmpwi r29, 0x10
+/* 802EF218 002EAE78 93 FE 00 30 */ stw r31, 0x30(r30)
+/* 802EF21C 002EAE7C 3B DE 00 34 */ addi r30, r30, 0x34
+/* 802EF220 002EAE80 41 80 FF B8 */ blt lbl_802EF1D8
+/* 802EF224 002EAE84 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802EF228 002EAE88 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802EF22C 002EAE8C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802EF230 002EAE90 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802EF234 002EAE94 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802EF238 002EAE98 7C 08 03 A6 */ mtlr r0
+/* 802EF23C 002EAE9C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802EF240 002EAEA0 4E 80 00 20 */ blr
+
+.global WDP_CallBeaconSendHook
+WDP_CallBeaconSendHook:
+/* 802EF244 002EAEA4 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802EF248 002EAEA8 7C 08 02 A6 */ mflr r0
+/* 802EF24C 002EAEAC 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802EF250 002EAEB0 39 61 00 30 */ addi r11, r1, 0x30
+/* 802EF254 002EAEB4 4B ED 7E C5 */ bl _savegpr_23
+/* 802EF258 002EAEB8 7C 7A 1B 78 */ mr r26, r3
+/* 802EF25C 002EAEBC 7C 9B 23 78 */ mr r27, r4
+/* 802EF260 002EAEC0 3B E0 FF FF */ li r31, -1
+/* 802EF264 002EAEC4 4B F7 F4 F9 */ bl OSDisableInterrupts
+/* 802EF268 002EAEC8 80 9A 00 08 */ lwz r4, 8(r26)
+/* 802EF26C 002EAECC 38 04 00 01 */ addi r0, r4, 1
+/* 802EF270 002EAED0 2C 00 00 01 */ cmpwi r0, 1
+/* 802EF274 002EAED4 90 1A 00 08 */ stw r0, 8(r26)
+/* 802EF278 002EAED8 40 82 00 08 */ bne lbl_802EF280
+/* 802EF27C 002EAEDC 90 7A 00 0C */ stw r3, 0xc(r26)
+lbl_802EF280:
+/* 802EF280 002EAEE0 80 BA 00 04 */ lwz r5, 4(r26)
+/* 802EF284 002EAEE4 38 C0 00 00 */ li r6, 0
+/* 802EF288 002EAEE8 38 00 00 03 */ li r0, 3
+/* 802EF28C 002EAEEC 48 00 02 08 */ b lbl_802EF494
+lbl_802EF290:
+/* 802EF290 002EAEF0 A0 65 04 DA */ lhz r3, 0x4da(r5)
+/* 802EF294 002EAEF4 2C 03 00 00 */ cmpwi r3, 0
+/* 802EF298 002EAEF8 41 82 01 F8 */ beq lbl_802EF490
+/* 802EF29C 002EAEFC 38 7A 00 34 */ addi r3, r26, 0x34
+/* 802EF2A0 002EAF00 38 85 00 22 */ addi r4, r5, 0x22
+/* 802EF2A4 002EAF04 7C 09 03 A6 */ mtctr r0
+lbl_802EF2A8:
+/* 802EF2A8 002EAF08 A1 03 00 34 */ lhz r8, 0x34(r3)
+/* 802EF2AC 002EAF0C A0 E3 00 36 */ lhz r7, 0x36(r3)
+/* 802EF2B0 002EAF10 B1 04 03 64 */ sth r8, 0x364(r4)
+/* 802EF2B4 002EAF14 B0 E4 03 66 */ sth r7, 0x366(r4)
+/* 802EF2B8 002EAF18 A1 03 00 38 */ lhz r8, 0x38(r3)
+/* 802EF2BC 002EAF1C A0 E3 00 3A */ lhz r7, 0x3a(r3)
+/* 802EF2C0 002EAF20 B1 04 03 68 */ sth r8, 0x368(r4)
+/* 802EF2C4 002EAF24 B0 E4 03 6A */ sth r7, 0x36a(r4)
+/* 802EF2C8 002EAF28 A1 03 00 3C */ lhz r8, 0x3c(r3)
+/* 802EF2CC 002EAF2C A0 E3 00 3E */ lhz r7, 0x3e(r3)
+/* 802EF2D0 002EAF30 B1 04 03 6C */ sth r8, 0x36c(r4)
+/* 802EF2D4 002EAF34 B0 E4 03 6E */ sth r7, 0x36e(r4)
+/* 802EF2D8 002EAF38 A1 03 00 40 */ lhz r8, 0x40(r3)
+/* 802EF2DC 002EAF3C A0 E3 00 42 */ lhz r7, 0x42(r3)
+/* 802EF2E0 002EAF40 B1 04 03 70 */ sth r8, 0x370(r4)
+/* 802EF2E4 002EAF44 B0 E4 03 72 */ sth r7, 0x372(r4)
+/* 802EF2E8 002EAF48 A0 E3 00 44 */ lhz r7, 0x44(r3)
+/* 802EF2EC 002EAF4C B0 E4 03 74 */ sth r7, 0x374(r4)
+/* 802EF2F0 002EAF50 A0 E3 00 46 */ lhz r7, 0x46(r3)
+/* 802EF2F4 002EAF54 B0 E4 03 76 */ sth r7, 0x376(r4)
+/* 802EF2F8 002EAF58 A0 E3 00 48 */ lhz r7, 0x48(r3)
+/* 802EF2FC 002EAF5C B0 E4 03 78 */ sth r7, 0x378(r4)
+/* 802EF300 002EAF60 A1 03 00 68 */ lhz r8, 0x68(r3)
+/* 802EF304 002EAF64 A0 E3 00 6A */ lhz r7, 0x6a(r3)
+/* 802EF308 002EAF68 B1 04 03 7A */ sth r8, 0x37a(r4)
+/* 802EF30C 002EAF6C B0 E4 03 7C */ sth r7, 0x37c(r4)
+/* 802EF310 002EAF70 A1 03 00 6C */ lhz r8, 0x6c(r3)
+/* 802EF314 002EAF74 A0 E3 00 6E */ lhz r7, 0x6e(r3)
+/* 802EF318 002EAF78 B1 04 03 7E */ sth r8, 0x37e(r4)
+/* 802EF31C 002EAF7C B0 E4 03 80 */ sth r7, 0x380(r4)
+/* 802EF320 002EAF80 A1 03 00 70 */ lhz r8, 0x70(r3)
+/* 802EF324 002EAF84 A0 E3 00 72 */ lhz r7, 0x72(r3)
+/* 802EF328 002EAF88 B1 04 03 82 */ sth r8, 0x382(r4)
+/* 802EF32C 002EAF8C B0 E4 03 84 */ sth r7, 0x384(r4)
+/* 802EF330 002EAF90 A1 03 00 74 */ lhz r8, 0x74(r3)
+/* 802EF334 002EAF94 A0 E3 00 76 */ lhz r7, 0x76(r3)
+/* 802EF338 002EAF98 B1 04 03 86 */ sth r8, 0x386(r4)
+/* 802EF33C 002EAF9C B0 E4 03 88 */ sth r7, 0x388(r4)
+/* 802EF340 002EAFA0 A0 E3 00 78 */ lhz r7, 0x78(r3)
+/* 802EF344 002EAFA4 B0 E4 03 8A */ sth r7, 0x38a(r4)
+/* 802EF348 002EAFA8 A0 E3 00 7A */ lhz r7, 0x7a(r3)
+/* 802EF34C 002EAFAC B0 E4 03 8C */ sth r7, 0x38c(r4)
+/* 802EF350 002EAFB0 A0 E3 00 7C */ lhz r7, 0x7c(r3)
+/* 802EF354 002EAFB4 B0 E4 03 8E */ sth r7, 0x38e(r4)
+/* 802EF358 002EAFB8 A1 03 00 9C */ lhz r8, 0x9c(r3)
+/* 802EF35C 002EAFBC A0 E3 00 9E */ lhz r7, 0x9e(r3)
+/* 802EF360 002EAFC0 B1 04 03 90 */ sth r8, 0x390(r4)
+/* 802EF364 002EAFC4 B0 E4 03 92 */ sth r7, 0x392(r4)
+/* 802EF368 002EAFC8 A1 03 00 A0 */ lhz r8, 0xa0(r3)
+/* 802EF36C 002EAFCC A0 E3 00 A2 */ lhz r7, 0xa2(r3)
+/* 802EF370 002EAFD0 B1 04 03 94 */ sth r8, 0x394(r4)
+/* 802EF374 002EAFD4 B0 E4 03 96 */ sth r7, 0x396(r4)
+/* 802EF378 002EAFD8 A1 03 00 A4 */ lhz r8, 0xa4(r3)
+/* 802EF37C 002EAFDC A0 E3 00 A6 */ lhz r7, 0xa6(r3)
+/* 802EF380 002EAFE0 B1 04 03 98 */ sth r8, 0x398(r4)
+/* 802EF384 002EAFE4 B0 E4 03 9A */ sth r7, 0x39a(r4)
+/* 802EF388 002EAFE8 A1 03 00 A8 */ lhz r8, 0xa8(r3)
+/* 802EF38C 002EAFEC A0 E3 00 AA */ lhz r7, 0xaa(r3)
+/* 802EF390 002EAFF0 B1 04 03 9C */ sth r8, 0x39c(r4)
+/* 802EF394 002EAFF4 B0 E4 03 9E */ sth r7, 0x39e(r4)
+/* 802EF398 002EAFF8 A0 E3 00 AC */ lhz r7, 0xac(r3)
+/* 802EF39C 002EAFFC B0 E4 03 A0 */ sth r7, 0x3a0(r4)
+/* 802EF3A0 002EB000 A0 E3 00 AE */ lhz r7, 0xae(r3)
+/* 802EF3A4 002EB004 B0 E4 03 A2 */ sth r7, 0x3a2(r4)
+/* 802EF3A8 002EB008 A0 E3 00 B0 */ lhz r7, 0xb0(r3)
+/* 802EF3AC 002EB00C B0 E4 03 A4 */ sth r7, 0x3a4(r4)
+/* 802EF3B0 002EB010 A1 03 00 D0 */ lhz r8, 0xd0(r3)
+/* 802EF3B4 002EB014 A0 E3 00 D2 */ lhz r7, 0xd2(r3)
+/* 802EF3B8 002EB018 B1 04 03 A6 */ sth r8, 0x3a6(r4)
+/* 802EF3BC 002EB01C B0 E4 03 A8 */ sth r7, 0x3a8(r4)
+/* 802EF3C0 002EB020 A1 03 00 D4 */ lhz r8, 0xd4(r3)
+/* 802EF3C4 002EB024 A0 E3 00 D6 */ lhz r7, 0xd6(r3)
+/* 802EF3C8 002EB028 B1 04 03 AA */ sth r8, 0x3aa(r4)
+/* 802EF3CC 002EB02C B0 E4 03 AC */ sth r7, 0x3ac(r4)
+/* 802EF3D0 002EB030 A1 03 00 D8 */ lhz r8, 0xd8(r3)
+/* 802EF3D4 002EB034 A0 E3 00 DA */ lhz r7, 0xda(r3)
+/* 802EF3D8 002EB038 B1 04 03 AE */ sth r8, 0x3ae(r4)
+/* 802EF3DC 002EB03C B0 E4 03 B0 */ sth r7, 0x3b0(r4)
+/* 802EF3E0 002EB040 A1 03 00 DC */ lhz r8, 0xdc(r3)
+/* 802EF3E4 002EB044 A0 E3 00 DE */ lhz r7, 0xde(r3)
+/* 802EF3E8 002EB048 B1 04 03 B2 */ sth r8, 0x3b2(r4)
+/* 802EF3EC 002EB04C B0 E4 03 B4 */ sth r7, 0x3b4(r4)
+/* 802EF3F0 002EB050 A0 E3 00 E0 */ lhz r7, 0xe0(r3)
+/* 802EF3F4 002EB054 B0 E4 03 B6 */ sth r7, 0x3b6(r4)
+/* 802EF3F8 002EB058 A0 E3 00 E2 */ lhz r7, 0xe2(r3)
+/* 802EF3FC 002EB05C B0 E4 03 B8 */ sth r7, 0x3b8(r4)
+/* 802EF400 002EB060 A0 E3 00 E4 */ lhz r7, 0xe4(r3)
+/* 802EF404 002EB064 B0 E4 03 BA */ sth r7, 0x3ba(r4)
+/* 802EF408 002EB068 A1 03 01 04 */ lhz r8, 0x104(r3)
+/* 802EF40C 002EB06C A0 E3 01 06 */ lhz r7, 0x106(r3)
+/* 802EF410 002EB070 B1 04 03 BC */ sth r8, 0x3bc(r4)
+/* 802EF414 002EB074 B0 E4 03 BE */ sth r7, 0x3be(r4)
+/* 802EF418 002EB078 A1 03 01 08 */ lhz r8, 0x108(r3)
+/* 802EF41C 002EB07C A0 E3 01 0A */ lhz r7, 0x10a(r3)
+/* 802EF420 002EB080 B1 04 03 C0 */ sth r8, 0x3c0(r4)
+/* 802EF424 002EB084 B0 E4 03 C2 */ sth r7, 0x3c2(r4)
+/* 802EF428 002EB088 A1 03 01 0C */ lhz r8, 0x10c(r3)
+/* 802EF42C 002EB08C A0 E3 01 0E */ lhz r7, 0x10e(r3)
+/* 802EF430 002EB090 B1 04 03 C4 */ sth r8, 0x3c4(r4)
+/* 802EF434 002EB094 B0 E4 03 C6 */ sth r7, 0x3c6(r4)
+/* 802EF438 002EB098 A1 03 01 10 */ lhz r8, 0x110(r3)
+/* 802EF43C 002EB09C A0 E3 01 12 */ lhz r7, 0x112(r3)
+/* 802EF440 002EB0A0 B1 04 03 C8 */ sth r8, 0x3c8(r4)
+/* 802EF444 002EB0A4 B0 E4 03 CA */ sth r7, 0x3ca(r4)
+/* 802EF448 002EB0A8 A0 E3 01 14 */ lhz r7, 0x114(r3)
+/* 802EF44C 002EB0AC B0 E4 03 CC */ sth r7, 0x3cc(r4)
+/* 802EF450 002EB0B0 A0 E3 01 16 */ lhz r7, 0x116(r3)
+/* 802EF454 002EB0B4 B0 E4 03 CE */ sth r7, 0x3ce(r4)
+/* 802EF458 002EB0B8 A0 E3 01 18 */ lhz r7, 0x118(r3)
+/* 802EF45C 002EB0BC B0 E4 03 D0 */ sth r7, 0x3d0(r4)
+/* 802EF460 002EB0C0 38 63 01 04 */ addi r3, r3, 0x104
+/* 802EF464 002EB0C4 38 84 00 6E */ addi r4, r4, 0x6e
+/* 802EF468 002EB0C8 42 00 FE 40 */ bdnz lbl_802EF2A8
+/* 802EF46C 002EB0CC A0 65 04 D8 */ lhz r3, 0x4d8(r5)
+/* 802EF470 002EB0D0 60 63 00 01 */ ori r3, r3, 1
+/* 802EF474 002EB0D4 B0 65 03 6C */ sth r3, 0x36c(r5)
+/* 802EF478 002EB0D8 A0 65 04 DA */ lhz r3, 0x4da(r5)
+/* 802EF47C 002EB0DC B0 65 03 6E */ sth r3, 0x36e(r5)
+/* 802EF480 002EB0E0 88 65 03 6A */ lbz r3, 0x36a(r5)
+/* 802EF484 002EB0E4 38 63 00 01 */ addi r3, r3, 1
+/* 802EF488 002EB0E8 98 65 03 6A */ stb r3, 0x36a(r5)
+/* 802EF48C 002EB0EC B0 C5 04 DA */ sth r6, 0x4da(r5)
+lbl_802EF490:
+/* 802EF490 002EB0F0 80 A5 00 00 */ lwz r5, 0(r5)
+lbl_802EF494:
+/* 802EF494 002EB0F4 2C 05 00 00 */ cmpwi r5, 0
+/* 802EF498 002EB0F8 40 82 FD F8 */ bne lbl_802EF290
+/* 802EF49C 002EB0FC 80 1A 00 10 */ lwz r0, 0x10(r26)
+/* 802EF4A0 002EB100 2C 00 00 00 */ cmpwi r0, 0
+/* 802EF4A4 002EB104 40 82 00 14 */ bne lbl_802EF4B8
+/* 802EF4A8 002EB108 7F 43 D3 78 */ mr r3, r26
+/* 802EF4AC 002EB10C 4B FF FA F5 */ bl WDPi_SwitchActiveSession
+/* 802EF4B0 002EB110 2C 03 00 00 */ cmpwi r3, 0
+/* 802EF4B4 002EB114 41 82 02 84 */ beq lbl_802EF738
+lbl_802EF4B8:
+/* 802EF4B8 002EB118 83 FA 00 10 */ lwz r31, 0x10(r26)
+/* 802EF4BC 002EB11C 3C 60 53 98 */ lis r3, 0x5397829D@ha
+/* 802EF4C0 002EB120 38 00 02 20 */ li r0, 0x220
+/* 802EF4C4 002EB124 88 BA 00 16 */ lbz r5, 0x16(r26)
+/* 802EF4C8 002EB128 88 9F 03 68 */ lbz r4, 0x368(r31)
+/* 802EF4CC 002EB12C 38 63 82 9D */ addi r3, r3, 0x5397829D@l
+/* 802EF4D0 002EB130 3B DB 00 50 */ addi r30, r27, 0x50
+/* 802EF4D4 002EB134 3B BF 00 0C */ addi r29, r31, 0xc
+/* 802EF4D8 002EB138 54 84 07 BE */ clrlwi r4, r4, 0x1e
+/* 802EF4DC 002EB13C 7C 84 00 34 */ cntlzw r4, r4
+/* 802EF4E0 002EB140 54 84 DF FE */ rlwinm r4, r4, 0x1b, 0x1f, 0x1f
+/* 802EF4E4 002EB144 7C 84 00 D0 */ neg r4, r4
+/* 802EF4E8 002EB148 7C 04 20 78 */ andc r4, r0, r4
+/* 802EF4EC 002EB14C 20 C4 03 58 */ subfic r6, r4, 0x358
+/* 802EF4F0 002EB150 38 06 00 61 */ addi r0, r6, 0x61
+/* 802EF4F4 002EB154 7C 03 00 16 */ mulhwu r0, r3, r0
+/* 802EF4F8 002EB158 54 18 D9 7E */ srwi r24, r0, 5
+/* 802EF4FC 002EB15C 7F 00 2A 78 */ xor r0, r24, r5
+/* 802EF500 002EB160 7C 00 00 34 */ cntlzw r0, r0
+/* 802EF504 002EB164 7F 00 00 30 */ slw r0, r24, r0
+/* 802EF508 002EB168 54 1C 0F FF */ rlwinm. r28, r0, 1, 0x1f, 0x1f
+/* 802EF50C 002EB16C 41 82 00 5C */ beq lbl_802EF568
+/* 802EF510 002EB170 1C E5 00 62 */ mulli r7, r5, 0x62
+/* 802EF514 002EB174 7C 7F 22 14 */ add r3, r31, r4
+/* 802EF518 002EB178 38 9E 00 0E */ addi r4, r30, 0xe
+/* 802EF51C 002EB17C 38 63 00 0C */ addi r3, r3, 0xc
+/* 802EF520 002EB180 7C 07 30 50 */ subf r0, r7, r6
+/* 802EF524 002EB184 3B 20 00 62 */ li r25, 0x62
+/* 802EF528 002EB188 28 00 00 62 */ cmplwi r0, 0x62
+/* 802EF52C 002EB18C 40 80 00 08 */ bge lbl_802EF534
+/* 802EF530 002EB190 7C 19 03 78 */ mr r25, r0
+lbl_802EF534:
+/* 802EF534 002EB194 7F 25 CB 78 */ mr r5, r25
+/* 802EF538 002EB198 7C 63 3A 14 */ add r3, r3, r7
+/* 802EF53C 002EB19C 48 00 4A D1 */ bl func_802F400C
+/* 802EF540 002EB1A0 7C 7E CA 14 */ add r3, r30, r25
+/* 802EF544 002EB1A4 20 B9 00 62 */ subfic r5, r25, 0x62
+/* 802EF548 002EB1A8 38 63 00 0E */ addi r3, r3, 0xe
+/* 802EF54C 002EB1AC 38 80 00 00 */ li r4, 0
+/* 802EF550 002EB1B0 48 00 4A B9 */ bl func_802F4008
+/* 802EF554 002EB1B4 9B 3E 00 0C */ stb r25, 0xc(r30)
+/* 802EF558 002EB1B8 88 1A 00 16 */ lbz r0, 0x16(r26)
+/* 802EF55C 002EB1BC 98 1E 00 0A */ stb r0, 0xa(r30)
+/* 802EF560 002EB1C0 9B 1E 00 0B */ stb r24, 0xb(r30)
+/* 802EF564 002EB1C4 48 00 01 38 */ b lbl_802EF69C
+lbl_802EF568:
+/* 802EF568 002EB1C8 88 7D 03 5E */ lbz r3, 0x35e(r29)
+/* 802EF56C 002EB1CC 88 1A 00 17 */ lbz r0, 0x17(r26)
+/* 802EF570 002EB1D0 7C 00 18 40 */ cmplw r0, r3
+/* 802EF574 002EB1D4 41 82 00 10 */ beq lbl_802EF584
+/* 802EF578 002EB1D8 38 00 00 01 */ li r0, 1
+/* 802EF57C 002EB1DC 98 7A 00 17 */ stb r3, 0x17(r26)
+/* 802EF580 002EB1E0 B0 1A 00 14 */ sth r0, 0x14(r26)
+lbl_802EF584:
+/* 802EF584 002EB1E4 A0 7F 03 6C */ lhz r3, 0x36c(r31)
+/* 802EF588 002EB1E8 4B FF F4 05 */ bl MATH_CountPopulation
+/* 802EF58C 002EB1EC 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 802EF590 002EB1F0 98 7E 00 0A */ stb r3, 0xa(r30)
+/* 802EF594 002EB1F4 7C 00 46 70 */ srawi r0, r0, 8
+/* 802EF598 002EB1F8 98 1E 00 0B */ stb r0, 0xb(r30)
+/* 802EF59C 002EB1FC A0 7D 03 60 */ lhz r3, 0x360(r29)
+/* 802EF5A0 002EB200 7C 60 46 70 */ srawi r0, r3, 8
+/* 802EF5A4 002EB204 98 7E 00 0C */ stb r3, 0xc(r30)
+/* 802EF5A8 002EB208 98 1E 00 0D */ stb r0, 0xd(r30)
+/* 802EF5AC 002EB20C A0 7D 03 62 */ lhz r3, 0x362(r29)
+/* 802EF5B0 002EB210 7C 60 46 70 */ srawi r0, r3, 8
+/* 802EF5B4 002EB214 98 7E 00 0E */ stb r3, 0xe(r30)
+/* 802EF5B8 002EB218 98 1E 00 0F */ stb r0, 0xf(r30)
+/* 802EF5BC 002EB21C 81 9A 00 00 */ lwz r12, 0(r26)
+/* 802EF5C0 002EB220 2C 0C 00 00 */ cmpwi r12, 0
+/* 802EF5C4 002EB224 41 82 00 18 */ beq lbl_802EF5DC
+/* 802EF5C8 002EB228 7F 43 D3 78 */ mr r3, r26
+/* 802EF5CC 002EB22C 7F E5 FB 78 */ mr r5, r31
+/* 802EF5D0 002EB230 38 80 00 02 */ li r4, 2
+/* 802EF5D4 002EB234 7D 89 03 A6 */ mtctr r12
+/* 802EF5D8 002EB238 4E 80 04 21 */ bctrl
+lbl_802EF5DC:
+/* 802EF5DC 002EB23C 38 7D 04 C4 */ addi r3, r29, 0x4c4
+/* 802EF5E0 002EB240 38 9E 00 68 */ addi r4, r30, 0x68
+/* 802EF5E4 002EB244 38 A0 00 08 */ li r5, 8
+/* 802EF5E8 002EB248 48 00 4A 25 */ bl func_802F400C
+/* 802EF5EC 002EB24C 81 9A 00 00 */ lwz r12, 0(r26)
+/* 802EF5F0 002EB250 2C 0C 00 00 */ cmpwi r12, 0
+/* 802EF5F4 002EB254 41 82 00 18 */ beq lbl_802EF60C
+/* 802EF5F8 002EB258 7F 43 D3 78 */ mr r3, r26
+/* 802EF5FC 002EB25C 7F E5 FB 78 */ mr r5, r31
+/* 802EF600 002EB260 38 80 00 03 */ li r4, 3
+/* 802EF604 002EB264 7D 89 03 A6 */ mtctr r12
+/* 802EF608 002EB268 4E 80 04 21 */ bctrl
+lbl_802EF60C:
+/* 802EF60C 002EB26C A0 7A 00 14 */ lhz r3, 0x14(r26)
+/* 802EF610 002EB270 3B FE 00 10 */ addi r31, r30, 0x10
+/* 802EF614 002EB274 A0 1D 03 60 */ lhz r0, 0x360(r29)
+/* 802EF618 002EB278 3B 60 00 00 */ li r27, 0
+/* 802EF61C 002EB27C 3B 20 00 01 */ li r25, 1
+/* 802EF620 002EB280 7C 60 02 78 */ xor r0, r3, r0
+/* 802EF624 002EB284 54 17 00 3C */ rlwinm r23, r0, 0, 0, 0x1e
+/* 802EF628 002EB288 48 00 00 48 */ b lbl_802EF670
+lbl_802EF62C:
+/* 802EF62C 002EB28C 38 17 FF FF */ addi r0, r23, -1
+/* 802EF630 002EB290 7F E4 FB 78 */ mr r4, r31
+/* 802EF634 002EB294 7C 00 B8 78 */ andc r0, r0, r23
+/* 802EF638 002EB298 38 A0 00 16 */ li r5, 0x16
+/* 802EF63C 002EB29C 7C 00 00 34 */ cntlzw r0, r0
+/* 802EF640 002EB2A0 23 00 00 20 */ subfic r24, r0, 0x20
+/* 802EF644 002EB2A4 1C 18 00 16 */ mulli r0, r24, 0x16
+/* 802EF648 002EB2A8 7C 7D 02 14 */ add r3, r29, r0
+/* 802EF64C 002EB2AC 38 63 03 64 */ addi r3, r3, 0x364
+/* 802EF650 002EB2B0 48 00 49 BD */ bl func_802F400C
+/* 802EF654 002EB2B4 A0 1A 00 14 */ lhz r0, 0x14(r26)
+/* 802EF658 002EB2B8 7F 23 C0 30 */ slw r3, r25, r24
+/* 802EF65C 002EB2BC 7E F7 18 78 */ andc r23, r23, r3
+/* 802EF660 002EB2C0 3B FF 00 16 */ addi r31, r31, 0x16
+/* 802EF664 002EB2C4 7C 00 1B 78 */ or r0, r0, r3
+/* 802EF668 002EB2C8 3B 7B 00 01 */ addi r27, r27, 1
+/* 802EF66C 002EB2CC B0 1A 00 14 */ sth r0, 0x14(r26)
+lbl_802EF670:
+/* 802EF670 002EB2D0 2C 1B 00 04 */ cmpwi r27, 4
+/* 802EF674 002EB2D4 40 80 00 0C */ bge lbl_802EF680
+/* 802EF678 002EB2D8 2C 17 00 00 */ cmpwi r23, 0
+/* 802EF67C 002EB2DC 40 82 FF B0 */ bne lbl_802EF62C
+lbl_802EF680:
+/* 802EF680 002EB2E0 1C 7B 00 16 */ mulli r3, r27, 0x16
+/* 802EF684 002EB2E4 20 1B 00 04 */ subfic r0, r27, 4
+/* 802EF688 002EB2E8 38 80 00 00 */ li r4, 0
+/* 802EF68C 002EB2EC 7C 7E 1A 14 */ add r3, r30, r3
+/* 802EF690 002EB2F0 1C A0 00 16 */ mulli r5, r0, 0x16
+/* 802EF694 002EB2F4 38 63 00 10 */ addi r3, r3, 0x10
+/* 802EF698 002EB2F8 48 00 49 71 */ bl func_802F4008
+lbl_802EF69C:
+/* 802EF69C 002EB2FC 88 7D 03 58 */ lbz r3, 0x358(r29)
+/* 802EF6A0 002EB300 2C 1C 00 00 */ cmpwi r28, 0
+/* 802EF6A4 002EB304 88 1D 03 59 */ lbz r0, 0x359(r29)
+/* 802EF6A8 002EB308 98 7E 00 00 */ stb r3, 0(r30)
+/* 802EF6AC 002EB30C 98 1E 00 01 */ stb r0, 1(r30)
+/* 802EF6B0 002EB310 88 7D 03 5A */ lbz r3, 0x35a(r29)
+/* 802EF6B4 002EB314 88 1D 03 5B */ lbz r0, 0x35b(r29)
+/* 802EF6B8 002EB318 98 7E 00 02 */ stb r3, 2(r30)
+/* 802EF6BC 002EB31C 98 1E 00 03 */ stb r0, 3(r30)
+/* 802EF6C0 002EB320 88 9D 03 5C */ lbz r4, 0x35c(r29)
+/* 802EF6C4 002EB324 88 1D 03 5D */ lbz r0, 0x35d(r29)
+/* 802EF6C8 002EB328 98 9E 00 04 */ stb r4, 4(r30)
+/* 802EF6CC 002EB32C 98 1E 00 05 */ stb r0, 5(r30)
+/* 802EF6D0 002EB330 88 7D 03 5E */ lbz r3, 0x35e(r29)
+/* 802EF6D4 002EB334 88 1D 03 5F */ lbz r0, 0x35f(r29)
+/* 802EF6D8 002EB338 98 7E 00 06 */ stb r3, 6(r30)
+/* 802EF6DC 002EB33C 98 1E 00 07 */ stb r0, 7(r30)
+/* 802EF6E0 002EB340 40 82 00 10 */ bne lbl_802EF6F0
+/* 802EF6E4 002EB344 38 00 00 02 */ li r0, 2
+/* 802EF6E8 002EB348 50 04 07 BE */ rlwimi r4, r0, 0, 0x1e, 0x1f
+/* 802EF6EC 002EB34C 98 9E 00 04 */ stb r4, 4(r30)
+lbl_802EF6F0:
+/* 802EF6F0 002EB350 88 9A 00 16 */ lbz r4, 0x16(r26)
+/* 802EF6F4 002EB354 38 7E 00 0A */ addi r3, r30, 0xa
+/* 802EF6F8 002EB358 98 9E 00 07 */ stb r4, 7(r30)
+/* 802EF6FC 002EB35C 38 04 00 01 */ addi r0, r4, 1
+/* 802EF700 002EB360 98 1A 00 16 */ stb r0, 0x16(r26)
+/* 802EF704 002EB364 4B FF F2 E1 */ bl WDPi_GetBeaconCheckSum
+/* 802EF708 002EB368 54 60 C6 3E */ rlwinm r0, r3, 0x18, 0x18, 0x1f
+/* 802EF70C 002EB36C 2C 1C 00 00 */ cmpwi r28, 0
+/* 802EF710 002EB370 98 7E 00 08 */ stb r3, 8(r30)
+/* 802EF714 002EB374 98 1E 00 09 */ stb r0, 9(r30)
+/* 802EF718 002EB378 40 82 00 1C */ bne lbl_802EF734
+/* 802EF71C 002EB37C A0 7A 00 14 */ lhz r3, 0x14(r26)
+/* 802EF720 002EB380 A0 1D 03 60 */ lhz r0, 0x360(r29)
+/* 802EF724 002EB384 7C 03 00 40 */ cmplw r3, r0
+/* 802EF728 002EB388 40 82 00 0C */ bne lbl_802EF734
+/* 802EF72C 002EB38C 7F 43 D3 78 */ mr r3, r26
+/* 802EF730 002EB390 4B FF F8 71 */ bl WDPi_SwitchActiveSession
+lbl_802EF734:
+/* 802EF734 002EB394 3B E0 00 70 */ li r31, 0x70
+lbl_802EF738:
+/* 802EF738 002EB398 80 1A 00 08 */ lwz r0, 8(r26)
+/* 802EF73C 002EB39C 34 00 FF FF */ addic. r0, r0, -1
+/* 802EF740 002EB3A0 90 1A 00 08 */ stw r0, 8(r26)
+/* 802EF744 002EB3A4 40 82 00 0C */ bne lbl_802EF750
+/* 802EF748 002EB3A8 80 7A 00 0C */ lwz r3, 0xc(r26)
+/* 802EF74C 002EB3AC 4B F7 F0 39 */ bl OSRestoreInterrupts
+lbl_802EF750:
+/* 802EF750 002EB3B0 39 61 00 30 */ addi r11, r1, 0x30
+/* 802EF754 002EB3B4 7F E3 FB 78 */ mr r3, r31
+/* 802EF758 002EB3B8 4B ED 7A 0D */ bl _restgpr_23
+/* 802EF75C 002EB3BC 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802EF760 002EB3C0 7C 08 03 A6 */ mtlr r0
+/* 802EF764 002EB3C4 38 21 00 30 */ addi r1, r1, 0x30
+/* 802EF768 002EB3C8 4E 80 00 20 */ blr
+
+.global WDP_CallParentConnectedHook
+WDP_CallParentConnectedHook:
+/* 802EF76C 002EB3CC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802EF770 002EB3D0 7C 08 02 A6 */ mflr r0
+/* 802EF774 002EB3D4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802EF778 002EB3D8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802EF77C 002EB3DC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802EF780 002EB3E0 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802EF784 002EB3E4 7C 9D 23 78 */ mr r29, r4
+/* 802EF788 002EB3E8 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802EF78C 002EB3EC 7C 7C 1B 78 */ mr r28, r3
+/* 802EF790 002EB3F0 4B F7 EF CD */ bl OSDisableInterrupts
+/* 802EF794 002EB3F4 80 9C 00 08 */ lwz r4, 8(r28)
+/* 802EF798 002EB3F8 38 04 00 01 */ addi r0, r4, 1
+/* 802EF79C 002EB3FC 2C 00 00 01 */ cmpwi r0, 1
+/* 802EF7A0 002EB400 90 1C 00 08 */ stw r0, 8(r28)
+/* 802EF7A4 002EB404 40 82 00 08 */ bne lbl_802EF7AC
+/* 802EF7A8 002EB408 90 7C 00 0C */ stw r3, 0xc(r28)
+lbl_802EF7AC:
+/* 802EF7AC 002EB40C 1C 1D 00 34 */ mulli r0, r29, 0x34
+/* 802EF7B0 002EB410 7F 83 E3 78 */ mr r3, r28
+/* 802EF7B4 002EB414 7F A4 EB 78 */ mr r4, r29
+/* 802EF7B8 002EB418 38 A0 00 00 */ li r5, 0
+/* 802EF7BC 002EB41C 7F DC 02 14 */ add r30, r28, r0
+/* 802EF7C0 002EB420 4B FF F8 45 */ bl WDPi_UpdateStatus
+/* 802EF7C4 002EB424 3B E0 00 00 */ li r31, 0
+/* 802EF7C8 002EB428 38 7E 00 30 */ addi r3, r30, 0x30
+/* 802EF7CC 002EB42C 93 FE 00 2C */ stw r31, 0x2c(r30)
+/* 802EF7D0 002EB430 38 80 00 00 */ li r4, 0
+/* 802EF7D4 002EB434 38 A0 00 20 */ li r5, 0x20
+/* 802EF7D8 002EB438 48 00 48 31 */ bl func_802F4008
+/* 802EF7DC 002EB43C 38 7E 00 50 */ addi r3, r30, 0x50
+/* 802EF7E0 002EB440 38 80 00 00 */ li r4, 0
+/* 802EF7E4 002EB444 38 A0 00 04 */ li r5, 4
+/* 802EF7E8 002EB448 48 00 48 21 */ bl func_802F4008
+/* 802EF7EC 002EB44C 93 FE 00 54 */ stw r31, 0x54(r30)
+/* 802EF7F0 002EB450 38 00 00 01 */ li r0, 1
+/* 802EF7F4 002EB454 7C 00 E8 30 */ slw r0, r0, r29
+/* 802EF7F8 002EB458 7F 83 E3 78 */ mr r3, r28
+/* 802EF7FC 002EB45C 93 FE 00 58 */ stw r31, 0x58(r30)
+/* 802EF800 002EB460 7F A4 EB 78 */ mr r4, r29
+/* 802EF804 002EB464 38 A0 00 01 */ li r5, 1
+/* 802EF808 002EB468 80 DC 00 20 */ lwz r6, 0x20(r28)
+/* 802EF80C 002EB46C 7C C0 03 78 */ or r0, r6, r0
+/* 802EF810 002EB470 90 1C 00 20 */ stw r0, 0x20(r28)
+/* 802EF814 002EB474 4B FF F7 F1 */ bl WDPi_UpdateStatus
+/* 802EF818 002EB478 80 1C 00 08 */ lwz r0, 8(r28)
+/* 802EF81C 002EB47C 34 00 FF FF */ addic. r0, r0, -1
+/* 802EF820 002EB480 90 1C 00 08 */ stw r0, 8(r28)
+/* 802EF824 002EB484 40 82 00 0C */ bne lbl_802EF830
+/* 802EF828 002EB488 80 7C 00 0C */ lwz r3, 0xc(r28)
+/* 802EF82C 002EB48C 4B F7 EF 59 */ bl OSRestoreInterrupts
+lbl_802EF830:
+/* 802EF830 002EB490 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802EF834 002EB494 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802EF838 002EB498 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802EF83C 002EB49C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802EF840 002EB4A0 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802EF844 002EB4A4 7C 08 03 A6 */ mtlr r0
+/* 802EF848 002EB4A8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802EF84C 002EB4AC 4E 80 00 20 */ blr
+
+.global WDP_CallParentDisconnectedHook
+WDP_CallParentDisconnectedHook:
+/* 802EF850 002EB4B0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802EF854 002EB4B4 7C 08 02 A6 */ mflr r0
+/* 802EF858 002EB4B8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802EF85C 002EB4BC 39 61 00 20 */ addi r11, r1, 0x20
+/* 802EF860 002EB4C0 4B ED 78 C5 */ bl _savegpr_26
+/* 802EF864 002EB4C4 1F C4 00 34 */ mulli r30, r4, 0x34
+/* 802EF868 002EB4C8 38 00 00 01 */ li r0, 1
+/* 802EF86C 002EB4CC 7C 7B 1B 78 */ mr r27, r3
+/* 802EF870 002EB4D0 7C 9C 23 78 */ mr r28, r4
+/* 802EF874 002EB4D4 7C 1D 20 30 */ slw r29, r0, r4
+/* 802EF878 002EB4D8 7F E3 F2 14 */ add r31, r3, r30
+/* 802EF87C 002EB4DC 4B F7 EE E1 */ bl OSDisableInterrupts
+/* 802EF880 002EB4E0 80 9B 00 08 */ lwz r4, 8(r27)
+/* 802EF884 002EB4E4 38 04 00 01 */ addi r0, r4, 1
+/* 802EF888 002EB4E8 2C 00 00 01 */ cmpwi r0, 1
+/* 802EF88C 002EB4EC 90 1B 00 08 */ stw r0, 8(r27)
+/* 802EF890 002EB4F0 40 82 00 08 */ bne lbl_802EF898
+/* 802EF894 002EB4F4 90 7B 00 0C */ stw r3, 0xc(r27)
+lbl_802EF898:
+/* 802EF898 002EB4F8 A0 9B 03 6C */ lhz r4, 0x36c(r27)
+/* 802EF89C 002EB4FC 7F BA E8 F8 */ nor r26, r29, r29
+/* 802EF8A0 002EB500 A0 1B 03 70 */ lhz r0, 0x370(r27)
+/* 802EF8A4 002EB504 38 7F 00 34 */ addi r3, r31, 0x34
+/* 802EF8A8 002EB508 7C 85 D0 38 */ and r5, r4, r26
+/* 802EF8AC 002EB50C 38 80 00 00 */ li r4, 0
+/* 802EF8B0 002EB510 7C 00 D0 38 */ and r0, r0, r26
+/* 802EF8B4 002EB514 B0 BB 03 6C */ sth r5, 0x36c(r27)
+/* 802EF8B8 002EB518 38 A0 00 16 */ li r5, 0x16
+/* 802EF8BC 002EB51C B0 1B 03 70 */ sth r0, 0x370(r27)
+/* 802EF8C0 002EB520 48 00 47 49 */ bl func_802F4008
+/* 802EF8C4 002EB524 80 7F 00 2C */ lwz r3, 0x2c(r31)
+/* 802EF8C8 002EB528 2C 03 00 00 */ cmpwi r3, 0
+/* 802EF8CC 002EB52C 41 82 00 34 */ beq lbl_802EF900
+/* 802EF8D0 002EB530 A0 03 04 D8 */ lhz r0, 0x4d8(r3)
+/* 802EF8D4 002EB534 7C 00 D0 38 */ and r0, r0, r26
+/* 802EF8D8 002EB538 B0 03 04 D8 */ sth r0, 0x4d8(r3)
+/* 802EF8DC 002EB53C A0 03 05 D2 */ lhz r0, 0x5d2(r3)
+/* 802EF8E0 002EB540 7C 00 D0 38 */ and r0, r0, r26
+/* 802EF8E4 002EB544 B0 03 05 D2 */ sth r0, 0x5d2(r3)
+/* 802EF8E8 002EB548 A0 03 05 D0 */ lhz r0, 0x5d0(r3)
+/* 802EF8EC 002EB54C 7C 00 D0 38 */ and r0, r0, r26
+/* 802EF8F0 002EB550 B0 03 05 D0 */ sth r0, 0x5d0(r3)
+/* 802EF8F4 002EB554 A0 03 04 DA */ lhz r0, 0x4da(r3)
+/* 802EF8F8 002EB558 7C 00 EB 78 */ or r0, r0, r29
+/* 802EF8FC 002EB55C B0 03 04 DA */ sth r0, 0x4da(r3)
+lbl_802EF900:
+/* 802EF900 002EB560 7C 7B F2 14 */ add r3, r27, r30
+/* 802EF904 002EB564 80 03 00 28 */ lwz r0, 0x28(r3)
+/* 802EF908 002EB568 2C 00 00 06 */ cmpwi r0, 6
+/* 802EF90C 002EB56C 40 82 00 24 */ bne lbl_802EF930
+/* 802EF910 002EB570 81 9B 00 00 */ lwz r12, 0(r27)
+/* 802EF914 002EB574 2C 0C 00 00 */ cmpwi r12, 0
+/* 802EF918 002EB578 41 82 00 18 */ beq lbl_802EF930
+/* 802EF91C 002EB57C 7F 63 DB 78 */ mr r3, r27
+/* 802EF920 002EB580 7F 85 E3 78 */ mr r5, r28
+/* 802EF924 002EB584 38 80 00 08 */ li r4, 8
+/* 802EF928 002EB588 7D 89 03 A6 */ mtctr r12
+/* 802EF92C 002EB58C 4E 80 04 21 */ bctrl
+lbl_802EF930:
+/* 802EF930 002EB590 7F 63 DB 78 */ mr r3, r27
+/* 802EF934 002EB594 7F 84 E3 78 */ mr r4, r28
+/* 802EF938 002EB598 38 A0 00 00 */ li r5, 0
+/* 802EF93C 002EB59C 4B FF F6 C9 */ bl WDPi_UpdateStatus
+/* 802EF940 002EB5A0 3B 80 00 00 */ li r28, 0
+/* 802EF944 002EB5A4 38 7F 00 30 */ addi r3, r31, 0x30
+/* 802EF948 002EB5A8 93 9F 00 2C */ stw r28, 0x2c(r31)
+/* 802EF94C 002EB5AC 38 80 00 00 */ li r4, 0
+/* 802EF950 002EB5B0 38 A0 00 20 */ li r5, 0x20
+/* 802EF954 002EB5B4 48 00 46 B5 */ bl func_802F4008
+/* 802EF958 002EB5B8 38 7F 00 50 */ addi r3, r31, 0x50
+/* 802EF95C 002EB5BC 38 80 00 00 */ li r4, 0
+/* 802EF960 002EB5C0 38 A0 00 04 */ li r5, 4
+/* 802EF964 002EB5C4 48 00 46 A5 */ bl func_802F4008
+/* 802EF968 002EB5C8 93 9F 00 54 */ stw r28, 0x54(r31)
+/* 802EF96C 002EB5CC 93 9F 00 58 */ stw r28, 0x58(r31)
+/* 802EF970 002EB5D0 80 1B 00 08 */ lwz r0, 8(r27)
+/* 802EF974 002EB5D4 34 00 FF FF */ addic. r0, r0, -1
+/* 802EF978 002EB5D8 90 1B 00 08 */ stw r0, 8(r27)
+/* 802EF97C 002EB5DC 40 82 00 0C */ bne lbl_802EF988
+/* 802EF980 002EB5E0 80 7B 00 0C */ lwz r3, 0xc(r27)
+/* 802EF984 002EB5E4 4B F7 EE 01 */ bl OSRestoreInterrupts
+lbl_802EF988:
+/* 802EF988 002EB5E8 39 61 00 20 */ addi r11, r1, 0x20
+/* 802EF98C 002EB5EC 4B ED 77 E5 */ bl _restgpr_26
+/* 802EF990 002EB5F0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802EF994 002EB5F4 7C 08 03 A6 */ mtlr r0
+/* 802EF998 002EB5F8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802EF99C 002EB5FC 4E 80 00 20 */ blr
+
+.global WDP_CallParentSendHook
+WDP_CallParentSendHook:
+/* 802EF9A0 002EB600 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802EF9A4 002EB604 7C 08 02 A6 */ mflr r0
+/* 802EF9A8 002EB608 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802EF9AC 002EB60C 39 61 00 30 */ addi r11, r1, 0x30
+/* 802EF9B0 002EB610 4B ED 77 79 */ bl _savegpr_27
+/* 802EF9B4 002EB614 83 E4 00 00 */ lwz r31, 0(r4)
+/* 802EF9B8 002EB618 7C 7C 1B 78 */ mr r28, r3
+/* 802EF9BC 002EB61C 7C 9D 23 78 */ mr r29, r4
+/* 802EF9C0 002EB620 4B F7 ED 9D */ bl OSDisableInterrupts
+/* 802EF9C4 002EB624 80 9C 00 08 */ lwz r4, 8(r28)
+/* 802EF9C8 002EB628 38 04 00 01 */ addi r0, r4, 1
+/* 802EF9CC 002EB62C 2C 00 00 01 */ cmpwi r0, 1
+/* 802EF9D0 002EB630 90 1C 00 08 */ stw r0, 8(r28)
+/* 802EF9D4 002EB634 40 82 00 08 */ bne lbl_802EF9DC
+/* 802EF9D8 002EB638 90 7C 00 0C */ stw r3, 0xc(r28)
+lbl_802EF9DC:
+/* 802EF9DC 002EB63C 38 00 00 00 */ li r0, 0
+/* 802EF9E0 002EB640 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
+/* 802EF9E4 002EB644 98 1F 00 00 */ stb r0, 0(r31)
+/* 802EF9E8 002EB648 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l
+/* 802EF9EC 002EB64C 38 60 00 01 */ li r3, 1
+/* 802EF9F0 002EB650 B0 7D 00 04 */ sth r3, 4(r29)
+/* 802EF9F4 002EB654 B0 1D 00 06 */ sth r0, 6(r29)
+/* 802EF9F8 002EB658 A0 1C 03 6E */ lhz r0, 0x36e(r28)
+/* 802EF9FC 002EB65C 2C 00 00 00 */ cmpwi r0, 0
+/* 802EFA00 002EB660 41 82 00 18 */ beq lbl_802EFA18
+/* 802EFA04 002EB664 38 00 00 05 */ li r0, 5
+/* 802EFA08 002EB668 98 1F 00 00 */ stb r0, 0(r31)
+/* 802EFA0C 002EB66C A0 1C 03 6E */ lhz r0, 0x36e(r28)
+/* 802EFA10 002EB670 B0 1D 00 06 */ sth r0, 6(r29)
+/* 802EFA14 002EB674 48 00 02 58 */ b lbl_802EFC6C
+lbl_802EFA18:
+/* 802EFA18 002EB678 A0 1C 03 68 */ lhz r0, 0x368(r28)
+/* 802EFA1C 002EB67C 2C 00 00 00 */ cmpwi r0, 0
+/* 802EFA20 002EB680 41 82 00 14 */ beq lbl_802EFA34
+/* 802EFA24 002EB684 98 7F 00 00 */ stb r3, 0(r31)
+/* 802EFA28 002EB688 A0 1C 03 68 */ lhz r0, 0x368(r28)
+/* 802EFA2C 002EB68C B0 1D 00 06 */ sth r0, 6(r29)
+/* 802EFA30 002EB690 48 00 02 3C */ b lbl_802EFC6C
+lbl_802EFA34:
+/* 802EFA34 002EB694 A0 1C 03 70 */ lhz r0, 0x370(r28)
+/* 802EFA38 002EB698 2C 00 00 00 */ cmpwi r0, 0
+/* 802EFA3C 002EB69C 41 82 00 18 */ beq lbl_802EFA54
+/* 802EFA40 002EB6A0 38 00 00 06 */ li r0, 6
+/* 802EFA44 002EB6A4 98 1F 00 00 */ stb r0, 0(r31)
+/* 802EFA48 002EB6A8 A0 1C 03 70 */ lhz r0, 0x370(r28)
+/* 802EFA4C 002EB6AC B0 1D 00 06 */ sth r0, 6(r29)
+/* 802EFA50 002EB6B0 48 00 02 1C */ b lbl_802EFC6C
+lbl_802EFA54:
+/* 802EFA54 002EB6B4 A0 1C 03 6C */ lhz r0, 0x36c(r28)
+/* 802EFA58 002EB6B8 2C 00 00 00 */ cmpwi r0, 0
+/* 802EFA5C 002EB6BC 41 82 00 18 */ beq lbl_802EFA74
+/* 802EFA60 002EB6C0 38 00 00 02 */ li r0, 2
+/* 802EFA64 002EB6C4 98 1F 00 00 */ stb r0, 0(r31)
+/* 802EFA68 002EB6C8 A0 1C 03 6C */ lhz r0, 0x36c(r28)
+/* 802EFA6C 002EB6CC B0 1D 00 06 */ sth r0, 6(r29)
+/* 802EFA70 002EB6D0 48 00 01 FC */ b lbl_802EFC6C
+lbl_802EFA74:
+/* 802EFA74 002EB6D4 A0 BC 03 6A */ lhz r5, 0x36a(r28)
+/* 802EFA78 002EB6D8 2C 05 00 00 */ cmpwi r5, 0
+/* 802EFA7C 002EB6DC 41 82 00 C0 */ beq lbl_802EFB3C
+/* 802EFA80 002EB6E0 83 DC 00 18 */ lwz r30, 0x18(r28)
+/* 802EFA84 002EB6E4 2C 1E 00 00 */ cmpwi r30, 0
+/* 802EFA88 002EB6E8 41 82 00 08 */ beq lbl_802EFA90
+/* 802EFA8C 002EB6EC 48 00 00 08 */ b lbl_802EFA94
+lbl_802EFA90:
+/* 802EFA90 002EB6F0 83 DC 00 04 */ lwz r30, 4(r28)
+lbl_802EFA94:
+/* 802EFA94 002EB6F4 38 00 00 0F */ li r0, 0xf
+/* 802EFA98 002EB6F8 38 9C 00 5C */ addi r4, r28, 0x5c
+/* 802EFA9C 002EB6FC 38 E0 00 00 */ li r7, 0
+/* 802EFAA0 002EB700 38 C0 00 01 */ li r6, 1
+/* 802EFAA4 002EB704 38 60 00 01 */ li r3, 1
+/* 802EFAA8 002EB708 7C 09 03 A6 */ mtctr r0
+lbl_802EFAAC:
+/* 802EFAAC 002EB70C 7C 60 30 30 */ slw r0, r3, r6
+/* 802EFAB0 002EB710 7C A0 00 39 */ and. r0, r5, r0
+/* 802EFAB4 002EB714 41 82 00 14 */ beq lbl_802EFAC8
+/* 802EFAB8 002EB718 88 04 00 24 */ lbz r0, 0x24(r4)
+/* 802EFABC 002EB71C 38 60 00 01 */ li r3, 1
+/* 802EFAC0 002EB720 7C 67 00 30 */ slw r7, r3, r0
+/* 802EFAC4 002EB724 48 00 00 10 */ b lbl_802EFAD4
+lbl_802EFAC8:
+/* 802EFAC8 002EB728 38 84 00 34 */ addi r4, r4, 0x34
+/* 802EFACC 002EB72C 38 C6 00 01 */ addi r6, r6, 1
+/* 802EFAD0 002EB730 42 00 FF DC */ bdnz lbl_802EFAAC
+lbl_802EFAD4:
+/* 802EFAD4 002EB734 2C 1E 00 00 */ cmpwi r30, 0
+/* 802EFAD8 002EB738 41 82 01 94 */ beq lbl_802EFC6C
+/* 802EFADC 002EB73C 38 60 00 01 */ li r3, 1
+lbl_802EFAE0:
+/* 802EFAE0 002EB740 83 DE 00 00 */ lwz r30, 0(r30)
+/* 802EFAE4 002EB744 2C 1E 00 00 */ cmpwi r30, 0
+/* 802EFAE8 002EB748 41 82 00 08 */ beq lbl_802EFAF0
+/* 802EFAEC 002EB74C 48 00 00 08 */ b lbl_802EFAF4
+lbl_802EFAF0:
+/* 802EFAF0 002EB750 83 DC 00 04 */ lwz r30, 4(r28)
+lbl_802EFAF4:
+/* 802EFAF4 002EB754 88 1E 03 68 */ lbz r0, 0x368(r30)
+/* 802EFAF8 002EB758 54 00 F6 BE */ rlwinm r0, r0, 0x1e, 0x1a, 0x1f
+/* 802EFAFC 002EB75C 7C 60 00 30 */ slw r0, r3, r0
+/* 802EFB00 002EB760 7C E0 00 39 */ and. r0, r7, r0
+/* 802EFB04 002EB764 41 82 FF DC */ beq lbl_802EFAE0
+/* 802EFB08 002EB768 93 DC 00 18 */ stw r30, 0x18(r28)
+/* 802EFB0C 002EB76C 38 00 00 03 */ li r0, 3
+/* 802EFB10 002EB770 38 7E 04 E8 */ addi r3, r30, 0x4e8
+/* 802EFB14 002EB774 38 9F 00 01 */ addi r4, r31, 1
+/* 802EFB18 002EB778 98 1F 00 00 */ stb r0, 0(r31)
+/* 802EFB1C 002EB77C 38 A0 00 E4 */ li r5, 0xe4
+/* 802EFB20 002EB780 48 00 44 ED */ bl func_802F400C
+/* 802EFB24 002EB784 A0 7D 00 04 */ lhz r3, 4(r29)
+/* 802EFB28 002EB788 38 03 00 E4 */ addi r0, r3, 0xe4
+/* 802EFB2C 002EB78C B0 1D 00 04 */ sth r0, 4(r29)
+/* 802EFB30 002EB790 A0 1E 05 D4 */ lhz r0, 0x5d4(r30)
+/* 802EFB34 002EB794 B0 1D 00 06 */ sth r0, 6(r29)
+/* 802EFB38 002EB798 48 00 01 34 */ b lbl_802EFC6C
+lbl_802EFB3C:
+/* 802EFB3C 002EB79C 80 1C 00 1C */ lwz r0, 0x1c(r28)
+/* 802EFB40 002EB7A0 2C 00 00 00 */ cmpwi r0, 0
+/* 802EFB44 002EB7A4 41 82 00 08 */ beq lbl_802EFB4C
+/* 802EFB48 002EB7A8 48 00 00 08 */ b lbl_802EFB50
+lbl_802EFB4C:
+/* 802EFB4C 002EB7AC 80 1C 00 04 */ lwz r0, 4(r28)
+lbl_802EFB50:
+/* 802EFB50 002EB7B0 2C 00 00 00 */ cmpwi r0, 0
+/* 802EFB54 002EB7B4 7C 1E 03 78 */ mr r30, r0
+/* 802EFB58 002EB7B8 41 82 01 14 */ beq lbl_802EFC6C
+lbl_802EFB5C:
+/* 802EFB5C 002EB7BC 83 DE 00 00 */ lwz r30, 0(r30)
+/* 802EFB60 002EB7C0 2C 1E 00 00 */ cmpwi r30, 0
+/* 802EFB64 002EB7C4 41 82 00 08 */ beq lbl_802EFB6C
+/* 802EFB68 002EB7C8 48 00 00 08 */ b lbl_802EFB70
+lbl_802EFB6C:
+/* 802EFB6C 002EB7CC 83 DC 00 04 */ lwz r30, 4(r28)
+lbl_802EFB70:
+/* 802EFB70 002EB7D0 A0 7E 05 D0 */ lhz r3, 0x5d0(r30)
+/* 802EFB74 002EB7D4 2C 03 00 00 */ cmpwi r3, 0
+/* 802EFB78 002EB7D8 40 82 00 0C */ bne lbl_802EFB84
+/* 802EFB7C 002EB7DC 7C 1E 00 40 */ cmplw r30, r0
+/* 802EFB80 002EB7E0 40 82 FF DC */ bne lbl_802EFB5C
+lbl_802EFB84:
+/* 802EFB84 002EB7E4 2C 03 00 00 */ cmpwi r3, 0
+/* 802EFB88 002EB7E8 41 82 00 E4 */ beq lbl_802EFC6C
+/* 802EFB8C 002EB7EC 93 DC 00 1C */ stw r30, 0x1c(r28)
+/* 802EFB90 002EB7F0 38 60 00 01 */ li r3, 1
+/* 802EFB94 002EB7F4 A0 9C 03 72 */ lhz r4, 0x372(r28)
+/* 802EFB98 002EB7F8 88 1E 03 68 */ lbz r0, 0x368(r30)
+/* 802EFB9C 002EB7FC 54 00 F6 BE */ rlwinm r0, r0, 0x1e, 0x1a, 0x1f
+/* 802EFBA0 002EB800 7C 60 00 30 */ slw r0, r3, r0
+/* 802EFBA4 002EB804 7C 80 00 39 */ and. r0, r4, r0
+/* 802EFBA8 002EB808 41 82 00 44 */ beq lbl_802EFBEC
+/* 802EFBAC 002EB80C A0 1E 05 CE */ lhz r0, 0x5ce(r30)
+/* 802EFBB0 002EB810 A0 7E 05 CC */ lhz r3, 0x5cc(r30)
+/* 802EFBB4 002EB814 7C 80 18 51 */ subf. r4, r0, r3
+/* 802EFBB8 002EB818 41 80 00 30 */ blt lbl_802EFBE8
+/* 802EFBBC 002EB81C 2C 04 00 02 */ cmpwi r4, 2
+/* 802EFBC0 002EB820 41 81 00 28 */ bgt lbl_802EFBE8
+/* 802EFBC4 002EB824 38 03 00 01 */ addi r0, r3, 1
+/* 802EFBC8 002EB828 B0 1E 05 CC */ sth r0, 0x5cc(r30)
+/* 802EFBCC 002EB82C 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802EFBD0 002EB830 A0 1E 04 E0 */ lhz r0, 0x4e0(r30)
+/* 802EFBD4 002EB834 7C 03 00 40 */ cmplw r3, r0
+/* 802EFBD8 002EB838 41 80 00 14 */ blt lbl_802EFBEC
+/* 802EFBDC 002EB83C A0 1E 05 CE */ lhz r0, 0x5ce(r30)
+/* 802EFBE0 002EB840 B0 1E 05 CC */ sth r0, 0x5cc(r30)
+/* 802EFBE4 002EB844 48 00 00 08 */ b lbl_802EFBEC
+lbl_802EFBE8:
+/* 802EFBE8 002EB848 B0 1E 05 CC */ sth r0, 0x5cc(r30)
+lbl_802EFBEC:
+/* 802EFBEC 002EB84C A3 7E 05 CC */ lhz r27, 0x5cc(r30)
+/* 802EFBF0 002EB850 38 7E 04 DC */ addi r3, r30, 0x4dc
+/* 802EFBF4 002EB854 38 A1 00 08 */ addi r5, r1, 8
+/* 802EFBF8 002EB858 7F 64 DB 78 */ mr r4, r27
+/* 802EFBFC 002EB85C 4B FF F2 CD */ bl WDPi_GetSegmentRegion
+/* 802EFC00 002EB860 2C 03 00 00 */ cmpwi r3, 0
+/* 802EFC04 002EB864 41 82 00 68 */ beq lbl_802EFC6C
+/* 802EFC08 002EB868 81 9E 00 08 */ lwz r12, 8(r30)
+/* 802EFC0C 002EB86C 7F C3 F3 78 */ mr r3, r30
+/* 802EFC10 002EB870 38 9F 00 05 */ addi r4, r31, 5
+/* 802EFC14 002EB874 38 A1 00 08 */ addi r5, r1, 8
+/* 802EFC18 002EB878 7D 89 03 A6 */ mtctr r12
+/* 802EFC1C 002EB87C 4E 80 04 21 */ bctrl
+/* 802EFC20 002EB880 2C 03 00 00 */ cmpwi r3, 0
+/* 802EFC24 002EB884 41 82 00 48 */ beq lbl_802EFC6C
+/* 802EFC28 002EB888 38 60 00 04 */ li r3, 4
+/* 802EFC2C 002EB88C 57 60 C6 3E */ rlwinm r0, r27, 0x18, 0x18, 0x1f
+/* 802EFC30 002EB890 98 7F 00 00 */ stb r3, 0(r31)
+/* 802EFC34 002EB894 88 7E 03 68 */ lbz r3, 0x368(r30)
+/* 802EFC38 002EB898 54 63 F6 BE */ rlwinm r3, r3, 0x1e, 0x1a, 0x1f
+/* 802EFC3C 002EB89C 98 7F 00 01 */ stb r3, 1(r31)
+/* 802EFC40 002EB8A0 7C 63 46 70 */ srawi r3, r3, 8
+/* 802EFC44 002EB8A4 98 7F 00 02 */ stb r3, 2(r31)
+/* 802EFC48 002EB8A8 9B 7F 00 03 */ stb r27, 3(r31)
+/* 802EFC4C 002EB8AC 98 1F 00 04 */ stb r0, 4(r31)
+/* 802EFC50 002EB8B0 A0 7D 00 04 */ lhz r3, 4(r29)
+/* 802EFC54 002EB8B4 80 01 00 10 */ lwz r0, 0x10(r1)
+/* 802EFC58 002EB8B8 7C 60 1A 14 */ add r3, r0, r3
+/* 802EFC5C 002EB8BC 38 03 00 04 */ addi r0, r3, 4
+/* 802EFC60 002EB8C0 B0 1D 00 04 */ sth r0, 4(r29)
+/* 802EFC64 002EB8C4 A0 1E 05 D0 */ lhz r0, 0x5d0(r30)
+/* 802EFC68 002EB8C8 B0 1D 00 06 */ sth r0, 6(r29)
+lbl_802EFC6C:
+/* 802EFC6C 002EB8CC A0 7D 00 04 */ lhz r3, 4(r29)
+/* 802EFC70 002EB8D0 38 00 00 00 */ li r0, 0
+/* 802EFC74 002EB8D4 38 63 00 01 */ addi r3, r3, 1
+/* 802EFC78 002EB8D8 54 63 04 3C */ rlwinm r3, r3, 0, 0x10, 0x1e
+/* 802EFC7C 002EB8DC B0 7D 00 04 */ sth r3, 4(r29)
+/* 802EFC80 002EB8E0 80 7C 00 04 */ lwz r3, 4(r28)
+/* 802EFC84 002EB8E4 48 00 00 0C */ b lbl_802EFC90
+lbl_802EFC88:
+/* 802EFC88 002EB8E8 B0 03 05 CE */ sth r0, 0x5ce(r3)
+/* 802EFC8C 002EB8EC 80 63 00 00 */ lwz r3, 0(r3)
+lbl_802EFC90:
+/* 802EFC90 002EB8F0 2C 03 00 00 */ cmpwi r3, 0
+/* 802EFC94 002EB8F4 40 82 FF F4 */ bne lbl_802EFC88
+/* 802EFC98 002EB8F8 80 1C 00 08 */ lwz r0, 8(r28)
+/* 802EFC9C 002EB8FC 38 60 00 00 */ li r3, 0
+/* 802EFCA0 002EB900 B0 7C 03 72 */ sth r3, 0x372(r28)
+/* 802EFCA4 002EB904 34 00 FF FF */ addic. r0, r0, -1
+/* 802EFCA8 002EB908 90 1C 00 08 */ stw r0, 8(r28)
+/* 802EFCAC 002EB90C 40 82 00 0C */ bne lbl_802EFCB8
+/* 802EFCB0 002EB910 80 7C 00 0C */ lwz r3, 0xc(r28)
+/* 802EFCB4 002EB914 4B F7 EA D1 */ bl OSRestoreInterrupts
+lbl_802EFCB8:
+/* 802EFCB8 002EB918 39 61 00 30 */ addi r11, r1, 0x30
+/* 802EFCBC 002EB91C 4B ED 74 B9 */ bl _restgpr_27
+/* 802EFCC0 002EB920 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802EFCC4 002EB924 7C 08 03 A6 */ mtlr r0
+/* 802EFCC8 002EB928 38 21 00 30 */ addi r1, r1, 0x30
+/* 802EFCCC 002EB92C 4E 80 00 20 */ blr
+
+.global WDP_CallParentRecvHook
+WDP_CallParentRecvHook:
+/* 802EFCD0 002EB930 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802EFCD4 002EB934 7C 08 02 A6 */ mflr r0
+/* 802EFCD8 002EB938 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802EFCDC 002EB93C 39 61 00 30 */ addi r11, r1, 0x30
+/* 802EFCE0 002EB940 4B ED 74 49 */ bl _savegpr_27
+/* 802EFCE4 002EB944 1C 04 00 34 */ mulli r0, r4, 0x34
+/* 802EFCE8 002EB948 83 85 00 00 */ lwz r28, 0(r5)
+/* 802EFCEC 002EB94C 7C 7D 1B 78 */ mr r29, r3
+/* 802EFCF0 002EB950 7C 9E 23 78 */ mr r30, r4
+/* 802EFCF4 002EB954 7F E3 02 14 */ add r31, r3, r0
+/* 802EFCF8 002EB958 83 7F 00 28 */ lwz r27, 0x28(r31)
+/* 802EFCFC 002EB95C 4B F7 EA 61 */ bl OSDisableInterrupts
+/* 802EFD00 002EB960 80 9D 00 08 */ lwz r4, 8(r29)
+/* 802EFD04 002EB964 38 04 00 01 */ addi r0, r4, 1
+/* 802EFD08 002EB968 2C 00 00 01 */ cmpwi r0, 1
+/* 802EFD0C 002EB96C 90 1D 00 08 */ stw r0, 8(r29)
+/* 802EFD10 002EB970 40 82 00 08 */ bne lbl_802EFD18
+/* 802EFD14 002EB974 90 7D 00 0C */ stw r3, 0xc(r29)
+lbl_802EFD18:
+/* 802EFD18 002EB978 88 1C 00 00 */ lbz r0, 0(r28)
+/* 802EFD1C 002EB97C 2C 00 00 09 */ cmpwi r0, 9
+/* 802EFD20 002EB980 41 82 01 C4 */ beq lbl_802EFEE4
+/* 802EFD24 002EB984 40 80 00 14 */ bge lbl_802EFD38
+/* 802EFD28 002EB988 2C 00 00 07 */ cmpwi r0, 7
+/* 802EFD2C 002EB98C 41 82 00 18 */ beq lbl_802EFD44
+/* 802EFD30 002EB990 40 80 01 98 */ bge lbl_802EFEC8
+/* 802EFD34 002EB994 48 00 02 68 */ b lbl_802EFF9C
+lbl_802EFD38:
+/* 802EFD38 002EB998 2C 00 00 0B */ cmpwi r0, 0xb
+/* 802EFD3C 002EB99C 40 80 02 60 */ bge lbl_802EFF9C
+/* 802EFD40 002EB9A0 48 00 02 24 */ b lbl_802EFF64
+lbl_802EFD44:
+/* 802EFD44 002EB9A4 2C 1B 00 01 */ cmpwi r27, 1
+/* 802EFD48 002EB9A8 40 82 02 54 */ bne lbl_802EFF9C
+/* 802EFD4C 002EB9AC 8B 7C 00 01 */ lbz r27, 1(r28)
+/* 802EFD50 002EB9B0 38 7F 00 50 */ addi r3, r31, 0x50
+/* 802EFD54 002EB9B4 38 80 00 05 */ li r4, 5
+/* 802EFD58 002EB9B8 7F 65 DB 78 */ mr r5, r27
+/* 802EFD5C 002EB9BC 4B FF F1 F9 */ bl WDP_MergeBitset
+/* 802EFD60 002EB9C0 2C 03 00 00 */ cmpwi r3, 0
+/* 802EFD64 002EB9C4 41 82 02 38 */ beq lbl_802EFF9C
+/* 802EFD68 002EB9C8 1C DB 00 06 */ mulli r6, r27, 6
+/* 802EFD6C 002EB9CC 38 9F 00 30 */ addi r4, r31, 0x30
+/* 802EFD70 002EB9D0 38 7C 00 02 */ addi r3, r28, 2
+/* 802EFD74 002EB9D4 38 A0 00 06 */ li r5, 6
+/* 802EFD78 002EB9D8 20 06 00 1E */ subfic r0, r6, 0x1e
+/* 802EFD7C 002EB9DC 28 00 00 06 */ cmplwi r0, 6
+/* 802EFD80 002EB9E0 7C 84 32 14 */ add r4, r4, r6
+/* 802EFD84 002EB9E4 40 80 00 08 */ bge lbl_802EFD8C
+/* 802EFD88 002EB9E8 7C 05 03 78 */ mr r5, r0
+lbl_802EFD8C:
+/* 802EFD8C 002EB9EC 48 00 42 81 */ bl func_802F400C
+/* 802EFD90 002EB9F0 80 7F 00 54 */ lwz r3, 0x54(r31)
+/* 802EFD94 002EB9F4 38 03 00 01 */ addi r0, r3, 1
+/* 802EFD98 002EB9F8 28 00 00 05 */ cmplwi r0, 5
+/* 802EFD9C 002EB9FC 90 1F 00 54 */ stw r0, 0x54(r31)
+/* 802EFDA0 002EBA00 41 80 01 FC */ blt lbl_802EFF9C
+/* 802EFDA4 002EBA04 83 7D 00 04 */ lwz r27, 4(r29)
+/* 802EFDA8 002EBA08 48 00 00 08 */ b lbl_802EFDB0
+lbl_802EFDAC:
+/* 802EFDAC 002EBA0C 83 7B 00 00 */ lwz r27, 0(r27)
+lbl_802EFDB0:
+/* 802EFDB0 002EBA10 2C 1B 00 00 */ cmpwi r27, 0
+/* 802EFDB4 002EBA14 41 82 00 30 */ beq lbl_802EFDE4
+/* 802EFDB8 002EBA18 38 7B 03 64 */ addi r3, r27, 0x364
+/* 802EFDBC 002EBA1C 38 9F 00 30 */ addi r4, r31, 0x30
+/* 802EFDC0 002EBA20 38 A0 00 04 */ li r5, 4
+/* 802EFDC4 002EBA24 4B FF ED 89 */ bl WDP_CompareMemory
+/* 802EFDC8 002EBA28 2C 03 00 00 */ cmpwi r3, 0
+/* 802EFDCC 002EBA2C 40 82 FF E0 */ bne lbl_802EFDAC
+/* 802EFDD0 002EBA30 88 7B 03 68 */ lbz r3, 0x368(r27)
+/* 802EFDD4 002EBA34 88 1F 00 4C */ lbz r0, 0x4c(r31)
+/* 802EFDD8 002EBA38 54 63 F6 BE */ rlwinm r3, r3, 0x1e, 0x1a, 0x1f
+/* 802EFDDC 002EBA3C 7C 03 00 40 */ cmplw r3, r0
+/* 802EFDE0 002EBA40 40 82 FF CC */ bne lbl_802EFDAC
+lbl_802EFDE4:
+/* 802EFDE4 002EBA44 93 7F 00 2C */ stw r27, 0x2c(r31)
+/* 802EFDE8 002EBA48 2C 1B 00 00 */ cmpwi r27, 0
+/* 802EFDEC 002EBA4C 88 1F 00 34 */ lbz r0, 0x34(r31)
+/* 802EFDF0 002EBA50 53 C0 26 36 */ rlwimi r0, r30, 4, 0x18, 0x1b
+/* 802EFDF4 002EBA54 98 1F 00 34 */ stb r0, 0x34(r31)
+/* 802EFDF8 002EBA58 40 82 00 54 */ bne lbl_802EFE4C
+/* 802EFDFC 002EBA5C 38 60 00 05 */ li r3, 5
+/* 802EFE00 002EBA60 38 00 00 01 */ li r0, 1
+/* 802EFE04 002EBA64 93 C1 00 10 */ stw r30, 0x10(r1)
+/* 802EFE08 002EBA68 7C 04 F0 30 */ slw r4, r0, r30
+/* 802EFE0C 002EBA6C 90 61 00 14 */ stw r3, 0x14(r1)
+/* 802EFE10 002EBA70 A0 7D 03 6C */ lhz r3, 0x36c(r29)
+/* 802EFE14 002EBA74 A0 1D 03 68 */ lhz r0, 0x368(r29)
+/* 802EFE18 002EBA78 81 9D 00 00 */ lwz r12, 0(r29)
+/* 802EFE1C 002EBA7C 7C 63 23 78 */ or r3, r3, r4
+/* 802EFE20 002EBA80 7C 00 20 78 */ andc r0, r0, r4
+/* 802EFE24 002EBA84 B0 7D 03 6C */ sth r3, 0x36c(r29)
+/* 802EFE28 002EBA88 2C 0C 00 00 */ cmpwi r12, 0
+/* 802EFE2C 002EBA8C B0 1D 03 68 */ sth r0, 0x368(r29)
+/* 802EFE30 002EBA90 41 82 01 6C */ beq lbl_802EFF9C
+/* 802EFE34 002EBA94 7F A3 EB 78 */ mr r3, r29
+/* 802EFE38 002EBA98 38 A1 00 10 */ addi r5, r1, 0x10
+/* 802EFE3C 002EBA9C 38 80 00 01 */ li r4, 1
+/* 802EFE40 002EBAA0 7D 89 03 A6 */ mtctr r12
+/* 802EFE44 002EBAA4 4E 80 04 21 */ bctrl
+/* 802EFE48 002EBAA8 48 00 01 54 */ b lbl_802EFF9C
+lbl_802EFE4C:
+/* 802EFE4C 002EBAAC A0 7B 04 D8 */ lhz r3, 0x4d8(r27)
+/* 802EFE50 002EBAB0 4B FF EB 3D */ bl MATH_CountPopulation
+/* 802EFE54 002EBAB4 88 1B 02 42 */ lbz r0, 0x242(r27)
+/* 802EFE58 002EBAB8 54 63 06 3E */ clrlwi r3, r3, 0x18
+/* 802EFE5C 002EBABC 7C 03 00 40 */ cmplw r3, r0
+/* 802EFE60 002EBAC0 41 80 00 54 */ blt lbl_802EFEB4
+/* 802EFE64 002EBAC4 38 60 00 06 */ li r3, 6
+/* 802EFE68 002EBAC8 38 00 00 01 */ li r0, 1
+/* 802EFE6C 002EBACC 93 C1 00 08 */ stw r30, 8(r1)
+/* 802EFE70 002EBAD0 7C 04 F0 30 */ slw r4, r0, r30
+/* 802EFE74 002EBAD4 90 61 00 0C */ stw r3, 0xc(r1)
+/* 802EFE78 002EBAD8 A0 7D 03 70 */ lhz r3, 0x370(r29)
+/* 802EFE7C 002EBADC A0 1D 03 68 */ lhz r0, 0x368(r29)
+/* 802EFE80 002EBAE0 81 9D 00 00 */ lwz r12, 0(r29)
+/* 802EFE84 002EBAE4 7C 63 23 78 */ or r3, r3, r4
+/* 802EFE88 002EBAE8 7C 00 20 78 */ andc r0, r0, r4
+/* 802EFE8C 002EBAEC B0 7D 03 70 */ sth r3, 0x370(r29)
+/* 802EFE90 002EBAF0 2C 0C 00 00 */ cmpwi r12, 0
+/* 802EFE94 002EBAF4 B0 1D 03 68 */ sth r0, 0x368(r29)
+/* 802EFE98 002EBAF8 41 82 01 04 */ beq lbl_802EFF9C
+/* 802EFE9C 002EBAFC 7F A3 EB 78 */ mr r3, r29
+/* 802EFEA0 002EBB00 38 A1 00 08 */ addi r5, r1, 8
+/* 802EFEA4 002EBB04 38 80 00 01 */ li r4, 1
+/* 802EFEA8 002EBB08 7D 89 03 A6 */ mtctr r12
+/* 802EFEAC 002EBB0C 4E 80 04 21 */ bctrl
+/* 802EFEB0 002EBB10 48 00 00 EC */ b lbl_802EFF9C
+lbl_802EFEB4:
+/* 802EFEB4 002EBB14 7F A3 EB 78 */ mr r3, r29
+/* 802EFEB8 002EBB18 7F C4 F3 78 */ mr r4, r30
+/* 802EFEBC 002EBB1C 38 A0 00 02 */ li r5, 2
+/* 802EFEC0 002EBB20 4B FF F1 45 */ bl WDPi_UpdateStatus
+/* 802EFEC4 002EBB24 48 00 00 D8 */ b lbl_802EFF9C
+lbl_802EFEC8:
+/* 802EFEC8 002EBB28 2C 1B 00 07 */ cmpwi r27, 7
+/* 802EFECC 002EBB2C 40 82 00 D0 */ bne lbl_802EFF9C
+/* 802EFED0 002EBB30 7F A3 EB 78 */ mr r3, r29
+/* 802EFED4 002EBB34 7F C4 F3 78 */ mr r4, r30
+/* 802EFED8 002EBB38 38 A0 00 03 */ li r5, 3
+/* 802EFEDC 002EBB3C 4B FF F1 29 */ bl WDPi_UpdateStatus
+/* 802EFEE0 002EBB40 48 00 00 BC */ b lbl_802EFF9C
+lbl_802EFEE4:
+/* 802EFEE4 002EBB44 2C 1B 00 04 */ cmpwi r27, 4
+/* 802EFEE8 002EBB48 40 82 00 B4 */ bne lbl_802EFF9C
+/* 802EFEEC 002EBB4C 80 BF 00 2C */ lwz r5, 0x2c(r31)
+/* 802EFEF0 002EBB50 2C 05 00 00 */ cmpwi r5, 0
+/* 802EFEF4 002EBB54 41 82 00 A8 */ beq lbl_802EFF9C
+/* 802EFEF8 002EBB58 88 7C 00 04 */ lbz r3, 4(r28)
+/* 802EFEFC 002EBB5C 88 1C 00 03 */ lbz r0, 3(r28)
+/* 802EFF00 002EBB60 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17
+/* 802EFF04 002EBB64 88 9C 00 01 */ lbz r4, 1(r28)
+/* 802EFF08 002EBB68 88 7C 00 02 */ lbz r3, 2(r28)
+/* 802EFF0C 002EBB6C 90 1F 00 58 */ stw r0, 0x58(r31)
+/* 802EFF10 002EBB70 50 64 44 2E */ rlwimi r4, r3, 8, 0x10, 0x17
+/* 802EFF14 002EBB74 A0 05 05 CE */ lhz r0, 0x5ce(r5)
+/* 802EFF18 002EBB78 7C 00 20 40 */ cmplw r0, r4
+/* 802EFF1C 002EBB7C 40 80 00 08 */ bge lbl_802EFF24
+/* 802EFF20 002EBB80 B0 85 05 CE */ sth r4, 0x5ce(r5)
+lbl_802EFF24:
+/* 802EFF24 002EBB84 88 05 03 68 */ lbz r0, 0x368(r5)
+/* 802EFF28 002EBB88 38 60 00 01 */ li r3, 1
+/* 802EFF2C 002EBB8C 81 9D 00 00 */ lwz r12, 0(r29)
+/* 802EFF30 002EBB90 54 00 F6 BE */ rlwinm r0, r0, 0x1e, 0x1a, 0x1f
+/* 802EFF34 002EBB94 A0 9D 03 72 */ lhz r4, 0x372(r29)
+/* 802EFF38 002EBB98 7C 60 00 30 */ slw r0, r3, r0
+/* 802EFF3C 002EBB9C 2C 0C 00 00 */ cmpwi r12, 0
+/* 802EFF40 002EBBA0 7C 80 03 78 */ or r0, r4, r0
+/* 802EFF44 002EBBA4 B0 1D 03 72 */ sth r0, 0x372(r29)
+/* 802EFF48 002EBBA8 41 82 00 54 */ beq lbl_802EFF9C
+/* 802EFF4C 002EBBAC 7F A3 EB 78 */ mr r3, r29
+/* 802EFF50 002EBBB0 7F C5 F3 78 */ mr r5, r30
+/* 802EFF54 002EBBB4 38 80 00 00 */ li r4, 0
+/* 802EFF58 002EBBB8 7D 89 03 A6 */ mtctr r12
+/* 802EFF5C 002EBBBC 4E 80 04 21 */ bctrl
+/* 802EFF60 002EBBC0 48 00 00 3C */ b lbl_802EFF9C
+lbl_802EFF64:
+/* 802EFF64 002EBBC4 2C 1B 00 04 */ cmpwi r27, 4
+/* 802EFF68 002EBBC8 40 82 00 34 */ bne lbl_802EFF9C
+/* 802EFF6C 002EBBCC 80 FF 00 2C */ lwz r7, 0x2c(r31)
+/* 802EFF70 002EBBD0 38 00 00 01 */ li r0, 1
+/* 802EFF74 002EBBD4 7C 00 F0 30 */ slw r0, r0, r30
+/* 802EFF78 002EBBD8 7F A3 EB 78 */ mr r3, r29
+/* 802EFF7C 002EBBDC A0 C7 05 D0 */ lhz r6, 0x5d0(r7)
+/* 802EFF80 002EBBE0 7F C4 F3 78 */ mr r4, r30
+/* 802EFF84 002EBBE4 38 A0 00 05 */ li r5, 5
+/* 802EFF88 002EBBE8 7C C0 00 78 */ andc r0, r6, r0
+/* 802EFF8C 002EBBEC B0 07 05 D0 */ sth r0, 0x5d0(r7)
+/* 802EFF90 002EBBF0 A0 07 04 E0 */ lhz r0, 0x4e0(r7)
+/* 802EFF94 002EBBF4 90 1F 00 58 */ stw r0, 0x58(r31)
+/* 802EFF98 002EBBF8 4B FF F0 6D */ bl WDPi_UpdateStatus
+lbl_802EFF9C:
+/* 802EFF9C 002EBBFC 80 1D 00 08 */ lwz r0, 8(r29)
+/* 802EFFA0 002EBC00 34 00 FF FF */ addic. r0, r0, -1
+/* 802EFFA4 002EBC04 90 1D 00 08 */ stw r0, 8(r29)
+/* 802EFFA8 002EBC08 40 82 00 0C */ bne lbl_802EFFB4
+/* 802EFFAC 002EBC0C 80 7D 00 0C */ lwz r3, 0xc(r29)
+/* 802EFFB0 002EBC10 4B F7 E7 D5 */ bl OSRestoreInterrupts
+lbl_802EFFB4:
+/* 802EFFB4 002EBC14 39 61 00 30 */ addi r11, r1, 0x30
+/* 802EFFB8 002EBC18 4B ED 71 BD */ bl _restgpr_27
+/* 802EFFBC 002EBC1C 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802EFFC0 002EBC20 7C 08 03 A6 */ mtlr r0
+/* 802EFFC4 002EBC24 38 21 00 30 */ addi r1, r1, 0x30
+/* 802EFFC8 002EBC28 4E 80 00 20 */ blr
+
+.global WDP_RegisterSession
+WDP_RegisterSession:
+/* 802EFFCC 002EBC2C 94 21 FF 90 */ stwu r1, -0x70(r1)
+/* 802EFFD0 002EBC30 7C 08 02 A6 */ mflr r0
+/* 802EFFD4 002EBC34 90 01 00 74 */ stw r0, 0x74(r1)
+/* 802EFFD8 002EBC38 39 61 00 70 */ addi r11, r1, 0x70
+/* 802EFFDC 002EBC3C 4B ED 71 19 */ bl __save_gpr
+/* 802EFFE0 002EBC40 3E C0 80 44 */ lis r22, lbl_80445BD8@ha
+/* 802EFFE4 002EBC44 82 A1 00 7C */ lwz r21, 0x7c(r1)
+/* 802EFFE8 002EBC48 82 81 00 80 */ lwz r20, 0x80(r1)
+/* 802EFFEC 002EBC4C 7C 6F 1B 78 */ mr r15, r3
+/* 802EFFF0 002EBC50 82 41 00 84 */ lwz r18, 0x84(r1)
+/* 802EFFF4 002EBC54 7C 90 23 78 */ mr r16, r4
+/* 802EFFF8 002EBC58 90 C1 00 08 */ stw r6, 8(r1)
+/* 802EFFFC 002EBC5C 7C AE 2B 78 */ mr r14, r5
+/* 802F0000 002EBC60 7D 51 53 78 */ mr r17, r10
+/* 802F0004 002EBC64 3A D6 5B D8 */ addi r22, r22, lbl_80445BD8@l
+/* 802F0008 002EBC68 90 E1 00 0C */ stw r7, 0xc(r1)
+/* 802F000C 002EBC6C 3A 64 04 E8 */ addi r19, r4, 0x4e8
+/* 802F0010 002EBC70 91 01 00 10 */ stw r8, 0x10(r1)
+/* 802F0014 002EBC74 91 21 00 14 */ stw r9, 0x14(r1)
+/* 802F0018 002EBC78 4B F7 E7 45 */ bl OSDisableInterrupts
+/* 802F001C 002EBC7C 80 8F 00 08 */ lwz r4, 8(r15)
+/* 802F0020 002EBC80 38 04 00 01 */ addi r0, r4, 1
+/* 802F0024 002EBC84 2C 00 00 01 */ cmpwi r0, 1
+/* 802F0028 002EBC88 90 0F 00 08 */ stw r0, 8(r15)
+/* 802F002C 002EBC8C 40 82 00 08 */ bne lbl_802F0034
+/* 802F0030 002EBC90 90 6F 00 0C */ stw r3, 0xc(r15)
+lbl_802F0034:
+/* 802F0034 002EBC94 80 F2 00 24 */ lwz r7, 0x24(r18)
+/* 802F0038 002EBC98 38 73 00 08 */ addi r3, r19, 8
+/* 802F003C 002EBC9C 38 80 00 00 */ li r4, 0
+/* 802F0040 002EBCA0 38 A0 00 04 */ li r5, 4
+/* 802F0044 002EBCA4 54 E6 42 1E */ rlwinm r6, r7, 8, 8, 0xf
+/* 802F0048 002EBCA8 54 E0 C4 2E */ rlwinm r0, r7, 0x18, 0x10, 0x17
+/* 802F004C 002EBCAC 50 E6 C0 0E */ rlwimi r6, r7, 0x18, 0, 7
+/* 802F0050 002EBCB0 50 E0 46 3E */ rlwimi r0, r7, 8, 0x18, 0x1f
+/* 802F0054 002EBCB4 7C C0 03 78 */ or r0, r6, r0
+/* 802F0058 002EBCB8 54 07 C6 3E */ rlwinm r7, r0, 0x18, 0x18, 0x1f
+/* 802F005C 002EBCBC 98 13 00 00 */ stb r0, 0(r19)
+/* 802F0060 002EBCC0 54 06 86 3E */ rlwinm r6, r0, 0x10, 0x18, 0x1f
+/* 802F0064 002EBCC4 54 00 46 3E */ srwi r0, r0, 0x18
+/* 802F0068 002EBCC8 98 F3 00 01 */ stb r7, 1(r19)
+/* 802F006C 002EBCCC 98 D3 00 02 */ stb r6, 2(r19)
+/* 802F0070 002EBCD0 98 13 00 03 */ stb r0, 3(r19)
+/* 802F0074 002EBCD4 80 F2 00 34 */ lwz r7, 0x34(r18)
+/* 802F0078 002EBCD8 54 E6 42 1E */ rlwinm r6, r7, 8, 8, 0xf
+/* 802F007C 002EBCDC 54 E0 C4 2E */ rlwinm r0, r7, 0x18, 0x10, 0x17
+/* 802F0080 002EBCE0 50 E6 C0 0E */ rlwimi r6, r7, 0x18, 0, 7
+/* 802F0084 002EBCE4 50 E0 46 3E */ rlwimi r0, r7, 8, 0x18, 0x1f
+/* 802F0088 002EBCE8 7C C0 03 78 */ or r0, r6, r0
+/* 802F008C 002EBCEC 54 07 C6 3E */ rlwinm r7, r0, 0x18, 0x18, 0x1f
+/* 802F0090 002EBCF0 98 13 00 04 */ stb r0, 4(r19)
+/* 802F0094 002EBCF4 54 06 86 3E */ rlwinm r6, r0, 0x10, 0x18, 0x1f
+/* 802F0098 002EBCF8 54 00 46 3E */ srwi r0, r0, 0x18
+/* 802F009C 002EBCFC 98 F3 00 05 */ stb r7, 5(r19)
+/* 802F00A0 002EBD00 98 D3 00 06 */ stb r6, 6(r19)
+/* 802F00A4 002EBD04 98 13 00 07 */ stb r0, 7(r19)
+/* 802F00A8 002EBD08 48 00 3F 61 */ bl func_802F4008
+/* 802F00AC 002EBD0C 7E A3 AB 78 */ mr r3, r21
+/* 802F00B0 002EBD10 38 93 00 3C */ addi r4, r19, 0x3c
+/* 802F00B4 002EBD14 38 A0 00 88 */ li r5, 0x88
+/* 802F00B8 002EBD18 48 00 3F 55 */ bl func_802F400C
+/* 802F00BC 002EBD1C 7E 83 A3 78 */ mr r3, r20
+/* 802F00C0 002EBD20 38 93 00 C4 */ addi r4, r19, 0xc4
+/* 802F00C4 002EBD24 38 A0 00 20 */ li r5, 0x20
+/* 802F00C8 002EBD28 48 00 3F 45 */ bl func_802F400C
+/* 802F00CC 002EBD2C 38 72 00 28 */ addi r3, r18, 0x28
+/* 802F00D0 002EBD30 38 12 00 38 */ addi r0, r18, 0x38
+/* 802F00D4 002EBD34 3A 40 00 00 */ li r18, 0
+/* 802F00D8 002EBD38 38 82 A4 98 */ addi r4, r2, lbl_80642A98-_SDA2_BASE_
+/* 802F00DC 002EBD3C 3F 40 80 40 */ lis r26, lbl_803FE0F8@ha
+/* 802F00E0 002EBD40 90 81 00 1C */ stw r4, 0x1c(r1)
+/* 802F00E4 002EBD44 7E 59 93 78 */ mr r25, r18
+/* 802F00E8 002EBD48 7E 5B 93 78 */ mr r27, r18
+/* 802F00EC 002EBD4C 90 61 00 20 */ stw r3, 0x20(r1)
+/* 802F00F0 002EBD50 3A E1 00 1C */ addi r23, r1, 0x1c
+/* 802F00F4 002EBD54 3B 5A E0 F8 */ addi r26, r26, lbl_803FE0F8@l
+/* 802F00F8 002EBD58 3B E0 00 00 */ li r31, 0
+/* 802F00FC 002EBD5C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802F0100 002EBD60 3B C0 00 00 */ li r30, 0
+/* 802F0104 002EBD64 3B 80 00 2C */ li r28, 0x2c
+/* 802F0108 002EBD68 3B A0 00 02 */ li r29, 2
+lbl_802F010C:
+/* 802F010C 002EBD6C 93 21 00 18 */ stw r25, 0x18(r1)
+/* 802F0110 002EBD70 7E 43 93 78 */ mr r3, r18
+/* 802F0114 002EBD74 7D 17 F0 2E */ lwzx r8, r23, r30
+/* 802F0118 002EBD78 7F 13 FA 14 */ add r24, r19, r31
+/* 802F011C 002EBD7C 38 E1 00 18 */ addi r7, r1, 0x18
+/* 802F0120 002EBD80 38 C0 00 01 */ li r6, 1
+/* 802F0124 002EBD84 88 08 00 01 */ lbz r0, 1(r8)
+/* 802F0128 002EBD88 8A A8 00 00 */ lbz r21, 0(r8)
+/* 802F012C 002EBD8C 50 15 44 2E */ rlwimi r21, r0, 8, 0x10, 0x17
+/* 802F0130 002EBD90 88 08 00 05 */ lbz r0, 5(r8)
+/* 802F0134 002EBD94 88 A8 00 02 */ lbz r5, 2(r8)
+/* 802F0138 002EBD98 8A 88 00 04 */ lbz r20, 4(r8)
+/* 802F013C 002EBD9C 50 14 44 2E */ rlwimi r20, r0, 8, 0x10, 0x17
+/* 802F0140 002EBDA0 88 88 00 06 */ lbz r4, 6(r8)
+/* 802F0144 002EBDA4 50 B5 82 1E */ rlwimi r21, r5, 0x10, 8, 0xf
+/* 802F0148 002EBDA8 88 08 00 03 */ lbz r0, 3(r8)
+/* 802F014C 002EBDAC 50 94 82 1E */ rlwimi r20, r4, 0x10, 8, 0xf
+/* 802F0150 002EBDB0 50 15 C0 0E */ rlwimi r21, r0, 0x18, 0, 7
+/* 802F0154 002EBDB4 88 08 00 07 */ lbz r0, 7(r8)
+/* 802F0158 002EBDB8 7E A4 AB 78 */ mr r4, r21
+/* 802F015C 002EBDBC 50 14 C0 0E */ rlwimi r20, r0, 0x18, 0, 7
+/* 802F0160 002EBDC0 7E 85 A3 78 */ mr r5, r20
+/* 802F0164 002EBDC4 4B FF EA E9 */ bl WDPi_IsValidSegmentRegion
+/* 802F0168 002EBDC8 2C 03 00 00 */ cmpwi r3, 0
+/* 802F016C 002EBDCC 40 82 00 20 */ bne lbl_802F018C
+/* 802F0170 002EBDD0 7E A6 AB 78 */ mr r6, r21
+/* 802F0174 002EBDD4 7E 87 A3 78 */ mr r7, r20
+/* 802F0178 002EBDD8 38 76 00 00 */ addi r3, r22, 0
+/* 802F017C 002EBDDC 38 B6 00 10 */ addi r5, r22, 0x10
+/* 802F0180 002EBDE0 38 80 03 9A */ li r4, 0x39a
+/* 802F0184 002EBDE4 4C C6 31 82 */ crclr 6
+/* 802F0188 002EBDE8 48 00 3E 95 */ bl func_802F401C
+lbl_802F018C:
+/* 802F018C 002EBDEC 9A 98 00 14 */ stb r20, 0x14(r24)
+/* 802F0190 002EBDF0 56 80 C6 3E */ rlwinm r0, r20, 0x18, 0x18, 0x1f
+/* 802F0194 002EBDF4 56 83 86 3E */ rlwinm r3, r20, 0x10, 0x18, 0x1f
+/* 802F0198 002EBDF8 56 87 46 3E */ srwi r7, r20, 0x18
+/* 802F019C 002EBDFC 98 18 00 15 */ stb r0, 0x15(r24)
+/* 802F01A0 002EBE00 56 A6 C6 3E */ rlwinm r6, r21, 0x18, 0x18, 0x1f
+/* 802F01A4 002EBE04 56 A0 86 3E */ rlwinm r0, r21, 0x10, 0x18, 0x1f
+/* 802F01A8 002EBE08 56 A8 46 3E */ srwi r8, r21, 0x18
+/* 802F01AC 002EBE0C 98 78 00 16 */ stb r3, 0x16(r24)
+/* 802F01B0 002EBE10 38 78 00 19 */ addi r3, r24, 0x19
+/* 802F01B4 002EBE14 38 80 00 00 */ li r4, 0
+/* 802F01B8 002EBE18 38 A0 00 03 */ li r5, 3
+/* 802F01BC 002EBE1C 98 F8 00 17 */ stb r7, 0x17(r24)
+/* 802F01C0 002EBE20 9A B8 00 10 */ stb r21, 0x10(r24)
+/* 802F01C4 002EBE24 98 D8 00 11 */ stb r6, 0x11(r24)
+/* 802F01C8 002EBE28 98 18 00 12 */ stb r0, 0x12(r24)
+/* 802F01CC 002EBE2C 99 18 00 13 */ stb r8, 0x13(r24)
+/* 802F01D0 002EBE30 9A B8 00 0C */ stb r21, 0xc(r24)
+/* 802F01D4 002EBE34 98 D8 00 0D */ stb r6, 0xd(r24)
+/* 802F01D8 002EBE38 98 18 00 0E */ stb r0, 0xe(r24)
+/* 802F01DC 002EBE3C 99 18 00 0F */ stb r8, 0xf(r24)
+/* 802F01E0 002EBE40 48 00 3E 29 */ bl func_802F4008
+/* 802F01E4 002EBE44 7C 7A F0 2E */ lwzx r3, r26, r30
+/* 802F01E8 002EBE48 88 18 00 18 */ lbz r0, 0x18(r24)
+/* 802F01EC 002EBE4C 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f
+/* 802F01F0 002EBE50 54 00 07 EE */ rlwinm r0, r0, 0, 0x1f, 0x17
+/* 802F01F4 002EBE54 98 18 00 18 */ stb r0, 0x18(r24)
+/* 802F01F8 002EBE58 80 01 00 18 */ lwz r0, 0x18(r1)
+/* 802F01FC 002EBE5C 2C 00 00 00 */ cmpwi r0, 0
+/* 802F0200 002EBE60 41 82 00 14 */ beq lbl_802F0214
+/* 802F0204 002EBE64 9B 78 00 0C */ stb r27, 0xc(r24)
+/* 802F0208 002EBE68 9B 78 00 0D */ stb r27, 0xd(r24)
+/* 802F020C 002EBE6C 9B 98 00 0E */ stb r28, 0xe(r24)
+/* 802F0210 002EBE70 9B B8 00 0F */ stb r29, 0xf(r24)
+lbl_802F0214:
+/* 802F0214 002EBE74 3A 52 00 01 */ addi r18, r18, 1
+/* 802F0218 002EBE78 3B DE 00 04 */ addi r30, r30, 4
+/* 802F021C 002EBE7C 2C 12 00 03 */ cmpwi r18, 3
+/* 802F0220 002EBE80 3B FF 00 10 */ addi r31, r31, 0x10
+/* 802F0224 002EBE84 41 80 FE E8 */ blt lbl_802F010C
+/* 802F0228 002EBE88 80 AF 00 24 */ lwz r5, 0x24(r15)
+/* 802F022C 002EBE8C 7E 64 9B 78 */ mr r4, r19
+/* 802F0230 002EBE90 38 70 04 DC */ addi r3, r16, 0x4dc
+/* 802F0234 002EBE94 4B FF EB 95 */ bl WDPi_InitSegmentMapper
+/* 802F0238 002EBE98 2C 03 00 00 */ cmpwi r3, 0
+/* 802F023C 002EBE9C 40 82 00 1C */ bne lbl_802F0258
+/* 802F0240 002EBEA0 38 76 00 00 */ addi r3, r22, 0
+/* 802F0244 002EBEA4 38 B6 00 38 */ addi r5, r22, 0x38
+/* 802F0248 002EBEA8 38 80 03 AD */ li r4, 0x3ad
+/* 802F024C 002EBEAC 4C C6 31 82 */ crclr 6
+/* 802F0250 002EBEB0 48 00 3D CD */ bl func_802F401C
+/* 802F0254 002EBEB4 48 00 01 94 */ b lbl_802F03E8
+lbl_802F0258:
+/* 802F0258 002EBEB8 88 01 00 7B */ lbz r0, 0x7b(r1)
+/* 802F025C 002EBEBC 38 80 00 00 */ li r4, 0
+/* 802F0260 002EBEC0 88 70 03 68 */ lbz r3, 0x368(r16)
+/* 802F0264 002EBEC4 56 27 C6 3E */ rlwinm r7, r17, 0x18, 0x18, 0x1f
+/* 802F0268 002EBEC8 56 26 86 3E */ rlwinm r6, r17, 0x10, 0x18, 0x1f
+/* 802F026C 002EBECC 56 25 46 3E */ srwi r5, r17, 0x18
+/* 802F0270 002EBED0 50 03 16 3A */ rlwimi r3, r0, 2, 0x18, 0x1d
+/* 802F0274 002EBED4 2C 0E 00 00 */ cmpwi r14, 0
+/* 802F0278 002EBED8 9A 30 03 64 */ stb r17, 0x364(r16)
+/* 802F027C 002EBEDC 3A 50 00 0C */ addi r18, r16, 0xc
+/* 802F0280 002EBEE0 98 F0 03 65 */ stb r7, 0x365(r16)
+/* 802F0284 002EBEE4 98 D0 03 66 */ stb r6, 0x366(r16)
+/* 802F0288 002EBEE8 98 B0 03 67 */ stb r5, 0x367(r16)
+/* 802F028C 002EBEEC 98 70 03 68 */ stb r3, 0x368(r16)
+/* 802F0290 002EBEF0 98 90 03 69 */ stb r4, 0x369(r16)
+/* 802F0294 002EBEF4 98 90 03 6A */ stb r4, 0x36a(r16)
+/* 802F0298 002EBEF8 41 82 00 10 */ beq lbl_802F02A8
+/* 802F029C 002EBEFC 80 01 00 08 */ lwz r0, 8(r1)
+/* 802F02A0 002EBF00 2C 00 00 00 */ cmpwi r0, 0
+/* 802F02A4 002EBF04 40 82 00 08 */ bne lbl_802F02AC
+lbl_802F02A8:
+/* 802F02A8 002EBF08 38 80 00 01 */ li r4, 1
+lbl_802F02AC:
+/* 802F02AC 002EBF0C 88 72 03 5C */ lbz r3, 0x35c(r18)
+/* 802F02B0 002EBF10 50 83 07 BE */ rlwimi r3, r4, 0, 0x1e, 0x1f
+/* 802F02B4 002EBF14 54 60 07 BE */ clrlwi r0, r3, 0x1e
+/* 802F02B8 002EBF18 98 72 03 5C */ stb r3, 0x35c(r18)
+/* 802F02BC 002EBF1C 28 00 00 01 */ cmplwi r0, 1
+/* 802F02C0 002EBF20 40 82 00 18 */ bne lbl_802F02D8
+/* 802F02C4 002EBF24 7E 43 93 78 */ mr r3, r18
+/* 802F02C8 002EBF28 38 80 00 00 */ li r4, 0
+/* 802F02CC 002EBF2C 38 A0 02 20 */ li r5, 0x220
+/* 802F02D0 002EBF30 48 00 3D 39 */ bl func_802F4008
+/* 802F02D4 002EBF34 48 00 00 24 */ b lbl_802F02F8
+lbl_802F02D8:
+/* 802F02D8 002EBF38 7D C3 73 78 */ mr r3, r14
+/* 802F02DC 002EBF3C 38 92 00 20 */ addi r4, r18, 0x20
+/* 802F02E0 002EBF40 38 A0 02 00 */ li r5, 0x200
+/* 802F02E4 002EBF44 48 00 3D 29 */ bl func_802F400C
+/* 802F02E8 002EBF48 80 61 00 08 */ lwz r3, 8(r1)
+/* 802F02EC 002EBF4C 7E 44 93 78 */ mr r4, r18
+/* 802F02F0 002EBF50 38 A0 00 20 */ li r5, 0x20
+/* 802F02F4 002EBF54 48 00 3D 19 */ bl func_802F400C
+lbl_802F02F8:
+/* 802F02F8 002EBF58 A0 CF 00 34 */ lhz r6, 0x34(r15)
+/* 802F02FC 002EBF5C 38 72 02 38 */ addi r3, r18, 0x238
+/* 802F0300 002EBF60 A0 0F 00 36 */ lhz r0, 0x36(r15)
+/* 802F0304 002EBF64 38 80 00 60 */ li r4, 0x60
+/* 802F0308 002EBF68 80 A1 00 10 */ lwz r5, 0x10(r1)
+/* 802F030C 002EBF6C B0 D2 02 20 */ sth r6, 0x220(r18)
+/* 802F0310 002EBF70 B0 12 02 22 */ sth r0, 0x222(r18)
+/* 802F0314 002EBF74 A0 CF 00 38 */ lhz r6, 0x38(r15)
+/* 802F0318 002EBF78 A0 0F 00 3A */ lhz r0, 0x3a(r15)
+/* 802F031C 002EBF7C B0 D2 02 24 */ sth r6, 0x224(r18)
+/* 802F0320 002EBF80 B0 12 02 26 */ sth r0, 0x226(r18)
+/* 802F0324 002EBF84 A0 CF 00 3C */ lhz r6, 0x3c(r15)
+/* 802F0328 002EBF88 A0 0F 00 3E */ lhz r0, 0x3e(r15)
+/* 802F032C 002EBF8C B0 D2 02 28 */ sth r6, 0x228(r18)
+/* 802F0330 002EBF90 B0 12 02 2A */ sth r0, 0x22a(r18)
+/* 802F0334 002EBF94 A0 CF 00 40 */ lhz r6, 0x40(r15)
+/* 802F0338 002EBF98 A0 0F 00 42 */ lhz r0, 0x42(r15)
+/* 802F033C 002EBF9C B0 D2 02 2C */ sth r6, 0x22c(r18)
+/* 802F0340 002EBFA0 B0 12 02 2E */ sth r0, 0x22e(r18)
+/* 802F0344 002EBFA4 A0 0F 00 44 */ lhz r0, 0x44(r15)
+/* 802F0348 002EBFA8 B0 12 02 30 */ sth r0, 0x230(r18)
+/* 802F034C 002EBFAC A0 0F 00 46 */ lhz r0, 0x46(r15)
+/* 802F0350 002EBFB0 B0 12 02 32 */ sth r0, 0x232(r18)
+/* 802F0354 002EBFB4 A0 0F 00 48 */ lhz r0, 0x48(r15)
+/* 802F0358 002EBFB8 B0 12 02 34 */ sth r0, 0x234(r18)
+/* 802F035C 002EBFBC 80 01 00 0C */ lwz r0, 0xc(r1)
+/* 802F0360 002EBFC0 98 12 02 36 */ stb r0, 0x236(r18)
+/* 802F0364 002EBFC4 4B FF E8 25 */ bl WDP_CopyString
+/* 802F0368 002EBFC8 80 A1 00 14 */ lwz r5, 0x14(r1)
+/* 802F036C 002EBFCC 38 72 02 98 */ addi r3, r18, 0x298
+/* 802F0370 002EBFD0 38 80 00 C0 */ li r4, 0xc0
+/* 802F0374 002EBFD4 4B FF E8 15 */ bl WDP_CopyString
+/* 802F0378 002EBFD8 38 72 03 64 */ addi r3, r18, 0x364
+/* 802F037C 002EBFDC 38 80 00 00 */ li r4, 0
+/* 802F0380 002EBFE0 38 A0 01 60 */ li r5, 0x160
+/* 802F0384 002EBFE4 48 00 3C 85 */ bl func_802F4008
+/* 802F0388 002EBFE8 38 72 04 C4 */ addi r3, r18, 0x4c4
+/* 802F038C 002EBFEC 38 80 00 00 */ li r4, 0
+/* 802F0390 002EBFF0 38 A0 00 08 */ li r5, 8
+/* 802F0394 002EBFF4 48 00 3C 75 */ bl func_802F4008
+/* 802F0398 002EBFF8 80 01 00 8C */ lwz r0, 0x8c(r1)
+/* 802F039C 002EBFFC 38 60 00 00 */ li r3, 0
+/* 802F03A0 002EC000 38 80 00 01 */ li r4, 1
+/* 802F03A4 002EC004 B0 72 03 62 */ sth r3, 0x362(r18)
+/* 802F03A8 002EC008 38 AF 00 04 */ addi r5, r15, 4
+/* 802F03AC 002EC00C 90 10 00 04 */ stw r0, 4(r16)
+/* 802F03B0 002EC010 80 01 00 88 */ lwz r0, 0x88(r1)
+/* 802F03B4 002EC014 B0 92 03 60 */ sth r4, 0x360(r18)
+/* 802F03B8 002EC018 90 10 00 08 */ stw r0, 8(r16)
+/* 802F03BC 002EC01C B0 90 04 D8 */ sth r4, 0x4d8(r16)
+/* 802F03C0 002EC020 B0 70 05 D2 */ sth r3, 0x5d2(r16)
+/* 802F03C4 002EC024 B0 70 05 D4 */ sth r3, 0x5d4(r16)
+/* 802F03C8 002EC028 48 00 00 08 */ b lbl_802F03D0
+lbl_802F03CC:
+/* 802F03CC 002EC02C 7C 05 03 78 */ mr r5, r0
+lbl_802F03D0:
+/* 802F03D0 002EC030 80 05 00 00 */ lwz r0, 0(r5)
+/* 802F03D4 002EC034 2C 00 00 00 */ cmpwi r0, 0
+/* 802F03D8 002EC038 40 82 FF F4 */ bne lbl_802F03CC
+/* 802F03DC 002EC03C 92 05 00 00 */ stw r16, 0(r5)
+/* 802F03E0 002EC040 38 00 00 00 */ li r0, 0
+/* 802F03E4 002EC044 90 10 00 00 */ stw r0, 0(r16)
+lbl_802F03E8:
+/* 802F03E8 002EC048 80 0F 00 08 */ lwz r0, 8(r15)
+/* 802F03EC 002EC04C 34 00 FF FF */ addic. r0, r0, -1
+/* 802F03F0 002EC050 90 0F 00 08 */ stw r0, 8(r15)
+/* 802F03F4 002EC054 40 82 00 0C */ bne lbl_802F0400
+/* 802F03F8 002EC058 80 6F 00 0C */ lwz r3, 0xc(r15)
+/* 802F03FC 002EC05C 4B F7 E3 89 */ bl OSRestoreInterrupts
+lbl_802F0400:
+/* 802F0400 002EC060 39 61 00 70 */ addi r11, r1, 0x70
+/* 802F0404 002EC064 4B ED 6D 3D */ bl __restore_gpr
+/* 802F0408 002EC068 80 01 00 74 */ lwz r0, 0x74(r1)
+/* 802F040C 002EC06C 7C 08 03 A6 */ mtlr r0
+/* 802F0410 002EC070 38 21 00 70 */ addi r1, r1, 0x70
+/* 802F0414 002EC074 4E 80 00 20 */ blr
+
+.global WDP_AllowChildStatus
+WDP_AllowChildStatus:
+/* 802F0418 002EC078 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802F041C 002EC07C 7C 08 02 A6 */ mflr r0
+/* 802F0420 002EC080 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802F0424 002EC084 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802F0428 002EC088 7C 7F 1B 78 */ mr r31, r3
+/* 802F042C 002EC08C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802F0430 002EC090 3B C0 00 00 */ li r30, 0
+/* 802F0434 002EC094 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802F0438 002EC098 7C BD 2B 78 */ mr r29, r5
+/* 802F043C 002EC09C 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802F0440 002EC0A0 7C 9C 23 78 */ mr r28, r4
+/* 802F0444 002EC0A4 4B F7 E3 19 */ bl OSDisableInterrupts
+/* 802F0448 002EC0A8 80 9F 00 08 */ lwz r4, 8(r31)
+/* 802F044C 002EC0AC 38 04 00 01 */ addi r0, r4, 1
+/* 802F0450 002EC0B0 2C 00 00 01 */ cmpwi r0, 1
+/* 802F0454 002EC0B4 90 1F 00 08 */ stw r0, 8(r31)
+/* 802F0458 002EC0B8 40 82 00 08 */ bne lbl_802F0460
+/* 802F045C 002EC0BC 90 7F 00 0C */ stw r3, 0xc(r31)
+lbl_802F0460:
+/* 802F0460 002EC0C0 1C 1C 00 34 */ mulli r0, r28, 0x34
+/* 802F0464 002EC0C4 7C 7F 02 14 */ add r3, r31, r0
+/* 802F0468 002EC0C8 80 03 00 28 */ lwz r0, 0x28(r3)
+/* 802F046C 002EC0CC 2C 00 00 04 */ cmpwi r0, 4
+/* 802F0470 002EC0D0 41 82 00 DC */ beq lbl_802F054C
+/* 802F0474 002EC0D4 40 80 00 14 */ bge lbl_802F0488
+/* 802F0478 002EC0D8 2C 00 00 02 */ cmpwi r0, 2
+/* 802F047C 002EC0DC 41 82 00 18 */ beq lbl_802F0494
+/* 802F0480 002EC0E0 40 80 00 90 */ bge lbl_802F0510
+/* 802F0484 002EC0E4 48 00 00 C8 */ b lbl_802F054C
+lbl_802F0488:
+/* 802F0488 002EC0E8 2C 00 00 06 */ cmpwi r0, 6
+/* 802F048C 002EC0EC 40 80 00 C0 */ bge lbl_802F054C
+/* 802F0490 002EC0F0 48 00 00 A0 */ b lbl_802F0530
+lbl_802F0494:
+/* 802F0494 002EC0F4 2C 1D 00 03 */ cmpwi r29, 3
+/* 802F0498 002EC0F8 40 82 00 1C */ bne lbl_802F04B4
+/* 802F049C 002EC0FC 7F E3 FB 78 */ mr r3, r31
+/* 802F04A0 002EC100 7F 84 E3 78 */ mr r4, r28
+/* 802F04A4 002EC104 38 A0 00 07 */ li r5, 7
+/* 802F04A8 002EC108 4B FF EB 5D */ bl WDPi_UpdateStatus
+/* 802F04AC 002EC10C 3B C0 00 01 */ li r30, 1
+/* 802F04B0 002EC110 48 00 00 9C */ b lbl_802F054C
+lbl_802F04B4:
+/* 802F04B4 002EC114 2C 1D 00 00 */ cmpwi r29, 0
+/* 802F04B8 002EC118 40 82 00 94 */ bne lbl_802F054C
+/* 802F04BC 002EC11C 38 60 00 06 */ li r3, 6
+/* 802F04C0 002EC120 38 00 00 01 */ li r0, 1
+/* 802F04C4 002EC124 93 81 00 08 */ stw r28, 8(r1)
+/* 802F04C8 002EC128 7C 04 E0 30 */ slw r4, r0, r28
+/* 802F04CC 002EC12C 90 61 00 0C */ stw r3, 0xc(r1)
+/* 802F04D0 002EC130 A0 7F 03 6C */ lhz r3, 0x36c(r31)
+/* 802F04D4 002EC134 A0 1F 03 68 */ lhz r0, 0x368(r31)
+/* 802F04D8 002EC138 81 9F 00 00 */ lwz r12, 0(r31)
+/* 802F04DC 002EC13C 7C 63 23 78 */ or r3, r3, r4
+/* 802F04E0 002EC140 7C 00 20 78 */ andc r0, r0, r4
+/* 802F04E4 002EC144 B0 7F 03 6C */ sth r3, 0x36c(r31)
+/* 802F04E8 002EC148 2C 0C 00 00 */ cmpwi r12, 0
+/* 802F04EC 002EC14C B0 1F 03 68 */ sth r0, 0x368(r31)
+/* 802F04F0 002EC150 41 82 00 18 */ beq lbl_802F0508
+/* 802F04F4 002EC154 7F E3 FB 78 */ mr r3, r31
+/* 802F04F8 002EC158 38 A1 00 08 */ addi r5, r1, 8
+/* 802F04FC 002EC15C 38 80 00 01 */ li r4, 1
+/* 802F0500 002EC160 7D 89 03 A6 */ mtctr r12
+/* 802F0504 002EC164 4E 80 04 21 */ bctrl
+lbl_802F0508:
+/* 802F0508 002EC168 3B C0 00 01 */ li r30, 1
+/* 802F050C 002EC16C 48 00 00 40 */ b lbl_802F054C
+lbl_802F0510:
+/* 802F0510 002EC170 2C 1D 00 04 */ cmpwi r29, 4
+/* 802F0514 002EC174 40 82 00 38 */ bne lbl_802F054C
+/* 802F0518 002EC178 7F E3 FB 78 */ mr r3, r31
+/* 802F051C 002EC17C 7F 84 E3 78 */ mr r4, r28
+/* 802F0520 002EC180 38 A0 00 04 */ li r5, 4
+/* 802F0524 002EC184 4B FF EA E1 */ bl WDPi_UpdateStatus
+/* 802F0528 002EC188 3B C0 00 01 */ li r30, 1
+/* 802F052C 002EC18C 48 00 00 20 */ b lbl_802F054C
+lbl_802F0530:
+/* 802F0530 002EC190 2C 1D 00 06 */ cmpwi r29, 6
+/* 802F0534 002EC194 40 82 00 18 */ bne lbl_802F054C
+/* 802F0538 002EC198 7F E3 FB 78 */ mr r3, r31
+/* 802F053C 002EC19C 7F 84 E3 78 */ mr r4, r28
+/* 802F0540 002EC1A0 38 A0 00 06 */ li r5, 6
+/* 802F0544 002EC1A4 4B FF EA C1 */ bl WDPi_UpdateStatus
+/* 802F0548 002EC1A8 3B C0 00 01 */ li r30, 1
+lbl_802F054C:
+/* 802F054C 002EC1AC 80 1F 00 08 */ lwz r0, 8(r31)
+/* 802F0550 002EC1B0 34 00 FF FF */ addic. r0, r0, -1
+/* 802F0554 002EC1B4 90 1F 00 08 */ stw r0, 8(r31)
+/* 802F0558 002EC1B8 40 82 00 0C */ bne lbl_802F0564
+/* 802F055C 002EC1BC 80 7F 00 0C */ lwz r3, 0xc(r31)
+/* 802F0560 002EC1C0 4B F7 E2 25 */ bl OSRestoreInterrupts
+lbl_802F0564:
+/* 802F0564 002EC1C4 7F C3 F3 78 */ mr r3, r30
+/* 802F0568 002EC1C8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802F056C 002EC1CC 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802F0570 002EC1D0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802F0574 002EC1D4 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802F0578 002EC1D8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802F057C 002EC1DC 7C 08 03 A6 */ mtlr r0
+/* 802F0580 002EC1E0 38 21 00 20 */ addi r1, r1, 0x20
+/* 802F0584 002EC1E4 4E 80 00 20 */ blr