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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global NWC24iOpenDlTaskList
NWC24iOpenDlTaskList:
/* 803047F0 00300450 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803047F4 00300454 7C 08 02 A6 */ mflr r0
/* 803047F8 00300458 90 01 00 14 */ stw r0, 0x14(r1)
/* 803047FC 0030045C 48 00 02 B1 */ bl NWC24iLoadDlHeader
/* 80304800 00300460 2C 03 00 00 */ cmpwi r3, 0
/* 80304804 00300464 41 80 00 28 */ blt lbl_8030482C
/* 80304808 00300468 38 60 00 00 */ li r3, 0
/* 8030480C 0030046C 4B FF FD DD */ bl NWC24iSynchronizeRtcCounter
/* 80304810 00300470 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80304814 00300474 38 80 00 00 */ li r4, 0
/* 80304818 00300478 38 63 30 00 */ addi r3, r3, 0x3000
/* 8030481C 0030047C 48 00 00 29 */ bl NWC24iCheckHeaderConsistency
/* 80304820 00300480 2C 03 00 00 */ cmpwi r3, 0
/* 80304824 00300484 41 80 00 08 */ blt lbl_8030482C
/* 80304828 00300488 38 60 00 00 */ li r3, 0
lbl_8030482C:
/* 8030482C 0030048C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80304830 00300490 7C 08 03 A6 */ mtlr r0
/* 80304834 00300494 38 21 00 10 */ addi r1, r1, 0x10
/* 80304838 00300498 4E 80 00 20 */ blr
.global NWC24iCloseDlTaskList
NWC24iCloseDlTaskList:
/* 8030483C 0030049C 38 60 00 00 */ li r3, 0
/* 80304840 003004A0 4E 80 00 20 */ blr
.global NWC24iCheckHeaderConsistency
NWC24iCheckHeaderConsistency:
/* 80304844 003004A4 94 21 FD 40 */ stwu r1, -0x2c0(r1)
/* 80304848 003004A8 7C 08 02 A6 */ mflr r0
/* 8030484C 003004AC 90 01 02 C4 */ stw r0, 0x2c4(r1)
/* 80304850 003004B0 39 61 02 C0 */ addi r11, r1, 0x2c0
/* 80304854 003004B4 4B EC 28 D1 */ bl _savegpr_26
/* 80304858 003004B8 3B E1 00 A8 */ addi r31, r1, 0xa8
/* 8030485C 003004BC 7C 7C 1B 78 */ mr r28, r3
/* 80304860 003004C0 7C 9D 23 78 */ mr r29, r4
/* 80304864 003004C4 3B C0 00 00 */ li r30, 0
/* 80304868 003004C8 3F 60 00 01 */ lis r27, 1
/* 8030486C 003004CC 48 00 02 14 */ b lbl_80304A80
lbl_80304870:
/* 80304870 003004D0 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80304874 003004D4 57 C0 04 3E */ clrlwi r0, r30, 0x10
/* 80304878 003004D8 A0 C3 30 10 */ lhz r6, 0x3010(r3)
/* 8030487C 003004DC 38 A3 30 00 */ addi r5, r3, 0x3000
/* 80304880 003004E0 7C 00 30 40 */ cmplw r0, r6
/* 80304884 003004E4 40 80 00 0C */ bge lbl_80304890
/* 80304888 003004E8 28 00 FF FF */ cmplwi r0, 0xffff
/* 8030488C 003004EC 40 82 00 0C */ bne lbl_80304898
lbl_80304890:
/* 80304890 003004F0 38 80 FF FD */ li r4, -3
/* 80304894 003004F4 48 00 00 20 */ b lbl_803048B4
lbl_80304898:
/* 80304898 003004F8 57 C0 23 36 */ rlwinm r0, r30, 4, 0xc, 0x1b
/* 8030489C 003004FC 38 80 00 00 */ li r4, 0
/* 803048A0 00300500 7C 65 02 14 */ add r3, r5, r0
/* 803048A4 00300504 80 03 00 80 */ lwz r0, 0x80(r3)
/* 803048A8 00300508 2C 00 00 00 */ cmpwi r0, 0
/* 803048AC 0030050C 40 82 00 08 */ bne lbl_803048B4
/* 803048B0 00300510 38 80 FF F3 */ li r4, -13
lbl_803048B4:
/* 803048B4 00300514 2C 04 00 00 */ cmpwi r4, 0
/* 803048B8 00300518 40 82 01 C4 */ bne lbl_80304A7C
/* 803048BC 0030051C 2C 1D 00 00 */ cmpwi r29, 0
/* 803048C0 00300520 41 82 01 BC */ beq lbl_80304A7C
/* 803048C4 00300524 57 C0 04 3E */ clrlwi r0, r30, 0x10
/* 803048C8 00300528 7C 00 30 40 */ cmplw r0, r6
/* 803048CC 0030052C 40 80 00 0C */ bge lbl_803048D8
/* 803048D0 00300530 28 00 FF FF */ cmplwi r0, 0xffff
/* 803048D4 00300534 40 82 00 0C */ bne lbl_803048E0
lbl_803048D8:
/* 803048D8 00300538 38 60 FF FD */ li r3, -3
/* 803048DC 0030053C 48 00 00 20 */ b lbl_803048FC
lbl_803048E0:
/* 803048E0 00300540 57 C0 23 36 */ rlwinm r0, r30, 4, 0xc, 0x1b
/* 803048E4 00300544 38 60 00 00 */ li r3, 0
/* 803048E8 00300548 7C 85 02 14 */ add r4, r5, r0
/* 803048EC 0030054C 80 04 00 80 */ lwz r0, 0x80(r4)
/* 803048F0 00300550 2C 00 00 00 */ cmpwi r0, 0
/* 803048F4 00300554 40 82 00 08 */ bne lbl_803048FC
/* 803048F8 00300558 38 60 FF F3 */ li r3, -13
lbl_803048FC:
/* 803048FC 0030055C 2C 03 00 00 */ cmpwi r3, 0
/* 80304900 00300560 40 80 00 08 */ bge lbl_80304908
/* 80304904 00300564 48 00 00 78 */ b lbl_8030497C
lbl_80304908:
/* 80304908 00300568 80 8D 8C C0 */ lwz r4, lbl_8063DF80-_SDA_BASE_(r13)
/* 8030490C 0030056C 38 61 00 08 */ addi r3, r1, 8
/* 80304910 00300570 38 A0 00 0A */ li r5, 0xa
/* 80304914 00300574 4B FF D2 35 */ bl NWC24FOpen
/* 80304918 00300578 2C 03 00 00 */ cmpwi r3, 0
/* 8030491C 0030057C 40 80 00 08 */ bge lbl_80304924
/* 80304920 00300580 48 00 00 5C */ b lbl_8030497C
lbl_80304924:
/* 80304924 00300584 57 C4 49 EC */ rlwinm r4, r30, 9, 7, 0x16
/* 80304928 00300588 38 61 00 08 */ addi r3, r1, 8
/* 8030492C 0030058C 38 84 08 00 */ addi r4, r4, 0x800
/* 80304930 00300590 38 A0 00 00 */ li r5, 0
/* 80304934 00300594 4B FF D6 F9 */ bl NWC24FSeek
/* 80304938 00300598 2C 03 00 00 */ cmpwi r3, 0
/* 8030493C 0030059C 40 80 00 0C */ bge lbl_80304948
/* 80304940 003005A0 7C 7A 1B 78 */ mr r26, r3
/* 80304944 003005A4 48 00 00 24 */ b lbl_80304968
lbl_80304948:
/* 80304948 003005A8 7F E3 FB 78 */ mr r3, r31
/* 8030494C 003005AC 38 A1 00 08 */ addi r5, r1, 8
/* 80304950 003005B0 38 80 02 00 */ li r4, 0x200
/* 80304954 003005B4 4B FF D8 C5 */ bl NWC24FRead
/* 80304958 003005B8 2C 03 00 00 */ cmpwi r3, 0
/* 8030495C 003005BC 3B 40 00 00 */ li r26, 0
/* 80304960 003005C0 40 80 00 08 */ bge lbl_80304968
/* 80304964 003005C4 7C 7A 1B 78 */ mr r26, r3
lbl_80304968:
/* 80304968 003005C8 38 61 00 08 */ addi r3, r1, 8
/* 8030496C 003005CC 4B FF D5 2D */ bl NWC24FClose
/* 80304970 003005D0 2C 1A 00 00 */ cmpwi r26, 0
/* 80304974 003005D4 41 82 00 08 */ beq lbl_8030497C
/* 80304978 003005D8 7F 43 D3 78 */ mr r3, r26
lbl_8030497C:
/* 8030497C 003005DC 2C 03 00 00 */ cmpwi r3, 0
/* 80304980 003005E0 40 80 00 74 */ bge lbl_803049F4
/* 80304984 003005E4 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80304988 003005E8 2C 1F 00 00 */ cmpwi r31, 0
/* 8030498C 003005EC 38 63 30 00 */ addi r3, r3, 0x3000
/* 80304990 003005F0 40 82 00 0C */ bne lbl_8030499C
/* 80304994 003005F4 38 00 FF FD */ li r0, -3
/* 80304998 003005F8 48 00 00 38 */ b lbl_803049D0
lbl_8030499C:
/* 8030499C 003005FC 2C 03 00 00 */ cmpwi r3, 0
/* 803049A0 00300600 40 82 00 0C */ bne lbl_803049AC
/* 803049A4 00300604 38 00 FF F7 */ li r0, -9
/* 803049A8 00300608 48 00 00 28 */ b lbl_803049D0
lbl_803049AC:
/* 803049AC 0030060C A0 81 00 A8 */ lhz r4, 0xa8(r1)
/* 803049B0 00300610 28 04 FF FF */ cmplwi r4, 0xffff
/* 803049B4 00300614 41 82 00 18 */ beq lbl_803049CC
/* 803049B8 00300618 A0 03 00 10 */ lhz r0, 0x10(r3)
/* 803049BC 0030061C 7C 04 00 40 */ cmplw r4, r0
/* 803049C0 00300620 41 80 00 0C */ blt lbl_803049CC
/* 803049C4 00300624 38 00 FF FD */ li r0, -3
/* 803049C8 00300628 48 00 00 08 */ b lbl_803049D0
lbl_803049CC:
/* 803049CC 0030062C 38 00 00 00 */ li r0, 0
lbl_803049D0:
/* 803049D0 00300630 2C 00 00 00 */ cmpwi r0, 0
/* 803049D4 00300634 40 82 00 A8 */ bne lbl_80304A7C
/* 803049D8 00300638 7F E3 FB 78 */ mr r3, r31
/* 803049DC 0030063C 48 00 01 C1 */ bl DeleteDlTask
/* 803049E0 00300640 2C 03 00 00 */ cmpwi r3, 0
/* 803049E4 00300644 41 80 00 98 */ blt lbl_80304A7C
/* 803049E8 00300648 38 1B FF FF */ addi r0, r27, -1
/* 803049EC 0030064C B0 01 00 A8 */ sth r0, 0xa8(r1)
/* 803049F0 00300650 48 00 00 8C */ b lbl_80304A7C
lbl_803049F4:
/* 803049F4 00300654 80 8D AF 90 */ lwz r4, lbl_80640250-_SDA_BASE_(r13)
/* 803049F8 00300658 57 C3 04 3E */ clrlwi r3, r30, 0x10
/* 803049FC 0030065C 38 84 30 00 */ addi r4, r4, 0x3000
/* 80304A00 00300660 A0 04 00 12 */ lhz r0, 0x12(r4)
/* 80304A04 00300664 7C 03 00 40 */ cmplw r3, r0
/* 80304A08 00300668 41 80 00 74 */ blt lbl_80304A7C
/* 80304A0C 0030066C A8 01 00 C0 */ lha r0, 0xc0(r1)
/* 80304A10 00300670 2C 00 00 00 */ cmpwi r0, 0
/* 80304A14 00300674 40 82 00 68 */ bne lbl_80304A7C
/* 80304A18 00300678 2C 1F 00 00 */ cmpwi r31, 0
/* 80304A1C 0030067C 40 82 00 0C */ bne lbl_80304A28
/* 80304A20 00300680 38 00 FF FD */ li r0, -3
/* 80304A24 00300684 48 00 00 38 */ b lbl_80304A5C
lbl_80304A28:
/* 80304A28 00300688 2C 04 00 00 */ cmpwi r4, 0
/* 80304A2C 0030068C 40 82 00 0C */ bne lbl_80304A38
/* 80304A30 00300690 38 00 FF F7 */ li r0, -9
/* 80304A34 00300694 48 00 00 28 */ b lbl_80304A5C
lbl_80304A38:
/* 80304A38 00300698 A0 61 00 A8 */ lhz r3, 0xa8(r1)
/* 80304A3C 0030069C 28 03 FF FF */ cmplwi r3, 0xffff
/* 80304A40 003006A0 41 82 00 18 */ beq lbl_80304A58
/* 80304A44 003006A4 A0 04 00 10 */ lhz r0, 0x10(r4)
/* 80304A48 003006A8 7C 03 00 40 */ cmplw r3, r0
/* 80304A4C 003006AC 41 80 00 0C */ blt lbl_80304A58
/* 80304A50 003006B0 38 00 FF FD */ li r0, -3
/* 80304A54 003006B4 48 00 00 08 */ b lbl_80304A5C
lbl_80304A58:
/* 80304A58 003006B8 38 00 00 00 */ li r0, 0
lbl_80304A5C:
/* 80304A5C 003006BC 2C 00 00 00 */ cmpwi r0, 0
/* 80304A60 003006C0 40 82 00 1C */ bne lbl_80304A7C
/* 80304A64 003006C4 7F E3 FB 78 */ mr r3, r31
/* 80304A68 003006C8 48 00 01 35 */ bl DeleteDlTask
/* 80304A6C 003006CC 2C 03 00 00 */ cmpwi r3, 0
/* 80304A70 003006D0 41 80 00 0C */ blt lbl_80304A7C
/* 80304A74 003006D4 38 1B FF FF */ addi r0, r27, -1
/* 80304A78 003006D8 B0 01 00 A8 */ sth r0, 0xa8(r1)
lbl_80304A7C:
/* 80304A7C 003006DC 3B DE 00 01 */ addi r30, r30, 1
lbl_80304A80:
/* 80304A80 003006E0 A0 1C 00 10 */ lhz r0, 0x10(r28)
/* 80304A84 003006E4 57 C3 04 3E */ clrlwi r3, r30, 0x10
/* 80304A88 003006E8 7C 03 00 40 */ cmplw r3, r0
/* 80304A8C 003006EC 41 80 FD E4 */ blt lbl_80304870
/* 80304A90 003006F0 39 61 02 C0 */ addi r11, r1, 0x2c0
/* 80304A94 003006F4 38 60 00 00 */ li r3, 0
/* 80304A98 003006F8 4B EC 26 D9 */ bl _restgpr_26
/* 80304A9C 003006FC 80 01 02 C4 */ lwz r0, 0x2c4(r1)
/* 80304AA0 00300700 7C 08 03 A6 */ mtlr r0
/* 80304AA4 00300704 38 21 02 C0 */ addi r1, r1, 0x2c0
/* 80304AA8 00300708 4E 80 00 20 */ blr
.global NWC24iLoadDlHeader
NWC24iLoadDlHeader:
/* 80304AAC 0030070C 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 80304AB0 00300710 7C 08 02 A6 */ mflr r0
/* 80304AB4 00300714 38 A0 00 02 */ li r5, 2
/* 80304AB8 00300718 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 80304ABC 0030071C 38 61 00 0C */ addi r3, r1, 0xc
/* 80304AC0 00300720 93 E1 00 AC */ stw r31, 0xac(r1)
/* 80304AC4 00300724 3B E0 00 00 */ li r31, 0
/* 80304AC8 00300728 80 8D 8C C0 */ lwz r4, lbl_8063DF80-_SDA_BASE_(r13)
/* 80304ACC 0030072C 93 E1 00 08 */ stw r31, 8(r1)
/* 80304AD0 00300730 4B FF D0 79 */ bl NWC24FOpen
/* 80304AD4 00300734 2C 03 00 00 */ cmpwi r3, 0
/* 80304AD8 00300738 40 80 00 08 */ bge lbl_80304AE0
/* 80304ADC 0030073C 48 00 00 AC */ b lbl_80304B88
lbl_80304AE0:
/* 80304AE0 00300740 38 61 00 0C */ addi r3, r1, 0xc
/* 80304AE4 00300744 38 80 00 00 */ li r4, 0
/* 80304AE8 00300748 38 A0 00 00 */ li r5, 0
/* 80304AEC 0030074C 4B FF D5 41 */ bl NWC24FSeek
/* 80304AF0 00300750 2C 03 00 00 */ cmpwi r3, 0
/* 80304AF4 00300754 40 80 00 08 */ bge lbl_80304AFC
/* 80304AF8 00300758 48 00 00 28 */ b lbl_80304B20
lbl_80304AFC:
/* 80304AFC 0030075C 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80304B00 00300760 38 A1 00 0C */ addi r5, r1, 0xc
/* 80304B04 00300764 38 80 08 00 */ li r4, 0x800
/* 80304B08 00300768 38 63 30 00 */ addi r3, r3, 0x3000
/* 80304B0C 0030076C 4B FF D7 0D */ bl NWC24FRead
/* 80304B10 00300770 2C 03 00 00 */ cmpwi r3, 0
/* 80304B14 00300774 40 80 00 08 */ bge lbl_80304B1C
/* 80304B18 00300778 7C 7F 1B 78 */ mr r31, r3
lbl_80304B1C:
/* 80304B1C 0030077C 7F E3 FB 78 */ mr r3, r31
lbl_80304B20:
/* 80304B20 00300780 2C 03 00 00 */ cmpwi r3, 0
/* 80304B24 00300784 40 80 00 08 */ bge lbl_80304B2C
/* 80304B28 00300788 48 00 00 60 */ b lbl_80304B88
lbl_80304B2C:
/* 80304B2C 0030078C 38 61 00 0C */ addi r3, r1, 0xc
/* 80304B30 00300790 38 81 00 08 */ addi r4, r1, 8
/* 80304B34 00300794 4B FF DA 85 */ bl NWC24FGetLength
/* 80304B38 00300798 2C 03 00 00 */ cmpwi r3, 0
/* 80304B3C 0030079C 7C 7F 1B 78 */ mr r31, r3
/* 80304B40 003007A0 41 80 00 34 */ blt lbl_80304B74
/* 80304B44 003007A4 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80304B48 003007A8 A0 83 30 10 */ lhz r4, 0x3010(r3)
/* 80304B4C 003007AC 28 04 00 01 */ cmplwi r4, 1
/* 80304B50 003007B0 41 80 00 18 */ blt lbl_80304B68
/* 80304B54 003007B4 A0 03 30 12 */ lhz r0, 0x3012(r3)
/* 80304B58 003007B8 28 00 00 01 */ cmplwi r0, 1
/* 80304B5C 003007BC 41 80 00 0C */ blt lbl_80304B68
/* 80304B60 003007C0 7C 04 00 40 */ cmplw r4, r0
/* 80304B64 003007C4 40 80 00 0C */ bge lbl_80304B70
lbl_80304B68:
/* 80304B68 003007C8 3B E0 FF F2 */ li r31, -14
/* 80304B6C 003007CC 48 00 00 08 */ b lbl_80304B74
lbl_80304B70:
/* 80304B70 003007D0 3B E0 00 00 */ li r31, 0
lbl_80304B74:
/* 80304B74 003007D4 38 61 00 0C */ addi r3, r1, 0xc
/* 80304B78 003007D8 4B FF D3 21 */ bl NWC24FClose
/* 80304B7C 003007DC 2C 1F 00 00 */ cmpwi r31, 0
/* 80304B80 003007E0 41 82 00 08 */ beq lbl_80304B88
/* 80304B84 003007E4 7F E3 FB 78 */ mr r3, r31
lbl_80304B88:
/* 80304B88 003007E8 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 80304B8C 003007EC 83 E1 00 AC */ lwz r31, 0xac(r1)
/* 80304B90 003007F0 7C 08 03 A6 */ mtlr r0
/* 80304B94 003007F4 38 21 00 B0 */ addi r1, r1, 0xb0
/* 80304B98 003007F8 4E 80 00 20 */ blr
.global DeleteDlTask
DeleteDlTask:
/* 80304B9C 003007FC 94 21 FF 40 */ stwu r1, -0xc0(r1)
/* 80304BA0 00300800 7C 08 02 A6 */ mflr r0
/* 80304BA4 00300804 38 A0 00 04 */ li r5, 4
/* 80304BA8 00300808 90 01 00 C4 */ stw r0, 0xc4(r1)
/* 80304BAC 0030080C 93 E1 00 BC */ stw r31, 0xbc(r1)
/* 80304BB0 00300810 93 C1 00 B8 */ stw r30, 0xb8(r1)
/* 80304BB4 00300814 93 A1 00 B4 */ stw r29, 0xb4(r1)
/* 80304BB8 00300818 7C 7D 1B 78 */ mr r29, r3
/* 80304BBC 0030081C 38 61 00 08 */ addi r3, r1, 8
/* 80304BC0 00300820 80 8D 8C C0 */ lwz r4, lbl_8063DF80-_SDA_BASE_(r13)
/* 80304BC4 00300824 4B FF CF 85 */ bl NWC24FOpen
/* 80304BC8 00300828 2C 03 00 00 */ cmpwi r3, 0
/* 80304BCC 0030082C 40 80 00 08 */ bge lbl_80304BD4
/* 80304BD0 00300830 48 00 01 30 */ b lbl_80304D00
lbl_80304BD4:
/* 80304BD4 00300834 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80304BD8 00300838 38 80 00 00 */ li r4, 0
/* 80304BDC 0030083C A3 FD 00 00 */ lhz r31, 0(r29)
/* 80304BE0 00300840 38 A0 02 00 */ li r5, 0x200
/* 80304BE4 00300844 3B C3 38 00 */ addi r30, r3, 0x3800
/* 80304BE8 00300848 7F C3 F3 78 */ mr r3, r30
/* 80304BEC 0030084C 4B CF F5 19 */ bl memset
/* 80304BF0 00300850 38 60 00 FF */ li r3, 0xff
/* 80304BF4 00300854 57 E0 23 36 */ rlwinm r0, r31, 4, 0xc, 0x1b
/* 80304BF8 00300858 98 7E 00 02 */ stb r3, 2(r30)
/* 80304BFC 0030085C 38 80 00 00 */ li r4, 0
/* 80304C00 00300860 38 A0 00 10 */ li r5, 0x10
/* 80304C04 00300864 B3 FE 00 00 */ sth r31, 0(r30)
/* 80304C08 00300868 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80304C0C 0030086C 7C 63 02 14 */ add r3, r3, r0
/* 80304C10 00300870 38 63 30 80 */ addi r3, r3, 0x3080
/* 80304C14 00300874 4B CF F4 F1 */ bl memset
/* 80304C18 00300878 A0 1E 00 00 */ lhz r0, 0(r30)
/* 80304C1C 0030087C 38 61 00 08 */ addi r3, r1, 8
/* 80304C20 00300880 38 A0 00 00 */ li r5, 0
/* 80304C24 00300884 54 04 48 2C */ slwi r4, r0, 9
/* 80304C28 00300888 38 84 08 00 */ addi r4, r4, 0x800
/* 80304C2C 0030088C 4B FF D4 01 */ bl NWC24FSeek
/* 80304C30 00300890 2C 03 00 00 */ cmpwi r3, 0
/* 80304C34 00300894 40 80 00 08 */ bge lbl_80304C3C
/* 80304C38 00300898 48 00 00 40 */ b lbl_80304C78
lbl_80304C3C:
/* 80304C3C 0030089C 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80304C40 003008A0 7F C4 F3 78 */ mr r4, r30
/* 80304C44 003008A4 38 A0 02 00 */ li r5, 0x200
/* 80304C48 003008A8 38 63 38 00 */ addi r3, r3, 0x3800
/* 80304C4C 003008AC 4B CF F3 B5 */ bl memcpy
/* 80304C50 003008B0 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80304C54 003008B4 38 A1 00 08 */ addi r5, r1, 8
/* 80304C58 003008B8 38 80 02 00 */ li r4, 0x200
/* 80304C5C 003008BC 38 63 38 00 */ addi r3, r3, 0x3800
/* 80304C60 003008C0 4B FF D7 85 */ bl NWC24FWrite
/* 80304C64 003008C4 2C 03 00 00 */ cmpwi r3, 0
/* 80304C68 003008C8 38 00 00 00 */ li r0, 0
/* 80304C6C 003008CC 40 80 00 08 */ bge lbl_80304C74
/* 80304C70 003008D0 7C 60 1B 78 */ mr r0, r3
lbl_80304C74:
/* 80304C74 003008D4 7C 03 03 78 */ mr r3, r0
lbl_80304C78:
/* 80304C78 003008D8 2C 03 00 00 */ cmpwi r3, 0
/* 80304C7C 003008DC 7C 7E 1B 78 */ mr r30, r3
/* 80304C80 003008E0 41 80 00 6C */ blt lbl_80304CEC
/* 80304C84 003008E4 A0 1D 00 00 */ lhz r0, 0(r29)
/* 80304C88 003008E8 38 80 00 00 */ li r4, 0
/* 80304C8C 003008EC 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80304C90 003008F0 38 A0 00 10 */ li r5, 0x10
/* 80304C94 003008F4 54 00 20 36 */ slwi r0, r0, 4
/* 80304C98 003008F8 7C 63 02 14 */ add r3, r3, r0
/* 80304C9C 003008FC 38 63 30 80 */ addi r3, r3, 0x3080
/* 80304CA0 00300900 4B CF F4 65 */ bl memset
/* 80304CA4 00300904 38 61 00 08 */ addi r3, r1, 8
/* 80304CA8 00300908 38 80 00 00 */ li r4, 0
/* 80304CAC 0030090C 38 A0 00 00 */ li r5, 0
/* 80304CB0 00300910 4B FF D3 7D */ bl NWC24FSeek
/* 80304CB4 00300914 2C 03 00 00 */ cmpwi r3, 0
/* 80304CB8 00300918 40 80 00 08 */ bge lbl_80304CC0
/* 80304CBC 0030091C 48 00 00 2C */ b lbl_80304CE8
lbl_80304CC0:
/* 80304CC0 00300920 80 6D AF 90 */ lwz r3, lbl_80640250-_SDA_BASE_(r13)
/* 80304CC4 00300924 38 A1 00 08 */ addi r5, r1, 8
/* 80304CC8 00300928 38 80 08 00 */ li r4, 0x800
/* 80304CCC 0030092C 38 63 30 00 */ addi r3, r3, 0x3000
/* 80304CD0 00300930 4B FF D7 15 */ bl NWC24FWrite
/* 80304CD4 00300934 2C 03 00 00 */ cmpwi r3, 0
/* 80304CD8 00300938 38 00 00 00 */ li r0, 0
/* 80304CDC 0030093C 40 80 00 08 */ bge lbl_80304CE4
/* 80304CE0 00300940 7C 60 1B 78 */ mr r0, r3
lbl_80304CE4:
/* 80304CE4 00300944 7C 03 03 78 */ mr r3, r0
lbl_80304CE8:
/* 80304CE8 00300948 7C 7E 1B 78 */ mr r30, r3
lbl_80304CEC:
/* 80304CEC 0030094C 38 61 00 08 */ addi r3, r1, 8
/* 80304CF0 00300950 4B FF D1 A9 */ bl NWC24FClose
/* 80304CF4 00300954 2C 1E 00 00 */ cmpwi r30, 0
/* 80304CF8 00300958 41 82 00 08 */ beq lbl_80304D00
/* 80304CFC 0030095C 7F C3 F3 78 */ mr r3, r30
lbl_80304D00:
/* 80304D00 00300960 80 01 00 C4 */ lwz r0, 0xc4(r1)
/* 80304D04 00300964 83 E1 00 BC */ lwz r31, 0xbc(r1)
/* 80304D08 00300968 83 C1 00 B8 */ lwz r30, 0xb8(r1)
/* 80304D0C 0030096C 83 A1 00 B4 */ lwz r29, 0xb4(r1)
/* 80304D10 00300970 7C 08 03 A6 */ mtlr r0
/* 80304D14 00300974 38 21 00 C0 */ addi r1, r1, 0xc0
/* 80304D18 00300978 4E 80 00 20 */ blr
|