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
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_801DCEB4
func_801DCEB4:
/* 801DCEB4 001D8B14 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801DCEB8 001D8B18 7C 08 02 A6 */ mflr r0
/* 801DCEBC 001D8B1C 38 A0 00 0C */ li r5, 0xc
/* 801DCEC0 001D8B20 90 01 00 24 */ stw r0, 0x24(r1)
/* 801DCEC4 001D8B24 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801DCEC8 001D8B28 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801DCECC 001D8B2C 7C 7E 1B 78 */ mr r30, r3
/* 801DCED0 001D8B30 38 61 00 08 */ addi r3, r1, 8
/* 801DCED4 001D8B34 4B E2 71 2D */ bl memcpy
/* 801DCED8 001D8B38 38 00 00 00 */ li r0, 0
/* 801DCEDC 001D8B3C 3B E0 00 00 */ li r31, 0
/* 801DCEE0 001D8B40 98 01 00 14 */ stb r0, 0x14(r1)
lbl_801DCEE4:
/* 801DCEE4 001D8B44 88 1E 00 00 */ lbz r0, 0(r30)
/* 801DCEE8 001D8B48 2C 00 00 00 */ cmpwi r0, 0
/* 801DCEEC 001D8B4C 41 82 00 30 */ beq lbl_801DCF1C
/* 801DCEF0 001D8B50 88 1E 00 01 */ lbz r0, 1(r30)
/* 801DCEF4 001D8B54 2C 00 00 00 */ cmpwi r0, 0
/* 801DCEF8 001D8B58 40 82 00 24 */ bne lbl_801DCF1C
/* 801DCEFC 001D8B5C 7F C3 F3 78 */ mr r3, r30
/* 801DCF00 001D8B60 4B FF FF 6D */ bl func_801DCE6C
/* 801DCF04 001D8B64 38 81 00 08 */ addi r4, r1, 8
/* 801DCF08 001D8B68 4B FF 15 45 */ bl strcmp
/* 801DCF0C 001D8B6C 2C 03 00 00 */ cmpwi r3, 0
/* 801DCF10 001D8B70 40 82 00 0C */ bne lbl_801DCF1C
/* 801DCF14 001D8B74 7F C3 F3 78 */ mr r3, r30
/* 801DCF18 001D8B78 48 00 00 18 */ b lbl_801DCF30
lbl_801DCF1C:
/* 801DCF1C 001D8B7C 3B FF 00 01 */ addi r31, r31, 1
/* 801DCF20 001D8B80 3B DE 01 90 */ addi r30, r30, 0x190
/* 801DCF24 001D8B84 2C 1F 00 08 */ cmpwi r31, 8
/* 801DCF28 001D8B88 41 80 FF BC */ blt lbl_801DCEE4
/* 801DCF2C 001D8B8C 38 60 00 00 */ li r3, 0
lbl_801DCF30:
/* 801DCF30 001D8B90 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801DCF34 001D8B94 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801DCF38 001D8B98 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801DCF3C 001D8B9C 7C 08 03 A6 */ mtlr r0
/* 801DCF40 001D8BA0 38 21 00 20 */ addi r1, r1, 0x20
/* 801DCF44 001D8BA4 4E 80 00 20 */ blr
.global func_801DCF48
func_801DCF48:
/* 801DCF48 001D8BA8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801DCF4C 001D8BAC 7C 08 02 A6 */ mflr r0
/* 801DCF50 001D8BB0 90 01 00 14 */ stw r0, 0x14(r1)
/* 801DCF54 001D8BB4 4B FF FF 61 */ bl func_801DCEB4
/* 801DCF58 001D8BB8 7C 03 00 D0 */ neg r0, r3
/* 801DCF5C 001D8BBC 7C 00 1B 78 */ or r0, r0, r3
/* 801DCF60 001D8BC0 54 03 0F FE */ srwi r3, r0, 0x1f
/* 801DCF64 001D8BC4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801DCF68 001D8BC8 7C 08 03 A6 */ mtlr r0
/* 801DCF6C 001D8BCC 38 21 00 10 */ addi r1, r1, 0x10
/* 801DCF70 001D8BD0 4E 80 00 20 */ blr
.global func_801DCF74
func_801DCF74:
/* 801DCF74 001D8BD4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801DCF78 001D8BD8 7C 08 02 A6 */ mflr r0
/* 801DCF7C 001D8BDC 90 01 00 14 */ stw r0, 0x14(r1)
/* 801DCF80 001D8BE0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801DCF84 001D8BE4 93 C1 00 08 */ stw r30, 8(r1)
/* 801DCF88 001D8BE8 7C BE 2B 78 */ mr r30, r5
/* 801DCF8C 001D8BEC 4B FF FF 29 */ bl func_801DCEB4
/* 801DCF90 001D8BF0 2C 03 00 00 */ cmpwi r3, 0
/* 801DCF94 001D8BF4 7C 7F 1B 78 */ mr r31, r3
/* 801DCF98 001D8BF8 41 82 00 30 */ beq lbl_801DCFC8
/* 801DCF9C 001D8BFC 4B FF FE D9 */ bl func_801DCE74
/* 801DCFA0 001D8C00 38 9F 00 48 */ addi r4, r31, 0x48
/* 801DCFA4 001D8C04 38 A0 00 01 */ li r5, 1
/* 801DCFA8 001D8C08 48 10 B4 61 */ bl NANDOpen
/* 801DCFAC 001D8C0C 2C 03 00 00 */ cmpwi r3, 0
/* 801DCFB0 001D8C10 40 82 00 18 */ bne lbl_801DCFC8
/* 801DCFB4 001D8C14 38 00 00 01 */ li r0, 1
/* 801DCFB8 001D8C18 93 FE 00 40 */ stw r31, 0x40(r30)
/* 801DCFBC 001D8C1C 38 60 00 01 */ li r3, 1
/* 801DCFC0 001D8C20 98 1E 00 01 */ stb r0, 1(r30)
/* 801DCFC4 001D8C24 48 00 00 08 */ b lbl_801DCFCC
lbl_801DCFC8:
/* 801DCFC8 001D8C28 38 60 00 00 */ li r3, 0
lbl_801DCFCC:
/* 801DCFCC 001D8C2C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801DCFD0 001D8C30 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801DCFD4 001D8C34 83 C1 00 08 */ lwz r30, 8(r1)
/* 801DCFD8 001D8C38 7C 08 03 A6 */ mtlr r0
/* 801DCFDC 001D8C3C 38 21 00 10 */ addi r1, r1, 0x10
/* 801DCFE0 001D8C40 4E 80 00 20 */ blr
.global func_801DCFE4
func_801DCFE4:
/* 801DCFE4 001D8C44 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801DCFE8 001D8C48 7C 08 02 A6 */ mflr r0
/* 801DCFEC 001D8C4C 90 01 00 14 */ stw r0, 0x14(r1)
/* 801DCFF0 001D8C50 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801DCFF4 001D8C54 7C 9F 23 78 */ mr r31, r4
/* 801DCFF8 001D8C58 88 04 00 01 */ lbz r0, 1(r4)
/* 801DCFFC 001D8C5C 2C 00 00 00 */ cmpwi r0, 0
/* 801DD000 001D8C60 40 82 00 0C */ bne lbl_801DD00C
/* 801DD004 001D8C64 38 60 00 00 */ li r3, 0
/* 801DD008 001D8C68 48 00 00 20 */ b lbl_801DD028
lbl_801DD00C:
/* 801DD00C 001D8C6C 80 64 00 40 */ lwz r3, 0x40(r4)
/* 801DD010 001D8C70 38 63 00 48 */ addi r3, r3, 0x48
/* 801DD014 001D8C74 48 10 B6 75 */ bl NANDClose
/* 801DD018 001D8C78 38 00 00 00 */ li r0, 0
/* 801DD01C 001D8C7C 38 60 00 01 */ li r3, 1
/* 801DD020 001D8C80 98 1F 00 01 */ stb r0, 1(r31)
/* 801DD024 001D8C84 90 1F 00 40 */ stw r0, 0x40(r31)
lbl_801DD028:
/* 801DD028 001D8C88 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801DD02C 001D8C8C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801DD030 001D8C90 7C 08 03 A6 */ mtlr r0
/* 801DD034 001D8C94 38 21 00 10 */ addi r1, r1, 0x10
/* 801DD038 001D8C98 4E 80 00 20 */ blr
.global func_801DD03C
func_801DD03C:
/* 801DD03C 001D8C9C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801DD040 001D8CA0 7C 08 02 A6 */ mflr r0
/* 801DD044 001D8CA4 90 01 00 14 */ stw r0, 0x14(r1)
/* 801DD048 001D8CA8 88 04 00 01 */ lbz r0, 1(r4)
/* 801DD04C 001D8CAC 2C 00 00 00 */ cmpwi r0, 0
/* 801DD050 001D8CB0 40 82 00 0C */ bne lbl_801DD05C
/* 801DD054 001D8CB4 38 60 00 00 */ li r3, 0
/* 801DD058 001D8CB8 48 00 00 1C */ b lbl_801DD074
lbl_801DD05C:
/* 801DD05C 001D8CBC 80 64 00 40 */ lwz r3, 0x40(r4)
/* 801DD060 001D8CC0 7C A4 2B 78 */ mr r4, r5
/* 801DD064 001D8CC4 38 63 00 48 */ addi r3, r3, 0x48
/* 801DD068 001D8CC8 48 10 AE 65 */ bl NANDGetLength
/* 801DD06C 001D8CCC 7C 60 00 34 */ cntlzw r0, r3
/* 801DD070 001D8CD0 54 03 D9 7E */ srwi r3, r0, 5
lbl_801DD074:
/* 801DD074 001D8CD4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801DD078 001D8CD8 7C 08 03 A6 */ mtlr r0
/* 801DD07C 001D8CDC 38 21 00 10 */ addi r1, r1, 0x10
/* 801DD080 001D8CE0 4E 80 00 20 */ blr
.global func_801DD084
func_801DD084:
/* 801DD084 001D8CE4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801DD088 001D8CE8 7C 08 02 A6 */ mflr r0
/* 801DD08C 001D8CEC 90 01 00 24 */ stw r0, 0x24(r1)
/* 801DD090 001D8CF0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801DD094 001D8CF4 7C DF 33 78 */ mr r31, r6
/* 801DD098 001D8CF8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801DD09C 001D8CFC 7C BE 2B 78 */ mr r30, r5
/* 801DD0A0 001D8D00 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801DD0A4 001D8D04 7C 9D 23 78 */ mr r29, r4
/* 801DD0A8 001D8D08 88 04 00 01 */ lbz r0, 1(r4)
/* 801DD0AC 001D8D0C 2C 00 00 00 */ cmpwi r0, 0
/* 801DD0B0 001D8D10 40 82 00 0C */ bne lbl_801DD0BC
/* 801DD0B4 001D8D14 38 60 FF FF */ li r3, -1
/* 801DD0B8 001D8D18 48 00 00 3C */ b lbl_801DD0F4
lbl_801DD0BC:
/* 801DD0BC 001D8D1C 80 64 00 40 */ lwz r3, 0x40(r4)
/* 801DD0C0 001D8D20 7C E4 3B 78 */ mr r4, r7
/* 801DD0C4 001D8D24 38 A0 00 00 */ li r5, 0
/* 801DD0C8 001D8D28 38 63 00 48 */ addi r3, r3, 0x48
/* 801DD0CC 001D8D2C 48 10 A9 B5 */ bl NANDSeek
/* 801DD0D0 001D8D30 2C 03 00 00 */ cmpwi r3, 0
/* 801DD0D4 001D8D34 41 80 00 0C */ blt lbl_801DD0E0
/* 801DD0D8 001D8D38 38 60 FF FF */ li r3, -1
/* 801DD0DC 001D8D3C 48 00 00 18 */ b lbl_801DD0F4
lbl_801DD0E0:
/* 801DD0E0 001D8D40 80 7D 00 40 */ lwz r3, 0x40(r29)
/* 801DD0E4 001D8D44 7F C4 F3 78 */ mr r4, r30
/* 801DD0E8 001D8D48 7F E5 FB 78 */ mr r5, r31
/* 801DD0EC 001D8D4C 38 63 00 48 */ addi r3, r3, 0x48
/* 801DD0F0 001D8D50 48 10 A7 D1 */ bl NANDRead
lbl_801DD0F4:
/* 801DD0F4 001D8D54 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801DD0F8 001D8D58 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801DD0FC 001D8D5C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801DD100 001D8D60 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801DD104 001D8D64 7C 08 03 A6 */ mtlr r0
/* 801DD108 001D8D68 38 21 00 20 */ addi r1, r1, 0x20
/* 801DD10C 001D8D6C 4E 80 00 20 */ blr
lbl_801DD110:
/* 801DD110 001D8D70 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801DD114 001D8D74 7C 08 02 A6 */ mflr r0
/* 801DD118 001D8D78 90 01 00 14 */ stw r0, 0x14(r1)
/* 801DD11C 001D8D7C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801DD120 001D8D80 93 C1 00 08 */ stw r30, 8(r1)
/* 801DD124 001D8D84 7C 7E 1B 78 */ mr r30, r3
/* 801DD128 001D8D88 7C 83 23 78 */ mr r3, r4
/* 801DD12C 001D8D8C 48 10 B1 C1 */ bl NANDGetUserData
/* 801DD130 001D8D90 7C 7F 1B 78 */ mr r31, r3
/* 801DD134 001D8D94 4B FF FD 11 */ bl func_801DCE44
/* 801DD138 001D8D98 2C 03 00 00 */ cmpwi r3, 0
/* 801DD13C 001D8D9C 40 82 00 20 */ bne lbl_801DD15C
/* 801DD140 001D8DA0 81 9F 00 44 */ lwz r12, 0x44(r31)
/* 801DD144 001D8DA4 2C 0C 00 00 */ cmpwi r12, 0
/* 801DD148 001D8DA8 41 82 00 14 */ beq lbl_801DD15C
/* 801DD14C 001D8DAC 7F C3 F3 78 */ mr r3, r30
/* 801DD150 001D8DB0 7F E4 FB 78 */ mr r4, r31
/* 801DD154 001D8DB4 7D 89 03 A6 */ mtctr r12
/* 801DD158 001D8DB8 4E 80 04 21 */ bctrl
lbl_801DD15C:
/* 801DD15C 001D8DBC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801DD160 001D8DC0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801DD164 001D8DC4 83 C1 00 08 */ lwz r30, 8(r1)
/* 801DD168 001D8DC8 7C 08 03 A6 */ mtlr r0
/* 801DD16C 001D8DCC 38 21 00 10 */ addi r1, r1, 0x10
/* 801DD170 001D8DD0 4E 80 00 20 */ blr
lbl_801DD174:
/* 801DD174 001D8DD4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801DD178 001D8DD8 7C 08 02 A6 */ mflr r0
/* 801DD17C 001D8DDC 90 01 00 24 */ stw r0, 0x24(r1)
/* 801DD180 001D8DE0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801DD184 001D8DE4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801DD188 001D8DE8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801DD18C 001D8DEC 7C 7D 1B 78 */ mr r29, r3
/* 801DD190 001D8DF0 7C 83 23 78 */ mr r3, r4
/* 801DD194 001D8DF4 48 10 B1 59 */ bl NANDGetUserData
/* 801DD198 001D8DF8 83 C3 00 40 */ lwz r30, 0x40(r3)
/* 801DD19C 001D8DFC 7C 7F 1B 78 */ mr r31, r3
/* 801DD1A0 001D8E00 4B FF FC A5 */ bl func_801DCE44
/* 801DD1A4 001D8E04 2C 03 00 00 */ cmpwi r3, 0
/* 801DD1A8 001D8E08 40 82 00 5C */ bne lbl_801DD204
/* 801DD1AC 001D8E0C 2C 1D 00 00 */ cmpwi r29, 0
/* 801DD1B0 001D8E10 40 80 00 1C */ bge lbl_801DD1CC
/* 801DD1B4 001D8E14 81 9F 00 44 */ lwz r12, 0x44(r31)
/* 801DD1B8 001D8E18 7F E4 FB 78 */ mr r4, r31
/* 801DD1BC 001D8E1C 38 60 FF FF */ li r3, -1
/* 801DD1C0 001D8E20 7D 89 03 A6 */ mtctr r12
/* 801DD1C4 001D8E24 4E 80 04 21 */ bctrl
/* 801DD1C8 001D8E28 48 00 00 3C */ b lbl_801DD204
lbl_801DD1CC:
/* 801DD1CC 001D8E2C 3C C0 80 1E */ lis r6, lbl_801DD110@ha
/* 801DD1D0 001D8E30 80 9F 00 48 */ lwz r4, 0x48(r31)
/* 801DD1D4 001D8E34 80 BF 00 4C */ lwz r5, 0x4c(r31)
/* 801DD1D8 001D8E38 38 7E 00 48 */ addi r3, r30, 0x48
/* 801DD1DC 001D8E3C 38 C6 D1 10 */ addi r6, r6, lbl_801DD110@l
/* 801DD1E0 001D8E40 38 FE 00 D4 */ addi r7, r30, 0xd4
/* 801DD1E4 001D8E44 48 10 A7 45 */ bl NANDReadAsync
/* 801DD1E8 001D8E48 2C 03 00 00 */ cmpwi r3, 0
/* 801DD1EC 001D8E4C 41 82 00 18 */ beq lbl_801DD204
/* 801DD1F0 001D8E50 81 9F 00 44 */ lwz r12, 0x44(r31)
/* 801DD1F4 001D8E54 7F E4 FB 78 */ mr r4, r31
/* 801DD1F8 001D8E58 38 60 FF FF */ li r3, -1
/* 801DD1FC 001D8E5C 7D 89 03 A6 */ mtctr r12
/* 801DD200 001D8E60 4E 80 04 21 */ bctrl
lbl_801DD204:
/* 801DD204 001D8E64 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801DD208 001D8E68 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801DD20C 001D8E6C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801DD210 001D8E70 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801DD214 001D8E74 7C 08 03 A6 */ mtlr r0
/* 801DD218 001D8E78 38 21 00 20 */ addi r1, r1, 0x20
/* 801DD21C 001D8E7C 4E 80 00 20 */ blr
.global func_801DD220
func_801DD220:
/* 801DD220 001D8E80 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801DD224 001D8E84 7C 08 02 A6 */ mflr r0
/* 801DD228 001D8E88 90 01 00 14 */ stw r0, 0x14(r1)
/* 801DD22C 001D8E8C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801DD230 001D8E90 93 C1 00 08 */ stw r30, 8(r1)
/* 801DD234 001D8E94 7C FE 3B 78 */ mr r30, r7
/* 801DD238 001D8E98 88 04 00 01 */ lbz r0, 1(r4)
/* 801DD23C 001D8E9C 2C 00 00 00 */ cmpwi r0, 0
/* 801DD240 001D8EA0 40 82 00 0C */ bne lbl_801DD24C
/* 801DD244 001D8EA4 38 60 00 00 */ li r3, 0
/* 801DD248 001D8EA8 48 00 00 34 */ b lbl_801DD27C
lbl_801DD24C:
/* 801DD24C 001D8EAC 83 E4 00 40 */ lwz r31, 0x40(r4)
/* 801DD250 001D8EB0 38 7F 00 D4 */ addi r3, r31, 0xd4
/* 801DD254 001D8EB4 48 10 B0 91 */ bl NANDSetUserData
/* 801DD258 001D8EB8 3C C0 80 1E */ lis r6, lbl_801DD174@ha
/* 801DD25C 001D8EBC 7F C4 F3 78 */ mr r4, r30
/* 801DD260 001D8EC0 38 7F 00 48 */ addi r3, r31, 0x48
/* 801DD264 001D8EC4 38 FF 00 D4 */ addi r7, r31, 0xd4
/* 801DD268 001D8EC8 38 C6 D1 74 */ addi r6, r6, lbl_801DD174@l
/* 801DD26C 001D8ECC 38 A0 00 00 */ li r5, 0
/* 801DD270 001D8ED0 48 10 A8 B1 */ bl NANDSeekAsync
/* 801DD274 001D8ED4 7C 60 00 34 */ cntlzw r0, r3
/* 801DD278 001D8ED8 54 03 D9 7E */ srwi r3, r0, 5
lbl_801DD27C:
/* 801DD27C 001D8EDC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801DD280 001D8EE0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801DD284 001D8EE4 83 C1 00 08 */ lwz r30, 8(r1)
/* 801DD288 001D8EE8 7C 08 03 A6 */ mtlr r0
/* 801DD28C 001D8EEC 38 21 00 10 */ addi r1, r1, 0x10
/* 801DD290 001D8EF0 4E 80 00 20 */ blr
.global lbl_801DD294
lbl_801DD294:
/* 801DD294 001D8EF4 94 21 FF 40 */ stwu r1, -0xc0(r1)
/* 801DD298 001D8EF8 7C 08 02 A6 */ mflr r0
/* 801DD29C 001D8EFC 90 01 00 C4 */ stw r0, 0xc4(r1)
/* 801DD2A0 001D8F00 39 61 00 C0 */ addi r11, r1, 0xc0
/* 801DD2A4 001D8F04 4B FE 9E 79 */ bl _savegpr_24
/* 801DD2A8 001D8F08 7C 78 1B 78 */ mr r24, r3
/* 801DD2AC 001D8F0C 7C 99 23 78 */ mr r25, r4
/* 801DD2B0 001D8F10 4B FF FC 05 */ bl func_801DCEB4
/* 801DD2B4 001D8F14 2C 03 00 00 */ cmpwi r3, 0
/* 801DD2B8 001D8F18 41 82 00 0C */ beq lbl_801DD2C4
/* 801DD2BC 001D8F1C 38 60 00 01 */ li r3, 1
/* 801DD2C0 001D8F20 48 00 02 D0 */ b lbl_801DD590
lbl_801DD2C4:
/* 801DD2C4 001D8F24 88 18 00 00 */ lbz r0, 0(r24)
/* 801DD2C8 001D8F28 38 80 00 00 */ li r4, 0
/* 801DD2CC 001D8F2C 2C 00 00 00 */ cmpwi r0, 0
/* 801DD2D0 001D8F30 40 82 00 10 */ bne lbl_801DD2E0
/* 801DD2D4 001D8F34 1C 04 01 90 */ mulli r0, r4, 0x190
/* 801DD2D8 001D8F38 7F B8 02 14 */ add r29, r24, r0
/* 801DD2DC 001D8F3C 48 00 00 E0 */ b lbl_801DD3BC
lbl_801DD2E0:
/* 801DD2E0 001D8F40 88 18 01 90 */ lbz r0, 0x190(r24)
/* 801DD2E4 001D8F44 38 78 01 90 */ addi r3, r24, 0x190
/* 801DD2E8 001D8F48 38 80 00 01 */ li r4, 1
/* 801DD2EC 001D8F4C 2C 00 00 00 */ cmpwi r0, 0
/* 801DD2F0 001D8F50 40 82 00 10 */ bne lbl_801DD300
/* 801DD2F4 001D8F54 1C 04 01 90 */ mulli r0, r4, 0x190
/* 801DD2F8 001D8F58 7F B8 02 14 */ add r29, r24, r0
/* 801DD2FC 001D8F5C 48 00 00 C0 */ b lbl_801DD3BC
lbl_801DD300:
/* 801DD300 001D8F60 88 03 01 90 */ lbz r0, 0x190(r3)
/* 801DD304 001D8F64 38 80 00 02 */ li r4, 2
/* 801DD308 001D8F68 38 63 01 90 */ addi r3, r3, 0x190
/* 801DD30C 001D8F6C 2C 00 00 00 */ cmpwi r0, 0
/* 801DD310 001D8F70 40 82 00 10 */ bne lbl_801DD320
/* 801DD314 001D8F74 1C 04 01 90 */ mulli r0, r4, 0x190
/* 801DD318 001D8F78 7F B8 02 14 */ add r29, r24, r0
/* 801DD31C 001D8F7C 48 00 00 A0 */ b lbl_801DD3BC
lbl_801DD320:
/* 801DD320 001D8F80 88 03 01 90 */ lbz r0, 0x190(r3)
/* 801DD324 001D8F84 38 80 00 03 */ li r4, 3
/* 801DD328 001D8F88 38 63 01 90 */ addi r3, r3, 0x190
/* 801DD32C 001D8F8C 2C 00 00 00 */ cmpwi r0, 0
/* 801DD330 001D8F90 40 82 00 10 */ bne lbl_801DD340
/* 801DD334 001D8F94 1C 04 01 90 */ mulli r0, r4, 0x190
/* 801DD338 001D8F98 7F B8 02 14 */ add r29, r24, r0
/* 801DD33C 001D8F9C 48 00 00 80 */ b lbl_801DD3BC
lbl_801DD340:
/* 801DD340 001D8FA0 88 03 01 90 */ lbz r0, 0x190(r3)
/* 801DD344 001D8FA4 38 80 00 04 */ li r4, 4
/* 801DD348 001D8FA8 38 63 01 90 */ addi r3, r3, 0x190
/* 801DD34C 001D8FAC 2C 00 00 00 */ cmpwi r0, 0
/* 801DD350 001D8FB0 40 82 00 10 */ bne lbl_801DD360
/* 801DD354 001D8FB4 1C 04 01 90 */ mulli r0, r4, 0x190
/* 801DD358 001D8FB8 7F B8 02 14 */ add r29, r24, r0
/* 801DD35C 001D8FBC 48 00 00 60 */ b lbl_801DD3BC
lbl_801DD360:
/* 801DD360 001D8FC0 88 03 01 90 */ lbz r0, 0x190(r3)
/* 801DD364 001D8FC4 38 80 00 05 */ li r4, 5
/* 801DD368 001D8FC8 38 63 01 90 */ addi r3, r3, 0x190
/* 801DD36C 001D8FCC 2C 00 00 00 */ cmpwi r0, 0
/* 801DD370 001D8FD0 40 82 00 10 */ bne lbl_801DD380
/* 801DD374 001D8FD4 1C 04 01 90 */ mulli r0, r4, 0x190
/* 801DD378 001D8FD8 7F B8 02 14 */ add r29, r24, r0
/* 801DD37C 001D8FDC 48 00 00 40 */ b lbl_801DD3BC
lbl_801DD380:
/* 801DD380 001D8FE0 88 03 01 90 */ lbz r0, 0x190(r3)
/* 801DD384 001D8FE4 38 80 00 06 */ li r4, 6
/* 801DD388 001D8FE8 38 63 01 90 */ addi r3, r3, 0x190
/* 801DD38C 001D8FEC 2C 00 00 00 */ cmpwi r0, 0
/* 801DD390 001D8FF0 40 82 00 10 */ bne lbl_801DD3A0
/* 801DD394 001D8FF4 1C 04 01 90 */ mulli r0, r4, 0x190
/* 801DD398 001D8FF8 7F B8 02 14 */ add r29, r24, r0
/* 801DD39C 001D8FFC 48 00 00 20 */ b lbl_801DD3BC
lbl_801DD3A0:
/* 801DD3A0 001D9000 88 03 01 90 */ lbz r0, 0x190(r3)
/* 801DD3A4 001D9004 38 80 00 07 */ li r4, 7
/* 801DD3A8 001D9008 3B A3 01 90 */ addi r29, r3, 0x190
/* 801DD3AC 001D900C 2C 00 00 00 */ cmpwi r0, 0
/* 801DD3B0 001D9010 40 82 00 0C */ bne lbl_801DD3BC
/* 801DD3B4 001D9014 1C 04 01 90 */ mulli r0, r4, 0x190
/* 801DD3B8 001D9018 7F B8 02 14 */ add r29, r24, r0
lbl_801DD3BC:
/* 801DD3BC 001D901C 2C 1D 00 00 */ cmpwi r29, 0
/* 801DD3C0 001D9020 40 82 00 0C */ bne lbl_801DD3CC
/* 801DD3C4 001D9024 38 60 00 00 */ li r3, 0
/* 801DD3C8 001D9028 48 00 01 C8 */ b lbl_801DD590
lbl_801DD3CC:
/* 801DD3CC 001D902C 7F 23 CB 78 */ mr r3, r25
/* 801DD3D0 001D9030 4B FF EF B1 */ bl func_801DC380
/* 801DD3D4 001D9034 2C 03 00 00 */ cmpwi r3, 0
/* 801DD3D8 001D9038 40 82 00 0C */ bne lbl_801DD3E4
/* 801DD3DC 001D903C 38 60 00 00 */ li r3, 0
/* 801DD3E0 001D9040 48 00 01 B0 */ b lbl_801DD590
lbl_801DD3E4:
/* 801DD3E4 001D9044 7F 23 CB 78 */ mr r3, r25
/* 801DD3E8 001D9048 4B FF EE E9 */ bl func_801DC2D0
/* 801DD3EC 001D904C 2C 03 00 00 */ cmpwi r3, 0
/* 801DD3F0 001D9050 7C 7C 1B 78 */ mr r28, r3
/* 801DD3F4 001D9054 40 82 00 0C */ bne lbl_801DD400
/* 801DD3F8 001D9058 38 60 00 00 */ li r3, 0
/* 801DD3FC 001D905C 48 00 01 94 */ b lbl_801DD590
lbl_801DD400:
/* 801DD400 001D9060 4B FF F3 61 */ bl func_801DC760
/* 801DD404 001D9064 38 03 00 1F */ addi r0, r3, 0x1f
/* 801DD408 001D9068 54 18 00 35 */ rlwinm. r24, r0, 0, 0, 0x1a
/* 801DD40C 001D906C 40 82 00 0C */ bne lbl_801DD418
/* 801DD410 001D9070 38 60 00 00 */ li r3, 0
/* 801DD414 001D9074 48 00 01 7C */ b lbl_801DD590
lbl_801DD418:
/* 801DD418 001D9078 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 801DD41C 001D907C 3C 80 00 20 */ lis r4, 0x20
/* 801DD420 001D9080 4B FF D8 75 */ bl func_801DAC94
/* 801DD424 001D9084 2C 03 00 00 */ cmpwi r3, 0
/* 801DD428 001D9088 7C 7B 1B 78 */ mr r27, r3
/* 801DD42C 001D908C 40 82 00 0C */ bne lbl_801DD438
/* 801DD430 001D9090 38 60 00 00 */ li r3, 0
/* 801DD434 001D9094 48 00 01 5C */ b lbl_801DD590
lbl_801DD438:
/* 801DD438 001D9098 38 00 00 01 */ li r0, 1
/* 801DD43C 001D909C 38 7D 00 02 */ addi r3, r29, 2
/* 801DD440 001D90A0 98 1D 00 00 */ stb r0, 0(r29)
/* 801DD444 001D90A4 38 8D 84 38 */ addi r4, r13, lbl_8063D6F8-_SDA_BASE_
/* 801DD448 001D90A8 98 1D 00 01 */ stb r0, 1(r29)
/* 801DD44C 001D90AC 4B FF 0E 85 */ bl strcpy
/* 801DD450 001D90B0 7F 24 CB 78 */ mr r4, r25
/* 801DD454 001D90B4 38 7D 00 02 */ addi r3, r29, 2
/* 801DD458 001D90B8 38 A0 00 0C */ li r5, 0xc
/* 801DD45C 001D90BC 4B FF 0F A5 */ bl strncat
/* 801DD460 001D90C0 38 7D 00 02 */ addi r3, r29, 2
/* 801DD464 001D90C4 3B 40 00 00 */ li r26, 0
/* 801DD468 001D90C8 38 80 00 30 */ li r4, 0x30
/* 801DD46C 001D90CC 38 A0 00 00 */ li r5, 0
/* 801DD470 001D90D0 48 10 A1 09 */ bl NANDCreate
/* 801DD474 001D90D4 2C 03 00 00 */ cmpwi r3, 0
/* 801DD478 001D90D8 41 82 00 0C */ beq lbl_801DD484
/* 801DD47C 001D90DC 2C 03 FF FA */ cmpwi r3, -6
/* 801DD480 001D90E0 40 82 00 D0 */ bne lbl_801DD550
lbl_801DD484:
/* 801DD484 001D90E4 38 7D 00 02 */ addi r3, r29, 2
/* 801DD488 001D90E8 38 81 00 08 */ addi r4, r1, 8
/* 801DD48C 001D90EC 38 A0 00 03 */ li r5, 3
/* 801DD490 001D90F0 48 10 AF 79 */ bl NANDOpen
/* 801DD494 001D90F4 2C 03 00 00 */ cmpwi r3, 0
/* 801DD498 001D90F8 40 82 00 B8 */ bne lbl_801DD550
/* 801DD49C 001D90FC 3B 20 00 00 */ li r25, 0
/* 801DD4A0 001D9100 3F E0 00 20 */ lis r31, 0x20
lbl_801DD4A4:
/* 801DD4A4 001D9104 7C 18 F8 40 */ cmplw r24, r31
/* 801DD4A8 001D9108 3F C0 00 20 */ lis r30, 0x20
/* 801DD4AC 001D910C 40 80 00 08 */ bge lbl_801DD4B4
/* 801DD4B0 001D9110 7F 1E C3 78 */ mr r30, r24
lbl_801DD4B4:
/* 801DD4B4 001D9114 7F 83 E3 78 */ mr r3, r28
/* 801DD4B8 001D9118 7F 64 DB 78 */ mr r4, r27
/* 801DD4BC 001D911C 7F C5 F3 78 */ mr r5, r30
/* 801DD4C0 001D9120 7F 26 CB 78 */ mr r6, r25
/* 801DD4C4 001D9124 38 E0 00 02 */ li r7, 2
/* 801DD4C8 001D9128 4B FF F1 35 */ bl func_801DC5FC
/* 801DD4CC 001D912C 2C 03 00 00 */ cmpwi r3, 0
/* 801DD4D0 001D9130 40 80 00 34 */ bge lbl_801DD504
/* 801DD4D4 001D9134 2C 03 FF FF */ cmpwi r3, -1
/* 801DD4D8 001D9138 40 82 00 10 */ bne lbl_801DD4E8
lbl_801DD4DC:
/* 801DD4DC 001D913C 80 6D A3 40 */ lwz r3, lbl_8063F600-_SDA_BASE_(r13)
/* 801DD4E0 001D9140 48 04 70 A9 */ bl func_80224588
/* 801DD4E4 001D9144 4B FF FF F8 */ b lbl_801DD4DC
lbl_801DD4E8:
/* 801DD4E8 001D9148 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 801DD4EC 001D914C 7F 64 DB 78 */ mr r4, r27
/* 801DD4F0 001D9150 4B FF D8 59 */ bl func_801DAD48
/* 801DD4F4 001D9154 7F 83 E3 78 */ mr r3, r28
/* 801DD4F8 001D9158 4B FF F1 CD */ bl func_801DC6C4
/* 801DD4FC 001D915C 38 60 00 00 */ li r3, 0
/* 801DD500 001D9160 48 00 00 90 */ b lbl_801DD590
lbl_801DD504:
/* 801DD504 001D9164 7F 64 DB 78 */ mr r4, r27
/* 801DD508 001D9168 7F C5 F3 78 */ mr r5, r30
/* 801DD50C 001D916C 38 61 00 08 */ addi r3, r1, 8
/* 801DD510 001D9170 48 10 A4 91 */ bl NANDWrite
/* 801DD514 001D9174 7C 03 F0 00 */ cmpw r3, r30
/* 801DD518 001D9178 41 82 00 10 */ beq lbl_801DD528
/* 801DD51C 001D917C 38 61 00 08 */ addi r3, r1, 8
/* 801DD520 001D9180 48 10 B1 69 */ bl NANDClose
/* 801DD524 001D9184 48 00 00 10 */ b lbl_801DD534
lbl_801DD528:
/* 801DD528 001D9188 7F 1E C0 51 */ subf. r24, r30, r24
/* 801DD52C 001D918C 7F 39 F2 14 */ add r25, r25, r30
/* 801DD530 001D9190 40 82 FF 74 */ bne lbl_801DD4A4
lbl_801DD534:
/* 801DD534 001D9194 38 61 00 08 */ addi r3, r1, 8
/* 801DD538 001D9198 48 10 B1 51 */ bl NANDClose
/* 801DD53C 001D919C 2C 03 00 00 */ cmpwi r3, 0
/* 801DD540 001D91A0 40 82 00 10 */ bne lbl_801DD550
/* 801DD544 001D91A4 38 00 00 00 */ li r0, 0
/* 801DD548 001D91A8 3B 40 00 01 */ li r26, 1
/* 801DD54C 001D91AC 98 1D 00 01 */ stb r0, 1(r29)
lbl_801DD550:
/* 801DD550 001D91B0 2C 1B 00 00 */ cmpwi r27, 0
/* 801DD554 001D91B4 41 82 00 10 */ beq lbl_801DD564
/* 801DD558 001D91B8 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 801DD55C 001D91BC 7F 64 DB 78 */ mr r4, r27
/* 801DD560 001D91C0 4B FF D7 E9 */ bl func_801DAD48
lbl_801DD564:
/* 801DD564 001D91C4 7F 83 E3 78 */ mr r3, r28
/* 801DD568 001D91C8 4B FF F1 5D */ bl func_801DC6C4
/* 801DD56C 001D91CC 2C 1A 00 00 */ cmpwi r26, 0
/* 801DD570 001D91D0 41 82 00 14 */ beq lbl_801DD584
/* 801DD574 001D91D4 38 00 00 00 */ li r0, 0
/* 801DD578 001D91D8 38 60 00 01 */ li r3, 1
/* 801DD57C 001D91DC 98 1D 00 01 */ stb r0, 1(r29)
/* 801DD580 001D91E0 48 00 00 10 */ b lbl_801DD590
lbl_801DD584:
/* 801DD584 001D91E4 38 00 00 00 */ li r0, 0
/* 801DD588 001D91E8 38 60 00 01 */ li r3, 1
/* 801DD58C 001D91EC 98 1D 00 00 */ stb r0, 0(r29)
lbl_801DD590:
/* 801DD590 001D91F0 39 61 00 C0 */ addi r11, r1, 0xc0
/* 801DD594 001D91F4 4B FE 9B D5 */ bl _restgpr_24
/* 801DD598 001D91F8 80 01 00 C4 */ lwz r0, 0xc4(r1)
/* 801DD59C 001D91FC 7C 08 03 A6 */ mtlr r0
/* 801DD5A0 001D9200 38 21 00 C0 */ addi r1, r1, 0xc0
/* 801DD5A4 001D9204 4E 80 00 20 */ blr
.global func_801DD5A8
func_801DD5A8:
/* 801DD5A8 001D9208 38 A0 00 01 */ li r5, 1
/* 801DD5AC 001D920C 38 6D A0 80 */ addi r3, r13, lbl_8063F340-_SDA_BASE_
/* 801DD5B0 001D9210 38 80 00 04 */ li r4, 4
/* 801DD5B4 001D9214 38 00 00 00 */ li r0, 0
/* 801DD5B8 001D9218 98 AD A0 80 */ stb r5, lbl_8063F340-_SDA_BASE_(r13)
/* 801DD5BC 001D921C B0 83 00 02 */ sth r4, 2(r3)
/* 801DD5C0 001D9220 98 03 00 04 */ stb r0, 4(r3)
/* 801DD5C4 001D9224 4E 80 00 20 */ blr
|