summaryrefslogtreecommitdiff
path: root/asm/SDK/NWC24/NWC24SecretFList.s
blob: fc31bd45d587de10e3312ad11ca9c2e04901819c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
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