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
|