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
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global ARCInitHandle
ARCInitHandle:
/* 802ECCF8 002E8958 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802ECCFC 002E895C 7C 08 02 A6 */ mflr r0
/* 802ECD00 002E8960 90 01 00 14 */ stw r0, 0x14(r1)
/* 802ECD04 002E8964 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802ECD08 002E8968 7C 9F 23 78 */ mr r31, r4
/* 802ECD0C 002E896C 93 C1 00 08 */ stw r30, 8(r1)
/* 802ECD10 002E8970 7C 7E 1B 78 */ mr r30, r3
/* 802ECD14 002E8974 80 A3 00 00 */ lwz r5, 0(r3)
/* 802ECD18 002E8978 3C 05 AA 56 */ addis r0, r5, 0xaa56
/* 802ECD1C 002E897C 28 00 38 2D */ cmplwi r0, 0x382d
/* 802ECD20 002E8980 41 82 00 1C */ beq lbl_802ECD3C
/* 802ECD24 002E8984 3C A0 80 44 */ lis r5, lbl_80445A80@ha
/* 802ECD28 002E8988 38 6D 8B E0 */ addi r3, r13, lbl_8063DEA0-_SDA_BASE_
/* 802ECD2C 002E898C 38 A5 5A 80 */ addi r5, r5, lbl_80445A80@l
/* 802ECD30 002E8990 38 80 00 4A */ li r4, 0x4a
/* 802ECD34 002E8994 4C C6 31 82 */ crclr 6
/* 802ECD38 002E8998 4B F7 E7 65 */ bl OSPanic
lbl_802ECD3C:
/* 802ECD3C 002E899C 93 DF 00 00 */ stw r30, 0(r31)
/* 802ECD40 002E89A0 38 00 00 00 */ li r0, 0
/* 802ECD44 002E89A4 38 60 00 01 */ li r3, 1
/* 802ECD48 002E89A8 80 9E 00 04 */ lwz r4, 4(r30)
/* 802ECD4C 002E89AC 7C DE 22 14 */ add r6, r30, r4
/* 802ECD50 002E89B0 90 DF 00 04 */ stw r6, 4(r31)
/* 802ECD54 002E89B4 80 9E 00 0C */ lwz r4, 0xc(r30)
/* 802ECD58 002E89B8 7C 9E 22 14 */ add r4, r30, r4
/* 802ECD5C 002E89BC 90 9F 00 08 */ stw r4, 8(r31)
/* 802ECD60 002E89C0 80 A6 00 08 */ lwz r5, 8(r6)
/* 802ECD64 002E89C4 1C 85 00 0C */ mulli r4, r5, 0xc
/* 802ECD68 002E89C8 90 BF 00 0C */ stw r5, 0xc(r31)
/* 802ECD6C 002E89CC 7C 86 22 14 */ add r4, r6, r4
/* 802ECD70 002E89D0 90 9F 00 10 */ stw r4, 0x10(r31)
/* 802ECD74 002E89D4 80 9E 00 08 */ lwz r4, 8(r30)
/* 802ECD78 002E89D8 90 9F 00 14 */ stw r4, 0x14(r31)
/* 802ECD7C 002E89DC 90 1F 00 18 */ stw r0, 0x18(r31)
/* 802ECD80 002E89E0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802ECD84 002E89E4 83 C1 00 08 */ lwz r30, 8(r1)
/* 802ECD88 002E89E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802ECD8C 002E89EC 7C 08 03 A6 */ mtlr r0
/* 802ECD90 002E89F0 38 21 00 10 */ addi r1, r1, 0x10
/* 802ECD94 002E89F4 4E 80 00 20 */ blr
.global ARCFastOpen
ARCFastOpen:
/* 802ECD98 002E89F8 2C 04 00 00 */ cmpwi r4, 0
/* 802ECD9C 002E89FC 80 C3 00 04 */ lwz r6, 4(r3)
/* 802ECDA0 002E8A00 41 80 00 20 */ blt lbl_802ECDC0
/* 802ECDA4 002E8A04 80 03 00 0C */ lwz r0, 0xc(r3)
/* 802ECDA8 002E8A08 7C 04 00 40 */ cmplw r4, r0
/* 802ECDAC 002E8A0C 40 80 00 14 */ bge lbl_802ECDC0
/* 802ECDB0 002E8A10 1C 84 00 0C */ mulli r4, r4, 0xc
/* 802ECDB4 002E8A14 7C 06 20 2E */ lwzx r0, r6, r4
/* 802ECDB8 002E8A18 54 00 00 0F */ rlwinm. r0, r0, 0, 0, 7
/* 802ECDBC 002E8A1C 41 82 00 0C */ beq lbl_802ECDC8
lbl_802ECDC0:
/* 802ECDC0 002E8A20 38 60 00 00 */ li r3, 0
/* 802ECDC4 002E8A24 4E 80 00 20 */ blr
lbl_802ECDC8:
/* 802ECDC8 002E8A28 90 65 00 00 */ stw r3, 0(r5)
/* 802ECDCC 002E8A2C 7C 86 22 14 */ add r4, r6, r4
/* 802ECDD0 002E8A30 38 60 00 01 */ li r3, 1
/* 802ECDD4 002E8A34 80 04 00 04 */ lwz r0, 4(r4)
/* 802ECDD8 002E8A38 90 05 00 04 */ stw r0, 4(r5)
/* 802ECDDC 002E8A3C 80 04 00 08 */ lwz r0, 8(r4)
/* 802ECDE0 002E8A40 90 05 00 08 */ stw r0, 8(r5)
/* 802ECDE4 002E8A44 4E 80 00 20 */ blr
.global ARCConvertPathToEntrynum
ARCConvertPathToEntrynum:
/* 802ECDE8 002E8A48 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802ECDEC 002E8A4C 3C A0 80 42 */ lis r5, lbl_80422D48@ha
/* 802ECDF0 002E8A50 38 A5 2D 48 */ addi r5, r5, lbl_80422D48@l
/* 802ECDF4 002E8A54 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802ECDF8 002E8A58 93 C1 00 08 */ stw r30, 8(r1)
/* 802ECDFC 002E8A5C 81 03 00 18 */ lwz r8, 0x18(r3)
/* 802ECE00 002E8A60 81 23 00 04 */ lwz r9, 4(r3)
/* 802ECE04 002E8A64 80 C5 00 38 */ lwz r6, 0x38(r5)
lbl_802ECE08:
/* 802ECE08 002E8A68 88 04 00 00 */ lbz r0, 0(r4)
/* 802ECE0C 002E8A6C 7C 00 07 75 */ extsb. r0, r0
/* 802ECE10 002E8A70 40 82 00 0C */ bne lbl_802ECE1C
/* 802ECE14 002E8A74 7D 03 43 78 */ mr r3, r8
/* 802ECE18 002E8A78 48 00 02 24 */ b lbl_802ED03C
lbl_802ECE1C:
/* 802ECE1C 002E8A7C 2C 00 00 2F */ cmpwi r0, 0x2f
/* 802ECE20 002E8A80 40 82 00 10 */ bne lbl_802ECE30
/* 802ECE24 002E8A84 39 00 00 00 */ li r8, 0
/* 802ECE28 002E8A88 38 84 00 01 */ addi r4, r4, 1
/* 802ECE2C 002E8A8C 4B FF FF DC */ b lbl_802ECE08
lbl_802ECE30:
/* 802ECE30 002E8A90 2C 00 00 2E */ cmpwi r0, 0x2e
/* 802ECE34 002E8A94 40 82 00 70 */ bne lbl_802ECEA4
/* 802ECE38 002E8A98 88 04 00 01 */ lbz r0, 1(r4)
/* 802ECE3C 002E8A9C 7C 00 07 74 */ extsb r0, r0
/* 802ECE40 002E8AA0 2C 00 00 2E */ cmpwi r0, 0x2e
/* 802ECE44 002E8AA4 40 82 00 40 */ bne lbl_802ECE84
/* 802ECE48 002E8AA8 88 04 00 02 */ lbz r0, 2(r4)
/* 802ECE4C 002E8AAC 7C 00 07 74 */ extsb r0, r0
/* 802ECE50 002E8AB0 2C 00 00 2F */ cmpwi r0, 0x2f
/* 802ECE54 002E8AB4 40 82 00 18 */ bne lbl_802ECE6C
/* 802ECE58 002E8AB8 1C 08 00 0C */ mulli r0, r8, 0xc
/* 802ECE5C 002E8ABC 38 84 00 03 */ addi r4, r4, 3
/* 802ECE60 002E8AC0 7C A9 02 14 */ add r5, r9, r0
/* 802ECE64 002E8AC4 81 05 00 04 */ lwz r8, 4(r5)
/* 802ECE68 002E8AC8 4B FF FF A0 */ b lbl_802ECE08
lbl_802ECE6C:
/* 802ECE6C 002E8ACC 2C 00 00 00 */ cmpwi r0, 0
/* 802ECE70 002E8AD0 40 82 00 34 */ bne lbl_802ECEA4
/* 802ECE74 002E8AD4 1C 08 00 0C */ mulli r0, r8, 0xc
/* 802ECE78 002E8AD8 7C 69 02 14 */ add r3, r9, r0
/* 802ECE7C 002E8ADC 80 63 00 04 */ lwz r3, 4(r3)
/* 802ECE80 002E8AE0 48 00 01 BC */ b lbl_802ED03C
lbl_802ECE84:
/* 802ECE84 002E8AE4 2C 00 00 2F */ cmpwi r0, 0x2f
/* 802ECE88 002E8AE8 40 82 00 0C */ bne lbl_802ECE94
/* 802ECE8C 002E8AEC 38 84 00 02 */ addi r4, r4, 2
/* 802ECE90 002E8AF0 4B FF FF 78 */ b lbl_802ECE08
lbl_802ECE94:
/* 802ECE94 002E8AF4 2C 00 00 00 */ cmpwi r0, 0
/* 802ECE98 002E8AF8 40 82 00 0C */ bne lbl_802ECEA4
/* 802ECE9C 002E8AFC 7D 03 43 78 */ mr r3, r8
/* 802ECEA0 002E8B00 48 00 01 9C */ b lbl_802ED03C
lbl_802ECEA4:
/* 802ECEA4 002E8B04 7C 87 23 78 */ mr r7, r4
/* 802ECEA8 002E8B08 48 00 00 08 */ b lbl_802ECEB0
lbl_802ECEAC:
/* 802ECEAC 002E8B0C 38 E7 00 01 */ addi r7, r7, 1
lbl_802ECEB0:
/* 802ECEB0 002E8B10 88 A7 00 00 */ lbz r5, 0(r7)
/* 802ECEB4 002E8B14 7C A0 07 75 */ extsb. r0, r5
/* 802ECEB8 002E8B18 41 82 00 0C */ beq lbl_802ECEC4
/* 802ECEBC 002E8B1C 2C 00 00 2F */ cmpwi r0, 0x2f
/* 802ECEC0 002E8B20 40 82 FF EC */ bne lbl_802ECEAC
lbl_802ECEC4:
/* 802ECEC4 002E8B24 1C 08 00 0C */ mulli r0, r8, 0xc
/* 802ECEC8 002E8B28 7C AB 07 74 */ extsb r11, r5
/* 802ECECC 002E8B2C 7C E4 38 50 */ subf r7, r4, r7
/* 802ECED0 002E8B30 7D 4B 00 D0 */ neg r10, r11
/* 802ECED4 002E8B34 7C A9 02 14 */ add r5, r9, r0
/* 802ECED8 002E8B38 39 08 00 01 */ addi r8, r8, 1
/* 802ECEDC 002E8B3C 7D 40 5B 78 */ or r0, r10, r11
/* 802ECEE0 002E8B40 80 A5 00 08 */ lwz r5, 8(r5)
/* 802ECEE4 002E8B44 54 00 0F FE */ srwi r0, r0, 0x1f
/* 802ECEE8 002E8B48 48 00 01 28 */ b lbl_802ED010
lbl_802ECEEC:
/* 802ECEEC 002E8B4C 1D 48 00 0C */ mulli r10, r8, 0xc
/* 802ECEF0 002E8B50 7D 89 52 14 */ add r12, r9, r10
lbl_802ECEF4:
/* 802ECEF4 002E8B54 83 EC 00 00 */ lwz r31, 0(r12)
/* 802ECEF8 002E8B58 57 EA 00 0F */ rlwinm. r10, r31, 0, 0, 7
/* 802ECEFC 002E8B5C 40 82 00 0C */ bne lbl_802ECF08
/* 802ECF00 002E8B60 2C 00 00 01 */ cmpwi r0, 1
/* 802ECF04 002E8B64 41 82 00 EC */ beq lbl_802ECFF0
lbl_802ECF08:
/* 802ECF08 002E8B68 81 63 00 10 */ lwz r11, 0x10(r3)
/* 802ECF0C 002E8B6C 57 EA 02 3E */ clrlwi r10, r31, 8
/* 802ECF10 002E8B70 7F CB 52 14 */ add r30, r11, r10
/* 802ECF14 002E8B74 7D 4B 50 AE */ lbzx r10, r11, r10
/* 802ECF18 002E8B78 2C 0A 00 2E */ cmpwi r10, 0x2e
/* 802ECF1C 002E8B7C 40 82 00 1C */ bne lbl_802ECF38
/* 802ECF20 002E8B80 89 5E 00 01 */ lbz r10, 1(r30)
/* 802ECF24 002E8B84 7D 4A 07 75 */ extsb. r10, r10
/* 802ECF28 002E8B88 40 82 00 10 */ bne lbl_802ECF38
/* 802ECF2C 002E8B8C 39 8C 00 0C */ addi r12, r12, 0xc
/* 802ECF30 002E8B90 39 08 00 01 */ addi r8, r8, 1
/* 802ECF34 002E8B94 4B FF FF C0 */ b lbl_802ECEF4
lbl_802ECF38:
/* 802ECF38 002E8B98 7C 8C 23 78 */ mr r12, r4
/* 802ECF3C 002E8B9C 48 00 00 7C */ b lbl_802ECFB8
lbl_802ECF40:
/* 802ECF40 002E8BA0 89 7E 00 00 */ lbz r11, 0(r30)
/* 802ECF44 002E8BA4 39 40 00 00 */ li r10, 0
/* 802ECF48 002E8BA8 3B DE 00 01 */ addi r30, r30, 1
/* 802ECF4C 002E8BAC 7D 7F 07 75 */ extsb. r31, r11
/* 802ECF50 002E8BB0 41 80 00 0C */ blt lbl_802ECF5C
/* 802ECF54 002E8BB4 2C 1F 01 00 */ cmpwi r31, 0x100
/* 802ECF58 002E8BB8 41 80 00 08 */ blt lbl_802ECF60
lbl_802ECF5C:
/* 802ECF5C 002E8BBC 39 40 00 01 */ li r10, 1
lbl_802ECF60:
/* 802ECF60 002E8BC0 2C 0A 00 00 */ cmpwi r10, 0
/* 802ECF64 002E8BC4 41 82 00 08 */ beq lbl_802ECF6C
/* 802ECF68 002E8BC8 48 00 00 0C */ b lbl_802ECF74
lbl_802ECF6C:
/* 802ECF6C 002E8BCC 81 46 00 10 */ lwz r10, 0x10(r6)
/* 802ECF70 002E8BD0 7F EA F8 AE */ lbzx r31, r10, r31
lbl_802ECF74:
/* 802ECF74 002E8BD4 89 6C 00 00 */ lbz r11, 0(r12)
/* 802ECF78 002E8BD8 39 40 00 00 */ li r10, 0
/* 802ECF7C 002E8BDC 39 8C 00 01 */ addi r12, r12, 1
/* 802ECF80 002E8BE0 7D 6B 07 75 */ extsb. r11, r11
/* 802ECF84 002E8BE4 41 80 00 0C */ blt lbl_802ECF90
/* 802ECF88 002E8BE8 2C 0B 01 00 */ cmpwi r11, 0x100
/* 802ECF8C 002E8BEC 41 80 00 08 */ blt lbl_802ECF94
lbl_802ECF90:
/* 802ECF90 002E8BF0 39 40 00 01 */ li r10, 1
lbl_802ECF94:
/* 802ECF94 002E8BF4 2C 0A 00 00 */ cmpwi r10, 0
/* 802ECF98 002E8BF8 41 82 00 08 */ beq lbl_802ECFA0
/* 802ECF9C 002E8BFC 48 00 00 0C */ b lbl_802ECFA8
lbl_802ECFA0:
/* 802ECFA0 002E8C00 81 46 00 10 */ lwz r10, 0x10(r6)
/* 802ECFA4 002E8C04 7D 6A 58 AE */ lbzx r11, r10, r11
lbl_802ECFA8:
/* 802ECFA8 002E8C08 7C 0B F8 00 */ cmpw r11, r31
/* 802ECFAC 002E8C0C 41 82 00 0C */ beq lbl_802ECFB8
/* 802ECFB0 002E8C10 39 40 00 00 */ li r10, 0
/* 802ECFB4 002E8C14 48 00 00 34 */ b lbl_802ECFE8
lbl_802ECFB8:
/* 802ECFB8 002E8C18 89 5E 00 00 */ lbz r10, 0(r30)
/* 802ECFBC 002E8C1C 7D 4A 07 75 */ extsb. r10, r10
/* 802ECFC0 002E8C20 40 82 FF 80 */ bne lbl_802ECF40
/* 802ECFC4 002E8C24 89 4C 00 00 */ lbz r10, 0(r12)
/* 802ECFC8 002E8C28 7D 4A 07 74 */ extsb r10, r10
/* 802ECFCC 002E8C2C 2C 0A 00 2F */ cmpwi r10, 0x2f
/* 802ECFD0 002E8C30 41 82 00 0C */ beq lbl_802ECFDC
/* 802ECFD4 002E8C34 2C 0A 00 00 */ cmpwi r10, 0
/* 802ECFD8 002E8C38 40 82 00 0C */ bne lbl_802ECFE4
lbl_802ECFDC:
/* 802ECFDC 002E8C3C 39 40 00 01 */ li r10, 1
/* 802ECFE0 002E8C40 48 00 00 08 */ b lbl_802ECFE8
lbl_802ECFE4:
/* 802ECFE4 002E8C44 39 40 00 00 */ li r10, 0
lbl_802ECFE8:
/* 802ECFE8 002E8C48 2C 0A 00 01 */ cmpwi r10, 1
/* 802ECFEC 002E8C4C 41 82 00 34 */ beq lbl_802ED020
lbl_802ECFF0:
/* 802ECFF0 002E8C50 1D 48 00 0C */ mulli r10, r8, 0xc
/* 802ECFF4 002E8C54 7D 69 52 14 */ add r11, r9, r10
/* 802ECFF8 002E8C58 7D 49 50 2E */ lwzx r10, r9, r10
/* 802ECFFC 002E8C5C 55 4A 00 0F */ rlwinm. r10, r10, 0, 0, 7
/* 802ED000 002E8C60 41 82 00 0C */ beq lbl_802ED00C
/* 802ED004 002E8C64 81 0B 00 08 */ lwz r8, 8(r11)
/* 802ED008 002E8C68 48 00 00 08 */ b lbl_802ED010
lbl_802ED00C:
/* 802ED00C 002E8C6C 39 08 00 01 */ addi r8, r8, 1
lbl_802ED010:
/* 802ED010 002E8C70 7C 08 28 40 */ cmplw r8, r5
/* 802ED014 002E8C74 41 80 FE D8 */ blt lbl_802ECEEC
/* 802ED018 002E8C78 38 60 FF FF */ li r3, -1
/* 802ED01C 002E8C7C 48 00 00 20 */ b lbl_802ED03C
lbl_802ED020:
/* 802ED020 002E8C80 2C 00 00 00 */ cmpwi r0, 0
/* 802ED024 002E8C84 40 82 00 0C */ bne lbl_802ED030
/* 802ED028 002E8C88 7D 03 43 78 */ mr r3, r8
/* 802ED02C 002E8C8C 48 00 00 10 */ b lbl_802ED03C
lbl_802ED030:
/* 802ED030 002E8C90 7C 87 22 14 */ add r4, r7, r4
/* 802ED034 002E8C94 38 84 00 01 */ addi r4, r4, 1
/* 802ED038 002E8C98 4B FF FD D0 */ b lbl_802ECE08
lbl_802ED03C:
/* 802ED03C 002E8C9C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802ED040 002E8CA0 83 C1 00 08 */ lwz r30, 8(r1)
/* 802ED044 002E8CA4 38 21 00 10 */ addi r1, r1, 0x10
/* 802ED048 002E8CA8 4E 80 00 20 */ blr
.global ARCGetStartAddrInMem
ARCGetStartAddrInMem:
/* 802ED04C 002E8CAC 80 83 00 00 */ lwz r4, 0(r3)
/* 802ED050 002E8CB0 80 03 00 04 */ lwz r0, 4(r3)
/* 802ED054 002E8CB4 80 64 00 00 */ lwz r3, 0(r4)
/* 802ED058 002E8CB8 7C 63 02 14 */ add r3, r3, r0
/* 802ED05C 002E8CBC 4E 80 00 20 */ blr
.global ARCGetLength
ARCGetLength:
/* 802ED060 002E8CC0 80 63 00 08 */ lwz r3, 8(r3)
/* 802ED064 002E8CC4 4E 80 00 20 */ blr
.global ARCClose
ARCClose:
/* 802ED068 002E8CC8 38 60 00 01 */ li r3, 1
/* 802ED06C 002E8CCC 4E 80 00 20 */ blr
.global ARCChangeDir
ARCChangeDir:
/* 802ED070 002E8CD0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802ED074 002E8CD4 7C 08 02 A6 */ mflr r0
/* 802ED078 002E8CD8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802ED07C 002E8CDC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802ED080 002E8CE0 7C 7F 1B 78 */ mr r31, r3
/* 802ED084 002E8CE4 4B FF FD 65 */ bl ARCConvertPathToEntrynum
/* 802ED088 002E8CE8 2C 03 00 00 */ cmpwi r3, 0
/* 802ED08C 002E8CEC 80 9F 00 04 */ lwz r4, 4(r31)
/* 802ED090 002E8CF0 41 80 00 14 */ blt lbl_802ED0A4
/* 802ED094 002E8CF4 1C 03 00 0C */ mulli r0, r3, 0xc
/* 802ED098 002E8CF8 7C 04 00 2E */ lwzx r0, r4, r0
/* 802ED09C 002E8CFC 54 00 00 0F */ rlwinm. r0, r0, 0, 0, 7
/* 802ED0A0 002E8D00 40 82 00 0C */ bne lbl_802ED0AC
lbl_802ED0A4:
/* 802ED0A4 002E8D04 38 60 00 00 */ li r3, 0
/* 802ED0A8 002E8D08 48 00 00 0C */ b lbl_802ED0B4
lbl_802ED0AC:
/* 802ED0AC 002E8D0C 90 7F 00 18 */ stw r3, 0x18(r31)
/* 802ED0B0 002E8D10 38 60 00 01 */ li r3, 1
lbl_802ED0B4:
/* 802ED0B4 002E8D14 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802ED0B8 002E8D18 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802ED0BC 002E8D1C 7C 08 03 A6 */ mtlr r0
/* 802ED0C0 002E8D20 38 21 00 10 */ addi r1, r1, 0x10
/* 802ED0C4 002E8D24 4E 80 00 20 */ blr
.global ARCOpenDir
ARCOpenDir:
/* 802ED0C8 002E8D28 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802ED0CC 002E8D2C 7C 08 02 A6 */ mflr r0
/* 802ED0D0 002E8D30 90 01 00 14 */ stw r0, 0x14(r1)
/* 802ED0D4 002E8D34 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802ED0D8 002E8D38 7C BF 2B 78 */ mr r31, r5
/* 802ED0DC 002E8D3C 93 C1 00 08 */ stw r30, 8(r1)
/* 802ED0E0 002E8D40 7C 7E 1B 78 */ mr r30, r3
/* 802ED0E4 002E8D44 4B FF FD 05 */ bl ARCConvertPathToEntrynum
/* 802ED0E8 002E8D48 2C 03 00 00 */ cmpwi r3, 0
/* 802ED0EC 002E8D4C 80 BE 00 04 */ lwz r5, 4(r30)
/* 802ED0F0 002E8D50 41 80 00 14 */ blt lbl_802ED104
/* 802ED0F4 002E8D54 1C 83 00 0C */ mulli r4, r3, 0xc
/* 802ED0F8 002E8D58 7C 05 20 2E */ lwzx r0, r5, r4
/* 802ED0FC 002E8D5C 54 00 00 0F */ rlwinm. r0, r0, 0, 0, 7
/* 802ED100 002E8D60 40 82 00 0C */ bne lbl_802ED10C
lbl_802ED104:
/* 802ED104 002E8D64 38 60 00 00 */ li r3, 0
/* 802ED108 002E8D68 48 00 00 24 */ b lbl_802ED12C
lbl_802ED10C:
/* 802ED10C 002E8D6C 38 03 00 01 */ addi r0, r3, 1
/* 802ED110 002E8D70 90 7F 00 04 */ stw r3, 4(r31)
/* 802ED114 002E8D74 7C 85 22 14 */ add r4, r5, r4
/* 802ED118 002E8D78 38 60 00 01 */ li r3, 1
/* 802ED11C 002E8D7C 93 DF 00 00 */ stw r30, 0(r31)
/* 802ED120 002E8D80 90 1F 00 08 */ stw r0, 8(r31)
/* 802ED124 002E8D84 80 04 00 08 */ lwz r0, 8(r4)
/* 802ED128 002E8D88 90 1F 00 0C */ stw r0, 0xc(r31)
lbl_802ED12C:
/* 802ED12C 002E8D8C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802ED130 002E8D90 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802ED134 002E8D94 83 C1 00 08 */ lwz r30, 8(r1)
/* 802ED138 002E8D98 7C 08 03 A6 */ mtlr r0
/* 802ED13C 002E8D9C 38 21 00 10 */ addi r1, r1, 0x10
/* 802ED140 002E8DA0 4E 80 00 20 */ blr
.global ARCReadDir
ARCReadDir:
/* 802ED144 002E8DA4 80 E3 00 08 */ lwz r7, 8(r3)
/* 802ED148 002E8DA8 81 23 00 00 */ lwz r9, 0(r3)
/* 802ED14C 002E8DAC 1C 07 00 0C */ mulli r0, r7, 0xc
/* 802ED150 002E8DB0 81 09 00 04 */ lwz r8, 4(r9)
/* 802ED154 002E8DB4 7C C8 02 14 */ add r6, r8, r0
lbl_802ED158:
/* 802ED158 002E8DB8 80 03 00 04 */ lwz r0, 4(r3)
/* 802ED15C 002E8DBC 7C 07 00 40 */ cmplw r7, r0
/* 802ED160 002E8DC0 40 81 00 10 */ ble lbl_802ED170
/* 802ED164 002E8DC4 80 03 00 0C */ lwz r0, 0xc(r3)
/* 802ED168 002E8DC8 7C 00 38 40 */ cmplw r0, r7
/* 802ED16C 002E8DCC 41 81 00 0C */ bgt lbl_802ED178
lbl_802ED170:
/* 802ED170 002E8DD0 38 60 00 00 */ li r3, 0
/* 802ED174 002E8DD4 4E 80 00 20 */ blr
lbl_802ED178:
/* 802ED178 002E8DD8 91 24 00 00 */ stw r9, 0(r4)
/* 802ED17C 002E8DDC 90 E4 00 04 */ stw r7, 4(r4)
/* 802ED180 002E8DE0 80 06 00 00 */ lwz r0, 0(r6)
/* 802ED184 002E8DE4 54 05 00 0E */ rlwinm r5, r0, 0, 0, 7
/* 802ED188 002E8DE8 7C 05 00 D0 */ neg r0, r5
/* 802ED18C 002E8DEC 7C 00 2B 78 */ or r0, r0, r5
/* 802ED190 002E8DF0 54 00 0F FE */ srwi r0, r0, 0x1f
/* 802ED194 002E8DF4 90 04 00 08 */ stw r0, 8(r4)
/* 802ED198 002E8DF8 80 06 00 00 */ lwz r0, 0(r6)
/* 802ED19C 002E8DFC 80 A9 00 10 */ lwz r5, 0x10(r9)
/* 802ED1A0 002E8E00 54 00 02 3E */ clrlwi r0, r0, 8
/* 802ED1A4 002E8E04 7C A5 02 14 */ add r5, r5, r0
/* 802ED1A8 002E8E08 90 A4 00 0C */ stw r5, 0xc(r4)
/* 802ED1AC 002E8E0C 88 05 00 00 */ lbz r0, 0(r5)
/* 802ED1B0 002E8E10 2C 00 00 2E */ cmpwi r0, 0x2e
/* 802ED1B4 002E8E14 40 82 00 1C */ bne lbl_802ED1D0
/* 802ED1B8 002E8E18 88 05 00 01 */ lbz r0, 1(r5)
/* 802ED1BC 002E8E1C 7C 00 07 75 */ extsb. r0, r0
/* 802ED1C0 002E8E20 40 82 00 10 */ bne lbl_802ED1D0
/* 802ED1C4 002E8E24 38 C6 00 0C */ addi r6, r6, 0xc
/* 802ED1C8 002E8E28 38 E7 00 01 */ addi r7, r7, 1
/* 802ED1CC 002E8E2C 4B FF FF 8C */ b lbl_802ED158
lbl_802ED1D0:
/* 802ED1D0 002E8E30 1C 87 00 0C */ mulli r4, r7, 0xc
/* 802ED1D4 002E8E34 7C 08 20 2E */ lwzx r0, r8, r4
/* 802ED1D8 002E8E38 54 00 00 0F */ rlwinm. r0, r0, 0, 0, 7
/* 802ED1DC 002E8E3C 41 82 00 10 */ beq lbl_802ED1EC
/* 802ED1E0 002E8E40 7C 88 22 14 */ add r4, r8, r4
/* 802ED1E4 002E8E44 80 04 00 08 */ lwz r0, 8(r4)
/* 802ED1E8 002E8E48 48 00 00 08 */ b lbl_802ED1F0
lbl_802ED1EC:
/* 802ED1EC 002E8E4C 38 07 00 01 */ addi r0, r7, 1
lbl_802ED1F0:
/* 802ED1F0 002E8E50 90 03 00 08 */ stw r0, 8(r3)
/* 802ED1F4 002E8E54 38 60 00 01 */ li r3, 1
/* 802ED1F8 002E8E58 4E 80 00 20 */ blr
.global ARCCloseDir
ARCCloseDir:
/* 802ED1FC 002E8E5C 38 60 00 01 */ li r3, 1
/* 802ED200 002E8E60 4E 80 00 20 */ blr
|