summaryrefslogtreecommitdiff
path: root/asm/SDK
diff options
context:
space:
mode:
Diffstat (limited to 'asm/SDK')
-rw-r--r--asm/SDK/NCD/ncdsystem.s4
-rw-r--r--asm/SDK/NWC24/NWC24Config.s6
-rw-r--r--asm/SDK/NWC24/NWC24Download.s391
-rw-r--r--asm/SDK/NWC24/NWC24FriendList.s86
-rw-r--r--asm/SDK/NWC24/NWC24Ipc.s122
-rw-r--r--asm/SDK/NWC24/NWC24Manage.s16
-rw-r--r--asm/SDK/NWC24/NWC24Mime.s191
-rw-r--r--asm/SDK/NWC24/NWC24Schedule.s627
-rw-r--r--asm/SDK/NWC24/NWC24SecretFList.s86
-rw-r--r--asm/SDK/NWC24/NWC24Time.s141
-rw-r--r--asm/SDK/OS/OSNet.s4
-rw-r--r--asm/SDK/SO/SOCommon.s8
12 files changed, 1663 insertions, 19 deletions
diff --git a/asm/SDK/NCD/ncdsystem.s b/asm/SDK/NCD/ncdsystem.s
index f97174b..d1a3a76 100644
--- a/asm/SDK/NCD/ncdsystem.s
+++ b/asm/SDK/NCD/ncdsystem.s
@@ -18,7 +18,7 @@ NCDSetNwc24Permission:
/* 802ED230 002E8E90 48 00 00 88 */ b lbl_802ED2B8
lbl_802ED234:
/* 802ED234 002E8E94 48 00 0A 39 */ bl LockRight
-/* 802ED238 002E8E98 48 01 6B 59 */ bl func_80303D90
+/* 802ED238 002E8E98 48 01 6B 59 */ bl NWC24iLockSocket
/* 802ED23C 002E8E9C 2C 03 00 00 */ cmpwi r3, 0
/* 802ED240 002E8EA0 40 82 00 48 */ bne lbl_802ED288
/* 802ED244 002E8EA4 3F E0 80 44 */ lis r31, lbl_80445AF0@ha
@@ -37,7 +37,7 @@ lbl_802ED234:
/* 802ED278 002E8ED8 48 00 08 61 */ bl ExecConfigCommand
/* 802ED27C 002E8EDC 7C 7E 1B 78 */ mr r30, r3
lbl_802ED280:
-/* 802ED280 002E8EE0 48 01 6B 21 */ bl func_80303DA0
+/* 802ED280 002E8EE0 48 01 6B 21 */ bl NWC24iUnlockSocket
/* 802ED284 002E8EE4 48 00 00 24 */ b lbl_802ED2A8
lbl_802ED288:
/* 802ED288 002E8EE8 2C 03 FF EA */ cmpwi r3, -22
diff --git a/asm/SDK/NWC24/NWC24Config.s b/asm/SDK/NWC24/NWC24Config.s
index c01032d..46fedef 100644
--- a/asm/SDK/NWC24/NWC24Config.s
+++ b/asm/SDK/NWC24/NWC24Config.s
@@ -25,7 +25,7 @@ lbl_80302B8C:
/* 80302B9C 002FE7FC 90 1E 00 00 */ stw r0, 0(r30)
/* 80302BA0 002FE800 48 00 00 B0 */ b lbl_80302C50
lbl_80302BA4:
-/* 80302BA4 002FE804 48 00 0E 51 */ bl func_803039F4
+/* 80302BA4 002FE804 48 00 0E 51 */ bl NWC24SuspendScheduler
/* 80302BA8 002FE808 2C 03 00 00 */ cmpwi r3, 0
/* 80302BAC 002FE80C 40 80 00 08 */ bge lbl_80302BB4
/* 80302BB0 002FE810 48 00 00 A4 */ b lbl_80302C54
@@ -51,7 +51,7 @@ lbl_80302BE0:
/* 80302BF4 002FE854 7F C3 F3 78 */ mr r3, r30
/* 80302BF8 002FE858 38 81 00 08 */ addi r4, r1, 8
/* 80302BFC 002FE85C 90 1E 00 00 */ stw r0, 0(r30)
-/* 80302C00 002FE860 48 00 0F B5 */ bl func_80303BB4
+/* 80302C00 002FE860 48 00 0F B5 */ bl NWC24iRequestGenerateUserId
/* 80302C04 002FE864 7C 7F 1B 78 */ mr r31, r3
lbl_80302C08:
/* 80302C08 002FE868 38 60 00 00 */ li r3, 0
@@ -68,7 +68,7 @@ lbl_80302C20:
/* 80302C2C 002FE88C 41 81 00 08 */ bgt lbl_80302C34
/* 80302C30 002FE890 3B E0 00 00 */ li r31, 0
lbl_80302C34:
-/* 80302C34 002FE894 48 00 0E 91 */ bl func_80303AC4
+/* 80302C34 002FE894 48 00 0E 91 */ bl NWC24ResumeScheduler
/* 80302C38 002FE898 2C 03 00 00 */ cmpwi r3, 0
/* 80302C3C 002FE89C 40 80 00 14 */ bge lbl_80302C50
/* 80302C40 002FE8A0 2C 1F 00 00 */ cmpwi r31, 0
diff --git a/asm/SDK/NWC24/NWC24Download.s b/asm/SDK/NWC24/NWC24Download.s
new file mode 100644
index 0000000..42889c3
--- /dev/null
+++ b/asm/SDK/NWC24/NWC24Download.s
@@ -0,0 +1,391 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global NWC24iOpenDlTaskList
+NWC24iOpenDlTaskList:
+/* 803047F0 00300450 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 803047F4 00300454 7C 08 02 A6 */ mflr r0
+/* 803047F8 00300458 90 01 00 14 */ stw r0, 0x14(r1)
+/* 803047FC 0030045C 48 00 02 B1 */ bl NWC24iLoadDlHeader
+/* 80304800 00300460 2C 03 00 00 */ cmpwi r3, 0
+/* 80304804 00300464 41 80 00 28 */ blt lbl_8030482C
+/* 80304808 00300468 38 60 00 00 */ li r3, 0
+/* 8030480C 0030046C 4B FF FD DD */ bl NWC24iSynchronizeRtcCounter
+/* 80304810 00300470 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80304814 00300474 38 80 00 00 */ li r4, 0
+/* 80304818 00300478 38 63 30 00 */ addi r3, r3, 0x3000
+/* 8030481C 0030047C 48 00 00 29 */ bl NWC24iCheckHeaderConsistency
+/* 80304820 00300480 2C 03 00 00 */ cmpwi r3, 0
+/* 80304824 00300484 41 80 00 08 */ blt lbl_8030482C
+/* 80304828 00300488 38 60 00 00 */ li r3, 0
+lbl_8030482C:
+/* 8030482C 0030048C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80304830 00300490 7C 08 03 A6 */ mtlr r0
+/* 80304834 00300494 38 21 00 10 */ addi r1, r1, 0x10
+/* 80304838 00300498 4E 80 00 20 */ blr
+
+.global NWC24iCloseDlTaskList
+NWC24iCloseDlTaskList:
+/* 8030483C 0030049C 38 60 00 00 */ li r3, 0
+/* 80304840 003004A0 4E 80 00 20 */ blr
+
+.global NWC24iCheckHeaderConsistency
+NWC24iCheckHeaderConsistency:
+/* 80304844 003004A4 94 21 FD 40 */ stwu r1, -0x2c0(r1)
+/* 80304848 003004A8 7C 08 02 A6 */ mflr r0
+/* 8030484C 003004AC 90 01 02 C4 */ stw r0, 0x2c4(r1)
+/* 80304850 003004B0 39 61 02 C0 */ addi r11, r1, 0x2c0
+/* 80304854 003004B4 4B EC 28 D1 */ bl _savegpr_26
+/* 80304858 003004B8 3B E1 00 A8 */ addi r31, r1, 0xa8
+/* 8030485C 003004BC 7C 7C 1B 78 */ mr r28, r3
+/* 80304860 003004C0 7C 9D 23 78 */ mr r29, r4
+/* 80304864 003004C4 3B C0 00 00 */ li r30, 0
+/* 80304868 003004C8 3F 60 00 01 */ lis r27, 1
+/* 8030486C 003004CC 48 00 02 14 */ b lbl_80304A80
+lbl_80304870:
+/* 80304870 003004D0 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80304874 003004D4 57 C0 04 3E */ clrlwi r0, r30, 0x10
+/* 80304878 003004D8 A0 C3 30 10 */ lhz r6, 0x3010(r3)
+/* 8030487C 003004DC 38 A3 30 00 */ addi r5, r3, 0x3000
+/* 80304880 003004E0 7C 00 30 40 */ cmplw r0, r6
+/* 80304884 003004E4 40 80 00 0C */ bge lbl_80304890
+/* 80304888 003004E8 28 00 FF FF */ cmplwi r0, 0xffff
+/* 8030488C 003004EC 40 82 00 0C */ bne lbl_80304898
+lbl_80304890:
+/* 80304890 003004F0 38 80 FF FD */ li r4, -3
+/* 80304894 003004F4 48 00 00 20 */ b lbl_803048B4
+lbl_80304898:
+/* 80304898 003004F8 57 C0 23 36 */ rlwinm r0, r30, 4, 0xc, 0x1b
+/* 8030489C 003004FC 38 80 00 00 */ li r4, 0
+/* 803048A0 00300500 7C 65 02 14 */ add r3, r5, r0
+/* 803048A4 00300504 80 03 00 80 */ lwz r0, 0x80(r3)
+/* 803048A8 00300508 2C 00 00 00 */ cmpwi r0, 0
+/* 803048AC 0030050C 40 82 00 08 */ bne lbl_803048B4
+/* 803048B0 00300510 38 80 FF F3 */ li r4, -13
+lbl_803048B4:
+/* 803048B4 00300514 2C 04 00 00 */ cmpwi r4, 0
+/* 803048B8 00300518 40 82 01 C4 */ bne lbl_80304A7C
+/* 803048BC 0030051C 2C 1D 00 00 */ cmpwi r29, 0
+/* 803048C0 00300520 41 82 01 BC */ beq lbl_80304A7C
+/* 803048C4 00300524 57 C0 04 3E */ clrlwi r0, r30, 0x10
+/* 803048C8 00300528 7C 00 30 40 */ cmplw r0, r6
+/* 803048CC 0030052C 40 80 00 0C */ bge lbl_803048D8
+/* 803048D0 00300530 28 00 FF FF */ cmplwi r0, 0xffff
+/* 803048D4 00300534 40 82 00 0C */ bne lbl_803048E0
+lbl_803048D8:
+/* 803048D8 00300538 38 60 FF FD */ li r3, -3
+/* 803048DC 0030053C 48 00 00 20 */ b lbl_803048FC
+lbl_803048E0:
+/* 803048E0 00300540 57 C0 23 36 */ rlwinm r0, r30, 4, 0xc, 0x1b
+/* 803048E4 00300544 38 60 00 00 */ li r3, 0
+/* 803048E8 00300548 7C 85 02 14 */ add r4, r5, r0
+/* 803048EC 0030054C 80 04 00 80 */ lwz r0, 0x80(r4)
+/* 803048F0 00300550 2C 00 00 00 */ cmpwi r0, 0
+/* 803048F4 00300554 40 82 00 08 */ bne lbl_803048FC
+/* 803048F8 00300558 38 60 FF F3 */ li r3, -13
+lbl_803048FC:
+/* 803048FC 0030055C 2C 03 00 00 */ cmpwi r3, 0
+/* 80304900 00300560 40 80 00 08 */ bge lbl_80304908
+/* 80304904 00300564 48 00 00 78 */ b lbl_8030497C
+lbl_80304908:
+/* 80304908 00300568 80 8D 8C C0 */ lwz r4, lbl_8063DF80-_SDA_BASE_(r13)
+/* 8030490C 0030056C 38 61 00 08 */ addi r3, r1, 8
+/* 80304910 00300570 38 A0 00 0A */ li r5, 0xa
+/* 80304914 00300574 4B FF D2 35 */ bl NWC24FOpen
+/* 80304918 00300578 2C 03 00 00 */ cmpwi r3, 0
+/* 8030491C 0030057C 40 80 00 08 */ bge lbl_80304924
+/* 80304920 00300580 48 00 00 5C */ b lbl_8030497C
+lbl_80304924:
+/* 80304924 00300584 57 C4 49 EC */ rlwinm r4, r30, 9, 7, 0x16
+/* 80304928 00300588 38 61 00 08 */ addi r3, r1, 8
+/* 8030492C 0030058C 38 84 08 00 */ addi r4, r4, 0x800
+/* 80304930 00300590 38 A0 00 00 */ li r5, 0
+/* 80304934 00300594 4B FF D6 F9 */ bl NWC24FSeek
+/* 80304938 00300598 2C 03 00 00 */ cmpwi r3, 0
+/* 8030493C 0030059C 40 80 00 0C */ bge lbl_80304948
+/* 80304940 003005A0 7C 7A 1B 78 */ mr r26, r3
+/* 80304944 003005A4 48 00 00 24 */ b lbl_80304968
+lbl_80304948:
+/* 80304948 003005A8 7F E3 FB 78 */ mr r3, r31
+/* 8030494C 003005AC 38 A1 00 08 */ addi r5, r1, 8
+/* 80304950 003005B0 38 80 02 00 */ li r4, 0x200
+/* 80304954 003005B4 4B FF D8 C5 */ bl NWC24FRead
+/* 80304958 003005B8 2C 03 00 00 */ cmpwi r3, 0
+/* 8030495C 003005BC 3B 40 00 00 */ li r26, 0
+/* 80304960 003005C0 40 80 00 08 */ bge lbl_80304968
+/* 80304964 003005C4 7C 7A 1B 78 */ mr r26, r3
+lbl_80304968:
+/* 80304968 003005C8 38 61 00 08 */ addi r3, r1, 8
+/* 8030496C 003005CC 4B FF D5 2D */ bl NWC24FClose
+/* 80304970 003005D0 2C 1A 00 00 */ cmpwi r26, 0
+/* 80304974 003005D4 41 82 00 08 */ beq lbl_8030497C
+/* 80304978 003005D8 7F 43 D3 78 */ mr r3, r26
+lbl_8030497C:
+/* 8030497C 003005DC 2C 03 00 00 */ cmpwi r3, 0
+/* 80304980 003005E0 40 80 00 74 */ bge lbl_803049F4
+/* 80304984 003005E4 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80304988 003005E8 2C 1F 00 00 */ cmpwi r31, 0
+/* 8030498C 003005EC 38 63 30 00 */ addi r3, r3, 0x3000
+/* 80304990 003005F0 40 82 00 0C */ bne lbl_8030499C
+/* 80304994 003005F4 38 00 FF FD */ li r0, -3
+/* 80304998 003005F8 48 00 00 38 */ b lbl_803049D0
+lbl_8030499C:
+/* 8030499C 003005FC 2C 03 00 00 */ cmpwi r3, 0
+/* 803049A0 00300600 40 82 00 0C */ bne lbl_803049AC
+/* 803049A4 00300604 38 00 FF F7 */ li r0, -9
+/* 803049A8 00300608 48 00 00 28 */ b lbl_803049D0
+lbl_803049AC:
+/* 803049AC 0030060C A0 81 00 A8 */ lhz r4, 0xa8(r1)
+/* 803049B0 00300610 28 04 FF FF */ cmplwi r4, 0xffff
+/* 803049B4 00300614 41 82 00 18 */ beq lbl_803049CC
+/* 803049B8 00300618 A0 03 00 10 */ lhz r0, 0x10(r3)
+/* 803049BC 0030061C 7C 04 00 40 */ cmplw r4, r0
+/* 803049C0 00300620 41 80 00 0C */ blt lbl_803049CC
+/* 803049C4 00300624 38 00 FF FD */ li r0, -3
+/* 803049C8 00300628 48 00 00 08 */ b lbl_803049D0
+lbl_803049CC:
+/* 803049CC 0030062C 38 00 00 00 */ li r0, 0
+lbl_803049D0:
+/* 803049D0 00300630 2C 00 00 00 */ cmpwi r0, 0
+/* 803049D4 00300634 40 82 00 A8 */ bne lbl_80304A7C
+/* 803049D8 00300638 7F E3 FB 78 */ mr r3, r31
+/* 803049DC 0030063C 48 00 01 C1 */ bl DeleteDlTask
+/* 803049E0 00300640 2C 03 00 00 */ cmpwi r3, 0
+/* 803049E4 00300644 41 80 00 98 */ blt lbl_80304A7C
+/* 803049E8 00300648 38 1B FF FF */ addi r0, r27, -1
+/* 803049EC 0030064C B0 01 00 A8 */ sth r0, 0xa8(r1)
+/* 803049F0 00300650 48 00 00 8C */ b lbl_80304A7C
+lbl_803049F4:
+/* 803049F4 00300654 80 8D AF 90 */ lwz r4, lbl_80640250-_SDA_BASE_(r13)
+/* 803049F8 00300658 57 C3 04 3E */ clrlwi r3, r30, 0x10
+/* 803049FC 0030065C 38 84 30 00 */ addi r4, r4, 0x3000
+/* 80304A00 00300660 A0 04 00 12 */ lhz r0, 0x12(r4)
+/* 80304A04 00300664 7C 03 00 40 */ cmplw r3, r0
+/* 80304A08 00300668 41 80 00 74 */ blt lbl_80304A7C
+/* 80304A0C 0030066C A8 01 00 C0 */ lha r0, 0xc0(r1)
+/* 80304A10 00300670 2C 00 00 00 */ cmpwi r0, 0
+/* 80304A14 00300674 40 82 00 68 */ bne lbl_80304A7C
+/* 80304A18 00300678 2C 1F 00 00 */ cmpwi r31, 0
+/* 80304A1C 0030067C 40 82 00 0C */ bne lbl_80304A28
+/* 80304A20 00300680 38 00 FF FD */ li r0, -3
+/* 80304A24 00300684 48 00 00 38 */ b lbl_80304A5C
+lbl_80304A28:
+/* 80304A28 00300688 2C 04 00 00 */ cmpwi r4, 0
+/* 80304A2C 0030068C 40 82 00 0C */ bne lbl_80304A38
+/* 80304A30 00300690 38 00 FF F7 */ li r0, -9
+/* 80304A34 00300694 48 00 00 28 */ b lbl_80304A5C
+lbl_80304A38:
+/* 80304A38 00300698 A0 61 00 A8 */ lhz r3, 0xa8(r1)
+/* 80304A3C 0030069C 28 03 FF FF */ cmplwi r3, 0xffff
+/* 80304A40 003006A0 41 82 00 18 */ beq lbl_80304A58
+/* 80304A44 003006A4 A0 04 00 10 */ lhz r0, 0x10(r4)
+/* 80304A48 003006A8 7C 03 00 40 */ cmplw r3, r0
+/* 80304A4C 003006AC 41 80 00 0C */ blt lbl_80304A58
+/* 80304A50 003006B0 38 00 FF FD */ li r0, -3
+/* 80304A54 003006B4 48 00 00 08 */ b lbl_80304A5C
+lbl_80304A58:
+/* 80304A58 003006B8 38 00 00 00 */ li r0, 0
+lbl_80304A5C:
+/* 80304A5C 003006BC 2C 00 00 00 */ cmpwi r0, 0
+/* 80304A60 003006C0 40 82 00 1C */ bne lbl_80304A7C
+/* 80304A64 003006C4 7F E3 FB 78 */ mr r3, r31
+/* 80304A68 003006C8 48 00 01 35 */ bl DeleteDlTask
+/* 80304A6C 003006CC 2C 03 00 00 */ cmpwi r3, 0
+/* 80304A70 003006D0 41 80 00 0C */ blt lbl_80304A7C
+/* 80304A74 003006D4 38 1B FF FF */ addi r0, r27, -1
+/* 80304A78 003006D8 B0 01 00 A8 */ sth r0, 0xa8(r1)
+lbl_80304A7C:
+/* 80304A7C 003006DC 3B DE 00 01 */ addi r30, r30, 1
+lbl_80304A80:
+/* 80304A80 003006E0 A0 1C 00 10 */ lhz r0, 0x10(r28)
+/* 80304A84 003006E4 57 C3 04 3E */ clrlwi r3, r30, 0x10
+/* 80304A88 003006E8 7C 03 00 40 */ cmplw r3, r0
+/* 80304A8C 003006EC 41 80 FD E4 */ blt lbl_80304870
+/* 80304A90 003006F0 39 61 02 C0 */ addi r11, r1, 0x2c0
+/* 80304A94 003006F4 38 60 00 00 */ li r3, 0
+/* 80304A98 003006F8 4B EC 26 D9 */ bl _restgpr_26
+/* 80304A9C 003006FC 80 01 02 C4 */ lwz r0, 0x2c4(r1)
+/* 80304AA0 00300700 7C 08 03 A6 */ mtlr r0
+/* 80304AA4 00300704 38 21 02 C0 */ addi r1, r1, 0x2c0
+/* 80304AA8 00300708 4E 80 00 20 */ blr
+
+.global NWC24iLoadDlHeader
+NWC24iLoadDlHeader:
+/* 80304AAC 0030070C 94 21 FF 50 */ stwu r1, -0xb0(r1)
+/* 80304AB0 00300710 7C 08 02 A6 */ mflr r0
+/* 80304AB4 00300714 38 A0 00 02 */ li r5, 2
+/* 80304AB8 00300718 90 01 00 B4 */ stw r0, 0xb4(r1)
+/* 80304ABC 0030071C 38 61 00 0C */ addi r3, r1, 0xc
+/* 80304AC0 00300720 93 E1 00 AC */ stw r31, 0xac(r1)
+/* 80304AC4 00300724 3B E0 00 00 */ li r31, 0
+/* 80304AC8 00300728 80 8D 8C C0 */ lwz r4, lbl_8063DF80-_SDA_BASE_(r13)
+/* 80304ACC 0030072C 93 E1 00 08 */ stw r31, 8(r1)
+/* 80304AD0 00300730 4B FF D0 79 */ bl NWC24FOpen
+/* 80304AD4 00300734 2C 03 00 00 */ cmpwi r3, 0
+/* 80304AD8 00300738 40 80 00 08 */ bge lbl_80304AE0
+/* 80304ADC 0030073C 48 00 00 AC */ b lbl_80304B88
+lbl_80304AE0:
+/* 80304AE0 00300740 38 61 00 0C */ addi r3, r1, 0xc
+/* 80304AE4 00300744 38 80 00 00 */ li r4, 0
+/* 80304AE8 00300748 38 A0 00 00 */ li r5, 0
+/* 80304AEC 0030074C 4B FF D5 41 */ bl NWC24FSeek
+/* 80304AF0 00300750 2C 03 00 00 */ cmpwi r3, 0
+/* 80304AF4 00300754 40 80 00 08 */ bge lbl_80304AFC
+/* 80304AF8 00300758 48 00 00 28 */ b lbl_80304B20
+lbl_80304AFC:
+/* 80304AFC 0030075C 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80304B00 00300760 38 A1 00 0C */ addi r5, r1, 0xc
+/* 80304B04 00300764 38 80 08 00 */ li r4, 0x800
+/* 80304B08 00300768 38 63 30 00 */ addi r3, r3, 0x3000
+/* 80304B0C 0030076C 4B FF D7 0D */ bl NWC24FRead
+/* 80304B10 00300770 2C 03 00 00 */ cmpwi r3, 0
+/* 80304B14 00300774 40 80 00 08 */ bge lbl_80304B1C
+/* 80304B18 00300778 7C 7F 1B 78 */ mr r31, r3
+lbl_80304B1C:
+/* 80304B1C 0030077C 7F E3 FB 78 */ mr r3, r31
+lbl_80304B20:
+/* 80304B20 00300780 2C 03 00 00 */ cmpwi r3, 0
+/* 80304B24 00300784 40 80 00 08 */ bge lbl_80304B2C
+/* 80304B28 00300788 48 00 00 60 */ b lbl_80304B88
+lbl_80304B2C:
+/* 80304B2C 0030078C 38 61 00 0C */ addi r3, r1, 0xc
+/* 80304B30 00300790 38 81 00 08 */ addi r4, r1, 8
+/* 80304B34 00300794 4B FF DA 85 */ bl NWC24FGetLength
+/* 80304B38 00300798 2C 03 00 00 */ cmpwi r3, 0
+/* 80304B3C 0030079C 7C 7F 1B 78 */ mr r31, r3
+/* 80304B40 003007A0 41 80 00 34 */ blt lbl_80304B74
+/* 80304B44 003007A4 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80304B48 003007A8 A0 83 30 10 */ lhz r4, 0x3010(r3)
+/* 80304B4C 003007AC 28 04 00 01 */ cmplwi r4, 1
+/* 80304B50 003007B0 41 80 00 18 */ blt lbl_80304B68
+/* 80304B54 003007B4 A0 03 30 12 */ lhz r0, 0x3012(r3)
+/* 80304B58 003007B8 28 00 00 01 */ cmplwi r0, 1
+/* 80304B5C 003007BC 41 80 00 0C */ blt lbl_80304B68
+/* 80304B60 003007C0 7C 04 00 40 */ cmplw r4, r0
+/* 80304B64 003007C4 40 80 00 0C */ bge lbl_80304B70
+lbl_80304B68:
+/* 80304B68 003007C8 3B E0 FF F2 */ li r31, -14
+/* 80304B6C 003007CC 48 00 00 08 */ b lbl_80304B74
+lbl_80304B70:
+/* 80304B70 003007D0 3B E0 00 00 */ li r31, 0
+lbl_80304B74:
+/* 80304B74 003007D4 38 61 00 0C */ addi r3, r1, 0xc
+/* 80304B78 003007D8 4B FF D3 21 */ bl NWC24FClose
+/* 80304B7C 003007DC 2C 1F 00 00 */ cmpwi r31, 0
+/* 80304B80 003007E0 41 82 00 08 */ beq lbl_80304B88
+/* 80304B84 003007E4 7F E3 FB 78 */ mr r3, r31
+lbl_80304B88:
+/* 80304B88 003007E8 80 01 00 B4 */ lwz r0, 0xb4(r1)
+/* 80304B8C 003007EC 83 E1 00 AC */ lwz r31, 0xac(r1)
+/* 80304B90 003007F0 7C 08 03 A6 */ mtlr r0
+/* 80304B94 003007F4 38 21 00 B0 */ addi r1, r1, 0xb0
+/* 80304B98 003007F8 4E 80 00 20 */ blr
+
+.global DeleteDlTask
+DeleteDlTask:
+/* 80304B9C 003007FC 94 21 FF 40 */ stwu r1, -0xc0(r1)
+/* 80304BA0 00300800 7C 08 02 A6 */ mflr r0
+/* 80304BA4 00300804 38 A0 00 04 */ li r5, 4
+/* 80304BA8 00300808 90 01 00 C4 */ stw r0, 0xc4(r1)
+/* 80304BAC 0030080C 93 E1 00 BC */ stw r31, 0xbc(r1)
+/* 80304BB0 00300810 93 C1 00 B8 */ stw r30, 0xb8(r1)
+/* 80304BB4 00300814 93 A1 00 B4 */ stw r29, 0xb4(r1)
+/* 80304BB8 00300818 7C 7D 1B 78 */ mr r29, r3
+/* 80304BBC 0030081C 38 61 00 08 */ addi r3, r1, 8
+/* 80304BC0 00300820 80 8D 8C C0 */ lwz r4, lbl_8063DF80-_SDA_BASE_(r13)
+/* 80304BC4 00300824 4B FF CF 85 */ bl NWC24FOpen
+/* 80304BC8 00300828 2C 03 00 00 */ cmpwi r3, 0
+/* 80304BCC 0030082C 40 80 00 08 */ bge lbl_80304BD4
+/* 80304BD0 00300830 48 00 01 30 */ b lbl_80304D00
+lbl_80304BD4:
+/* 80304BD4 00300834 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80304BD8 00300838 38 80 00 00 */ li r4, 0
+/* 80304BDC 0030083C A3 FD 00 00 */ lhz r31, 0(r29)
+/* 80304BE0 00300840 38 A0 02 00 */ li r5, 0x200
+/* 80304BE4 00300844 3B C3 38 00 */ addi r30, r3, 0x3800
+/* 80304BE8 00300848 7F C3 F3 78 */ mr r3, r30
+/* 80304BEC 0030084C 4B CF F5 19 */ bl memset
+/* 80304BF0 00300850 38 60 00 FF */ li r3, 0xff
+/* 80304BF4 00300854 57 E0 23 36 */ rlwinm r0, r31, 4, 0xc, 0x1b
+/* 80304BF8 00300858 98 7E 00 02 */ stb r3, 2(r30)
+/* 80304BFC 0030085C 38 80 00 00 */ li r4, 0
+/* 80304C00 00300860 38 A0 00 10 */ li r5, 0x10
+/* 80304C04 00300864 B3 FE 00 00 */ sth r31, 0(r30)
+/* 80304C08 00300868 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80304C0C 0030086C 7C 63 02 14 */ add r3, r3, r0
+/* 80304C10 00300870 38 63 30 80 */ addi r3, r3, 0x3080
+/* 80304C14 00300874 4B CF F4 F1 */ bl memset
+/* 80304C18 00300878 A0 1E 00 00 */ lhz r0, 0(r30)
+/* 80304C1C 0030087C 38 61 00 08 */ addi r3, r1, 8
+/* 80304C20 00300880 38 A0 00 00 */ li r5, 0
+/* 80304C24 00300884 54 04 48 2C */ slwi r4, r0, 9
+/* 80304C28 00300888 38 84 08 00 */ addi r4, r4, 0x800
+/* 80304C2C 0030088C 4B FF D4 01 */ bl NWC24FSeek
+/* 80304C30 00300890 2C 03 00 00 */ cmpwi r3, 0
+/* 80304C34 00300894 40 80 00 08 */ bge lbl_80304C3C
+/* 80304C38 00300898 48 00 00 40 */ b lbl_80304C78
+lbl_80304C3C:
+/* 80304C3C 0030089C 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80304C40 003008A0 7F C4 F3 78 */ mr r4, r30
+/* 80304C44 003008A4 38 A0 02 00 */ li r5, 0x200
+/* 80304C48 003008A8 38 63 38 00 */ addi r3, r3, 0x3800
+/* 80304C4C 003008AC 4B CF F3 B5 */ bl memcpy
+/* 80304C50 003008B0 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80304C54 003008B4 38 A1 00 08 */ addi r5, r1, 8
+/* 80304C58 003008B8 38 80 02 00 */ li r4, 0x200
+/* 80304C5C 003008BC 38 63 38 00 */ addi r3, r3, 0x3800
+/* 80304C60 003008C0 4B FF D7 85 */ bl NWC24FWrite
+/* 80304C64 003008C4 2C 03 00 00 */ cmpwi r3, 0
+/* 80304C68 003008C8 38 00 00 00 */ li r0, 0
+/* 80304C6C 003008CC 40 80 00 08 */ bge lbl_80304C74
+/* 80304C70 003008D0 7C 60 1B 78 */ mr r0, r3
+lbl_80304C74:
+/* 80304C74 003008D4 7C 03 03 78 */ mr r3, r0
+lbl_80304C78:
+/* 80304C78 003008D8 2C 03 00 00 */ cmpwi r3, 0
+/* 80304C7C 003008DC 7C 7E 1B 78 */ mr r30, r3
+/* 80304C80 003008E0 41 80 00 6C */ blt lbl_80304CEC
+/* 80304C84 003008E4 A0 1D 00 00 */ lhz r0, 0(r29)
+/* 80304C88 003008E8 38 80 00 00 */ li r4, 0
+/* 80304C8C 003008EC 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80304C90 003008F0 38 A0 00 10 */ li r5, 0x10
+/* 80304C94 003008F4 54 00 20 36 */ slwi r0, r0, 4
+/* 80304C98 003008F8 7C 63 02 14 */ add r3, r3, r0
+/* 80304C9C 003008FC 38 63 30 80 */ addi r3, r3, 0x3080
+/* 80304CA0 00300900 4B CF F4 65 */ bl memset
+/* 80304CA4 00300904 38 61 00 08 */ addi r3, r1, 8
+/* 80304CA8 00300908 38 80 00 00 */ li r4, 0
+/* 80304CAC 0030090C 38 A0 00 00 */ li r5, 0
+/* 80304CB0 00300910 4B FF D3 7D */ bl NWC24FSeek
+/* 80304CB4 00300914 2C 03 00 00 */ cmpwi r3, 0
+/* 80304CB8 00300918 40 80 00 08 */ bge lbl_80304CC0
+/* 80304CBC 0030091C 48 00 00 2C */ b lbl_80304CE8
+lbl_80304CC0:
+/* 80304CC0 00300920 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80304CC4 00300924 38 A1 00 08 */ addi r5, r1, 8
+/* 80304CC8 00300928 38 80 08 00 */ li r4, 0x800
+/* 80304CCC 0030092C 38 63 30 00 */ addi r3, r3, 0x3000
+/* 80304CD0 00300930 4B FF D7 15 */ bl NWC24FWrite
+/* 80304CD4 00300934 2C 03 00 00 */ cmpwi r3, 0
+/* 80304CD8 00300938 38 00 00 00 */ li r0, 0
+/* 80304CDC 0030093C 40 80 00 08 */ bge lbl_80304CE4
+/* 80304CE0 00300940 7C 60 1B 78 */ mr r0, r3
+lbl_80304CE4:
+/* 80304CE4 00300944 7C 03 03 78 */ mr r3, r0
+lbl_80304CE8:
+/* 80304CE8 00300948 7C 7E 1B 78 */ mr r30, r3
+lbl_80304CEC:
+/* 80304CEC 0030094C 38 61 00 08 */ addi r3, r1, 8
+/* 80304CF0 00300950 4B FF D1 A9 */ bl NWC24FClose
+/* 80304CF4 00300954 2C 1E 00 00 */ cmpwi r30, 0
+/* 80304CF8 00300958 41 82 00 08 */ beq lbl_80304D00
+/* 80304CFC 0030095C 7F C3 F3 78 */ mr r3, r30
+lbl_80304D00:
+/* 80304D00 00300960 80 01 00 C4 */ lwz r0, 0xc4(r1)
+/* 80304D04 00300964 83 E1 00 BC */ lwz r31, 0xbc(r1)
+/* 80304D08 00300968 83 C1 00 B8 */ lwz r30, 0xb8(r1)
+/* 80304D0C 0030096C 83 A1 00 B4 */ lwz r29, 0xb4(r1)
+/* 80304D10 00300970 7C 08 03 A6 */ mtlr r0
+/* 80304D14 00300974 38 21 00 C0 */ addi r1, r1, 0xc0
+/* 80304D18 00300978 4E 80 00 20 */ blr
diff --git a/asm/SDK/NWC24/NWC24FriendList.s b/asm/SDK/NWC24/NWC24FriendList.s
new file mode 100644
index 0000000..d375ead
--- /dev/null
+++ b/asm/SDK/NWC24/NWC24FriendList.s
@@ -0,0 +1,86 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global NWC24iOpenFriendList
+NWC24iOpenFriendList:
+/* 80304268 002FFEC8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8030426C 002FFECC 7C 08 02 A6 */ mflr r0
+/* 80304270 002FFED0 38 80 00 00 */ li r4, 0
+/* 80304274 002FFED4 38 A0 03 60 */ li r5, 0x360
+/* 80304278 002FFED8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8030427C 002FFEDC 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 80304280 002FFEE0 38 63 24 00 */ addi r3, r3, 0x2400
+/* 80304284 002FFEE4 90 61 00 08 */ stw r3, 8(r1)
+/* 80304288 002FFEE8 4B FF CD 8D */ bl Mail_memset
+/* 8030428C 002FFEEC 38 61 00 08 */ addi r3, r1, 8
+/* 80304290 002FFEF0 48 00 00 15 */ bl GetCachedFLHeader
+/* 80304294 002FFEF4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80304298 002FFEF8 7C 08 03 A6 */ mtlr r0
+/* 8030429C 002FFEFC 38 21 00 10 */ addi r1, r1, 0x10
+/* 803042A0 002FFF00 4E 80 00 20 */ blr
+
+.global GetCachedFLHeader
+GetCachedFLHeader:
+/* 803042A4 002FFF04 94 21 FF 50 */ stwu r1, -0xb0(r1)
+/* 803042A8 002FFF08 7C 08 02 A6 */ mflr r0
+/* 803042AC 002FFF0C 90 01 00 B4 */ stw r0, 0xb4(r1)
+/* 803042B0 002FFF10 93 E1 00 AC */ stw r31, 0xac(r1)
+/* 803042B4 002FFF14 93 C1 00 A8 */ stw r30, 0xa8(r1)
+/* 803042B8 002FFF18 7C 7E 1B 78 */ mr r30, r3
+/* 803042BC 002FFF1C 80 8D AF 90 */ lwz r4, lbl_80640250-_SDA_BASE_(r13)
+/* 803042C0 002FFF20 38 84 24 00 */ addi r4, r4, 0x2400
+/* 803042C4 002FFF24 90 83 00 00 */ stw r4, 0(r3)
+/* 803042C8 002FFF28 80 64 00 00 */ lwz r3, 0(r4)
+/* 803042CC 002FFF2C 3C 03 A8 9D */ addis r0, r3, 0xa89d
+/* 803042D0 002FFF30 28 00 46 6C */ cmplwi r0, 0x466c
+/* 803042D4 002FFF34 41 82 00 94 */ beq lbl_80304368
+/* 803042D8 002FFF38 80 8D 8C B0 */ lwz r4, lbl_8063DF70-_SDA_BASE_(r13)
+/* 803042DC 002FFF3C 38 61 00 08 */ addi r3, r1, 8
+/* 803042E0 002FFF40 38 A0 00 02 */ li r5, 2
+/* 803042E4 002FFF44 4B FF D8 65 */ bl NWC24FOpen
+/* 803042E8 002FFF48 2C 03 00 00 */ cmpwi r3, 0
+/* 803042EC 002FFF4C 41 82 00 08 */ beq lbl_803042F4
+/* 803042F0 002FFF50 48 00 00 7C */ b lbl_8030436C
+lbl_803042F4:
+/* 803042F4 002FFF54 38 61 00 08 */ addi r3, r1, 8
+/* 803042F8 002FFF58 38 80 00 00 */ li r4, 0
+/* 803042FC 002FFF5C 38 A0 00 00 */ li r5, 0
+/* 80304300 002FFF60 4B FF DD 2D */ bl NWC24FSeek
+/* 80304304 002FFF64 80 7E 00 00 */ lwz r3, 0(r30)
+/* 80304308 002FFF68 38 A1 00 08 */ addi r5, r1, 8
+/* 8030430C 002FFF6C 38 80 03 60 */ li r4, 0x360
+/* 80304310 002FFF70 4B FF DF 09 */ bl NWC24FRead
+/* 80304314 002FFF74 7C 7F 1B 78 */ mr r31, r3
+/* 80304318 002FFF78 38 61 00 08 */ addi r3, r1, 8
+/* 8030431C 002FFF7C 4B FF DB 7D */ bl NWC24FClose
+/* 80304320 002FFF80 2C 1F 00 00 */ cmpwi r31, 0
+/* 80304324 002FFF84 41 82 00 08 */ beq lbl_8030432C
+/* 80304328 002FFF88 7F E3 FB 78 */ mr r3, r31
+lbl_8030432C:
+/* 8030432C 002FFF8C 2C 03 00 00 */ cmpwi r3, 0
+/* 80304330 002FFF90 41 82 00 08 */ beq lbl_80304338
+/* 80304334 002FFF94 48 00 00 38 */ b lbl_8030436C
+lbl_80304338:
+/* 80304338 002FFF98 80 9E 00 00 */ lwz r4, 0(r30)
+/* 8030433C 002FFF9C 80 64 00 00 */ lwz r3, 0(r4)
+/* 80304340 002FFFA0 3C 03 A8 9D */ addis r0, r3, 0xa89d
+/* 80304344 002FFFA4 28 00 46 6C */ cmplwi r0, 0x466c
+/* 80304348 002FFFA8 41 82 00 0C */ beq lbl_80304354
+/* 8030434C 002FFFAC 38 60 FF F2 */ li r3, -14
+/* 80304350 002FFFB0 48 00 00 1C */ b lbl_8030436C
+lbl_80304354:
+/* 80304354 002FFFB4 80 04 00 04 */ lwz r0, 4(r4)
+/* 80304358 002FFFB8 28 00 00 02 */ cmplwi r0, 2
+/* 8030435C 002FFFBC 41 82 00 0C */ beq lbl_80304368
+/* 80304360 002FFFC0 38 60 FF E5 */ li r3, -27
+/* 80304364 002FFFC4 48 00 00 08 */ b lbl_8030436C
+lbl_80304368:
+/* 80304368 002FFFC8 38 60 00 00 */ li r3, 0
+lbl_8030436C:
+/* 8030436C 002FFFCC 80 01 00 B4 */ lwz r0, 0xb4(r1)
+/* 80304370 002FFFD0 83 E1 00 AC */ lwz r31, 0xac(r1)
+/* 80304374 002FFFD4 83 C1 00 A8 */ lwz r30, 0xa8(r1)
+/* 80304378 002FFFD8 7C 08 03 A6 */ mtlr r0
+/* 8030437C 002FFFDC 38 21 00 B0 */ addi r1, r1, 0xb0
+/* 80304380 002FFFE0 4E 80 00 20 */ blr
diff --git a/asm/SDK/NWC24/NWC24Ipc.s b/asm/SDK/NWC24/NWC24Ipc.s
new file mode 100644
index 0000000..eb9183c
--- /dev/null
+++ b/asm/SDK/NWC24/NWC24Ipc.s
@@ -0,0 +1,122 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global NWC24iOpenResourceManager
+NWC24iOpenResourceManager:
+/* 8030467C 003002DC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80304680 003002E0 7C 08 02 A6 */ mflr r0
+/* 80304684 003002E4 2C 05 00 00 */ cmpwi r5, 0
+/* 80304688 003002E8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8030468C 003002EC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80304690 003002F0 7C BF 2B 78 */ mr r31, r5
+/* 80304694 003002F4 40 82 00 0C */ bne lbl_803046A0
+/* 80304698 003002F8 38 60 FF FD */ li r3, -3
+/* 8030469C 003002FC 48 00 00 44 */ b lbl_803046E0
+lbl_803046A0:
+/* 803046A0 00300300 7C 83 23 78 */ mr r3, r4
+/* 803046A4 00300304 7C C4 33 78 */ mr r4, r6
+/* 803046A8 00300308 4B F9 EA B1 */ bl IOS_Open
+/* 803046AC 0030030C 2C 03 00 00 */ cmpwi r3, 0
+/* 803046B0 00300310 90 7F 00 00 */ stw r3, 0(r31)
+/* 803046B4 00300314 40 80 00 28 */ bge lbl_803046DC
+/* 803046B8 00300318 2C 03 FF FA */ cmpwi r3, -6
+/* 803046BC 0030031C 40 82 00 0C */ bne lbl_803046C8
+/* 803046C0 00300320 38 60 FF E3 */ li r3, -29
+/* 803046C4 00300324 48 00 00 1C */ b lbl_803046E0
+lbl_803046C8:
+/* 803046C8 00300328 2C 03 FF F8 */ cmpwi r3, -8
+/* 803046CC 0030032C 38 60 FF D6 */ li r3, -42
+/* 803046D0 00300330 40 82 00 10 */ bne lbl_803046E0
+/* 803046D4 00300334 38 60 FF E6 */ li r3, -26
+/* 803046D8 00300338 48 00 00 08 */ b lbl_803046E0
+lbl_803046DC:
+/* 803046DC 0030033C 38 60 00 00 */ li r3, 0
+lbl_803046E0:
+/* 803046E0 00300340 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803046E4 00300344 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 803046E8 00300348 7C 08 03 A6 */ mtlr r0
+/* 803046EC 0030034C 38 21 00 10 */ addi r1, r1, 0x10
+/* 803046F0 00300350 4E 80 00 20 */ blr
+
+.global NWC24iCloseResourceManager
+NWC24iCloseResourceManager:
+/* 803046F4 00300354 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 803046F8 00300358 7C 08 02 A6 */ mflr r0
+/* 803046FC 0030035C 7C 83 23 78 */ mr r3, r4
+/* 80304700 00300360 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80304704 00300364 4B F9 EC 35 */ bl IOS_Close
+/* 80304708 00300368 2C 03 00 00 */ cmpwi r3, 0
+/* 8030470C 0030036C 38 60 00 00 */ li r3, 0
+/* 80304710 00300370 40 80 00 08 */ bge lbl_80304718
+/* 80304714 00300374 38 60 FF D6 */ li r3, -42
+lbl_80304718:
+/* 80304718 00300378 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8030471C 0030037C 7C 08 03 A6 */ mtlr r0
+/* 80304720 00300380 38 21 00 10 */ addi r1, r1, 0x10
+/* 80304724 00300384 4E 80 00 20 */ blr
+
+.global NWC24iIoctlResourceManager
+NWC24iIoctlResourceManager:
+/* 80304728 00300388 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8030472C 0030038C 7C 08 02 A6 */ mflr r0
+/* 80304730 00300390 7C 83 23 78 */ mr r3, r4
+/* 80304734 00300394 7C A4 2B 78 */ mr r4, r5
+/* 80304738 00300398 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8030473C 0030039C 7C C5 33 78 */ mr r5, r6
+/* 80304740 003003A0 7C E6 3B 78 */ mr r6, r7
+/* 80304744 003003A4 7D 07 43 78 */ mr r7, r8
+/* 80304748 003003A8 7D 28 4B 78 */ mr r8, r9
+/* 8030474C 003003AC 4B F9 F3 A5 */ bl IOS_Ioctl
+/* 80304750 003003B0 2C 03 00 00 */ cmpwi r3, 0
+/* 80304754 003003B4 38 60 00 00 */ li r3, 0
+/* 80304758 003003B8 40 80 00 08 */ bge lbl_80304760
+/* 8030475C 003003BC 38 60 FF D6 */ li r3, -42
+lbl_80304760:
+/* 80304760 003003C0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80304764 003003C4 7C 08 03 A6 */ mtlr r0
+/* 80304768 003003C8 38 21 00 10 */ addi r1, r1, 0x10
+/* 8030476C 003003CC 4E 80 00 20 */ blr
+
+.global NWC24iIoctlResourceManagerAsync
+NWC24iIoctlResourceManagerAsync:
+/* 80304770 003003D0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80304774 003003D4 7C 08 02 A6 */ mflr r0
+/* 80304778 003003D8 7C 83 23 78 */ mr r3, r4
+/* 8030477C 003003DC 7C A4 2B 78 */ mr r4, r5
+/* 80304780 003003E0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80304784 003003E4 3D 60 80 30 */ lis r11, CallbackAsyncIpc@ha
+/* 80304788 003003E8 7C C5 33 78 */ mr r5, r6
+/* 8030478C 003003EC 7C E6 3B 78 */ mr r6, r7
+/* 80304790 003003F0 7D 07 43 78 */ mr r7, r8
+/* 80304794 003003F4 7D 28 4B 78 */ mr r8, r9
+/* 80304798 003003F8 39 2B 47 D4 */ addi r9, r11, CallbackAsyncIpc@l
+/* 8030479C 003003FC 4B F9 F2 1D */ bl IOS_IoctlAsync
+/* 803047A0 00300400 2C 03 00 00 */ cmpwi r3, 0
+/* 803047A4 00300404 40 80 00 0C */ bge lbl_803047B0
+/* 803047A8 00300408 38 60 FF D6 */ li r3, -42
+/* 803047AC 0030040C 48 00 00 10 */ b lbl_803047BC
+lbl_803047B0:
+/* 803047B0 00300410 38 00 00 01 */ li r0, 1
+/* 803047B4 00300414 38 60 00 00 */ li r3, 0
+/* 803047B8 00300418 90 0D AF C8 */ stw r0, lbl_80640288-_SDA_BASE_(r13)
+lbl_803047BC:
+/* 803047BC 0030041C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803047C0 00300420 7C 08 03 A6 */ mtlr r0
+/* 803047C4 00300424 38 21 00 10 */ addi r1, r1, 0x10
+/* 803047C8 00300428 4E 80 00 20 */ blr
+
+.global NWC24iIsAsyncRequestPending
+NWC24iIsAsyncRequestPending:
+/* 803047CC 0030042C 80 6D AF C8 */ lwz r3, lbl_80640288-_SDA_BASE_(r13)
+/* 803047D0 00300430 4E 80 00 20 */ blr
+
+CallbackAsyncIpc:
+/* 803047D4 00300434 2C 04 00 00 */ cmpwi r4, 0
+/* 803047D8 00300438 41 82 00 08 */ beq lbl_803047E0
+/* 803047DC 0030043C 90 64 00 00 */ stw r3, 0(r4)
+lbl_803047E0:
+/* 803047E0 00300440 38 00 00 00 */ li r0, 0
+/* 803047E4 00300444 38 60 00 00 */ li r3, 0
+/* 803047E8 00300448 90 0D AF C8 */ stw r0, lbl_80640288-_SDA_BASE_(r13)
+/* 803047EC 0030044C 4E 80 00 20 */ blr
diff --git a/asm/SDK/NWC24/NWC24Manage.s b/asm/SDK/NWC24/NWC24Manage.s
index 726ae61..372e88e 100644
--- a/asm/SDK/NWC24/NWC24Manage.s
+++ b/asm/SDK/NWC24/NWC24Manage.s
@@ -70,7 +70,7 @@ lbl_8030311C:
/* 80303124 002FED84 38 60 FF E9 */ li r3, -23
/* 80303128 002FED88 48 00 01 34 */ b lbl_8030325C
lbl_8030312C:
-/* 8030312C 002FED8C 48 00 0C 85 */ bl func_80303DB0
+/* 8030312C 002FED8C 48 00 0C 85 */ bl NWC24iTrySuspendForOpenLib
/* 80303130 002FED90 2C 03 00 00 */ cmpwi r3, 0
/* 80303134 002FED94 40 82 00 F8 */ bne lbl_8030322C
/* 80303138 002FED98 80 0D AF A0 */ lwz r0, lbl_80640260-_SDA_BASE_(r13)
@@ -86,7 +86,7 @@ lbl_80303154:
/* 8030315C 002FEDBC 93 CD AF 90 */ stw r30, lbl_80640250-_SDA_BASE_(r13)
/* 80303160 002FEDC0 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 80303164 002FEDC4 90 0D AF 98 */ stw r0, lbl_80640258-_SDA_BASE_(r13)
-/* 80303168 002FEDC8 48 00 05 AD */ bl func_80303714
+/* 80303168 002FEDC8 48 00 05 AD */ bl NWC24InitBase64Table
/* 8030316C 002FEDCC 3B C0 00 00 */ li r30, 0
/* 80303170 002FEDD0 3B E0 00 00 */ li r31, 0
/* 80303174 002FEDD4 4B FF FA F9 */ bl NWC24iConfigOpen
@@ -101,13 +101,13 @@ lbl_80303188:
/* 80303194 002FEDF4 7C 7F 1B 78 */ mr r31, r3
/* 80303198 002FEDF8 63 DE 00 04 */ ori r30, r30, 4
lbl_8030319C:
-/* 8030319C 002FEDFC 48 00 10 CD */ bl func_80304268
+/* 8030319C 002FEDFC 48 00 10 CD */ bl NWC24iOpenFriendList
/* 803031A0 002FEE00 2C 03 00 00 */ cmpwi r3, 0
/* 803031A4 002FEE04 41 82 00 0C */ beq lbl_803031B0
/* 803031A8 002FEE08 7C 7F 1B 78 */ mr r31, r3
/* 803031AC 002FEE0C 63 DE 00 04 */ ori r30, r30, 4
lbl_803031B0:
-/* 803031B0 002FEE10 48 00 11 D5 */ bl func_80304384
+/* 803031B0 002FEE10 48 00 11 D5 */ bl NWC24iOpenSecretFriendList
/* 803031B4 002FEE14 2C 03 00 00 */ cmpwi r3, 0
/* 803031B8 002FEE18 41 82 00 1C */ beq lbl_803031D4
/* 803031BC 002FEE1C 2C 03 FF EC */ cmpwi r3, -20
@@ -118,7 +118,7 @@ lbl_803031B0:
lbl_803031D0:
/* 803031D0 002FEE30 7C 1E 03 78 */ mr r30, r0
lbl_803031D4:
-/* 803031D4 002FEE34 48 00 16 1D */ bl func_803047F0
+/* 803031D4 002FEE34 48 00 16 1D */ bl NWC24iOpenDlTaskList
/* 803031D8 002FEE38 2C 03 00 00 */ cmpwi r3, 0
/* 803031DC 002FEE3C 40 80 00 1C */ bge lbl_803031F8
/* 803031E0 002FEE40 2C 03 FF EC */ cmpwi r3, -20
@@ -137,7 +137,7 @@ lbl_80303204:
/* 80303208 002FEE68 41 82 00 18 */ beq lbl_80303220
/* 8030320C 002FEE6C 38 00 00 00 */ li r0, 0
/* 80303210 002FEE70 90 0D AF 90 */ stw r0, lbl_80640250-_SDA_BASE_(r13)
-/* 80303214 002FEE74 48 00 0C 7D */ bl func_80303E90
+/* 80303214 002FEE74 48 00 0C 7D */ bl NWC24iResumeForCloseLib
/* 80303218 002FEE78 7F E3 FB 78 */ mr r3, r31
/* 8030321C 002FEE7C 48 00 00 10 */ b lbl_8030322C
lbl_80303220:
@@ -182,12 +182,12 @@ lbl_80303298:
/* 803032A0 002FEF00 41 82 00 08 */ beq lbl_803032A8
/* 803032A4 002FEF04 48 00 00 30 */ b lbl_803032D4
lbl_803032A8:
-/* 803032A8 002FEF08 48 00 15 95 */ bl func_8030483C
+/* 803032A8 002FEF08 48 00 15 95 */ bl NWC24iCloseDlTaskList
/* 803032AC 002FEF0C 2C 03 00 00 */ cmpwi r3, 0
/* 803032B0 002FEF10 40 80 00 08 */ bge lbl_803032B8
/* 803032B4 002FEF14 48 00 00 20 */ b lbl_803032D4
lbl_803032B8:
-/* 803032B8 002FEF18 48 00 0B D9 */ bl func_80303E90
+/* 803032B8 002FEF18 48 00 0B D9 */ bl NWC24iResumeForCloseLib
/* 803032BC 002FEF1C 2C 03 00 00 */ cmpwi r3, 0
/* 803032C0 002FEF20 41 82 00 08 */ beq lbl_803032C8
/* 803032C4 002FEF24 48 00 00 10 */ b lbl_803032D4
diff --git a/asm/SDK/NWC24/NWC24Mime.s b/asm/SDK/NWC24/NWC24Mime.s
new file mode 100644
index 0000000..f41dc54
--- /dev/null
+++ b/asm/SDK/NWC24/NWC24Mime.s
@@ -0,0 +1,191 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global NWC24InitBase64Table
+NWC24InitBase64Table:
+/* 80303714 002FF374 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80303718 002FF378 7C 08 02 A6 */ mflr r0
+/* 8030371C 002FF37C 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80303720 002FF380 39 61 00 30 */ addi r11, r1, 0x30
+/* 80303724 002FF384 4B EC 39 FD */ bl _savegpr_25
+/* 80303728 002FF388 38 00 00 08 */ li r0, 8
+/* 8030372C 002FF38C 38 C0 00 00 */ li r6, 0
+/* 80303730 002FF390 38 80 FF FF */ li r4, -1
+/* 80303734 002FF394 7C 09 03 A6 */ mtctr r0
+lbl_80303738:
+/* 80303738 002FF398 7C 83 31 AE */ stbx r4, r3, r6
+/* 8030373C 002FF39C 7C A3 32 14 */ add r5, r3, r6
+/* 80303740 002FF3A0 38 C6 00 08 */ addi r6, r6, 8
+/* 80303744 002FF3A4 98 85 00 01 */ stb r4, 1(r5)
+/* 80303748 002FF3A8 98 85 00 02 */ stb r4, 2(r5)
+/* 8030374C 002FF3AC 98 85 00 03 */ stb r4, 3(r5)
+/* 80303750 002FF3B0 98 85 00 04 */ stb r4, 4(r5)
+/* 80303754 002FF3B4 98 85 00 05 */ stb r4, 5(r5)
+/* 80303758 002FF3B8 98 85 00 06 */ stb r4, 6(r5)
+/* 8030375C 002FF3BC 98 85 00 07 */ stb r4, 7(r5)
+/* 80303760 002FF3C0 7C A3 32 14 */ add r5, r3, r6
+/* 80303764 002FF3C4 7C 83 31 AE */ stbx r4, r3, r6
+/* 80303768 002FF3C8 38 C6 00 08 */ addi r6, r6, 8
+/* 8030376C 002FF3CC 98 85 00 01 */ stb r4, 1(r5)
+/* 80303770 002FF3D0 98 85 00 02 */ stb r4, 2(r5)
+/* 80303774 002FF3D4 98 85 00 03 */ stb r4, 3(r5)
+/* 80303778 002FF3D8 98 85 00 04 */ stb r4, 4(r5)
+/* 8030377C 002FF3DC 98 85 00 05 */ stb r4, 5(r5)
+/* 80303780 002FF3E0 98 85 00 06 */ stb r4, 6(r5)
+/* 80303784 002FF3E4 98 85 00 07 */ stb r4, 7(r5)
+/* 80303788 002FF3E8 7C A3 32 14 */ add r5, r3, r6
+/* 8030378C 002FF3EC 7C 83 31 AE */ stbx r4, r3, r6
+/* 80303790 002FF3F0 38 C6 00 08 */ addi r6, r6, 8
+/* 80303794 002FF3F4 98 85 00 01 */ stb r4, 1(r5)
+/* 80303798 002FF3F8 98 85 00 02 */ stb r4, 2(r5)
+/* 8030379C 002FF3FC 98 85 00 03 */ stb r4, 3(r5)
+/* 803037A0 002FF400 98 85 00 04 */ stb r4, 4(r5)
+/* 803037A4 002FF404 98 85 00 05 */ stb r4, 5(r5)
+/* 803037A8 002FF408 98 85 00 06 */ stb r4, 6(r5)
+/* 803037AC 002FF40C 98 85 00 07 */ stb r4, 7(r5)
+/* 803037B0 002FF410 7C A3 32 14 */ add r5, r3, r6
+/* 803037B4 002FF414 7C 83 31 AE */ stbx r4, r3, r6
+/* 803037B8 002FF418 38 C6 00 08 */ addi r6, r6, 8
+/* 803037BC 002FF41C 98 85 00 01 */ stb r4, 1(r5)
+/* 803037C0 002FF420 98 85 00 02 */ stb r4, 2(r5)
+/* 803037C4 002FF424 98 85 00 03 */ stb r4, 3(r5)
+/* 803037C8 002FF428 98 85 00 04 */ stb r4, 4(r5)
+/* 803037CC 002FF42C 98 85 00 05 */ stb r4, 5(r5)
+/* 803037D0 002FF430 98 85 00 06 */ stb r4, 6(r5)
+/* 803037D4 002FF434 98 85 00 07 */ stb r4, 7(r5)
+/* 803037D8 002FF438 42 00 FF 60 */ bdnz lbl_80303738
+/* 803037DC 002FF43C 39 80 00 00 */ li r12, 0
+/* 803037E0 002FF440 39 60 00 01 */ li r11, 1
+/* 803037E4 002FF444 99 83 00 41 */ stb r12, 0x41(r3)
+/* 803037E8 002FF448 39 40 00 02 */ li r10, 2
+/* 803037EC 002FF44C 39 20 00 03 */ li r9, 3
+/* 803037F0 002FF450 39 00 00 04 */ li r8, 4
+/* 803037F4 002FF454 99 63 00 42 */ stb r11, 0x42(r3)
+/* 803037F8 002FF458 38 E0 00 05 */ li r7, 5
+/* 803037FC 002FF45C 38 C0 00 06 */ li r6, 6
+/* 80303800 002FF460 38 A0 00 07 */ li r5, 7
+/* 80303804 002FF464 99 43 00 43 */ stb r10, 0x43(r3)
+/* 80303808 002FF468 39 80 00 08 */ li r12, 8
+/* 8030380C 002FF46C 39 60 00 09 */ li r11, 9
+/* 80303810 002FF470 39 40 00 0A */ li r10, 0xa
+/* 80303814 002FF474 99 23 00 44 */ stb r9, 0x44(r3)
+/* 80303818 002FF478 39 20 00 0B */ li r9, 0xb
+/* 8030381C 002FF47C 38 80 00 18 */ li r4, 0x18
+/* 80303820 002FF480 38 00 00 19 */ li r0, 0x19
+/* 80303824 002FF484 99 03 00 45 */ stb r8, 0x45(r3)
+/* 80303828 002FF488 39 00 00 0C */ li r8, 0xc
+/* 8030382C 002FF48C 98 E3 00 46 */ stb r7, 0x46(r3)
+/* 80303830 002FF490 38 E0 00 0D */ li r7, 0xd
+/* 80303834 002FF494 98 C3 00 47 */ stb r6, 0x47(r3)
+/* 80303838 002FF498 38 C0 00 0E */ li r6, 0xe
+/* 8030383C 002FF49C 98 A3 00 48 */ stb r5, 0x48(r3)
+/* 80303840 002FF4A0 38 A0 00 0F */ li r5, 0xf
+/* 80303844 002FF4A4 99 83 00 49 */ stb r12, 0x49(r3)
+/* 80303848 002FF4A8 39 80 00 10 */ li r12, 0x10
+/* 8030384C 002FF4AC 99 63 00 4A */ stb r11, 0x4a(r3)
+/* 80303850 002FF4B0 39 60 00 11 */ li r11, 0x11
+/* 80303854 002FF4B4 99 43 00 4B */ stb r10, 0x4b(r3)
+/* 80303858 002FF4B8 39 40 00 12 */ li r10, 0x12
+/* 8030385C 002FF4BC 99 23 00 4C */ stb r9, 0x4c(r3)
+/* 80303860 002FF4C0 39 20 00 13 */ li r9, 0x13
+/* 80303864 002FF4C4 99 03 00 4D */ stb r8, 0x4d(r3)
+/* 80303868 002FF4C8 39 00 00 14 */ li r8, 0x14
+/* 8030386C 002FF4CC 98 E3 00 4E */ stb r7, 0x4e(r3)
+/* 80303870 002FF4D0 38 E0 00 15 */ li r7, 0x15
+/* 80303874 002FF4D4 98 C3 00 4F */ stb r6, 0x4f(r3)
+/* 80303878 002FF4D8 38 C0 00 16 */ li r6, 0x16
+/* 8030387C 002FF4DC 98 A3 00 50 */ stb r5, 0x50(r3)
+/* 80303880 002FF4E0 38 A0 00 17 */ li r5, 0x17
+/* 80303884 002FF4E4 99 83 00 51 */ stb r12, 0x51(r3)
+/* 80303888 002FF4E8 99 63 00 52 */ stb r11, 0x52(r3)
+/* 8030388C 002FF4EC 99 43 00 53 */ stb r10, 0x53(r3)
+/* 80303890 002FF4F0 99 23 00 54 */ stb r9, 0x54(r3)
+/* 80303894 002FF4F4 99 03 00 55 */ stb r8, 0x55(r3)
+/* 80303898 002FF4F8 98 E3 00 56 */ stb r7, 0x56(r3)
+/* 8030389C 002FF4FC 98 C3 00 57 */ stb r6, 0x57(r3)
+/* 803038A0 002FF500 98 A3 00 58 */ stb r5, 0x58(r3)
+/* 803038A4 002FF504 98 83 00 59 */ stb r4, 0x59(r3)
+/* 803038A8 002FF508 98 03 00 5A */ stb r0, 0x5a(r3)
+/* 803038AC 002FF50C 3B 20 00 1A */ li r25, 0x1a
+/* 803038B0 002FF510 3B 40 00 1B */ li r26, 0x1b
+/* 803038B4 002FF514 9B 23 00 61 */ stb r25, 0x61(r3)
+/* 803038B8 002FF518 3B 60 00 1C */ li r27, 0x1c
+/* 803038BC 002FF51C 3B 80 00 1D */ li r28, 0x1d
+/* 803038C0 002FF520 3B A0 00 1E */ li r29, 0x1e
+/* 803038C4 002FF524 9B 43 00 62 */ stb r26, 0x62(r3)
+/* 803038C8 002FF528 3B C0 00 1F */ li r30, 0x1f
+/* 803038CC 002FF52C 3B E0 00 20 */ li r31, 0x20
+/* 803038D0 002FF530 39 80 00 21 */ li r12, 0x21
+/* 803038D4 002FF534 9B 63 00 63 */ stb r27, 0x63(r3)
+/* 803038D8 002FF538 3B 20 00 22 */ li r25, 0x22
+/* 803038DC 002FF53C 3B 40 00 23 */ li r26, 0x23
+/* 803038E0 002FF540 3B 60 00 24 */ li r27, 0x24
+/* 803038E4 002FF544 9B 83 00 64 */ stb r28, 0x64(r3)
+/* 803038E8 002FF548 3B 80 00 25 */ li r28, 0x25
+/* 803038EC 002FF54C 39 60 00 32 */ li r11, 0x32
+/* 803038F0 002FF550 39 40 00 33 */ li r10, 0x33
+/* 803038F4 002FF554 9B A3 00 65 */ stb r29, 0x65(r3)
+/* 803038F8 002FF558 3B A0 00 26 */ li r29, 0x26
+/* 803038FC 002FF55C 39 20 00 34 */ li r9, 0x34
+/* 80303900 002FF560 39 00 00 35 */ li r8, 0x35
+/* 80303904 002FF564 9B C3 00 66 */ stb r30, 0x66(r3)
+/* 80303908 002FF568 3B C0 00 27 */ li r30, 0x27
+/* 8030390C 002FF56C 38 E0 00 36 */ li r7, 0x36
+/* 80303910 002FF570 38 C0 00 37 */ li r6, 0x37
+/* 80303914 002FF574 9B E3 00 67 */ stb r31, 0x67(r3)
+/* 80303918 002FF578 3B E0 00 28 */ li r31, 0x28
+/* 8030391C 002FF57C 38 A0 00 38 */ li r5, 0x38
+/* 80303920 002FF580 38 80 00 3E */ li r4, 0x3e
+/* 80303924 002FF584 99 83 00 68 */ stb r12, 0x68(r3)
+/* 80303928 002FF588 39 80 00 29 */ li r12, 0x29
+/* 8030392C 002FF58C 38 00 00 3F */ li r0, 0x3f
+/* 80303930 002FF590 9B 23 00 69 */ stb r25, 0x69(r3)
+/* 80303934 002FF594 3B 20 00 2A */ li r25, 0x2a
+/* 80303938 002FF598 9B 43 00 6A */ stb r26, 0x6a(r3)
+/* 8030393C 002FF59C 3B 40 00 2B */ li r26, 0x2b
+/* 80303940 002FF5A0 9B 63 00 6B */ stb r27, 0x6b(r3)
+/* 80303944 002FF5A4 3B 60 00 2C */ li r27, 0x2c
+/* 80303948 002FF5A8 9B 83 00 6C */ stb r28, 0x6c(r3)
+/* 8030394C 002FF5AC 3B 80 00 2D */ li r28, 0x2d
+/* 80303950 002FF5B0 9B A3 00 6D */ stb r29, 0x6d(r3)
+/* 80303954 002FF5B4 3B A0 00 2E */ li r29, 0x2e
+/* 80303958 002FF5B8 9B C3 00 6E */ stb r30, 0x6e(r3)
+/* 8030395C 002FF5BC 3B C0 00 2F */ li r30, 0x2f
+/* 80303960 002FF5C0 9B E3 00 6F */ stb r31, 0x6f(r3)
+/* 80303964 002FF5C4 3B E0 00 30 */ li r31, 0x30
+/* 80303968 002FF5C8 99 83 00 70 */ stb r12, 0x70(r3)
+/* 8030396C 002FF5CC 39 80 00 31 */ li r12, 0x31
+/* 80303970 002FF5D0 9B 23 00 71 */ stb r25, 0x71(r3)
+/* 80303974 002FF5D4 9B 43 00 72 */ stb r26, 0x72(r3)
+/* 80303978 002FF5D8 9B 63 00 73 */ stb r27, 0x73(r3)
+/* 8030397C 002FF5DC 9B 83 00 74 */ stb r28, 0x74(r3)
+/* 80303980 002FF5E0 9B A3 00 75 */ stb r29, 0x75(r3)
+/* 80303984 002FF5E4 9B C3 00 76 */ stb r30, 0x76(r3)
+/* 80303988 002FF5E8 9B E3 00 77 */ stb r31, 0x77(r3)
+/* 8030398C 002FF5EC 99 83 00 78 */ stb r12, 0x78(r3)
+/* 80303990 002FF5F0 99 63 00 79 */ stb r11, 0x79(r3)
+/* 80303994 002FF5F4 39 61 00 30 */ addi r11, r1, 0x30
+/* 80303998 002FF5F8 99 43 00 7A */ stb r10, 0x7a(r3)
+/* 8030399C 002FF5FC 99 23 00 30 */ stb r9, 0x30(r3)
+/* 803039A0 002FF600 39 20 00 39 */ li r9, 0x39
+/* 803039A4 002FF604 99 03 00 31 */ stb r8, 0x31(r3)
+/* 803039A8 002FF608 39 00 00 3A */ li r8, 0x3a
+/* 803039AC 002FF60C 98 E3 00 32 */ stb r7, 0x32(r3)
+/* 803039B0 002FF610 38 E0 00 3B */ li r7, 0x3b
+/* 803039B4 002FF614 98 C3 00 33 */ stb r6, 0x33(r3)
+/* 803039B8 002FF618 38 C0 00 3C */ li r6, 0x3c
+/* 803039BC 002FF61C 98 A3 00 34 */ stb r5, 0x34(r3)
+/* 803039C0 002FF620 38 A0 00 3D */ li r5, 0x3d
+/* 803039C4 002FF624 99 23 00 35 */ stb r9, 0x35(r3)
+/* 803039C8 002FF628 99 03 00 36 */ stb r8, 0x36(r3)
+/* 803039CC 002FF62C 98 E3 00 37 */ stb r7, 0x37(r3)
+/* 803039D0 002FF630 98 C3 00 38 */ stb r6, 0x38(r3)
+/* 803039D4 002FF634 98 A3 00 39 */ stb r5, 0x39(r3)
+/* 803039D8 002FF638 98 83 00 2B */ stb r4, 0x2b(r3)
+/* 803039DC 002FF63C 98 03 00 2F */ stb r0, 0x2f(r3)
+/* 803039E0 002FF640 4B EC 37 8D */ bl _restgpr_25
+/* 803039E4 002FF644 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 803039E8 002FF648 7C 08 03 A6 */ mtlr r0
+/* 803039EC 002FF64C 38 21 00 30 */ addi r1, r1, 0x30
+/* 803039F0 002FF650 4E 80 00 20 */ blr
diff --git a/asm/SDK/NWC24/NWC24Schedule.s b/asm/SDK/NWC24/NWC24Schedule.s
new file mode 100644
index 0000000..2aa8c6e
--- /dev/null
+++ b/asm/SDK/NWC24/NWC24Schedule.s
@@ -0,0 +1,627 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global NWC24SuspendScheduler
+NWC24SuspendScheduler:
+/* 803039F4 002FF654 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 803039F8 002FF658 7C 08 02 A6 */ mflr r0
+/* 803039FC 002FF65C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80303A00 002FF660 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80303A04 002FF664 3F E0 80 58 */ lis r31, lbl_8057E7A0@ha
+/* 80303A08 002FF668 3B FF E7 A0 */ addi r31, r31, lbl_8057E7A0@l
+/* 80303A0C 002FF66C 93 C1 00 08 */ stw r30, 8(r1)
+/* 80303A10 002FF670 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303A14 002FF674 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80303A18 002FF678 40 82 00 5C */ bne lbl_80303A74
+/* 80303A1C 002FF67C 4B F6 AD 41 */ bl OSDisableInterrupts
+/* 80303A20 002FF680 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303A24 002FF684 7C 7E 1B 78 */ mr r30, r3
+/* 80303A28 002FF688 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80303A2C 002FF68C 40 82 00 40 */ bne lbl_80303A6C
+/* 80303A30 002FF690 38 7F 00 00 */ addi r3, r31, 0
+/* 80303A34 002FF694 4B F6 BE DD */ bl OSInitMutex
+/* 80303A38 002FF698 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80303A3C 002FF69C 4B F6 BE D5 */ bl OSInitMutex
+/* 80303A40 002FF6A0 38 7F 00 40 */ addi r3, r31, 0x40
+/* 80303A44 002FF6A4 38 80 00 00 */ li r4, 0
+/* 80303A48 002FF6A8 38 A0 00 20 */ li r5, 0x20
+/* 80303A4C 002FF6AC 4B D0 06 B9 */ bl memset
+/* 80303A50 002FF6B0 38 7F 00 60 */ addi r3, r31, 0x60
+/* 80303A54 002FF6B4 38 80 00 00 */ li r4, 0
+/* 80303A58 002FF6B8 38 A0 00 20 */ li r5, 0x20
+/* 80303A5C 002FF6BC 4B D0 06 A9 */ bl memset
+/* 80303A60 002FF6C0 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303A64 002FF6C4 60 00 00 01 */ ori r0, r0, 1
+/* 80303A68 002FF6C8 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
+lbl_80303A6C:
+/* 80303A6C 002FF6CC 7F C3 F3 78 */ mr r3, r30
+/* 80303A70 002FF6D0 4B F6 AD 15 */ bl OSRestoreInterrupts
+lbl_80303A74:
+/* 80303A74 002FF6D4 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80303A78 002FF6D8 4B F6 BE D1 */ bl OSLockMutex
+/* 80303A7C 002FF6DC 48 00 04 E1 */ bl ExecSuspendScheduler
+/* 80303A80 002FF6E0 2C 03 00 00 */ cmpwi r3, 0
+/* 80303A84 002FF6E4 7C 7E 1B 78 */ mr r30, r3
+/* 80303A88 002FF6E8 41 80 00 18 */ blt lbl_80303AA0
+/* 80303A8C 002FF6EC 80 8D AF B4 */ lwz r4, lbl_80640274-_SDA_BASE_(r13)
+/* 80303A90 002FF6F0 80 0D AF B8 */ lwz r0, lbl_80640278-_SDA_BASE_(r13)
+/* 80303A94 002FF6F4 38 84 00 01 */ addi r4, r4, 1
+/* 80303A98 002FF6F8 90 8D AF B4 */ stw r4, lbl_80640274-_SDA_BASE_(r13)
+/* 80303A9C 002FF6FC 7F C0 18 50 */ subf r30, r0, r3
+lbl_80303AA0:
+/* 80303AA0 002FF700 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80303AA4 002FF704 4B F6 BF 81 */ bl OSUnlockMutex
+/* 80303AA8 002FF708 7F C3 F3 78 */ mr r3, r30
+/* 80303AAC 002FF70C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80303AB0 002FF710 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80303AB4 002FF714 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80303AB8 002FF718 7C 08 03 A6 */ mtlr r0
+/* 80303ABC 002FF71C 38 21 00 10 */ addi r1, r1, 0x10
+/* 80303AC0 002FF720 4E 80 00 20 */ blr
+
+.global NWC24ResumeScheduler
+NWC24ResumeScheduler:
+/* 80303AC4 002FF724 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80303AC8 002FF728 7C 08 02 A6 */ mflr r0
+/* 80303ACC 002FF72C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80303AD0 002FF730 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80303AD4 002FF734 3F E0 80 58 */ lis r31, lbl_8057E7A0@ha
+/* 80303AD8 002FF738 3B FF E7 A0 */ addi r31, r31, lbl_8057E7A0@l
+/* 80303ADC 002FF73C 93 C1 00 08 */ stw r30, 8(r1)
+/* 80303AE0 002FF740 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303AE4 002FF744 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80303AE8 002FF748 40 82 00 5C */ bne lbl_80303B44
+/* 80303AEC 002FF74C 4B F6 AC 71 */ bl OSDisableInterrupts
+/* 80303AF0 002FF750 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303AF4 002FF754 7C 7E 1B 78 */ mr r30, r3
+/* 80303AF8 002FF758 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80303AFC 002FF75C 40 82 00 40 */ bne lbl_80303B3C
+/* 80303B00 002FF760 38 7F 00 00 */ addi r3, r31, 0
+/* 80303B04 002FF764 4B F6 BE 0D */ bl OSInitMutex
+/* 80303B08 002FF768 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80303B0C 002FF76C 4B F6 BE 05 */ bl OSInitMutex
+/* 80303B10 002FF770 38 7F 00 40 */ addi r3, r31, 0x40
+/* 80303B14 002FF774 38 80 00 00 */ li r4, 0
+/* 80303B18 002FF778 38 A0 00 20 */ li r5, 0x20
+/* 80303B1C 002FF77C 4B D0 05 E9 */ bl memset
+/* 80303B20 002FF780 38 7F 00 60 */ addi r3, r31, 0x60
+/* 80303B24 002FF784 38 80 00 00 */ li r4, 0
+/* 80303B28 002FF788 38 A0 00 20 */ li r5, 0x20
+/* 80303B2C 002FF78C 4B D0 05 D9 */ bl memset
+/* 80303B30 002FF790 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303B34 002FF794 60 00 00 01 */ ori r0, r0, 1
+/* 80303B38 002FF798 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
+lbl_80303B3C:
+/* 80303B3C 002FF79C 7F C3 F3 78 */ mr r3, r30
+/* 80303B40 002FF7A0 4B F6 AC 45 */ bl OSRestoreInterrupts
+lbl_80303B44:
+/* 80303B44 002FF7A4 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80303B48 002FF7A8 4B F6 BE 01 */ bl OSLockMutex
+/* 80303B4C 002FF7AC 80 0D AF B8 */ lwz r0, lbl_80640278-_SDA_BASE_(r13)
+/* 80303B50 002FF7B0 2C 00 00 00 */ cmpwi r0, 0
+/* 80303B54 002FF7B4 40 81 00 18 */ ble lbl_80303B6C
+/* 80303B58 002FF7B8 80 0D AF B4 */ lwz r0, lbl_80640274-_SDA_BASE_(r13)
+/* 80303B5C 002FF7BC 2C 00 00 00 */ cmpwi r0, 0
+/* 80303B60 002FF7C0 40 82 00 0C */ bne lbl_80303B6C
+/* 80303B64 002FF7C4 3B C0 00 00 */ li r30, 0
+/* 80303B68 002FF7C8 48 00 00 28 */ b lbl_80303B90
+lbl_80303B6C:
+/* 80303B6C 002FF7CC 48 00 05 8D */ bl ExecResumeScheduler
+/* 80303B70 002FF7D0 80 8D AF B4 */ lwz r4, lbl_80640274-_SDA_BASE_(r13)
+/* 80303B74 002FF7D4 7C 7E 1B 78 */ mr r30, r3
+/* 80303B78 002FF7D8 2C 04 00 00 */ cmpwi r4, 0
+/* 80303B7C 002FF7DC 40 81 00 14 */ ble lbl_80303B90
+/* 80303B80 002FF7E0 38 84 FF FF */ addi r4, r4, -1
+/* 80303B84 002FF7E4 80 0D AF B8 */ lwz r0, lbl_80640278-_SDA_BASE_(r13)
+/* 80303B88 002FF7E8 90 8D AF B4 */ stw r4, lbl_80640274-_SDA_BASE_(r13)
+/* 80303B8C 002FF7EC 7F C0 18 50 */ subf r30, r0, r3
+lbl_80303B90:
+/* 80303B90 002FF7F0 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80303B94 002FF7F4 4B F6 BE 91 */ bl OSUnlockMutex
+/* 80303B98 002FF7F8 7F C3 F3 78 */ mr r3, r30
+/* 80303B9C 002FF7FC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80303BA0 002FF800 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80303BA4 002FF804 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80303BA8 002FF808 7C 08 03 A6 */ mtlr r0
+/* 80303BAC 002FF80C 38 21 00 10 */ addi r1, r1, 0x10
+/* 80303BB0 002FF810 4E 80 00 20 */ blr
+
+.global NWC24iRequestGenerateUserId
+NWC24iRequestGenerateUserId:
+/* 80303BB4 002FF814 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80303BB8 002FF818 7C 08 02 A6 */ mflr r0
+/* 80303BBC 002FF81C 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80303BC0 002FF820 39 61 00 30 */ addi r11, r1, 0x30
+/* 80303BC4 002FF824 4B EC 35 65 */ bl _savegpr_27
+/* 80303BC8 002FF828 3F A0 80 58 */ lis r29, lbl_8057E7A0@ha
+/* 80303BCC 002FF82C 7C 7B 1B 78 */ mr r27, r3
+/* 80303BD0 002FF830 7C 9F 23 78 */ mr r31, r4
+/* 80303BD4 002FF834 3B BD E7 A0 */ addi r29, r29, lbl_8057E7A0@l
+/* 80303BD8 002FF838 4B F6 D7 21 */ bl OSGetCurrentThread
+/* 80303BDC 002FF83C 2C 03 00 00 */ cmpwi r3, 0
+/* 80303BE0 002FF840 40 82 00 0C */ bne lbl_80303BEC
+/* 80303BE4 002FF844 38 60 FF FF */ li r3, -1
+/* 80303BE8 002FF848 48 00 00 28 */ b lbl_80303C10
+lbl_80303BEC:
+/* 80303BEC 002FF84C 4B FF F6 F9 */ bl NWC24IsMsgLibOpened
+/* 80303BF0 002FF850 2C 03 00 00 */ cmpwi r3, 0
+/* 80303BF4 002FF854 40 82 00 10 */ bne lbl_80303C04
+/* 80303BF8 002FF858 4B FF F7 01 */ bl NWC24IsMsgLibOpenedByTool
+/* 80303BFC 002FF85C 2C 03 00 00 */ cmpwi r3, 0
+/* 80303C00 002FF860 41 82 00 0C */ beq lbl_80303C0C
+lbl_80303C04:
+/* 80303C04 002FF864 38 60 FF F6 */ li r3, -10
+/* 80303C08 002FF868 48 00 00 08 */ b lbl_80303C10
+lbl_80303C0C:
+/* 80303C0C 002FF86C 38 60 00 00 */ li r3, 0
+lbl_80303C10:
+/* 80303C10 002FF870 2C 03 00 00 */ cmpwi r3, 0
+/* 80303C14 002FF874 40 80 00 08 */ bge lbl_80303C1C
+/* 80303C18 002FF878 48 00 01 40 */ b lbl_80303D58
+lbl_80303C1C:
+/* 80303C1C 002FF87C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303C20 002FF880 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80303C24 002FF884 40 82 00 5C */ bne lbl_80303C80
+/* 80303C28 002FF888 4B F6 AB 35 */ bl OSDisableInterrupts
+/* 80303C2C 002FF88C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303C30 002FF890 7C 7E 1B 78 */ mr r30, r3
+/* 80303C34 002FF894 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80303C38 002FF898 40 82 00 40 */ bne lbl_80303C78
+/* 80303C3C 002FF89C 38 7D 00 00 */ addi r3, r29, 0
+/* 80303C40 002FF8A0 4B F6 BC D1 */ bl OSInitMutex
+/* 80303C44 002FF8A4 38 7D 00 18 */ addi r3, r29, 0x18
+/* 80303C48 002FF8A8 4B F6 BC C9 */ bl OSInitMutex
+/* 80303C4C 002FF8AC 38 7D 00 40 */ addi r3, r29, 0x40
+/* 80303C50 002FF8B0 38 80 00 00 */ li r4, 0
+/* 80303C54 002FF8B4 38 A0 00 20 */ li r5, 0x20
+/* 80303C58 002FF8B8 4B D0 04 AD */ bl memset
+/* 80303C5C 002FF8BC 38 7D 00 60 */ addi r3, r29, 0x60
+/* 80303C60 002FF8C0 38 80 00 00 */ li r4, 0
+/* 80303C64 002FF8C4 38 A0 00 20 */ li r5, 0x20
+/* 80303C68 002FF8C8 4B D0 04 9D */ bl memset
+/* 80303C6C 002FF8CC 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303C70 002FF8D0 60 00 00 01 */ ori r0, r0, 1
+/* 80303C74 002FF8D4 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
+lbl_80303C78:
+/* 80303C78 002FF8D8 7F C3 F3 78 */ mr r3, r30
+/* 80303C7C 002FF8DC 4B F6 AB 09 */ bl OSRestoreInterrupts
+lbl_80303C80:
+/* 80303C80 002FF8E0 38 7D 00 00 */ addi r3, r29, 0
+/* 80303C84 002FF8E4 4B F6 BC C5 */ bl OSLockMutex
+/* 80303C88 002FF8E8 3F C0 80 44 */ lis r30, lbl_804464D4@ha
+/* 80303C8C 002FF8EC 3C 80 80 44 */ lis r4, lbl_804464C0@ha
+/* 80303C90 002FF8F0 38 7E 64 D4 */ addi r3, r30, lbl_804464D4@l
+/* 80303C94 002FF8F4 38 A1 00 08 */ addi r5, r1, 8
+/* 80303C98 002FF8F8 38 84 64 C0 */ addi r4, r4, lbl_804464C0@l
+/* 80303C9C 002FF8FC 38 C0 00 00 */ li r6, 0
+/* 80303CA0 002FF900 48 00 09 DD */ bl NWC24iOpenResourceManager
+/* 80303CA4 002FF904 2C 03 00 00 */ cmpwi r3, 0
+/* 80303CA8 002FF908 7C 7C 1B 78 */ mr r28, r3
+/* 80303CAC 002FF90C 41 80 00 A0 */ blt lbl_80303D4C
+/* 80303CB0 002FF910 80 81 00 08 */ lwz r4, 8(r1)
+/* 80303CB4 002FF914 38 7E 64 D4 */ addi r3, r30, 0x64d4
+/* 80303CB8 002FF918 39 1D 00 60 */ addi r8, r29, 0x60
+/* 80303CBC 002FF91C 38 A0 00 0F */ li r5, 0xf
+/* 80303CC0 002FF920 38 C0 00 00 */ li r6, 0
+/* 80303CC4 002FF924 38 E0 00 00 */ li r7, 0
+/* 80303CC8 002FF928 39 20 00 20 */ li r9, 0x20
+/* 80303CCC 002FF92C 48 00 0A 5D */ bl NWC24iIoctlResourceManager
+/* 80303CD0 002FF930 2C 03 00 00 */ cmpwi r3, 0
+/* 80303CD4 002FF934 7C 7C 1B 78 */ mr r28, r3
+/* 80303CD8 002FF938 41 80 00 58 */ blt lbl_80303D30
+/* 80303CDC 002FF93C 83 9D 00 60 */ lwz r28, 0x60(r29)
+/* 80303CE0 002FF940 2C 1C 00 00 */ cmpwi r28, 0
+/* 80303CE4 002FF944 41 82 00 14 */ beq lbl_80303CF8
+/* 80303CE8 002FF948 2C 1C FF DD */ cmpwi r28, -35
+/* 80303CEC 002FF94C 41 82 00 0C */ beq lbl_80303CF8
+/* 80303CF0 002FF950 2C 1C FF DC */ cmpwi r28, -36
+/* 80303CF4 002FF954 40 82 00 3C */ bne lbl_80303D30
+lbl_80303CF8:
+/* 80303CF8 002FF958 38 00 00 00 */ li r0, 0
+/* 80303CFC 002FF95C 7C 1B 00 40 */ cmplw r27, r0
+/* 80303D00 002FF960 41 82 00 18 */ beq lbl_80303D18
+/* 80303D04 002FF964 38 7D 00 60 */ addi r3, r29, 0x60
+/* 80303D08 002FF968 80 03 00 04 */ lwz r0, 4(r3)
+/* 80303D0C 002FF96C 80 63 00 08 */ lwz r3, 8(r3)
+/* 80303D10 002FF970 90 7B 00 04 */ stw r3, 4(r27)
+/* 80303D14 002FF974 90 1B 00 00 */ stw r0, 0(r27)
+lbl_80303D18:
+/* 80303D18 002FF978 38 00 00 00 */ li r0, 0
+/* 80303D1C 002FF97C 7C 1F 00 40 */ cmplw r31, r0
+/* 80303D20 002FF980 41 82 00 10 */ beq lbl_80303D30
+/* 80303D24 002FF984 38 7D 00 60 */ addi r3, r29, 0x60
+/* 80303D28 002FF988 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 80303D2C 002FF98C 90 1F 00 00 */ stw r0, 0(r31)
+lbl_80303D30:
+/* 80303D30 002FF990 3C 60 80 44 */ lis r3, lbl_804464D4@ha
+/* 80303D34 002FF994 80 81 00 08 */ lwz r4, 8(r1)
+/* 80303D38 002FF998 38 63 64 D4 */ addi r3, r3, lbl_804464D4@l
+/* 80303D3C 002FF99C 48 00 09 B9 */ bl NWC24iCloseResourceManager
+/* 80303D40 002FF9A0 2C 1C 00 00 */ cmpwi r28, 0
+/* 80303D44 002FF9A4 41 80 00 08 */ blt lbl_80303D4C
+/* 80303D48 002FF9A8 7C 7C 1B 78 */ mr r28, r3
+lbl_80303D4C:
+/* 80303D4C 002FF9AC 38 7D 00 00 */ addi r3, r29, 0
+/* 80303D50 002FF9B0 4B F6 BC D5 */ bl OSUnlockMutex
+/* 80303D54 002FF9B4 7F 83 E3 78 */ mr r3, r28
+lbl_80303D58:
+/* 80303D58 002FF9B8 39 61 00 30 */ addi r11, r1, 0x30
+/* 80303D5C 002FF9BC 4B EC 34 19 */ bl _restgpr_27
+/* 80303D60 002FF9C0 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 80303D64 002FF9C4 7C 08 03 A6 */ mtlr r0
+/* 80303D68 002FF9C8 38 21 00 30 */ addi r1, r1, 0x30
+/* 80303D6C 002FF9CC 4E 80 00 20 */ blr
+
+.global NWC24iStartupSocket
+NWC24iStartupSocket:
+/* 80303D70 002FF9D0 7C 65 1B 78 */ mr r5, r3
+/* 80303D74 002FF9D4 38 60 00 00 */ li r3, 0
+/* 80303D78 002FF9D8 38 80 00 06 */ li r4, 6
+/* 80303D7C 002FF9DC 48 00 03 8C */ b ExecNoParamCommand
+
+.global NWC24iCleanupSocket
+NWC24iCleanupSocket:
+/* 80303D80 002FF9E0 7C 65 1B 78 */ mr r5, r3
+/* 80303D84 002FF9E4 38 60 00 00 */ li r3, 0
+/* 80303D88 002FF9E8 38 80 00 07 */ li r4, 7
+/* 80303D8C 002FF9EC 48 00 03 7C */ b ExecNoParamCommand
+
+.global NWC24iLockSocket
+NWC24iLockSocket:
+/* 80303D90 002FF9F0 38 60 00 00 */ li r3, 0
+/* 80303D94 002FF9F4 38 80 00 08 */ li r4, 8
+/* 80303D98 002FF9F8 38 A0 00 00 */ li r5, 0
+/* 80303D9C 002FF9FC 48 00 03 6C */ b ExecNoParamCommand
+
+.global NWC24iUnlockSocket
+NWC24iUnlockSocket:
+/* 80303DA0 002FFA00 38 60 00 00 */ li r3, 0
+/* 80303DA4 002FFA04 38 80 00 09 */ li r4, 9
+/* 80303DA8 002FFA08 38 A0 00 00 */ li r5, 0
+/* 80303DAC 002FFA0C 48 00 03 5C */ b ExecNoParamCommand
+
+.global NWC24iTrySuspendForOpenLib
+NWC24iTrySuspendForOpenLib:
+/* 80303DB0 002FFA10 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80303DB4 002FFA14 7C 08 02 A6 */ mflr r0
+/* 80303DB8 002FFA18 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80303DBC 002FFA1C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80303DC0 002FFA20 3F E0 80 58 */ lis r31, lbl_8057E7A0@ha
+/* 80303DC4 002FFA24 3B FF E7 A0 */ addi r31, r31, lbl_8057E7A0@l
+/* 80303DC8 002FFA28 93 C1 00 08 */ stw r30, 8(r1)
+/* 80303DCC 002FFA2C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303DD0 002FFA30 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80303DD4 002FFA34 40 82 00 5C */ bne lbl_80303E30
+/* 80303DD8 002FFA38 4B F6 A9 85 */ bl OSDisableInterrupts
+/* 80303DDC 002FFA3C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303DE0 002FFA40 7C 7E 1B 78 */ mr r30, r3
+/* 80303DE4 002FFA44 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80303DE8 002FFA48 40 82 00 40 */ bne lbl_80303E28
+/* 80303DEC 002FFA4C 38 7F 00 00 */ addi r3, r31, 0
+/* 80303DF0 002FFA50 4B F6 BB 21 */ bl OSInitMutex
+/* 80303DF4 002FFA54 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80303DF8 002FFA58 4B F6 BB 19 */ bl OSInitMutex
+/* 80303DFC 002FFA5C 38 7F 00 40 */ addi r3, r31, 0x40
+/* 80303E00 002FFA60 38 80 00 00 */ li r4, 0
+/* 80303E04 002FFA64 38 A0 00 20 */ li r5, 0x20
+/* 80303E08 002FFA68 4B D0 02 FD */ bl memset
+/* 80303E0C 002FFA6C 38 7F 00 60 */ addi r3, r31, 0x60
+/* 80303E10 002FFA70 38 80 00 00 */ li r4, 0
+/* 80303E14 002FFA74 38 A0 00 20 */ li r5, 0x20
+/* 80303E18 002FFA78 4B D0 02 ED */ bl memset
+/* 80303E1C 002FFA7C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303E20 002FFA80 60 00 00 01 */ ori r0, r0, 1
+/* 80303E24 002FFA84 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
+lbl_80303E28:
+/* 80303E28 002FFA88 7F C3 F3 78 */ mr r3, r30
+/* 80303E2C 002FFA8C 4B F6 A9 59 */ bl OSRestoreInterrupts
+lbl_80303E30:
+/* 80303E30 002FFA90 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80303E34 002FFA94 4B F6 BD 25 */ bl OSTryLockMutex
+/* 80303E38 002FFA98 2C 03 00 00 */ cmpwi r3, 0
+/* 80303E3C 002FFA9C 40 82 00 0C */ bne lbl_80303E48
+/* 80303E40 002FFAA0 38 60 FF EA */ li r3, -22
+/* 80303E44 002FFAA4 48 00 00 34 */ b lbl_80303E78
+lbl_80303E48:
+/* 80303E48 002FFAA8 38 60 00 00 */ li r3, 0
+/* 80303E4C 002FFAAC 48 00 01 21 */ bl ExecTrySuspendScheduler
+/* 80303E50 002FFAB0 2C 03 00 00 */ cmpwi r3, 0
+/* 80303E54 002FFAB4 7C 7E 1B 78 */ mr r30, r3
+/* 80303E58 002FFAB8 41 80 00 14 */ blt lbl_80303E6C
+/* 80303E5C 002FFABC 80 6D AF B8 */ lwz r3, lbl_80640278-_SDA_BASE_(r13)
+/* 80303E60 002FFAC0 3B C0 00 00 */ li r30, 0
+/* 80303E64 002FFAC4 38 03 00 01 */ addi r0, r3, 1
+/* 80303E68 002FFAC8 90 0D AF B8 */ stw r0, lbl_80640278-_SDA_BASE_(r13)
+lbl_80303E6C:
+/* 80303E6C 002FFACC 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80303E70 002FFAD0 4B F6 BB B5 */ bl OSUnlockMutex
+/* 80303E74 002FFAD4 7F C3 F3 78 */ mr r3, r30
+lbl_80303E78:
+/* 80303E78 002FFAD8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80303E7C 002FFADC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80303E80 002FFAE0 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80303E84 002FFAE4 7C 08 03 A6 */ mtlr r0
+/* 80303E88 002FFAE8 38 21 00 10 */ addi r1, r1, 0x10
+/* 80303E8C 002FFAEC 4E 80 00 20 */ blr
+
+.global NWC24iResumeForCloseLib
+NWC24iResumeForCloseLib:
+/* 80303E90 002FFAF0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80303E94 002FFAF4 7C 08 02 A6 */ mflr r0
+/* 80303E98 002FFAF8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80303E9C 002FFAFC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80303EA0 002FFB00 3F E0 80 58 */ lis r31, lbl_8057E7A0@ha
+/* 80303EA4 002FFB04 3B FF E7 A0 */ addi r31, r31, lbl_8057E7A0@l
+/* 80303EA8 002FFB08 93 C1 00 08 */ stw r30, 8(r1)
+/* 80303EAC 002FFB0C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303EB0 002FFB10 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80303EB4 002FFB14 40 82 00 5C */ bne lbl_80303F10
+/* 80303EB8 002FFB18 4B F6 A8 A5 */ bl OSDisableInterrupts
+/* 80303EBC 002FFB1C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303EC0 002FFB20 7C 7E 1B 78 */ mr r30, r3
+/* 80303EC4 002FFB24 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80303EC8 002FFB28 40 82 00 40 */ bne lbl_80303F08
+/* 80303ECC 002FFB2C 38 7F 00 00 */ addi r3, r31, 0
+/* 80303ED0 002FFB30 4B F6 BA 41 */ bl OSInitMutex
+/* 80303ED4 002FFB34 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80303ED8 002FFB38 4B F6 BA 39 */ bl OSInitMutex
+/* 80303EDC 002FFB3C 38 7F 00 40 */ addi r3, r31, 0x40
+/* 80303EE0 002FFB40 38 80 00 00 */ li r4, 0
+/* 80303EE4 002FFB44 38 A0 00 20 */ li r5, 0x20
+/* 80303EE8 002FFB48 4B D0 02 1D */ bl memset
+/* 80303EEC 002FFB4C 38 7F 00 60 */ addi r3, r31, 0x60
+/* 80303EF0 002FFB50 38 80 00 00 */ li r4, 0
+/* 80303EF4 002FFB54 38 A0 00 20 */ li r5, 0x20
+/* 80303EF8 002FFB58 4B D0 02 0D */ bl memset
+/* 80303EFC 002FFB5C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303F00 002FFB60 60 00 00 01 */ ori r0, r0, 1
+/* 80303F04 002FFB64 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
+lbl_80303F08:
+/* 80303F08 002FFB68 7F C3 F3 78 */ mr r3, r30
+/* 80303F0C 002FFB6C 4B F6 A8 79 */ bl OSRestoreInterrupts
+lbl_80303F10:
+/* 80303F10 002FFB70 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80303F14 002FFB74 4B F6 BA 35 */ bl OSLockMutex
+/* 80303F18 002FFB78 48 00 01 E1 */ bl ExecResumeScheduler
+/* 80303F1C 002FFB7C 2C 03 00 00 */ cmpwi r3, 0
+/* 80303F20 002FFB80 7C 7E 1B 78 */ mr r30, r3
+/* 80303F24 002FFB84 41 80 00 14 */ blt lbl_80303F38
+/* 80303F28 002FFB88 80 6D AF B8 */ lwz r3, lbl_80640278-_SDA_BASE_(r13)
+/* 80303F2C 002FFB8C 3B C0 00 00 */ li r30, 0
+/* 80303F30 002FFB90 38 03 FF FF */ addi r0, r3, -1
+/* 80303F34 002FFB94 90 0D AF B8 */ stw r0, lbl_80640278-_SDA_BASE_(r13)
+lbl_80303F38:
+/* 80303F38 002FFB98 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80303F3C 002FFB9C 4B F6 BA E9 */ bl OSUnlockMutex
+/* 80303F40 002FFBA0 7F C3 F3 78 */ mr r3, r30
+/* 80303F44 002FFBA4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80303F48 002FFBA8 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80303F4C 002FFBAC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80303F50 002FFBB0 7C 08 03 A6 */ mtlr r0
+/* 80303F54 002FFBB4 38 21 00 10 */ addi r1, r1, 0x10
+/* 80303F58 002FFBB8 4E 80 00 20 */ blr
+
+.global ExecSuspendScheduler
+ExecSuspendScheduler:
+/* 80303F5C 002FFBBC 38 60 00 00 */ li r3, 0
+/* 80303F60 002FFBC0 38 80 00 01 */ li r4, 1
+/* 80303F64 002FFBC4 38 A0 00 00 */ li r5, 0
+/* 80303F68 002FFBC8 48 00 01 A0 */ b ExecNoParamCommand
+
+.global ExecTrySuspendScheduler
+ExecTrySuspendScheduler:
+/* 80303F6C 002FFBCC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80303F70 002FFBD0 7C 08 02 A6 */ mflr r0
+/* 80303F74 002FFBD4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80303F78 002FFBD8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80303F7C 002FFBDC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80303F80 002FFBE0 3F C0 80 58 */ lis r30, lbl_8057E7A0@ha
+/* 80303F84 002FFBE4 3B DE E7 A0 */ addi r30, r30, lbl_8057E7A0@l
+/* 80303F88 002FFBE8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80303F8C 002FFBEC 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80303F90 002FFBF0 7C 7C 1B 78 */ mr r28, r3
+/* 80303F94 002FFBF4 4B F6 D3 65 */ bl OSGetCurrentThread
+/* 80303F98 002FFBF8 2C 03 00 00 */ cmpwi r3, 0
+/* 80303F9C 002FFBFC 40 82 00 0C */ bne lbl_80303FA8
+/* 80303FA0 002FFC00 38 60 FF FF */ li r3, -1
+/* 80303FA4 002FFC04 48 00 00 28 */ b lbl_80303FCC
+lbl_80303FA8:
+/* 80303FA8 002FFC08 4B FF F3 3D */ bl NWC24IsMsgLibOpened
+/* 80303FAC 002FFC0C 2C 03 00 00 */ cmpwi r3, 0
+/* 80303FB0 002FFC10 40 82 00 10 */ bne lbl_80303FC0
+/* 80303FB4 002FFC14 4B FF F3 45 */ bl NWC24IsMsgLibOpenedByTool
+/* 80303FB8 002FFC18 2C 03 00 00 */ cmpwi r3, 0
+/* 80303FBC 002FFC1C 41 82 00 0C */ beq lbl_80303FC8
+lbl_80303FC0:
+/* 80303FC0 002FFC20 38 60 FF F6 */ li r3, -10
+/* 80303FC4 002FFC24 48 00 00 08 */ b lbl_80303FCC
+lbl_80303FC8:
+/* 80303FC8 002FFC28 38 60 00 00 */ li r3, 0
+lbl_80303FCC:
+/* 80303FCC 002FFC2C 2C 03 00 00 */ cmpwi r3, 0
+/* 80303FD0 002FFC30 40 80 00 08 */ bge lbl_80303FD8
+/* 80303FD4 002FFC34 48 00 01 04 */ b lbl_803040D8
+lbl_80303FD8:
+/* 80303FD8 002FFC38 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303FDC 002FFC3C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80303FE0 002FFC40 40 82 00 5C */ bne lbl_8030403C
+/* 80303FE4 002FFC44 4B F6 A7 79 */ bl OSDisableInterrupts
+/* 80303FE8 002FFC48 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80303FEC 002FFC4C 7C 7F 1B 78 */ mr r31, r3
+/* 80303FF0 002FFC50 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80303FF4 002FFC54 40 82 00 40 */ bne lbl_80304034
+/* 80303FF8 002FFC58 38 7E 00 00 */ addi r3, r30, 0
+/* 80303FFC 002FFC5C 4B F6 B9 15 */ bl OSInitMutex
+/* 80304000 002FFC60 38 7E 00 18 */ addi r3, r30, 0x18
+/* 80304004 002FFC64 4B F6 B9 0D */ bl OSInitMutex
+/* 80304008 002FFC68 38 7E 00 40 */ addi r3, r30, 0x40
+/* 8030400C 002FFC6C 38 80 00 00 */ li r4, 0
+/* 80304010 002FFC70 38 A0 00 20 */ li r5, 0x20
+/* 80304014 002FFC74 4B D0 00 F1 */ bl memset
+/* 80304018 002FFC78 38 7E 00 60 */ addi r3, r30, 0x60
+/* 8030401C 002FFC7C 38 80 00 00 */ li r4, 0
+/* 80304020 002FFC80 38 A0 00 20 */ li r5, 0x20
+/* 80304024 002FFC84 4B D0 00 E1 */ bl memset
+/* 80304028 002FFC88 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 8030402C 002FFC8C 60 00 00 01 */ ori r0, r0, 1
+/* 80304030 002FFC90 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
+lbl_80304034:
+/* 80304034 002FFC94 7F E3 FB 78 */ mr r3, r31
+/* 80304038 002FFC98 4B F6 A7 4D */ bl OSRestoreInterrupts
+lbl_8030403C:
+/* 8030403C 002FFC9C 38 7E 00 00 */ addi r3, r30, 0
+/* 80304040 002FFCA0 4B F6 BB 19 */ bl OSTryLockMutex
+/* 80304044 002FFCA4 2C 03 00 00 */ cmpwi r3, 0
+/* 80304048 002FFCA8 40 82 00 0C */ bne lbl_80304054
+/* 8030404C 002FFCAC 38 60 FF EA */ li r3, -22
+/* 80304050 002FFCB0 48 00 00 88 */ b lbl_803040D8
+lbl_80304054:
+/* 80304054 002FFCB4 3F E0 80 44 */ lis r31, lbl_804464F0@ha
+/* 80304058 002FFCB8 3C 80 80 44 */ lis r4, lbl_804464C0@ha
+/* 8030405C 002FFCBC 38 7F 64 F0 */ addi r3, r31, lbl_804464F0@l
+/* 80304060 002FFCC0 38 A1 00 08 */ addi r5, r1, 8
+/* 80304064 002FFCC4 38 84 64 C0 */ addi r4, r4, lbl_804464C0@l
+/* 80304068 002FFCC8 38 C0 00 00 */ li r6, 0
+/* 8030406C 002FFCCC 48 00 06 11 */ bl NWC24iOpenResourceManager
+/* 80304070 002FFCD0 2C 03 00 00 */ cmpwi r3, 0
+/* 80304074 002FFCD4 7C 7D 1B 78 */ mr r29, r3
+/* 80304078 002FFCD8 41 80 00 54 */ blt lbl_803040CC
+/* 8030407C 002FFCDC 93 9E 00 40 */ stw r28, 0x40(r30)
+/* 80304080 002FFCE0 38 7F 64 F0 */ addi r3, r31, 0x64f0
+/* 80304084 002FFCE4 80 81 00 08 */ lwz r4, 8(r1)
+/* 80304088 002FFCE8 38 DE 00 40 */ addi r6, r30, 0x40
+/* 8030408C 002FFCEC 39 1E 00 60 */ addi r8, r30, 0x60
+/* 80304090 002FFCF0 38 A0 00 02 */ li r5, 2
+/* 80304094 002FFCF4 38 E0 00 20 */ li r7, 0x20
+/* 80304098 002FFCF8 39 20 00 20 */ li r9, 0x20
+/* 8030409C 002FFCFC 48 00 06 8D */ bl NWC24iIoctlResourceManager
+/* 803040A0 002FFD00 2C 03 00 00 */ cmpwi r3, 0
+/* 803040A4 002FFD04 7C 7D 1B 78 */ mr r29, r3
+/* 803040A8 002FFD08 41 80 00 08 */ blt lbl_803040B0
+/* 803040AC 002FFD0C 83 BE 00 60 */ lwz r29, 0x60(r30)
+lbl_803040B0:
+/* 803040B0 002FFD10 3C 60 80 44 */ lis r3, lbl_804464F0@ha
+/* 803040B4 002FFD14 80 81 00 08 */ lwz r4, 8(r1)
+/* 803040B8 002FFD18 38 63 64 F0 */ addi r3, r3, lbl_804464F0@l
+/* 803040BC 002FFD1C 48 00 06 39 */ bl NWC24iCloseResourceManager
+/* 803040C0 002FFD20 2C 03 00 00 */ cmpwi r3, 0
+/* 803040C4 002FFD24 40 80 00 08 */ bge lbl_803040CC
+/* 803040C8 002FFD28 7C 7D 1B 78 */ mr r29, r3
+lbl_803040CC:
+/* 803040CC 002FFD2C 38 7E 00 00 */ addi r3, r30, 0
+/* 803040D0 002FFD30 4B F6 B9 55 */ bl OSUnlockMutex
+/* 803040D4 002FFD34 7F A3 EB 78 */ mr r3, r29
+lbl_803040D8:
+/* 803040D8 002FFD38 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 803040DC 002FFD3C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 803040E0 002FFD40 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 803040E4 002FFD44 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 803040E8 002FFD48 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 803040EC 002FFD4C 7C 08 03 A6 */ mtlr r0
+/* 803040F0 002FFD50 38 21 00 20 */ addi r1, r1, 0x20
+/* 803040F4 002FFD54 4E 80 00 20 */ blr
+
+.global ExecResumeScheduler
+ExecResumeScheduler:
+/* 803040F8 002FFD58 38 60 00 00 */ li r3, 0
+/* 803040FC 002FFD5C 38 80 00 03 */ li r4, 3
+/* 80304100 002FFD60 38 A0 00 00 */ li r5, 0
+/* 80304104 002FFD64 48 00 00 04 */ b ExecNoParamCommand
+
+ExecNoParamCommand:
+/* 80304108 002FFD68 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8030410C 002FFD6C 7C 08 02 A6 */ mflr r0
+/* 80304110 002FFD70 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80304114 002FFD74 39 61 00 30 */ addi r11, r1, 0x30
+/* 80304118 002FFD78 4B EC 30 11 */ bl _savegpr_27
+/* 8030411C 002FFD7C 3F E0 80 58 */ lis r31, lbl_8057E7A0@ha
+/* 80304120 002FFD80 7C 7B 1B 78 */ mr r27, r3
+/* 80304124 002FFD84 7C 9C 23 78 */ mr r28, r4
+/* 80304128 002FFD88 7C BD 2B 78 */ mr r29, r5
+/* 8030412C 002FFD8C 3B FF E7 A0 */ addi r31, r31, lbl_8057E7A0@l
+/* 80304130 002FFD90 4B F6 D1 C9 */ bl OSGetCurrentThread
+/* 80304134 002FFD94 2C 03 00 00 */ cmpwi r3, 0
+/* 80304138 002FFD98 40 82 00 0C */ bne lbl_80304144
+/* 8030413C 002FFD9C 38 60 FF FF */ li r3, -1
+/* 80304140 002FFDA0 48 00 01 10 */ b lbl_80304250
+lbl_80304144:
+/* 80304144 002FFDA4 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80304148 002FFDA8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 8030414C 002FFDAC 40 82 00 5C */ bne lbl_803041A8
+/* 80304150 002FFDB0 4B F6 A6 0D */ bl OSDisableInterrupts
+/* 80304154 002FFDB4 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80304158 002FFDB8 7C 7E 1B 78 */ mr r30, r3
+/* 8030415C 002FFDBC 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80304160 002FFDC0 40 82 00 40 */ bne lbl_803041A0
+/* 80304164 002FFDC4 38 7F 00 00 */ addi r3, r31, 0
+/* 80304168 002FFDC8 4B F6 B7 A9 */ bl OSInitMutex
+/* 8030416C 002FFDCC 38 7F 00 18 */ addi r3, r31, 0x18
+/* 80304170 002FFDD0 4B F6 B7 A1 */ bl OSInitMutex
+/* 80304174 002FFDD4 38 7F 00 40 */ addi r3, r31, 0x40
+/* 80304178 002FFDD8 38 80 00 00 */ li r4, 0
+/* 8030417C 002FFDDC 38 A0 00 20 */ li r5, 0x20
+/* 80304180 002FFDE0 4B CF FF 85 */ bl memset
+/* 80304184 002FFDE4 38 7F 00 60 */ addi r3, r31, 0x60
+/* 80304188 002FFDE8 38 80 00 00 */ li r4, 0
+/* 8030418C 002FFDEC 38 A0 00 20 */ li r5, 0x20
+/* 80304190 002FFDF0 4B CF FF 75 */ bl memset
+/* 80304194 002FFDF4 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
+/* 80304198 002FFDF8 60 00 00 01 */ ori r0, r0, 1
+/* 8030419C 002FFDFC 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
+lbl_803041A0:
+/* 803041A0 002FFE00 7F C3 F3 78 */ mr r3, r30
+/* 803041A4 002FFE04 4B F6 A5 E1 */ bl OSRestoreInterrupts
+lbl_803041A8:
+/* 803041A8 002FFE08 38 7F 00 00 */ addi r3, r31, 0
+/* 803041AC 002FFE0C 4B F6 B7 9D */ bl OSLockMutex
+/* 803041B0 002FFE10 3C 80 80 44 */ lis r4, lbl_804464C0@ha
+/* 803041B4 002FFE14 7F 63 DB 78 */ mr r3, r27
+/* 803041B8 002FFE18 38 84 64 C0 */ addi r4, r4, lbl_804464C0@l
+/* 803041BC 002FFE1C 38 A1 00 08 */ addi r5, r1, 8
+/* 803041C0 002FFE20 38 C0 00 00 */ li r6, 0
+/* 803041C4 002FFE24 48 00 04 B9 */ bl NWC24iOpenResourceManager
+/* 803041C8 002FFE28 2C 03 00 00 */ cmpwi r3, 0
+/* 803041CC 002FFE2C 7C 7E 1B 78 */ mr r30, r3
+/* 803041D0 002FFE30 41 80 00 74 */ blt lbl_80304244
+/* 803041D4 002FFE34 80 81 00 08 */ lwz r4, 8(r1)
+/* 803041D8 002FFE38 7F 63 DB 78 */ mr r3, r27
+/* 803041DC 002FFE3C 7F 85 E3 78 */ mr r5, r28
+/* 803041E0 002FFE40 39 1F 00 60 */ addi r8, r31, 0x60
+/* 803041E4 002FFE44 38 C0 00 00 */ li r6, 0
+/* 803041E8 002FFE48 38 E0 00 00 */ li r7, 0
+/* 803041EC 002FFE4C 39 20 00 20 */ li r9, 0x20
+/* 803041F0 002FFE50 48 00 05 39 */ bl NWC24iIoctlResourceManager
+/* 803041F4 002FFE54 2C 03 00 00 */ cmpwi r3, 0
+/* 803041F8 002FFE58 7C 7E 1B 78 */ mr r30, r3
+/* 803041FC 002FFE5C 41 80 00 30 */ blt lbl_8030422C
+/* 80304200 002FFE60 83 DF 00 60 */ lwz r30, 0x60(r31)
+/* 80304204 002FFE64 2C 1E FF FE */ cmpwi r30, -2
+/* 80304208 002FFE68 41 82 00 0C */ beq lbl_80304214
+/* 8030420C 002FFE6C 2C 1E FF DF */ cmpwi r30, -33
+/* 80304210 002FFE70 40 82 00 1C */ bne lbl_8030422C
+lbl_80304214:
+/* 80304214 002FFE74 38 00 00 00 */ li r0, 0
+/* 80304218 002FFE78 7C 1D 00 40 */ cmplw r29, r0
+/* 8030421C 002FFE7C 41 82 00 10 */ beq lbl_8030422C
+/* 80304220 002FFE80 38 7F 00 60 */ addi r3, r31, 0x60
+/* 80304224 002FFE84 80 03 00 04 */ lwz r0, 4(r3)
+/* 80304228 002FFE88 90 1D 00 00 */ stw r0, 0(r29)
+lbl_8030422C:
+/* 8030422C 002FFE8C 80 81 00 08 */ lwz r4, 8(r1)
+/* 80304230 002FFE90 7F 63 DB 78 */ mr r3, r27
+/* 80304234 002FFE94 48 00 04 C1 */ bl NWC24iCloseResourceManager
+/* 80304238 002FFE98 2C 03 00 00 */ cmpwi r3, 0
+/* 8030423C 002FFE9C 40 80 00 08 */ bge lbl_80304244
+/* 80304240 002FFEA0 7C 7E 1B 78 */ mr r30, r3
+lbl_80304244:
+/* 80304244 002FFEA4 38 7F 00 00 */ addi r3, r31, 0
+/* 80304248 002FFEA8 4B F6 B7 DD */ bl OSUnlockMutex
+/* 8030424C 002FFEAC 7F C3 F3 78 */ mr r3, r30
+lbl_80304250:
+/* 80304250 002FFEB0 39 61 00 30 */ addi r11, r1, 0x30
+/* 80304254 002FFEB4 4B EC 2F 21 */ bl _restgpr_27
+/* 80304258 002FFEB8 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8030425C 002FFEBC 7C 08 03 A6 */ mtlr r0
+/* 80304260 002FFEC0 38 21 00 30 */ addi r1, r1, 0x30
+/* 80304264 002FFEC4 4E 80 00 20 */ blr
diff --git a/asm/SDK/NWC24/NWC24SecretFList.s b/asm/SDK/NWC24/NWC24SecretFList.s
new file mode 100644
index 0000000..fc31bd4
--- /dev/null
+++ b/asm/SDK/NWC24/NWC24SecretFList.s
@@ -0,0 +1,86 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global NWC24iOpenSecretFriendList
+NWC24iOpenSecretFriendList:
+/* 80304384 002FFFE4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80304388 002FFFE8 7C 08 02 A6 */ mflr r0
+/* 8030438C 002FFFEC 38 80 00 00 */ li r4, 0
+/* 80304390 002FFFF0 38 A0 08 00 */ li r5, 0x800
+/* 80304394 002FFFF4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80304398 002FFFF8 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
+/* 8030439C 002FFFFC 38 63 28 00 */ addi r3, r3, 0x2800
+/* 803043A0 00300000 90 61 00 08 */ stw r3, 8(r1)
+/* 803043A4 00300004 4B FF CC 71 */ bl Mail_memset
+/* 803043A8 00300008 38 61 00 08 */ addi r3, r1, 8
+/* 803043AC 0030000C 48 00 00 15 */ bl GetCachedSecretFLHeader
+/* 803043B0 00300010 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803043B4 00300014 7C 08 03 A6 */ mtlr r0
+/* 803043B8 00300018 38 21 00 10 */ addi r1, r1, 0x10
+/* 803043BC 0030001C 4E 80 00 20 */ blr
+
+.global GetCachedSecretFLHeader
+GetCachedSecretFLHeader:
+/* 803043C0 00300020 94 21 FF 50 */ stwu r1, -0xb0(r1)
+/* 803043C4 00300024 7C 08 02 A6 */ mflr r0
+/* 803043C8 00300028 90 01 00 B4 */ stw r0, 0xb4(r1)
+/* 803043CC 0030002C 93 E1 00 AC */ stw r31, 0xac(r1)
+/* 803043D0 00300030 93 C1 00 A8 */ stw r30, 0xa8(r1)
+/* 803043D4 00300034 7C 7E 1B 78 */ mr r30, r3
+/* 803043D8 00300038 80 8D AF 90 */ lwz r4, lbl_80640250-_SDA_BASE_(r13)
+/* 803043DC 0030003C 38 84 28 00 */ addi r4, r4, 0x2800
+/* 803043E0 00300040 90 83 00 00 */ stw r4, 0(r3)
+/* 803043E4 00300044 80 64 00 00 */ lwz r3, 0(r4)
+/* 803043E8 00300048 3C 03 A8 9D */ addis r0, r3, 0xa89d
+/* 803043EC 0030004C 28 00 46 73 */ cmplwi r0, 0x4673
+/* 803043F0 00300050 41 82 00 94 */ beq lbl_80304484
+/* 803043F4 00300054 80 8D 8C B8 */ lwz r4, lbl_8063DF78-_SDA_BASE_(r13)
+/* 803043F8 00300058 38 61 00 08 */ addi r3, r1, 8
+/* 803043FC 0030005C 38 A0 00 02 */ li r5, 2
+/* 80304400 00300060 4B FF D7 49 */ bl NWC24FOpen
+/* 80304404 00300064 2C 03 00 00 */ cmpwi r3, 0
+/* 80304408 00300068 41 82 00 08 */ beq lbl_80304410
+/* 8030440C 0030006C 48 00 00 7C */ b lbl_80304488
+lbl_80304410:
+/* 80304410 00300070 38 61 00 08 */ addi r3, r1, 8
+/* 80304414 00300074 38 80 00 00 */ li r4, 0
+/* 80304418 00300078 38 A0 00 00 */ li r5, 0
+/* 8030441C 0030007C 4B FF DC 11 */ bl NWC24FSeek
+/* 80304420 00300080 80 7E 00 00 */ lwz r3, 0(r30)
+/* 80304424 00300084 38 A1 00 08 */ addi r5, r1, 8
+/* 80304428 00300088 38 80 08 00 */ li r4, 0x800
+/* 8030442C 0030008C 4B FF DD ED */ bl NWC24FRead
+/* 80304430 00300090 7C 7F 1B 78 */ mr r31, r3
+/* 80304434 00300094 38 61 00 08 */ addi r3, r1, 8
+/* 80304438 00300098 4B FF DA 61 */ bl NWC24FClose
+/* 8030443C 0030009C 2C 1F 00 00 */ cmpwi r31, 0
+/* 80304440 003000A0 41 82 00 08 */ beq lbl_80304448
+/* 80304444 003000A4 7F E3 FB 78 */ mr r3, r31
+lbl_80304448:
+/* 80304448 003000A8 2C 03 00 00 */ cmpwi r3, 0
+/* 8030444C 003000AC 41 82 00 08 */ beq lbl_80304454
+/* 80304450 003000B0 48 00 00 38 */ b lbl_80304488
+lbl_80304454:
+/* 80304454 003000B4 80 9E 00 00 */ lwz r4, 0(r30)
+/* 80304458 003000B8 80 64 00 00 */ lwz r3, 0(r4)
+/* 8030445C 003000BC 3C 03 A8 9D */ addis r0, r3, 0xa89d
+/* 80304460 003000C0 28 00 46 73 */ cmplwi r0, 0x4673
+/* 80304464 003000C4 41 82 00 0C */ beq lbl_80304470
+/* 80304468 003000C8 38 60 FF F2 */ li r3, -14
+/* 8030446C 003000CC 48 00 00 1C */ b lbl_80304488
+lbl_80304470:
+/* 80304470 003000D0 80 04 00 04 */ lwz r0, 4(r4)
+/* 80304474 003000D4 28 00 00 02 */ cmplwi r0, 2
+/* 80304478 003000D8 41 82 00 0C */ beq lbl_80304484
+/* 8030447C 003000DC 38 60 FF E5 */ li r3, -27
+/* 80304480 003000E0 48 00 00 08 */ b lbl_80304488
+lbl_80304484:
+/* 80304484 003000E4 38 60 00 00 */ li r3, 0
+lbl_80304488:
+/* 80304488 003000E8 80 01 00 B4 */ lwz r0, 0xb4(r1)
+/* 8030448C 003000EC 83 E1 00 AC */ lwz r31, 0xac(r1)
+/* 80304490 003000F0 83 C1 00 A8 */ lwz r30, 0xa8(r1)
+/* 80304494 003000F4 7C 08 03 A6 */ mtlr r0
+/* 80304498 003000F8 38 21 00 B0 */ addi r1, r1, 0xb0
+/* 8030449C 003000FC 4E 80 00 20 */ blr
diff --git a/asm/SDK/NWC24/NWC24Time.s b/asm/SDK/NWC24/NWC24Time.s
new file mode 100644
index 0000000..3660730
--- /dev/null
+++ b/asm/SDK/NWC24/NWC24Time.s
@@ -0,0 +1,141 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global NWC24iSetRtcCounter
+NWC24iSetRtcCounter:
+/* 803044A0 00300100 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 803044A4 00300104 7C 08 02 A6 */ mflr r0
+/* 803044A8 00300108 90 01 00 34 */ stw r0, 0x34(r1)
+/* 803044AC 0030010C 39 61 00 30 */ addi r11, r1, 0x30
+/* 803044B0 00300110 4B EC 2C 79 */ bl _savegpr_27
+/* 803044B4 00300114 3F C0 80 58 */ lis r30, lbl_8057E920@ha
+/* 803044B8 00300118 7C 7B 1B 78 */ mr r27, r3
+/* 803044BC 0030011C 7C 9C 23 78 */ mr r28, r4
+/* 803044C0 00300120 3B DE E9 20 */ addi r30, r30, lbl_8057E920@l
+/* 803044C4 00300124 4B F6 CE 35 */ bl OSGetCurrentThread
+/* 803044C8 00300128 2C 03 00 00 */ cmpwi r3, 0
+/* 803044CC 0030012C 40 82 00 0C */ bne lbl_803044D8
+/* 803044D0 00300130 38 60 FF FF */ li r3, -1
+/* 803044D4 00300134 48 00 00 08 */ b lbl_803044DC
+lbl_803044D8:
+/* 803044D8 00300138 38 60 00 00 */ li r3, 0
+lbl_803044DC:
+/* 803044DC 0030013C 2C 03 00 00 */ cmpwi r3, 0
+/* 803044E0 00300140 40 80 00 08 */ bge lbl_803044E8
+/* 803044E4 00300144 48 00 00 EC */ b lbl_803045D0
+lbl_803044E8:
+/* 803044E8 00300148 80 0D AF C0 */ lwz r0, lbl_80640280-_SDA_BASE_(r13)
+/* 803044EC 0030014C 2C 00 00 00 */ cmpwi r0, 0
+/* 803044F0 00300150 40 82 00 50 */ bne lbl_80304540
+/* 803044F4 00300154 4B F6 A2 69 */ bl OSDisableInterrupts
+/* 803044F8 00300158 80 0D AF C0 */ lwz r0, lbl_80640280-_SDA_BASE_(r13)
+/* 803044FC 0030015C 7C 7F 1B 78 */ mr r31, r3
+/* 80304500 00300160 2C 00 00 00 */ cmpwi r0, 0
+/* 80304504 00300164 40 82 00 34 */ bne lbl_80304538
+/* 80304508 00300168 38 7E 00 80 */ addi r3, r30, 0x80
+/* 8030450C 0030016C 4B F6 B4 05 */ bl OSInitMutex
+/* 80304510 00300170 38 7E 00 A0 */ addi r3, r30, 0xa0
+/* 80304514 00300174 38 80 00 00 */ li r4, 0
+/* 80304518 00300178 38 A0 00 20 */ li r5, 0x20
+/* 8030451C 0030017C 4B CF FB E9 */ bl memset
+/* 80304520 00300180 38 7E 00 C0 */ addi r3, r30, 0xc0
+/* 80304524 00300184 38 80 00 00 */ li r4, 0
+/* 80304528 00300188 38 A0 00 20 */ li r5, 0x20
+/* 8030452C 0030018C 4B CF FB D9 */ bl memset
+/* 80304530 00300190 38 00 00 01 */ li r0, 1
+/* 80304534 00300194 90 0D AF C0 */ stw r0, lbl_80640280-_SDA_BASE_(r13)
+lbl_80304538:
+/* 80304538 00300198 7F E3 FB 78 */ mr r3, r31
+/* 8030453C 0030019C 4B F6 A2 49 */ bl OSRestoreInterrupts
+lbl_80304540:
+/* 80304540 003001A0 38 7E 00 80 */ addi r3, r30, 0x80
+/* 80304544 003001A4 4B F6 B4 05 */ bl OSLockMutex
+/* 80304548 003001A8 3F E0 80 44 */ lis r31, lbl_8044655C@ha
+/* 8030454C 003001AC 3C 80 80 44 */ lis r4, lbl_80446548@ha
+/* 80304550 003001B0 38 7F 65 5C */ addi r3, r31, lbl_8044655C@l
+/* 80304554 003001B4 38 A1 00 08 */ addi r5, r1, 8
+/* 80304558 003001B8 38 84 65 48 */ addi r4, r4, lbl_80446548@l
+/* 8030455C 003001BC 38 C0 00 00 */ li r6, 0
+/* 80304560 003001C0 48 00 01 1D */ bl NWC24iOpenResourceManager
+/* 80304564 003001C4 2C 03 00 00 */ cmpwi r3, 0
+/* 80304568 003001C8 7C 7D 1B 78 */ mr r29, r3
+/* 8030456C 003001CC 41 80 00 58 */ blt lbl_803045C4
+/* 80304570 003001D0 38 DE 00 A0 */ addi r6, r30, 0xa0
+/* 80304574 003001D4 93 7E 00 A0 */ stw r27, 0xa0(r30)
+/* 80304578 003001D8 80 81 00 08 */ lwz r4, 8(r1)
+/* 8030457C 003001DC 38 7F 65 5C */ addi r3, r31, 0x655c
+/* 80304580 003001E0 93 86 00 04 */ stw r28, 4(r6)
+/* 80304584 003001E4 39 1E 00 C0 */ addi r8, r30, 0xc0
+/* 80304588 003001E8 38 A0 00 17 */ li r5, 0x17
+/* 8030458C 003001EC 38 E0 00 20 */ li r7, 0x20
+/* 80304590 003001F0 39 20 00 20 */ li r9, 0x20
+/* 80304594 003001F4 48 00 01 95 */ bl NWC24iIoctlResourceManager
+/* 80304598 003001F8 2C 03 00 00 */ cmpwi r3, 0
+/* 8030459C 003001FC 7C 7D 1B 78 */ mr r29, r3
+/* 803045A0 00300200 41 80 00 08 */ blt lbl_803045A8
+/* 803045A4 00300204 83 BE 00 C0 */ lwz r29, 0xc0(r30)
+lbl_803045A8:
+/* 803045A8 00300208 3C 60 80 44 */ lis r3, lbl_8044655C@ha
+/* 803045AC 0030020C 80 81 00 08 */ lwz r4, 8(r1)
+/* 803045B0 00300210 38 63 65 5C */ addi r3, r3, lbl_8044655C@l
+/* 803045B4 00300214 48 00 01 41 */ bl NWC24iCloseResourceManager
+/* 803045B8 00300218 2C 1D 00 00 */ cmpwi r29, 0
+/* 803045BC 0030021C 41 80 00 08 */ blt lbl_803045C4
+/* 803045C0 00300220 7C 7D 1B 78 */ mr r29, r3
+lbl_803045C4:
+/* 803045C4 00300224 38 7E 00 80 */ addi r3, r30, 0x80
+/* 803045C8 00300228 4B F6 B4 5D */ bl OSUnlockMutex
+/* 803045CC 0030022C 7F A3 EB 78 */ mr r3, r29
+lbl_803045D0:
+/* 803045D0 00300230 39 61 00 30 */ addi r11, r1, 0x30
+/* 803045D4 00300234 4B EC 2B A1 */ bl _restgpr_27
+/* 803045D8 00300238 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 803045DC 0030023C 7C 08 03 A6 */ mtlr r0
+/* 803045E0 00300240 38 21 00 30 */ addi r1, r1, 0x30
+/* 803045E4 00300244 4E 80 00 20 */ blr
+
+.global NWC24iSynchronizeRtcCounter
+NWC24iSynchronizeRtcCounter:
+/* 803045E8 00300248 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 803045EC 0030024C 7C 08 02 A6 */ mflr r0
+/* 803045F0 00300250 90 01 00 14 */ stw r0, 0x14(r1)
+/* 803045F4 00300254 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 803045F8 00300258 93 C1 00 08 */ stw r30, 8(r1)
+/* 803045FC 0030025C 7C 7E 1B 78 */ mr r30, r3
+lbl_80304600:
+/* 80304600 00300260 4B FE 63 ED */ bl SCCheckStatus
+/* 80304604 00300264 28 03 00 02 */ cmplwi r3, 2
+/* 80304608 00300268 40 82 00 0C */ bne lbl_80304614
+/* 8030460C 0030026C 38 60 FF FF */ li r3, -1
+/* 80304610 00300270 48 00 00 34 */ b lbl_80304644
+lbl_80304614:
+/* 80304614 00300274 2C 03 00 00 */ cmpwi r3, 0
+/* 80304618 00300278 40 82 FF E8 */ bne lbl_80304600
+/* 8030461C 0030027C 4B FE 7F A5 */ bl SCGetCounterBias
+/* 80304620 00300280 7C 7F 1B 78 */ mr r31, r3
+/* 80304624 00300284 4B F6 E1 95 */ bl OSGetTime
+/* 80304628 00300288 3C C0 80 00 */ lis r6, 0x800000F8@ha
+/* 8030462C 0030028C 38 A0 00 00 */ li r5, 0
+/* 80304630 00300290 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6)
+/* 80304634 00300294 54 06 F0 BE */ srwi r6, r0, 2
+/* 80304638 00300298 4B EC 2C 41 */ bl __div2i
+/* 8030463C 0030029C 7F FF 20 10 */ subfc r31, r31, r4
+/* 80304640 003002A0 38 60 00 00 */ li r3, 0
+lbl_80304644:
+/* 80304644 003002A4 2C 03 00 00 */ cmpwi r3, 0
+/* 80304648 003002A8 41 82 00 08 */ beq lbl_80304650
+/* 8030464C 003002AC 48 00 00 18 */ b lbl_80304664
+lbl_80304650:
+/* 80304650 003002B0 7C 1E 00 D0 */ neg r0, r30
+/* 80304654 003002B4 7F E3 FB 78 */ mr r3, r31
+/* 80304658 003002B8 7C 00 F3 78 */ or r0, r0, r30
+/* 8030465C 003002BC 54 04 0F FE */ srwi r4, r0, 0x1f
+/* 80304660 003002C0 4B FF FE 41 */ bl NWC24iSetRtcCounter
+lbl_80304664:
+/* 80304664 003002C4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80304668 003002C8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8030466C 003002CC 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80304670 003002D0 7C 08 03 A6 */ mtlr r0
+/* 80304674 003002D4 38 21 00 10 */ addi r1, r1, 0x10
+/* 80304678 003002D8 4E 80 00 20 */ blr
diff --git a/asm/SDK/OS/OSNet.s b/asm/SDK/OS/OSNet.s
index 4ceeb0e..8e5ea96 100644
--- a/asm/SDK/OS/OSNet.s
+++ b/asm/SDK/OS/OSNet.s
@@ -28,7 +28,7 @@ lbl_80274148:
/* 80274160 0026FDC0 4C C6 31 82 */ crclr 6
/* 80274164 0026FDC4 4B D9 39 61 */ bl func_80007AC4
lbl_80274168:
-/* 80274168 0026FDC8 48 08 F8 8D */ bl func_803039F4
+/* 80274168 0026FDC8 48 08 F8 8D */ bl NWC24SuspendScheduler
/* 8027416C 0026FDCC 2C 03 00 00 */ cmpwi r3, 0
/* 80274170 0026FDD0 40 80 00 14 */ bge lbl_80274184
/* 80274174 0026FDD4 7C 64 1B 78 */ mr r4, r3
@@ -36,7 +36,7 @@ lbl_80274168:
/* 8027417C 0026FDDC 4C C6 31 82 */ crclr 6
/* 80274180 0026FDE0 4B D9 39 45 */ bl func_80007AC4
lbl_80274184:
-/* 80274184 0026FDE4 48 09 04 65 */ bl func_803045E8
+/* 80274184 0026FDE4 48 09 04 65 */ bl NWC24iSynchronizeRtcCounter
/* 80274188 0026FDE8 2C 03 00 00 */ cmpwi r3, 0
/* 8027418C 0026FDEC 41 82 00 14 */ beq lbl_802741A0
/* 80274190 0026FDF0 7C 64 1B 78 */ mr r4, r3
diff --git a/asm/SDK/SO/SOCommon.s b/asm/SDK/SO/SOCommon.s
index 4335984..6f5e8ee 100644
--- a/asm/SDK/SO/SOCommon.s
+++ b/asm/SDK/SO/SOCommon.s
@@ -372,7 +372,7 @@ lbl_802F5684:
/* 802F5698 002F12F8 6E 3E 80 00 */ xoris r30, r17, 0x8000
lbl_802F569C:
/* 802F569C 002F12FC 38 61 00 08 */ addi r3, r1, 8
-/* 802F56A0 002F1300 48 00 E6 D1 */ bl func_80303D70
+/* 802F56A0 002F1300 48 00 E6 D1 */ bl NWC24iStartupSocket
/* 802F56A4 002F1304 2C 03 FF E3 */ cmpwi r3, -29
/* 802F56A8 002F1308 7C 7A 1B 78 */ mr r26, r3
/* 802F56AC 002F130C 40 82 00 4C */ bne lbl_802F56F8
@@ -561,7 +561,7 @@ lbl_802F591C:
/* 802F5924 002F1584 90 1F 00 08 */ stw r0, 8(r31)
/* 802F5928 002F1588 4B F7 8E 5D */ bl OSRestoreInterrupts
/* 802F592C 002F158C 38 61 00 08 */ addi r3, r1, 8
-/* 802F5930 002F1590 48 00 E4 51 */ bl func_80303D80
+/* 802F5930 002F1590 48 00 E4 51 */ bl NWC24iCleanupSocket
/* 802F5934 002F1594 38 03 00 21 */ addi r0, r3, 0x21
/* 802F5938 002F1598 80 81 00 08 */ lwz r4, 8(r1)
/* 802F593C 002F159C 28 00 00 21 */ cmplwi r0, 0x21
@@ -921,7 +921,7 @@ lbl_802F5DE4:
/* 802F5DE8 002F1A48 48 00 01 B4 */ b lbl_802F5F9C
lbl_802F5DEC:
/* 802F5DEC 002F1A4C 90 7B 00 00 */ stw r3, 0(r27)
-/* 802F5DF0 002F1A50 48 00 DF A1 */ bl func_80303D90
+/* 802F5DF0 002F1A50 48 00 DF A1 */ bl NWC24iLockSocket
/* 802F5DF4 002F1A54 2C 03 00 00 */ cmpwi r3, 0
/* 802F5DF8 002F1A58 40 82 00 D8 */ bne lbl_802F5ED0
/* 802F5DFC 002F1A5C 4B FF 77 29 */ bl NCDGetLinkStatus
@@ -1073,7 +1073,7 @@ SOiConcludeTempRm:
/* 802F5FF4 002F1C54 93 C1 00 08 */ stw r30, 8(r1)
/* 802F5FF8 002F1C58 7C 9E 23 78 */ mr r30, r4
/* 802F5FFC 002F1C5C 40 82 00 84 */ bne lbl_802F6080
-/* 802F6000 002F1C60 48 00 DD A1 */ bl func_80303DA0
+/* 802F6000 002F1C60 48 00 DD A1 */ bl NWC24iUnlockSocket
/* 802F6004 002F1C64 2C 03 FF FF */ cmpwi r3, -1
/* 802F6008 002F1C68 41 82 00 28 */ beq lbl_802F6030
/* 802F600C 002F1C6C 40 80 00 10 */ bge lbl_802F601C