summaryrefslogtreecommitdiff
path: root/asm/text_9.s
blob: 0203df930b88027b390829f5bc182a9d194191dc (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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
.include "macros.inc"

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

.global func_80300C10
func_80300C10:
/* 80300C10 002FC870  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80300C14 002FC874  28 05 00 10 */	cmplwi r5, 0x10
/* 80300C18 002FC878  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80300C1C 002FC87C  40 81 00 08 */	ble lbl_80300C24
/* 80300C20 002FC880  38 A0 00 10 */	li r5, 0x10
lbl_80300C24:
/* 80300C24 002FC884  38 C0 00 00 */	li r6, 0
/* 80300C28 002FC888  38 00 00 08 */	li r0, 8
/* 80300C2C 002FC88C  98 C3 00 00 */	stb r6, 0(r3)
/* 80300C30 002FC890  39 83 00 04 */	addi r12, r3, 4
/* 80300C34 002FC894  3B E0 00 00 */	li r31, 0
/* 80300C38 002FC898  98 C3 00 01 */	stb r6, 1(r3)
/* 80300C3C 002FC89C  7C 09 03 A6 */	mtctr r0
lbl_80300C40:
/* 80300C40 002FC8A0  7F EC F9 AE */	stbx r31, r12, r31
/* 80300C44 002FC8A4  7D 6C FA 14 */	add r11, r12, r31
/* 80300C48 002FC8A8  39 5F 00 01 */	addi r10, r31, 1
/* 80300C4C 002FC8AC  39 3F 00 02 */	addi r9, r31, 2
/* 80300C50 002FC8B0  99 4B 00 01 */	stb r10, 1(r11)
/* 80300C54 002FC8B4  39 1F 00 03 */	addi r8, r31, 3
/* 80300C58 002FC8B8  38 FF 00 04 */	addi r7, r31, 4
/* 80300C5C 002FC8BC  38 DF 00 05 */	addi r6, r31, 5
/* 80300C60 002FC8C0  99 2B 00 02 */	stb r9, 2(r11)
/* 80300C64 002FC8C4  38 7F 00 06 */	addi r3, r31, 6
/* 80300C68 002FC8C8  38 1F 00 07 */	addi r0, r31, 7
/* 80300C6C 002FC8CC  39 5F 00 09 */	addi r10, r31, 9
/* 80300C70 002FC8D0  99 0B 00 03 */	stb r8, 3(r11)
/* 80300C74 002FC8D4  39 3F 00 0A */	addi r9, r31, 0xa
/* 80300C78 002FC8D8  39 1F 00 0B */	addi r8, r31, 0xb
/* 80300C7C 002FC8DC  98 EB 00 04 */	stb r7, 4(r11)
/* 80300C80 002FC8E0  38 FF 00 0C */	addi r7, r31, 0xc
/* 80300C84 002FC8E4  98 CB 00 05 */	stb r6, 5(r11)
/* 80300C88 002FC8E8  38 DF 00 0D */	addi r6, r31, 0xd
/* 80300C8C 002FC8EC  98 6B 00 06 */	stb r3, 6(r11)
/* 80300C90 002FC8F0  38 7F 00 0E */	addi r3, r31, 0xe
/* 80300C94 002FC8F4  3B FF 00 08 */	addi r31, r31, 8
/* 80300C98 002FC8F8  98 0B 00 07 */	stb r0, 7(r11)
/* 80300C9C 002FC8FC  7D 6C FA 14 */	add r11, r12, r31
/* 80300CA0 002FC900  38 1F 00 07 */	addi r0, r31, 7
/* 80300CA4 002FC904  7F EC F9 AE */	stbx r31, r12, r31
/* 80300CA8 002FC908  99 4B 00 01 */	stb r10, 1(r11)
/* 80300CAC 002FC90C  39 5F 00 09 */	addi r10, r31, 9
/* 80300CB0 002FC910  99 2B 00 02 */	stb r9, 2(r11)
/* 80300CB4 002FC914  39 3F 00 0A */	addi r9, r31, 0xa
/* 80300CB8 002FC918  99 0B 00 03 */	stb r8, 3(r11)
/* 80300CBC 002FC91C  39 1F 00 0B */	addi r8, r31, 0xb
/* 80300CC0 002FC920  98 EB 00 04 */	stb r7, 4(r11)
/* 80300CC4 002FC924  38 FF 00 0C */	addi r7, r31, 0xc
/* 80300CC8 002FC928  98 CB 00 05 */	stb r6, 5(r11)
/* 80300CCC 002FC92C  38 DF 00 0D */	addi r6, r31, 0xd
/* 80300CD0 002FC930  98 6B 00 06 */	stb r3, 6(r11)
/* 80300CD4 002FC934  38 7F 00 0E */	addi r3, r31, 0xe
/* 80300CD8 002FC938  3B FF 00 08 */	addi r31, r31, 8
/* 80300CDC 002FC93C  98 0B 00 07 */	stb r0, 7(r11)
/* 80300CE0 002FC940  7D 6C FA 14 */	add r11, r12, r31
/* 80300CE4 002FC944  38 1F 00 07 */	addi r0, r31, 7
/* 80300CE8 002FC948  7F EC F9 AE */	stbx r31, r12, r31
/* 80300CEC 002FC94C  99 4B 00 01 */	stb r10, 1(r11)
/* 80300CF0 002FC950  39 5F 00 09 */	addi r10, r31, 9
/* 80300CF4 002FC954  99 2B 00 02 */	stb r9, 2(r11)
/* 80300CF8 002FC958  39 3F 00 0A */	addi r9, r31, 0xa
/* 80300CFC 002FC95C  99 0B 00 03 */	stb r8, 3(r11)
/* 80300D00 002FC960  39 1F 00 0B */	addi r8, r31, 0xb
/* 80300D04 002FC964  98 EB 00 04 */	stb r7, 4(r11)
/* 80300D08 002FC968  38 FF 00 0C */	addi r7, r31, 0xc
/* 80300D0C 002FC96C  98 CB 00 05 */	stb r6, 5(r11)
/* 80300D10 002FC970  38 DF 00 0D */	addi r6, r31, 0xd
/* 80300D14 002FC974  98 6B 00 06 */	stb r3, 6(r11)
/* 80300D18 002FC978  38 7F 00 0E */	addi r3, r31, 0xe
/* 80300D1C 002FC97C  3B FF 00 08 */	addi r31, r31, 8
/* 80300D20 002FC980  98 0B 00 07 */	stb r0, 7(r11)
/* 80300D24 002FC984  7D 6C FA 14 */	add r11, r12, r31
/* 80300D28 002FC988  38 1F 00 07 */	addi r0, r31, 7
/* 80300D2C 002FC98C  7F EC F9 AE */	stbx r31, r12, r31
/* 80300D30 002FC990  3B FF 00 08 */	addi r31, r31, 8
/* 80300D34 002FC994  99 4B 00 01 */	stb r10, 1(r11)
/* 80300D38 002FC998  99 2B 00 02 */	stb r9, 2(r11)
/* 80300D3C 002FC99C  99 0B 00 03 */	stb r8, 3(r11)
/* 80300D40 002FC9A0  98 EB 00 04 */	stb r7, 4(r11)
/* 80300D44 002FC9A4  98 CB 00 05 */	stb r6, 5(r11)
/* 80300D48 002FC9A8  98 6B 00 06 */	stb r3, 6(r11)
/* 80300D4C 002FC9AC  98 0B 00 07 */	stb r0, 7(r11)
/* 80300D50 002FC9B0  42 00 FE F0 */	bdnz lbl_80300C40
/* 80300D54 002FC9B4  38 00 00 40 */	li r0, 0x40
/* 80300D58 002FC9B8  7D 83 63 78 */	mr r3, r12
/* 80300D5C 002FC9BC  54 A5 06 3E */	clrlwi r5, r5, 0x18
/* 80300D60 002FC9C0  39 20 00 00 */	li r9, 0
/* 80300D64 002FC9C4  39 00 00 00 */	li r8, 0
/* 80300D68 002FC9C8  38 E0 00 00 */	li r7, 0
/* 80300D6C 002FC9CC  7C 09 03 A6 */	mtctr r0
lbl_80300D70:
/* 80300D70 002FC9D0  55 06 06 3E */	clrlwi r6, r8, 0x18
/* 80300D74 002FC9D4  39 08 00 01 */	addi r8, r8, 1
/* 80300D78 002FC9D8  55 00 06 3E */	clrlwi r0, r8, 0x18
/* 80300D7C 002FC9DC  89 43 00 00 */	lbz r10, 0(r3)
/* 80300D80 002FC9E0  7C 00 28 40 */	cmplw r0, r5
/* 80300D84 002FC9E4  7C C4 30 AE */	lbzx r6, r4, r6
/* 80300D88 002FC9E8  7C 09 52 14 */	add r0, r9, r10
/* 80300D8C 002FC9EC  7C 06 02 14 */	add r0, r6, r0
/* 80300D90 002FC9F0  54 09 06 3E */	clrlwi r9, r0, 0x18
/* 80300D94 002FC9F4  40 82 00 08 */	bne lbl_80300D9C
/* 80300D98 002FC9F8  39 00 00 00 */	li r8, 0
lbl_80300D9C:
/* 80300D9C 002FC9FC  7C 0C 48 AE */	lbzx r0, r12, r9
/* 80300DA0 002FCA00  55 06 06 3E */	clrlwi r6, r8, 0x18
/* 80300DA4 002FCA04  39 08 00 01 */	addi r8, r8, 1
/* 80300DA8 002FCA08  7C C4 30 AE */	lbzx r6, r4, r6
/* 80300DAC 002FCA0C  98 03 00 00 */	stb r0, 0(r3)
/* 80300DB0 002FCA10  55 00 06 3E */	clrlwi r0, r8, 0x18
/* 80300DB4 002FCA14  7C 00 28 40 */	cmplw r0, r5
/* 80300DB8 002FCA18  7D 4C 49 AE */	stbx r10, r12, r9
/* 80300DBC 002FCA1C  89 43 00 01 */	lbz r10, 1(r3)
/* 80300DC0 002FCA20  7C 09 52 14 */	add r0, r9, r10
/* 80300DC4 002FCA24  7C 06 02 14 */	add r0, r6, r0
/* 80300DC8 002FCA28  54 09 06 3E */	clrlwi r9, r0, 0x18
/* 80300DCC 002FCA2C  40 82 00 08 */	bne lbl_80300DD4
/* 80300DD0 002FCA30  39 00 00 00 */	li r8, 0
lbl_80300DD4:
/* 80300DD4 002FCA34  7C 0C 48 AE */	lbzx r0, r12, r9
/* 80300DD8 002FCA38  55 06 06 3E */	clrlwi r6, r8, 0x18
/* 80300DDC 002FCA3C  39 08 00 01 */	addi r8, r8, 1
/* 80300DE0 002FCA40  7C C4 30 AE */	lbzx r6, r4, r6
/* 80300DE4 002FCA44  98 03 00 01 */	stb r0, 1(r3)
/* 80300DE8 002FCA48  55 00 06 3E */	clrlwi r0, r8, 0x18
/* 80300DEC 002FCA4C  7C 00 28 40 */	cmplw r0, r5
/* 80300DF0 002FCA50  7D 4C 49 AE */	stbx r10, r12, r9
/* 80300DF4 002FCA54  89 43 00 02 */	lbz r10, 2(r3)
/* 80300DF8 002FCA58  7C 09 52 14 */	add r0, r9, r10
/* 80300DFC 002FCA5C  7C 06 02 14 */	add r0, r6, r0
/* 80300E00 002FCA60  54 09 06 3E */	clrlwi r9, r0, 0x18
/* 80300E04 002FCA64  40 82 00 08 */	bne lbl_80300E0C
/* 80300E08 002FCA68  39 00 00 00 */	li r8, 0
lbl_80300E0C:
/* 80300E0C 002FCA6C  7C 0C 48 AE */	lbzx r0, r12, r9
/* 80300E10 002FCA70  55 06 06 3E */	clrlwi r6, r8, 0x18
/* 80300E14 002FCA74  39 08 00 01 */	addi r8, r8, 1
/* 80300E18 002FCA78  7C C4 30 AE */	lbzx r6, r4, r6
/* 80300E1C 002FCA7C  98 03 00 02 */	stb r0, 2(r3)
/* 80300E20 002FCA80  55 00 06 3E */	clrlwi r0, r8, 0x18
/* 80300E24 002FCA84  7C 00 28 40 */	cmplw r0, r5
/* 80300E28 002FCA88  7D 4C 49 AE */	stbx r10, r12, r9
/* 80300E2C 002FCA8C  89 43 00 03 */	lbz r10, 3(r3)
/* 80300E30 002FCA90  7C 09 52 14 */	add r0, r9, r10
/* 80300E34 002FCA94  7C 06 02 14 */	add r0, r6, r0
/* 80300E38 002FCA98  54 09 06 3E */	clrlwi r9, r0, 0x18
/* 80300E3C 002FCA9C  40 82 00 08 */	bne lbl_80300E44
/* 80300E40 002FCAA0  39 00 00 00 */	li r8, 0
lbl_80300E44:
/* 80300E44 002FCAA4  7C 0C 48 AE */	lbzx r0, r12, r9
/* 80300E48 002FCAA8  38 E7 00 03 */	addi r7, r7, 3
/* 80300E4C 002FCAAC  98 03 00 03 */	stb r0, 3(r3)
/* 80300E50 002FCAB0  38 63 00 04 */	addi r3, r3, 4
/* 80300E54 002FCAB4  7D 4C 49 AE */	stbx r10, r12, r9
/* 80300E58 002FCAB8  42 00 FF 18 */	bdnz lbl_80300D70
/* 80300E5C 002FCABC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80300E60 002FCAC0  38 21 00 10 */	addi r1, r1, 0x10
/* 80300E64 002FCAC4  4E 80 00 20 */	blr

.global func_80300E68
func_80300E68:
/* 80300E68 002FCAC8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80300E6C 002FCACC  2C 06 00 00 */	cmpwi r6, 0
/* 80300E70 002FCAD0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80300E74 002FCAD4  41 82 01 64 */	beq lbl_80300FD8
/* 80300E78 002FCAD8  89 63 00 00 */	lbz r11, 0(r3)
/* 80300E7C 002FCADC  3B E3 00 04 */	addi r31, r3, 4
/* 80300E80 002FCAE0  89 83 00 01 */	lbz r12, 1(r3)
/* 80300E84 002FCAE4  41 82 01 4C */	beq lbl_80300FD0
/* 80300E88 002FCAE8  54 C0 F0 BF */	rlwinm. r0, r6, 0x1e, 2, 0x1f
/* 80300E8C 002FCAEC  7C 09 03 A6 */	mtctr r0
/* 80300E90 002FCAF0  41 82 00 F8 */	beq lbl_80300F88
lbl_80300E94:
/* 80300E94 002FCAF4  39 0B 00 01 */	addi r8, r11, 1
/* 80300E98 002FCAF8  88 E5 00 00 */	lbz r7, 0(r5)
/* 80300E9C 002FCAFC  55 0B 06 3E */	clrlwi r11, r8, 0x18
/* 80300EA0 002FCB00  7D 3F 58 AE */	lbzx r9, r31, r11
/* 80300EA4 002FCB04  39 0B 00 01 */	addi r8, r11, 1
/* 80300EA8 002FCB08  7C 0C 4A 14 */	add r0, r12, r9
/* 80300EAC 002FCB0C  54 0C 06 3E */	clrlwi r12, r0, 0x18
/* 80300EB0 002FCB10  7D 5F 60 AE */	lbzx r10, r31, r12
/* 80300EB4 002FCB14  7D 3F 61 AE */	stbx r9, r31, r12
/* 80300EB8 002FCB18  7C 09 52 14 */	add r0, r9, r10
/* 80300EBC 002FCB1C  54 00 06 3E */	clrlwi r0, r0, 0x18
/* 80300EC0 002FCB20  7D 5F 59 AE */	stbx r10, r31, r11
/* 80300EC4 002FCB24  55 0B 06 3E */	clrlwi r11, r8, 0x18
/* 80300EC8 002FCB28  39 0B 00 01 */	addi r8, r11, 1
/* 80300ECC 002FCB2C  7C 1F 00 AE */	lbzx r0, r31, r0
/* 80300ED0 002FCB30  7C E0 02 78 */	xor r0, r7, r0
/* 80300ED4 002FCB34  88 E5 00 01 */	lbz r7, 1(r5)
/* 80300ED8 002FCB38  98 04 00 00 */	stb r0, 0(r4)
/* 80300EDC 002FCB3C  7D 3F 58 AE */	lbzx r9, r31, r11
/* 80300EE0 002FCB40  7C 0C 4A 14 */	add r0, r12, r9
/* 80300EE4 002FCB44  54 0C 06 3E */	clrlwi r12, r0, 0x18
/* 80300EE8 002FCB48  7D 5F 60 AE */	lbzx r10, r31, r12
/* 80300EEC 002FCB4C  7D 3F 61 AE */	stbx r9, r31, r12
/* 80300EF0 002FCB50  7C 09 52 14 */	add r0, r9, r10
/* 80300EF4 002FCB54  54 00 06 3E */	clrlwi r0, r0, 0x18
/* 80300EF8 002FCB58  7D 5F 59 AE */	stbx r10, r31, r11
/* 80300EFC 002FCB5C  55 0B 06 3E */	clrlwi r11, r8, 0x18
/* 80300F00 002FCB60  39 0B 00 01 */	addi r8, r11, 1
/* 80300F04 002FCB64  7C 1F 00 AE */	lbzx r0, r31, r0
/* 80300F08 002FCB68  7C E0 02 78 */	xor r0, r7, r0
/* 80300F0C 002FCB6C  88 E5 00 02 */	lbz r7, 2(r5)
/* 80300F10 002FCB70  98 04 00 01 */	stb r0, 1(r4)
/* 80300F14 002FCB74  7D 3F 58 AE */	lbzx r9, r31, r11
/* 80300F18 002FCB78  7C 0C 4A 14 */	add r0, r12, r9
/* 80300F1C 002FCB7C  54 0C 06 3E */	clrlwi r12, r0, 0x18
/* 80300F20 002FCB80  7D 5F 60 AE */	lbzx r10, r31, r12
/* 80300F24 002FCB84  7D 3F 61 AE */	stbx r9, r31, r12
/* 80300F28 002FCB88  7C 09 52 14 */	add r0, r9, r10
/* 80300F2C 002FCB8C  54 00 06 3E */	clrlwi r0, r0, 0x18
/* 80300F30 002FCB90  7D 5F 59 AE */	stbx r10, r31, r11
/* 80300F34 002FCB94  55 0B 06 3E */	clrlwi r11, r8, 0x18
/* 80300F38 002FCB98  7C 1F 00 AE */	lbzx r0, r31, r0
/* 80300F3C 002FCB9C  7C E0 02 78 */	xor r0, r7, r0
/* 80300F40 002FCBA0  88 E5 00 03 */	lbz r7, 3(r5)
/* 80300F44 002FCBA4  98 04 00 02 */	stb r0, 2(r4)
/* 80300F48 002FCBA8  38 A5 00 04 */	addi r5, r5, 4
/* 80300F4C 002FCBAC  7D 3F 58 AE */	lbzx r9, r31, r11
/* 80300F50 002FCBB0  7C 0C 4A 14 */	add r0, r12, r9
/* 80300F54 002FCBB4  54 0C 06 3E */	clrlwi r12, r0, 0x18
/* 80300F58 002FCBB8  7D 5F 60 AE */	lbzx r10, r31, r12
/* 80300F5C 002FCBBC  7D 3F 61 AE */	stbx r9, r31, r12
/* 80300F60 002FCBC0  7C 09 52 14 */	add r0, r9, r10
/* 80300F64 002FCBC4  54 00 06 3E */	clrlwi r0, r0, 0x18
/* 80300F68 002FCBC8  7D 5F 59 AE */	stbx r10, r31, r11
/* 80300F6C 002FCBCC  7C 1F 00 AE */	lbzx r0, r31, r0
/* 80300F70 002FCBD0  7C E0 02 78 */	xor r0, r7, r0
/* 80300F74 002FCBD4  98 04 00 03 */	stb r0, 3(r4)
/* 80300F78 002FCBD8  38 84 00 04 */	addi r4, r4, 4
/* 80300F7C 002FCBDC  42 00 FF 18 */	bdnz lbl_80300E94
/* 80300F80 002FCBE0  70 C6 00 03 */	andi. r6, r6, 3
/* 80300F84 002FCBE4  41 82 00 4C */	beq lbl_80300FD0
lbl_80300F88:
/* 80300F88 002FCBE8  7C C9 03 A6 */	mtctr r6
lbl_80300F8C:
/* 80300F8C 002FCBEC  39 0B 00 01 */	addi r8, r11, 1
/* 80300F90 002FCBF0  88 E5 00 00 */	lbz r7, 0(r5)
/* 80300F94 002FCBF4  55 0B 06 3E */	clrlwi r11, r8, 0x18
/* 80300F98 002FCBF8  38 A5 00 01 */	addi r5, r5, 1
/* 80300F9C 002FCBFC  7D 3F 58 AE */	lbzx r9, r31, r11
/* 80300FA0 002FCC00  7C 0C 4A 14 */	add r0, r12, r9
/* 80300FA4 002FCC04  54 0C 06 3E */	clrlwi r12, r0, 0x18
/* 80300FA8 002FCC08  7D 5F 60 AE */	lbzx r10, r31, r12
/* 80300FAC 002FCC0C  7D 3F 61 AE */	stbx r9, r31, r12
/* 80300FB0 002FCC10  7C 09 52 14 */	add r0, r9, r10
/* 80300FB4 002FCC14  54 00 06 3E */	clrlwi r0, r0, 0x18
/* 80300FB8 002FCC18  7D 5F 59 AE */	stbx r10, r31, r11
/* 80300FBC 002FCC1C  7C 1F 00 AE */	lbzx r0, r31, r0
/* 80300FC0 002FCC20  7C E0 02 78 */	xor r0, r7, r0
/* 80300FC4 002FCC24  98 04 00 00 */	stb r0, 0(r4)
/* 80300FC8 002FCC28  38 84 00 01 */	addi r4, r4, 1
/* 80300FCC 002FCC2C  42 00 FF C0 */	bdnz lbl_80300F8C
lbl_80300FD0:
/* 80300FD0 002FCC30  99 63 00 00 */	stb r11, 0(r3)
/* 80300FD4 002FCC34  99 83 00 01 */	stb r12, 1(r3)
lbl_80300FD8:
/* 80300FD8 002FCC38  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80300FDC 002FCC3C  38 21 00 10 */	addi r1, r1, 0x10
/* 80300FE0 002FCC40  4E 80 00 20 */	blr