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
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global CXCompressLZ
CXCompressLZ:
/* 802A2244 0029DEA4 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 802A2248 0029DEA8 7C 08 02 A6 */ mflr r0
/* 802A224C 0029DEAC 90 01 00 54 */ stw r0, 0x54(r1)
/* 802A2250 0029DEB0 39 61 00 50 */ addi r11, r1, 0x50
/* 802A2254 0029DEB4 4B F2 4E BD */ bl _savegpr_21
/* 802A2258 0029DEB8 3C 00 01 00 */ lis r0, 0x100
/* 802A225C 0029DEBC 7C 77 1B 78 */ mr r23, r3
/* 802A2260 0029DEC0 7C 04 00 40 */ cmplw r4, r0
/* 802A2264 0029DEC4 7C 98 23 78 */ mr r24, r4
/* 802A2268 0029DEC8 40 80 00 30 */ bge lbl_802A2298
/* 802A226C 0029DECC 54 80 40 2E */ slwi r0, r4, 8
/* 802A2270 0029DED0 3B 25 00 04 */ addi r25, r5, 4
/* 802A2274 0029DED4 60 04 00 10 */ ori r4, r0, 0x10
/* 802A2278 0029DED8 3B C0 00 04 */ li r30, 4
/* 802A227C 0029DEDC 54 83 42 1E */ rlwinm r3, r4, 8, 8, 0xf
/* 802A2280 0029DEE0 54 80 C4 2E */ rlwinm r0, r4, 0x18, 0x10, 0x17
/* 802A2284 0029DEE4 50 83 C0 C6 */ rlwimi r3, r4, 0x18, 3, 3
/* 802A2288 0029DEE8 50 80 46 3E */ rlwimi r0, r4, 8, 0x18, 0x1f
/* 802A228C 0029DEEC 7C 60 03 78 */ or r0, r3, r0
/* 802A2290 0029DEF0 90 05 00 00 */ stw r0, 0(r5)
/* 802A2294 0029DEF4 48 00 00 2C */ b lbl_802A22C0
lbl_802A2298:
/* 802A2298 0029DEF8 54 83 42 1E */ rlwinm r3, r4, 8, 8, 0xf
/* 802A229C 0029DEFC 54 80 C4 2E */ rlwinm r0, r4, 0x18, 0x10, 0x17
/* 802A22A0 0029DF00 3C E0 10 00 */ lis r7, 0x1000
/* 802A22A4 0029DF04 3B 25 00 08 */ addi r25, r5, 8
/* 802A22A8 0029DF08 50 83 C0 0E */ rlwimi r3, r4, 0x18, 0, 7
/* 802A22AC 0029DF0C 50 80 46 3E */ rlwimi r0, r4, 8, 0x18, 0x1f
/* 802A22B0 0029DF10 7C 60 03 78 */ or r0, r3, r0
/* 802A22B4 0029DF14 90 E5 00 00 */ stw r7, 0(r5)
/* 802A22B8 0029DF18 3B C0 00 08 */ li r30, 8
/* 802A22BC 0029DF1C 90 05 00 04 */ stw r0, 4(r5)
lbl_802A22C0:
/* 802A22C0 0029DF20 38 E6 20 00 */ addi r7, r6, 0x2000
/* 802A22C4 0029DF24 38 A6 22 00 */ addi r5, r6, 0x2200
/* 802A22C8 0029DF28 38 80 00 20 */ li r4, 0x20
/* 802A22CC 0029DF2C 7F 1A C3 78 */ mr r26, r24
/* 802A22D0 0029DF30 90 C1 00 14 */ stw r6, 0x14(r1)
/* 802A22D4 0029DF34 38 60 00 00 */ li r3, 0
/* 802A22D8 0029DF38 38 00 FF FF */ li r0, -1
/* 802A22DC 0029DF3C 90 E1 00 18 */ stw r7, 0x18(r1)
/* 802A22E0 0029DF40 90 A1 00 1C */ stw r5, 0x1c(r1)
/* 802A22E4 0029DF44 7C 89 03 A6 */ mtctr r4
lbl_802A22E8:
/* 802A22E8 0029DF48 80 A1 00 18 */ lwz r5, 0x18(r1)
/* 802A22EC 0029DF4C 54 64 0B FC */ rlwinm r4, r3, 1, 0xf, 0x1e
/* 802A22F0 0029DF50 38 63 00 08 */ addi r3, r3, 8
/* 802A22F4 0029DF54 7C 05 23 2E */ sthx r0, r5, r4
/* 802A22F8 0029DF58 80 A1 00 1C */ lwz r5, 0x1c(r1)
/* 802A22FC 0029DF5C 7C 05 23 2E */ sthx r0, r5, r4
/* 802A2300 0029DF60 80 A1 00 18 */ lwz r5, 0x18(r1)
/* 802A2304 0029DF64 7C A5 22 14 */ add r5, r5, r4
/* 802A2308 0029DF68 B0 05 00 02 */ sth r0, 2(r5)
/* 802A230C 0029DF6C 80 A1 00 1C */ lwz r5, 0x1c(r1)
/* 802A2310 0029DF70 7C A5 22 14 */ add r5, r5, r4
/* 802A2314 0029DF74 B0 05 00 02 */ sth r0, 2(r5)
/* 802A2318 0029DF78 80 A1 00 18 */ lwz r5, 0x18(r1)
/* 802A231C 0029DF7C 7C A5 22 14 */ add r5, r5, r4
/* 802A2320 0029DF80 B0 05 00 04 */ sth r0, 4(r5)
/* 802A2324 0029DF84 80 A1 00 1C */ lwz r5, 0x1c(r1)
/* 802A2328 0029DF88 7C A5 22 14 */ add r5, r5, r4
/* 802A232C 0029DF8C B0 05 00 04 */ sth r0, 4(r5)
/* 802A2330 0029DF90 80 A1 00 18 */ lwz r5, 0x18(r1)
/* 802A2334 0029DF94 7C A5 22 14 */ add r5, r5, r4
/* 802A2338 0029DF98 B0 05 00 06 */ sth r0, 6(r5)
/* 802A233C 0029DF9C 80 A1 00 1C */ lwz r5, 0x1c(r1)
/* 802A2340 0029DFA0 7C A5 22 14 */ add r5, r5, r4
/* 802A2344 0029DFA4 B0 05 00 06 */ sth r0, 6(r5)
/* 802A2348 0029DFA8 80 A1 00 18 */ lwz r5, 0x18(r1)
/* 802A234C 0029DFAC 7C A5 22 14 */ add r5, r5, r4
/* 802A2350 0029DFB0 B0 05 00 08 */ sth r0, 8(r5)
/* 802A2354 0029DFB4 80 A1 00 1C */ lwz r5, 0x1c(r1)
/* 802A2358 0029DFB8 7C A5 22 14 */ add r5, r5, r4
/* 802A235C 0029DFBC B0 05 00 08 */ sth r0, 8(r5)
/* 802A2360 0029DFC0 80 A1 00 18 */ lwz r5, 0x18(r1)
/* 802A2364 0029DFC4 7C A5 22 14 */ add r5, r5, r4
/* 802A2368 0029DFC8 B0 05 00 0A */ sth r0, 0xa(r5)
/* 802A236C 0029DFCC 80 A1 00 1C */ lwz r5, 0x1c(r1)
/* 802A2370 0029DFD0 7C A5 22 14 */ add r5, r5, r4
/* 802A2374 0029DFD4 B0 05 00 0A */ sth r0, 0xa(r5)
/* 802A2378 0029DFD8 80 A1 00 18 */ lwz r5, 0x18(r1)
/* 802A237C 0029DFDC 7C A5 22 14 */ add r5, r5, r4
/* 802A2380 0029DFE0 B0 05 00 0C */ sth r0, 0xc(r5)
/* 802A2384 0029DFE4 80 A1 00 1C */ lwz r5, 0x1c(r1)
/* 802A2388 0029DFE8 7C A5 22 14 */ add r5, r5, r4
/* 802A238C 0029DFEC B0 05 00 0C */ sth r0, 0xc(r5)
/* 802A2390 0029DFF0 80 A1 00 18 */ lwz r5, 0x18(r1)
/* 802A2394 0029DFF4 7C A5 22 14 */ add r5, r5, r4
/* 802A2398 0029DFF8 B0 05 00 0E */ sth r0, 0xe(r5)
/* 802A239C 0029DFFC 80 A1 00 1C */ lwz r5, 0x1c(r1)
/* 802A23A0 0029E000 7C 85 22 14 */ add r4, r5, r4
/* 802A23A4 0029E004 B0 04 00 0E */ sth r0, 0xe(r4)
/* 802A23A8 0029E008 42 00 FF 40 */ bdnz lbl_802A22E8
/* 802A23AC 0029E00C 38 00 00 00 */ li r0, 0
/* 802A23B0 0029E010 B0 01 00 10 */ sth r0, 0x10(r1)
/* 802A23B4 0029E014 B0 01 00 12 */ sth r0, 0x12(r1)
/* 802A23B8 0029E018 48 00 01 04 */ b lbl_802A24BC
lbl_802A23BC:
/* 802A23BC 0029E01C 7F 3C CB 78 */ mr r28, r25
/* 802A23C0 0029E020 3B A0 00 00 */ li r29, 0
/* 802A23C4 0029E024 3B 60 00 00 */ li r27, 0
/* 802A23C8 0029E028 3B 39 00 01 */ addi r25, r25, 1
/* 802A23CC 0029E02C 3B DE 00 01 */ addi r30, r30, 1
lbl_802A23D0:
/* 802A23D0 0029E030 2C 18 00 00 */ cmpwi r24, 0
/* 802A23D4 0029E034 57 BD 0E 3C */ rlwinm r29, r29, 1, 0x18, 0x1e
/* 802A23D8 0029E038 41 82 00 D4 */ beq lbl_802A24AC
/* 802A23DC 0029E03C 7E E4 BB 78 */ mr r4, r23
/* 802A23E0 0029E040 7F 05 C3 78 */ mr r5, r24
/* 802A23E4 0029E044 38 61 00 10 */ addi r3, r1, 0x10
/* 802A23E8 0029E048 38 C1 00 08 */ addi r6, r1, 8
/* 802A23EC 0029E04C 48 00 01 1D */ bl SearchLZ
/* 802A23F0 0029E050 54 7F 06 3F */ clrlwi. r31, r3, 0x18
/* 802A23F4 0029E054 41 82 00 80 */ beq lbl_802A2474
/* 802A23F8 0029E058 38 1E 00 02 */ addi r0, r30, 2
/* 802A23FC 0029E05C 63 BD 00 01 */ ori r29, r29, 1
/* 802A2400 0029E060 7C 00 D0 40 */ cmplw r0, r26
/* 802A2404 0029E064 41 80 00 0C */ blt lbl_802A2410
/* 802A2408 0029E068 38 60 00 00 */ li r3, 0
/* 802A240C 0029E06C 48 00 00 E4 */ b lbl_802A24F0
lbl_802A2410:
/* 802A2410 0029E070 A0 61 00 08 */ lhz r3, 8(r1)
/* 802A2414 0029E074 38 1F FF FD */ addi r0, r31, -3
/* 802A2418 0029E078 54 04 20 36 */ slwi r4, r0, 4
/* 802A241C 0029E07C 7E F6 BB 78 */ mr r22, r23
/* 802A2420 0029E080 38 03 FF FF */ addi r0, r3, -1
/* 802A2424 0029E084 3A A0 00 00 */ li r21, 0
/* 802A2428 0029E088 7C 00 46 70 */ srawi r0, r0, 8
/* 802A242C 0029E08C 3B DE 00 02 */ addi r30, r30, 2
/* 802A2430 0029E090 7C 80 03 78 */ or r0, r4, r0
/* 802A2434 0029E094 98 19 00 00 */ stb r0, 0(r25)
/* 802A2438 0029E098 A0 61 00 08 */ lhz r3, 8(r1)
/* 802A243C 0029E09C 38 03 FF FF */ addi r0, r3, -1
/* 802A2440 0029E0A0 98 19 00 01 */ stb r0, 1(r25)
/* 802A2444 0029E0A4 3B 39 00 02 */ addi r25, r25, 2
/* 802A2448 0029E0A8 48 00 00 18 */ b lbl_802A2460
lbl_802A244C:
/* 802A244C 0029E0AC 7E C4 B3 78 */ mr r4, r22
/* 802A2450 0029E0B0 38 61 00 10 */ addi r3, r1, 0x10
/* 802A2454 0029E0B4 3A D6 00 01 */ addi r22, r22, 1
/* 802A2458 0029E0B8 48 00 01 F9 */ bl SlideByte
/* 802A245C 0029E0BC 3A B5 00 01 */ addi r21, r21, 1
lbl_802A2460:
/* 802A2460 0029E0C0 7C 15 F8 40 */ cmplw r21, r31
/* 802A2464 0029E0C4 41 80 FF E8 */ blt lbl_802A244C
/* 802A2468 0029E0C8 7E F7 FA 14 */ add r23, r23, r31
/* 802A246C 0029E0CC 7F 1F C0 50 */ subf r24, r31, r24
/* 802A2470 0029E0D0 48 00 00 3C */ b lbl_802A24AC
lbl_802A2474:
/* 802A2474 0029E0D4 38 1E 00 01 */ addi r0, r30, 1
/* 802A2478 0029E0D8 7C 00 D0 40 */ cmplw r0, r26
/* 802A247C 0029E0DC 41 80 00 0C */ blt lbl_802A2488
/* 802A2480 0029E0E0 38 60 00 00 */ li r3, 0
/* 802A2484 0029E0E4 48 00 00 6C */ b lbl_802A24F0
lbl_802A2488:
/* 802A2488 0029E0E8 7E E4 BB 78 */ mr r4, r23
/* 802A248C 0029E0EC 38 61 00 10 */ addi r3, r1, 0x10
/* 802A2490 0029E0F0 48 00 01 C1 */ bl SlideByte
/* 802A2494 0029E0F4 88 17 00 00 */ lbz r0, 0(r23)
/* 802A2498 0029E0F8 3B 18 FF FF */ addi r24, r24, -1
/* 802A249C 0029E0FC 3B DE 00 01 */ addi r30, r30, 1
/* 802A24A0 0029E100 3A F7 00 01 */ addi r23, r23, 1
/* 802A24A4 0029E104 98 19 00 00 */ stb r0, 0(r25)
/* 802A24A8 0029E108 3B 39 00 01 */ addi r25, r25, 1
lbl_802A24AC:
/* 802A24AC 0029E10C 3B 7B 00 01 */ addi r27, r27, 1
/* 802A24B0 0029E110 28 1B 00 08 */ cmplwi r27, 8
/* 802A24B4 0029E114 41 80 FF 1C */ blt lbl_802A23D0
/* 802A24B8 0029E118 9B BC 00 00 */ stb r29, 0(r28)
lbl_802A24BC:
/* 802A24BC 0029E11C 2C 18 00 00 */ cmpwi r24, 0
/* 802A24C0 0029E120 40 82 FE FC */ bne lbl_802A23BC
/* 802A24C4 0029E124 38 80 00 00 */ li r4, 0
/* 802A24C8 0029E128 38 60 00 00 */ li r3, 0
/* 802A24CC 0029E12C 48 00 00 10 */ b lbl_802A24DC
lbl_802A24D0:
/* 802A24D0 0029E130 98 79 00 00 */ stb r3, 0(r25)
/* 802A24D4 0029E134 3B 39 00 01 */ addi r25, r25, 1
/* 802A24D8 0029E138 38 84 00 01 */ addi r4, r4, 1
lbl_802A24DC:
/* 802A24DC 0029E13C 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 802A24E0 0029E140 7C 1E 02 14 */ add r0, r30, r0
/* 802A24E4 0029E144 54 00 07 BF */ clrlwi. r0, r0, 0x1e
/* 802A24E8 0029E148 40 82 FF E8 */ bne lbl_802A24D0
/* 802A24EC 0029E14C 7F C3 F3 78 */ mr r3, r30
lbl_802A24F0:
/* 802A24F0 0029E150 39 61 00 50 */ addi r11, r1, 0x50
/* 802A24F4 0029E154 4B F2 4C 69 */ bl _restgpr_21
/* 802A24F8 0029E158 80 01 00 54 */ lwz r0, 0x54(r1)
/* 802A24FC 0029E15C 7C 08 03 A6 */ mtlr r0
/* 802A2500 0029E160 38 21 00 50 */ addi r1, r1, 0x50
/* 802A2504 0029E164 4E 80 00 20 */ blr
SearchLZ:
/* 802A2508 0029E168 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A250C 0029E16C 7C 08 02 A6 */ mflr r0
/* 802A2510 0029E170 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A2514 0029E174 39 61 00 20 */ addi r11, r1, 0x20
/* 802A2518 0029E178 4B F2 4C 11 */ bl _savegpr_27
/* 802A251C 0029E17C 28 05 00 03 */ cmplwi r5, 3
/* 802A2520 0029E180 80 E3 00 04 */ lwz r7, 4(r3)
/* 802A2524 0029E184 A1 63 00 00 */ lhz r11, 0(r3)
/* 802A2528 0029E188 38 00 00 02 */ li r0, 2
/* 802A252C 0029E18C A1 03 00 02 */ lhz r8, 2(r3)
/* 802A2530 0029E190 40 80 00 0C */ bge lbl_802A253C
/* 802A2534 0029E194 38 60 00 00 */ li r3, 0
/* 802A2538 0029E198 48 00 01 00 */ b lbl_802A2638
lbl_802A253C:
/* 802A253C 0029E19C 89 24 00 00 */ lbz r9, 0(r4)
/* 802A2540 0029E1A0 7D 08 20 50 */ subf r8, r8, r4
/* 802A2544 0029E1A4 81 43 00 08 */ lwz r10, 8(r3)
/* 802A2548 0029E1A8 7D 8B 20 50 */ subf r12, r11, r4
/* 802A254C 0029E1AC 55 23 08 3C */ slwi r3, r9, 1
/* 802A2550 0029E1B0 7D 2B 40 50 */ subf r9, r11, r8
/* 802A2554 0029E1B4 7F 6A 1A AE */ lhax r27, r10, r3
/* 802A2558 0029E1B8 48 00 00 BC */ b lbl_802A2614
lbl_802A255C:
/* 802A255C 0029E1BC 7C 1B 58 00 */ cmpw r27, r11
/* 802A2560 0029E1C0 40 80 00 0C */ bge lbl_802A256C
/* 802A2564 0029E1C4 7F EC DA 14 */ add r31, r12, r27
/* 802A2568 0029E1C8 48 00 00 08 */ b lbl_802A2570
lbl_802A256C:
/* 802A256C 0029E1CC 7F E9 DA 14 */ add r31, r9, r27
lbl_802A2570:
/* 802A2570 0029E1D0 89 1F 00 01 */ lbz r8, 1(r31)
/* 802A2574 0029E1D4 88 64 00 01 */ lbz r3, 1(r4)
/* 802A2578 0029E1D8 7C 08 18 40 */ cmplw r8, r3
/* 802A257C 0029E1DC 40 82 00 14 */ bne lbl_802A2590
/* 802A2580 0029E1E0 89 1F 00 02 */ lbz r8, 2(r31)
/* 802A2584 0029E1E4 88 64 00 02 */ lbz r3, 2(r4)
/* 802A2588 0029E1E8 7C 08 18 40 */ cmplw r8, r3
/* 802A258C 0029E1EC 41 82 00 10 */ beq lbl_802A259C
lbl_802A2590:
/* 802A2590 0029E1F0 57 63 08 3C */ slwi r3, r27, 1
/* 802A2594 0029E1F4 7F 67 1A AE */ lhax r27, r7, r3
/* 802A2598 0029E1F8 48 00 00 7C */ b lbl_802A2614
lbl_802A259C:
/* 802A259C 0029E1FC 7D 5F 20 50 */ subf r10, r31, r4
/* 802A25A0 0029E200 2C 0A 00 02 */ cmpwi r10, 2
/* 802A25A4 0029E204 41 80 00 78 */ blt lbl_802A261C
/* 802A25A8 0029E208 3B DF 00 03 */ addi r30, r31, 3
/* 802A25AC 0029E20C 3B E4 00 03 */ addi r31, r4, 3
/* 802A25B0 0029E210 3B 80 00 03 */ li r28, 3
/* 802A25B4 0029E214 48 00 00 1C */ b lbl_802A25D0
lbl_802A25B8:
/* 802A25B8 0029E218 3B 9C 00 01 */ addi r28, r28, 1
/* 802A25BC 0029E21C 3B FF 00 01 */ addi r31, r31, 1
/* 802A25C0 0029E220 57 83 06 3E */ clrlwi r3, r28, 0x18
/* 802A25C4 0029E224 3B DE 00 01 */ addi r30, r30, 1
/* 802A25C8 0029E228 28 03 00 12 */ cmplwi r3, 0x12
/* 802A25CC 0029E22C 41 82 00 20 */ beq lbl_802A25EC
lbl_802A25D0:
/* 802A25D0 0029E230 7C 64 F8 50 */ subf r3, r4, r31
/* 802A25D4 0029E234 7C 03 28 40 */ cmplw r3, r5
/* 802A25D8 0029E238 40 80 00 14 */ bge lbl_802A25EC
/* 802A25DC 0029E23C 89 1F 00 00 */ lbz r8, 0(r31)
/* 802A25E0 0029E240 88 7E 00 00 */ lbz r3, 0(r30)
/* 802A25E4 0029E244 7C 08 18 40 */ cmplw r8, r3
/* 802A25E8 0029E248 41 82 FF D0 */ beq lbl_802A25B8
lbl_802A25EC:
/* 802A25EC 0029E24C 57 88 06 3E */ clrlwi r8, r28, 0x18
/* 802A25F0 0029E250 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 802A25F4 0029E254 7C 08 18 40 */ cmplw r8, r3
/* 802A25F8 0029E258 40 81 00 14 */ ble lbl_802A260C
/* 802A25FC 0029E25C 28 08 00 12 */ cmplwi r8, 0x12
/* 802A2600 0029E260 7F 80 E3 78 */ mr r0, r28
/* 802A2604 0029E264 55 5D 04 3E */ clrlwi r29, r10, 0x10
/* 802A2608 0029E268 41 82 00 14 */ beq lbl_802A261C
lbl_802A260C:
/* 802A260C 0029E26C 57 63 08 3C */ slwi r3, r27, 1
/* 802A2610 0029E270 7F 67 1A AE */ lhax r27, r7, r3
lbl_802A2614:
/* 802A2614 0029E274 2C 1B FF FF */ cmpwi r27, -1
/* 802A2618 0029E278 40 82 FF 44 */ bne lbl_802A255C
lbl_802A261C:
/* 802A261C 0029E27C 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 802A2620 0029E280 28 03 00 03 */ cmplwi r3, 3
/* 802A2624 0029E284 40 80 00 0C */ bge lbl_802A2630
/* 802A2628 0029E288 38 60 00 00 */ li r3, 0
/* 802A262C 0029E28C 48 00 00 0C */ b lbl_802A2638
lbl_802A2630:
/* 802A2630 0029E290 B3 A6 00 00 */ sth r29, 0(r6)
/* 802A2634 0029E294 7C 03 03 78 */ mr r3, r0
lbl_802A2638:
/* 802A2638 0029E298 39 61 00 20 */ addi r11, r1, 0x20
/* 802A263C 0029E29C 4B F2 4B 39 */ bl _restgpr_27
/* 802A2640 0029E2A0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A2644 0029E2A4 7C 08 03 A6 */ mtlr r0
/* 802A2648 0029E2A8 38 21 00 20 */ addi r1, r1, 0x20
/* 802A264C 0029E2AC 4E 80 00 20 */ blr
SlideByte:
/* 802A2650 0029E2B0 A0 A3 00 02 */ lhz r5, 2(r3)
/* 802A2654 0029E2B4 88 E4 00 00 */ lbz r7, 0(r4)
/* 802A2658 0029E2B8 28 05 10 00 */ cmplwi r5, 0x1000
/* 802A265C 0029E2BC 81 23 00 08 */ lwz r9, 8(r3)
/* 802A2660 0029E2C0 81 43 00 04 */ lwz r10, 4(r3)
/* 802A2664 0029E2C4 81 63 00 0C */ lwz r11, 0xc(r3)
/* 802A2668 0029E2C8 A0 C3 00 00 */ lhz r6, 0(r3)
/* 802A266C 0029E2CC 40 82 00 34 */ bne lbl_802A26A0
/* 802A2670 0029E2D0 88 04 F0 00 */ lbz r0, -0x1000(r4)
/* 802A2674 0029E2D4 54 04 08 3C */ slwi r4, r0, 1
/* 802A2678 0029E2D8 7C 09 22 AE */ lhax r0, r9, r4
/* 802A267C 0029E2DC 54 00 08 3C */ slwi r0, r0, 1
/* 802A2680 0029E2E0 7C 0A 02 AE */ lhax r0, r10, r0
/* 802A2684 0029E2E4 2C 00 FF FF */ cmpwi r0, -1
/* 802A2688 0029E2E8 7C 09 23 2E */ sthx r0, r9, r4
/* 802A268C 0029E2EC 40 82 00 0C */ bne lbl_802A2698
/* 802A2690 0029E2F0 38 00 FF FF */ li r0, -1
/* 802A2694 0029E2F4 7C 0B 23 2E */ sthx r0, r11, r4
lbl_802A2698:
/* 802A2698 0029E2F8 7C C8 33 78 */ mr r8, r6
/* 802A269C 0029E2FC 48 00 00 08 */ b lbl_802A26A4
lbl_802A26A0:
/* 802A26A0 0029E300 7C A8 2B 78 */ mr r8, r5
lbl_802A26A4:
/* 802A26A4 0029E304 54 E4 0D FC */ rlwinm r4, r7, 1, 0x17, 0x1e
/* 802A26A8 0029E308 7C 0B 22 AE */ lhax r0, r11, r4
/* 802A26AC 0029E30C 2C 00 FF FF */ cmpwi r0, -1
/* 802A26B0 0029E310 40 82 00 0C */ bne lbl_802A26BC
/* 802A26B4 0029E314 7D 09 23 2E */ sthx r8, r9, r4
/* 802A26B8 0029E318 48 00 00 0C */ b lbl_802A26C4
lbl_802A26BC:
/* 802A26BC 0029E31C 54 00 08 3C */ slwi r0, r0, 1
/* 802A26C0 0029E320 7D 0A 03 2E */ sthx r8, r10, r0
lbl_802A26C4:
/* 802A26C4 0029E324 7D 0B 23 2E */ sthx r8, r11, r4
/* 802A26C8 0029E328 28 05 10 00 */ cmplwi r5, 0x1000
/* 802A26CC 0029E32C 55 00 0B FC */ rlwinm r0, r8, 1, 0xf, 0x1e
/* 802A26D0 0029E330 38 80 FF FF */ li r4, -1
/* 802A26D4 0029E334 7C 8A 03 2E */ sthx r4, r10, r0
/* 802A26D8 0029E338 40 82 00 24 */ bne lbl_802A26FC
/* 802A26DC 0029E33C 38 86 00 01 */ addi r4, r6, 1
/* 802A26E0 0029E340 54 80 A0 16 */ slwi r0, r4, 0x14
/* 802A26E4 0029E344 54 84 0F FE */ srwi r4, r4, 0x1f
/* 802A26E8 0029E348 7C 04 00 50 */ subf r0, r4, r0
/* 802A26EC 0029E34C 54 00 60 3E */ rotlwi r0, r0, 0xc
/* 802A26F0 0029E350 7C 00 22 14 */ add r0, r0, r4
/* 802A26F4 0029E354 B0 03 00 00 */ sth r0, 0(r3)
/* 802A26F8 0029E358 4E 80 00 20 */ blr
lbl_802A26FC:
/* 802A26FC 0029E35C A0 83 00 02 */ lhz r4, 2(r3)
/* 802A2700 0029E360 38 04 00 01 */ addi r0, r4, 1
/* 802A2704 0029E364 B0 03 00 02 */ sth r0, 2(r3)
/* 802A2708 0029E368 4E 80 00 20 */ blr
|