summaryrefslogtreecommitdiff
path: root/asm/code_801DBB3C_asm.s
blob: a9ea53399691bce01d5a638e503b27d27653c90c (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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
.include "macros.inc"

.section .text, "ax"  # 0x80006980 - 0x803E1E60

.global func_801DBD00
func_801DBD00:
/* 801DBD00 001D7960  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 801DBD04 001D7964  7C 08 02 A6 */	mflr r0
/* 801DBD08 001D7968  2C 04 00 00 */	cmpwi r4, 0
/* 801DBD0C 001D796C  90 01 00 24 */	stw r0, 0x24(r1)
/* 801DBD10 001D7970  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 801DBD14 001D7974  93 C1 00 18 */	stw r30, 0x18(r1)
/* 801DBD18 001D7978  93 A1 00 14 */	stw r29, 0x14(r1)
/* 801DBD1C 001D797C  7C 7D 1B 78 */	mr r29, r3
/* 801DBD20 001D7980  41 82 00 38 */	beq lbl_801DBD58
/* 801DBD24 001D7984  80 03 00 18 */	lwz r0, 0x18(r3)
/* 801DBD28 001D7988  3B C4 FF FC */	addi r30, r4, -4
/* 801DBD2C 001D798C  90 04 FF FC */	stw r0, -4(r4)
/* 801DBD30 001D7990  80 83 00 00 */	lwz r4, 0(r3)
/* 801DBD34 001D7994  38 04 FF FF */	addi r0, r4, -1
/* 801DBD38 001D7998  90 03 00 00 */	stw r0, 0(r3)
/* 801DBD3C 001D799C  4B FF FE 01 */	bl func_801DBB3C
/* 801DBD40 001D79A0  7C 7F 1B 78 */	mr r31, r3
/* 801DBD44 001D79A4  38 60 00 00 */	li r3, 0
/* 801DBD48 001D79A8  4B FF FD FD */	bl func_801DBB44
/* 801DBD4C 001D79AC  93 DD 00 18 */	stw r30, 0x18(r29)
/* 801DBD50 001D79B0  7F E3 FB 78 */	mr r3, r31
/* 801DBD54 001D79B4  4B FF FD F1 */	bl func_801DBB44
lbl_801DBD58:
/* 801DBD58 001D79B8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 801DBD5C 001D79BC  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 801DBD60 001D79C0  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 801DBD64 001D79C4  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 801DBD68 001D79C8  7C 08 03 A6 */	mtlr r0
/* 801DBD6C 001D79CC  38 21 00 20 */	addi r1, r1, 0x20
/* 801DBD70 001D79D0  4E 80 00 20 */	blr

.global func_801DBD74
func_801DBD74:
/* 801DBD74 001D79D4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801DBD78 001D79D8  7C 08 02 A6 */	mflr r0
/* 801DBD7C 001D79DC  3C C0 80 49 */	lis r6, lbl_80491470@ha
/* 801DBD80 001D79E0  7C 67 1B 78 */	mr r7, r3
/* 801DBD84 001D79E4  90 01 00 14 */	stw r0, 0x14(r1)
/* 801DBD88 001D79E8  38 00 00 04 */	li r0, 4
/* 801DBD8C 001D79EC  7C 85 23 78 */	mr r5, r4
/* 801DBD90 001D79F0  38 C6 14 70 */	addi r6, r6, lbl_80491470@l
/* 801DBD94 001D79F4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801DBD98 001D79F8  38 60 00 00 */	li r3, 0
/* 801DBD9C 001D79FC  7C 09 03 A6 */	mtctr r0
lbl_801DBDA0:
/* 801DBDA0 001D7A00  80 06 00 08 */	lwz r0, 8(r6)
/* 801DBDA4 001D7A04  2C 00 00 00 */	cmpwi r0, 0
/* 801DBDA8 001D7A08  41 82 00 80 */	beq lbl_801DBE28
/* 801DBDAC 001D7A0C  80 06 00 24 */	lwz r0, 0x24(r6)
/* 801DBDB0 001D7A10  38 63 00 01 */	addi r3, r3, 1
/* 801DBDB4 001D7A14  2C 00 00 00 */	cmpwi r0, 0
/* 801DBDB8 001D7A18  41 82 00 70 */	beq lbl_801DBE28
/* 801DBDBC 001D7A1C  80 06 00 40 */	lwz r0, 0x40(r6)
/* 801DBDC0 001D7A20  38 63 00 01 */	addi r3, r3, 1
/* 801DBDC4 001D7A24  2C 00 00 00 */	cmpwi r0, 0
/* 801DBDC8 001D7A28  41 82 00 60 */	beq lbl_801DBE28
/* 801DBDCC 001D7A2C  80 06 00 5C */	lwz r0, 0x5c(r6)
/* 801DBDD0 001D7A30  38 63 00 01 */	addi r3, r3, 1
/* 801DBDD4 001D7A34  2C 00 00 00 */	cmpwi r0, 0
/* 801DBDD8 001D7A38  41 82 00 50 */	beq lbl_801DBE28
/* 801DBDDC 001D7A3C  80 06 00 78 */	lwz r0, 0x78(r6)
/* 801DBDE0 001D7A40  38 63 00 01 */	addi r3, r3, 1
/* 801DBDE4 001D7A44  2C 00 00 00 */	cmpwi r0, 0
/* 801DBDE8 001D7A48  41 82 00 40 */	beq lbl_801DBE28
/* 801DBDEC 001D7A4C  80 06 00 94 */	lwz r0, 0x94(r6)
/* 801DBDF0 001D7A50  38 63 00 01 */	addi r3, r3, 1
/* 801DBDF4 001D7A54  2C 00 00 00 */	cmpwi r0, 0
/* 801DBDF8 001D7A58  41 82 00 30 */	beq lbl_801DBE28
/* 801DBDFC 001D7A5C  80 06 00 B0 */	lwz r0, 0xb0(r6)
/* 801DBE00 001D7A60  38 63 00 01 */	addi r3, r3, 1
/* 801DBE04 001D7A64  2C 00 00 00 */	cmpwi r0, 0
/* 801DBE08 001D7A68  41 82 00 20 */	beq lbl_801DBE28
/* 801DBE0C 001D7A6C  80 06 00 CC */	lwz r0, 0xcc(r6)
/* 801DBE10 001D7A70  38 63 00 01 */	addi r3, r3, 1
/* 801DBE14 001D7A74  2C 00 00 00 */	cmpwi r0, 0
/* 801DBE18 001D7A78  41 82 00 10 */	beq lbl_801DBE28
/* 801DBE1C 001D7A7C  38 C6 00 E0 */	addi r6, r6, 0xe0
/* 801DBE20 001D7A80  38 63 00 01 */	addi r3, r3, 1
/* 801DBE24 001D7A84  42 00 FF 7C */	bdnz lbl_801DBDA0
lbl_801DBE28:
/* 801DBE28 001D7A88  1C 03 00 1C */	mulli r0, r3, 0x1c
/* 801DBE2C 001D7A8C  3C 60 80 49 */	lis r3, lbl_80491470@ha
/* 801DBE30 001D7A90  38 63 14 70 */	addi r3, r3, lbl_80491470@l
/* 801DBE34 001D7A94  7F E3 02 14 */	add r31, r3, r0
/* 801DBE38 001D7A98  80 1F 00 08 */	lwz r0, 8(r31)
/* 801DBE3C 001D7A9C  2C 00 00 00 */	cmpwi r0, 0
/* 801DBE40 001D7AA0  41 82 00 0C */	beq lbl_801DBE4C
/* 801DBE44 001D7AA4  38 60 00 00 */	li r3, 0
/* 801DBE48 001D7AA8  48 00 00 14 */	b lbl_801DBE5C
lbl_801DBE4C:
/* 801DBE4C 001D7AAC  7F E3 FB 78 */	mr r3, r31
/* 801DBE50 001D7AB0  7C E4 3B 78 */	mr r4, r7
/* 801DBE54 001D7AB4  4B FF FC F5 */	bl func_801DBB48
/* 801DBE58 001D7AB8  7F E3 FB 78 */	mr r3, r31
lbl_801DBE5C:
/* 801DBE5C 001D7ABC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801DBE60 001D7AC0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801DBE64 001D7AC4  7C 08 03 A6 */	mtlr r0
/* 801DBE68 001D7AC8  38 21 00 10 */	addi r1, r1, 0x10
/* 801DBE6C 001D7ACC  4E 80 00 20 */	blr

.global func_801DBE70
func_801DBE70:
/* 801DBE70 001D7AD0  38 A0 00 01 */	li r5, 1
/* 801DBE74 001D7AD4  38 6D A0 50 */	addi r3, r13, lbl_8063F310-_SDA_BASE_
/* 801DBE78 001D7AD8  38 80 00 04 */	li r4, 4
/* 801DBE7C 001D7ADC  38 00 00 00 */	li r0, 0
/* 801DBE80 001D7AE0  98 AD A0 50 */	stb r5, lbl_8063F310-_SDA_BASE_(r13)
/* 801DBE84 001D7AE4  B0 83 00 02 */	sth r4, 2(r3)
/* 801DBE88 001D7AE8  98 03 00 04 */	stb r0, 4(r3)
/* 801DBE8C 001D7AEC  4E 80 00 20 */	blr