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
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global NWC24SuspendScheduler
NWC24SuspendScheduler:
/* 803039F4 002FF654 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803039F8 002FF658 7C 08 02 A6 */ mflr r0
/* 803039FC 002FF65C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80303A00 002FF660 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80303A04 002FF664 3F E0 80 58 */ lis r31, lbl_8057E7A0@ha
/* 80303A08 002FF668 3B FF E7 A0 */ addi r31, r31, lbl_8057E7A0@l
/* 80303A0C 002FF66C 93 C1 00 08 */ stw r30, 8(r1)
/* 80303A10 002FF670 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303A14 002FF674 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80303A18 002FF678 40 82 00 5C */ bne lbl_80303A74
/* 80303A1C 002FF67C 4B F6 AD 41 */ bl OSDisableInterrupts
/* 80303A20 002FF680 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303A24 002FF684 7C 7E 1B 78 */ mr r30, r3
/* 80303A28 002FF688 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80303A2C 002FF68C 40 82 00 40 */ bne lbl_80303A6C
/* 80303A30 002FF690 38 7F 00 00 */ addi r3, r31, 0
/* 80303A34 002FF694 4B F6 BE DD */ bl OSInitMutex
/* 80303A38 002FF698 38 7F 00 18 */ addi r3, r31, 0x18
/* 80303A3C 002FF69C 4B F6 BE D5 */ bl OSInitMutex
/* 80303A40 002FF6A0 38 7F 00 40 */ addi r3, r31, 0x40
/* 80303A44 002FF6A4 38 80 00 00 */ li r4, 0
/* 80303A48 002FF6A8 38 A0 00 20 */ li r5, 0x20
/* 80303A4C 002FF6AC 4B D0 06 B9 */ bl memset
/* 80303A50 002FF6B0 38 7F 00 60 */ addi r3, r31, 0x60
/* 80303A54 002FF6B4 38 80 00 00 */ li r4, 0
/* 80303A58 002FF6B8 38 A0 00 20 */ li r5, 0x20
/* 80303A5C 002FF6BC 4B D0 06 A9 */ bl memset
/* 80303A60 002FF6C0 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303A64 002FF6C4 60 00 00 01 */ ori r0, r0, 1
/* 80303A68 002FF6C8 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
lbl_80303A6C:
/* 80303A6C 002FF6CC 7F C3 F3 78 */ mr r3, r30
/* 80303A70 002FF6D0 4B F6 AD 15 */ bl OSRestoreInterrupts
lbl_80303A74:
/* 80303A74 002FF6D4 38 7F 00 18 */ addi r3, r31, 0x18
/* 80303A78 002FF6D8 4B F6 BE D1 */ bl OSLockMutex
/* 80303A7C 002FF6DC 48 00 04 E1 */ bl ExecSuspendScheduler
/* 80303A80 002FF6E0 2C 03 00 00 */ cmpwi r3, 0
/* 80303A84 002FF6E4 7C 7E 1B 78 */ mr r30, r3
/* 80303A88 002FF6E8 41 80 00 18 */ blt lbl_80303AA0
/* 80303A8C 002FF6EC 80 8D AF B4 */ lwz r4, lbl_80640274-_SDA_BASE_(r13)
/* 80303A90 002FF6F0 80 0D AF B8 */ lwz r0, lbl_80640278-_SDA_BASE_(r13)
/* 80303A94 002FF6F4 38 84 00 01 */ addi r4, r4, 1
/* 80303A98 002FF6F8 90 8D AF B4 */ stw r4, lbl_80640274-_SDA_BASE_(r13)
/* 80303A9C 002FF6FC 7F C0 18 50 */ subf r30, r0, r3
lbl_80303AA0:
/* 80303AA0 002FF700 38 7F 00 18 */ addi r3, r31, 0x18
/* 80303AA4 002FF704 4B F6 BF 81 */ bl OSUnlockMutex
/* 80303AA8 002FF708 7F C3 F3 78 */ mr r3, r30
/* 80303AAC 002FF70C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80303AB0 002FF710 83 C1 00 08 */ lwz r30, 8(r1)
/* 80303AB4 002FF714 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80303AB8 002FF718 7C 08 03 A6 */ mtlr r0
/* 80303ABC 002FF71C 38 21 00 10 */ addi r1, r1, 0x10
/* 80303AC0 002FF720 4E 80 00 20 */ blr
.global NWC24ResumeScheduler
NWC24ResumeScheduler:
/* 80303AC4 002FF724 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80303AC8 002FF728 7C 08 02 A6 */ mflr r0
/* 80303ACC 002FF72C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80303AD0 002FF730 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80303AD4 002FF734 3F E0 80 58 */ lis r31, lbl_8057E7A0@ha
/* 80303AD8 002FF738 3B FF E7 A0 */ addi r31, r31, lbl_8057E7A0@l
/* 80303ADC 002FF73C 93 C1 00 08 */ stw r30, 8(r1)
/* 80303AE0 002FF740 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303AE4 002FF744 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80303AE8 002FF748 40 82 00 5C */ bne lbl_80303B44
/* 80303AEC 002FF74C 4B F6 AC 71 */ bl OSDisableInterrupts
/* 80303AF0 002FF750 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303AF4 002FF754 7C 7E 1B 78 */ mr r30, r3
/* 80303AF8 002FF758 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80303AFC 002FF75C 40 82 00 40 */ bne lbl_80303B3C
/* 80303B00 002FF760 38 7F 00 00 */ addi r3, r31, 0
/* 80303B04 002FF764 4B F6 BE 0D */ bl OSInitMutex
/* 80303B08 002FF768 38 7F 00 18 */ addi r3, r31, 0x18
/* 80303B0C 002FF76C 4B F6 BE 05 */ bl OSInitMutex
/* 80303B10 002FF770 38 7F 00 40 */ addi r3, r31, 0x40
/* 80303B14 002FF774 38 80 00 00 */ li r4, 0
/* 80303B18 002FF778 38 A0 00 20 */ li r5, 0x20
/* 80303B1C 002FF77C 4B D0 05 E9 */ bl memset
/* 80303B20 002FF780 38 7F 00 60 */ addi r3, r31, 0x60
/* 80303B24 002FF784 38 80 00 00 */ li r4, 0
/* 80303B28 002FF788 38 A0 00 20 */ li r5, 0x20
/* 80303B2C 002FF78C 4B D0 05 D9 */ bl memset
/* 80303B30 002FF790 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303B34 002FF794 60 00 00 01 */ ori r0, r0, 1
/* 80303B38 002FF798 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
lbl_80303B3C:
/* 80303B3C 002FF79C 7F C3 F3 78 */ mr r3, r30
/* 80303B40 002FF7A0 4B F6 AC 45 */ bl OSRestoreInterrupts
lbl_80303B44:
/* 80303B44 002FF7A4 38 7F 00 18 */ addi r3, r31, 0x18
/* 80303B48 002FF7A8 4B F6 BE 01 */ bl OSLockMutex
/* 80303B4C 002FF7AC 80 0D AF B8 */ lwz r0, lbl_80640278-_SDA_BASE_(r13)
/* 80303B50 002FF7B0 2C 00 00 00 */ cmpwi r0, 0
/* 80303B54 002FF7B4 40 81 00 18 */ ble lbl_80303B6C
/* 80303B58 002FF7B8 80 0D AF B4 */ lwz r0, lbl_80640274-_SDA_BASE_(r13)
/* 80303B5C 002FF7BC 2C 00 00 00 */ cmpwi r0, 0
/* 80303B60 002FF7C0 40 82 00 0C */ bne lbl_80303B6C
/* 80303B64 002FF7C4 3B C0 00 00 */ li r30, 0
/* 80303B68 002FF7C8 48 00 00 28 */ b lbl_80303B90
lbl_80303B6C:
/* 80303B6C 002FF7CC 48 00 05 8D */ bl ExecResumeScheduler
/* 80303B70 002FF7D0 80 8D AF B4 */ lwz r4, lbl_80640274-_SDA_BASE_(r13)
/* 80303B74 002FF7D4 7C 7E 1B 78 */ mr r30, r3
/* 80303B78 002FF7D8 2C 04 00 00 */ cmpwi r4, 0
/* 80303B7C 002FF7DC 40 81 00 14 */ ble lbl_80303B90
/* 80303B80 002FF7E0 38 84 FF FF */ addi r4, r4, -1
/* 80303B84 002FF7E4 80 0D AF B8 */ lwz r0, lbl_80640278-_SDA_BASE_(r13)
/* 80303B88 002FF7E8 90 8D AF B4 */ stw r4, lbl_80640274-_SDA_BASE_(r13)
/* 80303B8C 002FF7EC 7F C0 18 50 */ subf r30, r0, r3
lbl_80303B90:
/* 80303B90 002FF7F0 38 7F 00 18 */ addi r3, r31, 0x18
/* 80303B94 002FF7F4 4B F6 BE 91 */ bl OSUnlockMutex
/* 80303B98 002FF7F8 7F C3 F3 78 */ mr r3, r30
/* 80303B9C 002FF7FC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80303BA0 002FF800 83 C1 00 08 */ lwz r30, 8(r1)
/* 80303BA4 002FF804 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80303BA8 002FF808 7C 08 03 A6 */ mtlr r0
/* 80303BAC 002FF80C 38 21 00 10 */ addi r1, r1, 0x10
/* 80303BB0 002FF810 4E 80 00 20 */ blr
.global NWC24iRequestGenerateUserId
NWC24iRequestGenerateUserId:
/* 80303BB4 002FF814 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80303BB8 002FF818 7C 08 02 A6 */ mflr r0
/* 80303BBC 002FF81C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80303BC0 002FF820 39 61 00 30 */ addi r11, r1, 0x30
/* 80303BC4 002FF824 4B EC 35 65 */ bl _savegpr_27
/* 80303BC8 002FF828 3F A0 80 58 */ lis r29, lbl_8057E7A0@ha
/* 80303BCC 002FF82C 7C 7B 1B 78 */ mr r27, r3
/* 80303BD0 002FF830 7C 9F 23 78 */ mr r31, r4
/* 80303BD4 002FF834 3B BD E7 A0 */ addi r29, r29, lbl_8057E7A0@l
/* 80303BD8 002FF838 4B F6 D7 21 */ bl OSGetCurrentThread
/* 80303BDC 002FF83C 2C 03 00 00 */ cmpwi r3, 0
/* 80303BE0 002FF840 40 82 00 0C */ bne lbl_80303BEC
/* 80303BE4 002FF844 38 60 FF FF */ li r3, -1
/* 80303BE8 002FF848 48 00 00 28 */ b lbl_80303C10
lbl_80303BEC:
/* 80303BEC 002FF84C 4B FF F6 F9 */ bl NWC24IsMsgLibOpened
/* 80303BF0 002FF850 2C 03 00 00 */ cmpwi r3, 0
/* 80303BF4 002FF854 40 82 00 10 */ bne lbl_80303C04
/* 80303BF8 002FF858 4B FF F7 01 */ bl NWC24IsMsgLibOpenedByTool
/* 80303BFC 002FF85C 2C 03 00 00 */ cmpwi r3, 0
/* 80303C00 002FF860 41 82 00 0C */ beq lbl_80303C0C
lbl_80303C04:
/* 80303C04 002FF864 38 60 FF F6 */ li r3, -10
/* 80303C08 002FF868 48 00 00 08 */ b lbl_80303C10
lbl_80303C0C:
/* 80303C0C 002FF86C 38 60 00 00 */ li r3, 0
lbl_80303C10:
/* 80303C10 002FF870 2C 03 00 00 */ cmpwi r3, 0
/* 80303C14 002FF874 40 80 00 08 */ bge lbl_80303C1C
/* 80303C18 002FF878 48 00 01 40 */ b lbl_80303D58
lbl_80303C1C:
/* 80303C1C 002FF87C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303C20 002FF880 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80303C24 002FF884 40 82 00 5C */ bne lbl_80303C80
/* 80303C28 002FF888 4B F6 AB 35 */ bl OSDisableInterrupts
/* 80303C2C 002FF88C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303C30 002FF890 7C 7E 1B 78 */ mr r30, r3
/* 80303C34 002FF894 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80303C38 002FF898 40 82 00 40 */ bne lbl_80303C78
/* 80303C3C 002FF89C 38 7D 00 00 */ addi r3, r29, 0
/* 80303C40 002FF8A0 4B F6 BC D1 */ bl OSInitMutex
/* 80303C44 002FF8A4 38 7D 00 18 */ addi r3, r29, 0x18
/* 80303C48 002FF8A8 4B F6 BC C9 */ bl OSInitMutex
/* 80303C4C 002FF8AC 38 7D 00 40 */ addi r3, r29, 0x40
/* 80303C50 002FF8B0 38 80 00 00 */ li r4, 0
/* 80303C54 002FF8B4 38 A0 00 20 */ li r5, 0x20
/* 80303C58 002FF8B8 4B D0 04 AD */ bl memset
/* 80303C5C 002FF8BC 38 7D 00 60 */ addi r3, r29, 0x60
/* 80303C60 002FF8C0 38 80 00 00 */ li r4, 0
/* 80303C64 002FF8C4 38 A0 00 20 */ li r5, 0x20
/* 80303C68 002FF8C8 4B D0 04 9D */ bl memset
/* 80303C6C 002FF8CC 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303C70 002FF8D0 60 00 00 01 */ ori r0, r0, 1
/* 80303C74 002FF8D4 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
lbl_80303C78:
/* 80303C78 002FF8D8 7F C3 F3 78 */ mr r3, r30
/* 80303C7C 002FF8DC 4B F6 AB 09 */ bl OSRestoreInterrupts
lbl_80303C80:
/* 80303C80 002FF8E0 38 7D 00 00 */ addi r3, r29, 0
/* 80303C84 002FF8E4 4B F6 BC C5 */ bl OSLockMutex
/* 80303C88 002FF8E8 3F C0 80 44 */ lis r30, lbl_804464D4@ha
/* 80303C8C 002FF8EC 3C 80 80 44 */ lis r4, lbl_804464C0@ha
/* 80303C90 002FF8F0 38 7E 64 D4 */ addi r3, r30, lbl_804464D4@l
/* 80303C94 002FF8F4 38 A1 00 08 */ addi r5, r1, 8
/* 80303C98 002FF8F8 38 84 64 C0 */ addi r4, r4, lbl_804464C0@l
/* 80303C9C 002FF8FC 38 C0 00 00 */ li r6, 0
/* 80303CA0 002FF900 48 00 09 DD */ bl NWC24iOpenResourceManager
/* 80303CA4 002FF904 2C 03 00 00 */ cmpwi r3, 0
/* 80303CA8 002FF908 7C 7C 1B 78 */ mr r28, r3
/* 80303CAC 002FF90C 41 80 00 A0 */ blt lbl_80303D4C
/* 80303CB0 002FF910 80 81 00 08 */ lwz r4, 8(r1)
/* 80303CB4 002FF914 38 7E 64 D4 */ addi r3, r30, 0x64d4
/* 80303CB8 002FF918 39 1D 00 60 */ addi r8, r29, 0x60
/* 80303CBC 002FF91C 38 A0 00 0F */ li r5, 0xf
/* 80303CC0 002FF920 38 C0 00 00 */ li r6, 0
/* 80303CC4 002FF924 38 E0 00 00 */ li r7, 0
/* 80303CC8 002FF928 39 20 00 20 */ li r9, 0x20
/* 80303CCC 002FF92C 48 00 0A 5D */ bl NWC24iIoctlResourceManager
/* 80303CD0 002FF930 2C 03 00 00 */ cmpwi r3, 0
/* 80303CD4 002FF934 7C 7C 1B 78 */ mr r28, r3
/* 80303CD8 002FF938 41 80 00 58 */ blt lbl_80303D30
/* 80303CDC 002FF93C 83 9D 00 60 */ lwz r28, 0x60(r29)
/* 80303CE0 002FF940 2C 1C 00 00 */ cmpwi r28, 0
/* 80303CE4 002FF944 41 82 00 14 */ beq lbl_80303CF8
/* 80303CE8 002FF948 2C 1C FF DD */ cmpwi r28, -35
/* 80303CEC 002FF94C 41 82 00 0C */ beq lbl_80303CF8
/* 80303CF0 002FF950 2C 1C FF DC */ cmpwi r28, -36
/* 80303CF4 002FF954 40 82 00 3C */ bne lbl_80303D30
lbl_80303CF8:
/* 80303CF8 002FF958 38 00 00 00 */ li r0, 0
/* 80303CFC 002FF95C 7C 1B 00 40 */ cmplw r27, r0
/* 80303D00 002FF960 41 82 00 18 */ beq lbl_80303D18
/* 80303D04 002FF964 38 7D 00 60 */ addi r3, r29, 0x60
/* 80303D08 002FF968 80 03 00 04 */ lwz r0, 4(r3)
/* 80303D0C 002FF96C 80 63 00 08 */ lwz r3, 8(r3)
/* 80303D10 002FF970 90 7B 00 04 */ stw r3, 4(r27)
/* 80303D14 002FF974 90 1B 00 00 */ stw r0, 0(r27)
lbl_80303D18:
/* 80303D18 002FF978 38 00 00 00 */ li r0, 0
/* 80303D1C 002FF97C 7C 1F 00 40 */ cmplw r31, r0
/* 80303D20 002FF980 41 82 00 10 */ beq lbl_80303D30
/* 80303D24 002FF984 38 7D 00 60 */ addi r3, r29, 0x60
/* 80303D28 002FF988 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80303D2C 002FF98C 90 1F 00 00 */ stw r0, 0(r31)
lbl_80303D30:
/* 80303D30 002FF990 3C 60 80 44 */ lis r3, lbl_804464D4@ha
/* 80303D34 002FF994 80 81 00 08 */ lwz r4, 8(r1)
/* 80303D38 002FF998 38 63 64 D4 */ addi r3, r3, lbl_804464D4@l
/* 80303D3C 002FF99C 48 00 09 B9 */ bl NWC24iCloseResourceManager
/* 80303D40 002FF9A0 2C 1C 00 00 */ cmpwi r28, 0
/* 80303D44 002FF9A4 41 80 00 08 */ blt lbl_80303D4C
/* 80303D48 002FF9A8 7C 7C 1B 78 */ mr r28, r3
lbl_80303D4C:
/* 80303D4C 002FF9AC 38 7D 00 00 */ addi r3, r29, 0
/* 80303D50 002FF9B0 4B F6 BC D5 */ bl OSUnlockMutex
/* 80303D54 002FF9B4 7F 83 E3 78 */ mr r3, r28
lbl_80303D58:
/* 80303D58 002FF9B8 39 61 00 30 */ addi r11, r1, 0x30
/* 80303D5C 002FF9BC 4B EC 34 19 */ bl _restgpr_27
/* 80303D60 002FF9C0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80303D64 002FF9C4 7C 08 03 A6 */ mtlr r0
/* 80303D68 002FF9C8 38 21 00 30 */ addi r1, r1, 0x30
/* 80303D6C 002FF9CC 4E 80 00 20 */ blr
.global NWC24iStartupSocket
NWC24iStartupSocket:
/* 80303D70 002FF9D0 7C 65 1B 78 */ mr r5, r3
/* 80303D74 002FF9D4 38 60 00 00 */ li r3, 0
/* 80303D78 002FF9D8 38 80 00 06 */ li r4, 6
/* 80303D7C 002FF9DC 48 00 03 8C */ b ExecNoParamCommand
.global NWC24iCleanupSocket
NWC24iCleanupSocket:
/* 80303D80 002FF9E0 7C 65 1B 78 */ mr r5, r3
/* 80303D84 002FF9E4 38 60 00 00 */ li r3, 0
/* 80303D88 002FF9E8 38 80 00 07 */ li r4, 7
/* 80303D8C 002FF9EC 48 00 03 7C */ b ExecNoParamCommand
.global NWC24iLockSocket
NWC24iLockSocket:
/* 80303D90 002FF9F0 38 60 00 00 */ li r3, 0
/* 80303D94 002FF9F4 38 80 00 08 */ li r4, 8
/* 80303D98 002FF9F8 38 A0 00 00 */ li r5, 0
/* 80303D9C 002FF9FC 48 00 03 6C */ b ExecNoParamCommand
.global NWC24iUnlockSocket
NWC24iUnlockSocket:
/* 80303DA0 002FFA00 38 60 00 00 */ li r3, 0
/* 80303DA4 002FFA04 38 80 00 09 */ li r4, 9
/* 80303DA8 002FFA08 38 A0 00 00 */ li r5, 0
/* 80303DAC 002FFA0C 48 00 03 5C */ b ExecNoParamCommand
.global NWC24iTrySuspendForOpenLib
NWC24iTrySuspendForOpenLib:
/* 80303DB0 002FFA10 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80303DB4 002FFA14 7C 08 02 A6 */ mflr r0
/* 80303DB8 002FFA18 90 01 00 14 */ stw r0, 0x14(r1)
/* 80303DBC 002FFA1C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80303DC0 002FFA20 3F E0 80 58 */ lis r31, lbl_8057E7A0@ha
/* 80303DC4 002FFA24 3B FF E7 A0 */ addi r31, r31, lbl_8057E7A0@l
/* 80303DC8 002FFA28 93 C1 00 08 */ stw r30, 8(r1)
/* 80303DCC 002FFA2C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303DD0 002FFA30 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80303DD4 002FFA34 40 82 00 5C */ bne lbl_80303E30
/* 80303DD8 002FFA38 4B F6 A9 85 */ bl OSDisableInterrupts
/* 80303DDC 002FFA3C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303DE0 002FFA40 7C 7E 1B 78 */ mr r30, r3
/* 80303DE4 002FFA44 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80303DE8 002FFA48 40 82 00 40 */ bne lbl_80303E28
/* 80303DEC 002FFA4C 38 7F 00 00 */ addi r3, r31, 0
/* 80303DF0 002FFA50 4B F6 BB 21 */ bl OSInitMutex
/* 80303DF4 002FFA54 38 7F 00 18 */ addi r3, r31, 0x18
/* 80303DF8 002FFA58 4B F6 BB 19 */ bl OSInitMutex
/* 80303DFC 002FFA5C 38 7F 00 40 */ addi r3, r31, 0x40
/* 80303E00 002FFA60 38 80 00 00 */ li r4, 0
/* 80303E04 002FFA64 38 A0 00 20 */ li r5, 0x20
/* 80303E08 002FFA68 4B D0 02 FD */ bl memset
/* 80303E0C 002FFA6C 38 7F 00 60 */ addi r3, r31, 0x60
/* 80303E10 002FFA70 38 80 00 00 */ li r4, 0
/* 80303E14 002FFA74 38 A0 00 20 */ li r5, 0x20
/* 80303E18 002FFA78 4B D0 02 ED */ bl memset
/* 80303E1C 002FFA7C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303E20 002FFA80 60 00 00 01 */ ori r0, r0, 1
/* 80303E24 002FFA84 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
lbl_80303E28:
/* 80303E28 002FFA88 7F C3 F3 78 */ mr r3, r30
/* 80303E2C 002FFA8C 4B F6 A9 59 */ bl OSRestoreInterrupts
lbl_80303E30:
/* 80303E30 002FFA90 38 7F 00 18 */ addi r3, r31, 0x18
/* 80303E34 002FFA94 4B F6 BD 25 */ bl OSTryLockMutex
/* 80303E38 002FFA98 2C 03 00 00 */ cmpwi r3, 0
/* 80303E3C 002FFA9C 40 82 00 0C */ bne lbl_80303E48
/* 80303E40 002FFAA0 38 60 FF EA */ li r3, -22
/* 80303E44 002FFAA4 48 00 00 34 */ b lbl_80303E78
lbl_80303E48:
/* 80303E48 002FFAA8 38 60 00 00 */ li r3, 0
/* 80303E4C 002FFAAC 48 00 01 21 */ bl ExecTrySuspendScheduler
/* 80303E50 002FFAB0 2C 03 00 00 */ cmpwi r3, 0
/* 80303E54 002FFAB4 7C 7E 1B 78 */ mr r30, r3
/* 80303E58 002FFAB8 41 80 00 14 */ blt lbl_80303E6C
/* 80303E5C 002FFABC 80 6D AF B8 */ lwz r3, lbl_80640278-_SDA_BASE_(r13)
/* 80303E60 002FFAC0 3B C0 00 00 */ li r30, 0
/* 80303E64 002FFAC4 38 03 00 01 */ addi r0, r3, 1
/* 80303E68 002FFAC8 90 0D AF B8 */ stw r0, lbl_80640278-_SDA_BASE_(r13)
lbl_80303E6C:
/* 80303E6C 002FFACC 38 7F 00 18 */ addi r3, r31, 0x18
/* 80303E70 002FFAD0 4B F6 BB B5 */ bl OSUnlockMutex
/* 80303E74 002FFAD4 7F C3 F3 78 */ mr r3, r30
lbl_80303E78:
/* 80303E78 002FFAD8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80303E7C 002FFADC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80303E80 002FFAE0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80303E84 002FFAE4 7C 08 03 A6 */ mtlr r0
/* 80303E88 002FFAE8 38 21 00 10 */ addi r1, r1, 0x10
/* 80303E8C 002FFAEC 4E 80 00 20 */ blr
.global NWC24iResumeForCloseLib
NWC24iResumeForCloseLib:
/* 80303E90 002FFAF0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80303E94 002FFAF4 7C 08 02 A6 */ mflr r0
/* 80303E98 002FFAF8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80303E9C 002FFAFC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80303EA0 002FFB00 3F E0 80 58 */ lis r31, lbl_8057E7A0@ha
/* 80303EA4 002FFB04 3B FF E7 A0 */ addi r31, r31, lbl_8057E7A0@l
/* 80303EA8 002FFB08 93 C1 00 08 */ stw r30, 8(r1)
/* 80303EAC 002FFB0C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303EB0 002FFB10 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80303EB4 002FFB14 40 82 00 5C */ bne lbl_80303F10
/* 80303EB8 002FFB18 4B F6 A8 A5 */ bl OSDisableInterrupts
/* 80303EBC 002FFB1C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303EC0 002FFB20 7C 7E 1B 78 */ mr r30, r3
/* 80303EC4 002FFB24 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80303EC8 002FFB28 40 82 00 40 */ bne lbl_80303F08
/* 80303ECC 002FFB2C 38 7F 00 00 */ addi r3, r31, 0
/* 80303ED0 002FFB30 4B F6 BA 41 */ bl OSInitMutex
/* 80303ED4 002FFB34 38 7F 00 18 */ addi r3, r31, 0x18
/* 80303ED8 002FFB38 4B F6 BA 39 */ bl OSInitMutex
/* 80303EDC 002FFB3C 38 7F 00 40 */ addi r3, r31, 0x40
/* 80303EE0 002FFB40 38 80 00 00 */ li r4, 0
/* 80303EE4 002FFB44 38 A0 00 20 */ li r5, 0x20
/* 80303EE8 002FFB48 4B D0 02 1D */ bl memset
/* 80303EEC 002FFB4C 38 7F 00 60 */ addi r3, r31, 0x60
/* 80303EF0 002FFB50 38 80 00 00 */ li r4, 0
/* 80303EF4 002FFB54 38 A0 00 20 */ li r5, 0x20
/* 80303EF8 002FFB58 4B D0 02 0D */ bl memset
/* 80303EFC 002FFB5C 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303F00 002FFB60 60 00 00 01 */ ori r0, r0, 1
/* 80303F04 002FFB64 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
lbl_80303F08:
/* 80303F08 002FFB68 7F C3 F3 78 */ mr r3, r30
/* 80303F0C 002FFB6C 4B F6 A8 79 */ bl OSRestoreInterrupts
lbl_80303F10:
/* 80303F10 002FFB70 38 7F 00 18 */ addi r3, r31, 0x18
/* 80303F14 002FFB74 4B F6 BA 35 */ bl OSLockMutex
/* 80303F18 002FFB78 48 00 01 E1 */ bl ExecResumeScheduler
/* 80303F1C 002FFB7C 2C 03 00 00 */ cmpwi r3, 0
/* 80303F20 002FFB80 7C 7E 1B 78 */ mr r30, r3
/* 80303F24 002FFB84 41 80 00 14 */ blt lbl_80303F38
/* 80303F28 002FFB88 80 6D AF B8 */ lwz r3, lbl_80640278-_SDA_BASE_(r13)
/* 80303F2C 002FFB8C 3B C0 00 00 */ li r30, 0
/* 80303F30 002FFB90 38 03 FF FF */ addi r0, r3, -1
/* 80303F34 002FFB94 90 0D AF B8 */ stw r0, lbl_80640278-_SDA_BASE_(r13)
lbl_80303F38:
/* 80303F38 002FFB98 38 7F 00 18 */ addi r3, r31, 0x18
/* 80303F3C 002FFB9C 4B F6 BA E9 */ bl OSUnlockMutex
/* 80303F40 002FFBA0 7F C3 F3 78 */ mr r3, r30
/* 80303F44 002FFBA4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80303F48 002FFBA8 83 C1 00 08 */ lwz r30, 8(r1)
/* 80303F4C 002FFBAC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80303F50 002FFBB0 7C 08 03 A6 */ mtlr r0
/* 80303F54 002FFBB4 38 21 00 10 */ addi r1, r1, 0x10
/* 80303F58 002FFBB8 4E 80 00 20 */ blr
.global ExecSuspendScheduler
ExecSuspendScheduler:
/* 80303F5C 002FFBBC 38 60 00 00 */ li r3, 0
/* 80303F60 002FFBC0 38 80 00 01 */ li r4, 1
/* 80303F64 002FFBC4 38 A0 00 00 */ li r5, 0
/* 80303F68 002FFBC8 48 00 01 A0 */ b ExecNoParamCommand
.global ExecTrySuspendScheduler
ExecTrySuspendScheduler:
/* 80303F6C 002FFBCC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80303F70 002FFBD0 7C 08 02 A6 */ mflr r0
/* 80303F74 002FFBD4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80303F78 002FFBD8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80303F7C 002FFBDC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80303F80 002FFBE0 3F C0 80 58 */ lis r30, lbl_8057E7A0@ha
/* 80303F84 002FFBE4 3B DE E7 A0 */ addi r30, r30, lbl_8057E7A0@l
/* 80303F88 002FFBE8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80303F8C 002FFBEC 93 81 00 10 */ stw r28, 0x10(r1)
/* 80303F90 002FFBF0 7C 7C 1B 78 */ mr r28, r3
/* 80303F94 002FFBF4 4B F6 D3 65 */ bl OSGetCurrentThread
/* 80303F98 002FFBF8 2C 03 00 00 */ cmpwi r3, 0
/* 80303F9C 002FFBFC 40 82 00 0C */ bne lbl_80303FA8
/* 80303FA0 002FFC00 38 60 FF FF */ li r3, -1
/* 80303FA4 002FFC04 48 00 00 28 */ b lbl_80303FCC
lbl_80303FA8:
/* 80303FA8 002FFC08 4B FF F3 3D */ bl NWC24IsMsgLibOpened
/* 80303FAC 002FFC0C 2C 03 00 00 */ cmpwi r3, 0
/* 80303FB0 002FFC10 40 82 00 10 */ bne lbl_80303FC0
/* 80303FB4 002FFC14 4B FF F3 45 */ bl NWC24IsMsgLibOpenedByTool
/* 80303FB8 002FFC18 2C 03 00 00 */ cmpwi r3, 0
/* 80303FBC 002FFC1C 41 82 00 0C */ beq lbl_80303FC8
lbl_80303FC0:
/* 80303FC0 002FFC20 38 60 FF F6 */ li r3, -10
/* 80303FC4 002FFC24 48 00 00 08 */ b lbl_80303FCC
lbl_80303FC8:
/* 80303FC8 002FFC28 38 60 00 00 */ li r3, 0
lbl_80303FCC:
/* 80303FCC 002FFC2C 2C 03 00 00 */ cmpwi r3, 0
/* 80303FD0 002FFC30 40 80 00 08 */ bge lbl_80303FD8
/* 80303FD4 002FFC34 48 00 01 04 */ b lbl_803040D8
lbl_80303FD8:
/* 80303FD8 002FFC38 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303FDC 002FFC3C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80303FE0 002FFC40 40 82 00 5C */ bne lbl_8030403C
/* 80303FE4 002FFC44 4B F6 A7 79 */ bl OSDisableInterrupts
/* 80303FE8 002FFC48 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80303FEC 002FFC4C 7C 7F 1B 78 */ mr r31, r3
/* 80303FF0 002FFC50 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80303FF4 002FFC54 40 82 00 40 */ bne lbl_80304034
/* 80303FF8 002FFC58 38 7E 00 00 */ addi r3, r30, 0
/* 80303FFC 002FFC5C 4B F6 B9 15 */ bl OSInitMutex
/* 80304000 002FFC60 38 7E 00 18 */ addi r3, r30, 0x18
/* 80304004 002FFC64 4B F6 B9 0D */ bl OSInitMutex
/* 80304008 002FFC68 38 7E 00 40 */ addi r3, r30, 0x40
/* 8030400C 002FFC6C 38 80 00 00 */ li r4, 0
/* 80304010 002FFC70 38 A0 00 20 */ li r5, 0x20
/* 80304014 002FFC74 4B D0 00 F1 */ bl memset
/* 80304018 002FFC78 38 7E 00 60 */ addi r3, r30, 0x60
/* 8030401C 002FFC7C 38 80 00 00 */ li r4, 0
/* 80304020 002FFC80 38 A0 00 20 */ li r5, 0x20
/* 80304024 002FFC84 4B D0 00 E1 */ bl memset
/* 80304028 002FFC88 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 8030402C 002FFC8C 60 00 00 01 */ ori r0, r0, 1
/* 80304030 002FFC90 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
lbl_80304034:
/* 80304034 002FFC94 7F E3 FB 78 */ mr r3, r31
/* 80304038 002FFC98 4B F6 A7 4D */ bl OSRestoreInterrupts
lbl_8030403C:
/* 8030403C 002FFC9C 38 7E 00 00 */ addi r3, r30, 0
/* 80304040 002FFCA0 4B F6 BB 19 */ bl OSTryLockMutex
/* 80304044 002FFCA4 2C 03 00 00 */ cmpwi r3, 0
/* 80304048 002FFCA8 40 82 00 0C */ bne lbl_80304054
/* 8030404C 002FFCAC 38 60 FF EA */ li r3, -22
/* 80304050 002FFCB0 48 00 00 88 */ b lbl_803040D8
lbl_80304054:
/* 80304054 002FFCB4 3F E0 80 44 */ lis r31, lbl_804464F0@ha
/* 80304058 002FFCB8 3C 80 80 44 */ lis r4, lbl_804464C0@ha
/* 8030405C 002FFCBC 38 7F 64 F0 */ addi r3, r31, lbl_804464F0@l
/* 80304060 002FFCC0 38 A1 00 08 */ addi r5, r1, 8
/* 80304064 002FFCC4 38 84 64 C0 */ addi r4, r4, lbl_804464C0@l
/* 80304068 002FFCC8 38 C0 00 00 */ li r6, 0
/* 8030406C 002FFCCC 48 00 06 11 */ bl NWC24iOpenResourceManager
/* 80304070 002FFCD0 2C 03 00 00 */ cmpwi r3, 0
/* 80304074 002FFCD4 7C 7D 1B 78 */ mr r29, r3
/* 80304078 002FFCD8 41 80 00 54 */ blt lbl_803040CC
/* 8030407C 002FFCDC 93 9E 00 40 */ stw r28, 0x40(r30)
/* 80304080 002FFCE0 38 7F 64 F0 */ addi r3, r31, 0x64f0
/* 80304084 002FFCE4 80 81 00 08 */ lwz r4, 8(r1)
/* 80304088 002FFCE8 38 DE 00 40 */ addi r6, r30, 0x40
/* 8030408C 002FFCEC 39 1E 00 60 */ addi r8, r30, 0x60
/* 80304090 002FFCF0 38 A0 00 02 */ li r5, 2
/* 80304094 002FFCF4 38 E0 00 20 */ li r7, 0x20
/* 80304098 002FFCF8 39 20 00 20 */ li r9, 0x20
/* 8030409C 002FFCFC 48 00 06 8D */ bl NWC24iIoctlResourceManager
/* 803040A0 002FFD00 2C 03 00 00 */ cmpwi r3, 0
/* 803040A4 002FFD04 7C 7D 1B 78 */ mr r29, r3
/* 803040A8 002FFD08 41 80 00 08 */ blt lbl_803040B0
/* 803040AC 002FFD0C 83 BE 00 60 */ lwz r29, 0x60(r30)
lbl_803040B0:
/* 803040B0 002FFD10 3C 60 80 44 */ lis r3, lbl_804464F0@ha
/* 803040B4 002FFD14 80 81 00 08 */ lwz r4, 8(r1)
/* 803040B8 002FFD18 38 63 64 F0 */ addi r3, r3, lbl_804464F0@l
/* 803040BC 002FFD1C 48 00 06 39 */ bl NWC24iCloseResourceManager
/* 803040C0 002FFD20 2C 03 00 00 */ cmpwi r3, 0
/* 803040C4 002FFD24 40 80 00 08 */ bge lbl_803040CC
/* 803040C8 002FFD28 7C 7D 1B 78 */ mr r29, r3
lbl_803040CC:
/* 803040CC 002FFD2C 38 7E 00 00 */ addi r3, r30, 0
/* 803040D0 002FFD30 4B F6 B9 55 */ bl OSUnlockMutex
/* 803040D4 002FFD34 7F A3 EB 78 */ mr r3, r29
lbl_803040D8:
/* 803040D8 002FFD38 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803040DC 002FFD3C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803040E0 002FFD40 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803040E4 002FFD44 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803040E8 002FFD48 83 81 00 10 */ lwz r28, 0x10(r1)
/* 803040EC 002FFD4C 7C 08 03 A6 */ mtlr r0
/* 803040F0 002FFD50 38 21 00 20 */ addi r1, r1, 0x20
/* 803040F4 002FFD54 4E 80 00 20 */ blr
.global ExecResumeScheduler
ExecResumeScheduler:
/* 803040F8 002FFD58 38 60 00 00 */ li r3, 0
/* 803040FC 002FFD5C 38 80 00 03 */ li r4, 3
/* 80304100 002FFD60 38 A0 00 00 */ li r5, 0
/* 80304104 002FFD64 48 00 00 04 */ b ExecNoParamCommand
ExecNoParamCommand:
/* 80304108 002FFD68 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8030410C 002FFD6C 7C 08 02 A6 */ mflr r0
/* 80304110 002FFD70 90 01 00 34 */ stw r0, 0x34(r1)
/* 80304114 002FFD74 39 61 00 30 */ addi r11, r1, 0x30
/* 80304118 002FFD78 4B EC 30 11 */ bl _savegpr_27
/* 8030411C 002FFD7C 3F E0 80 58 */ lis r31, lbl_8057E7A0@ha
/* 80304120 002FFD80 7C 7B 1B 78 */ mr r27, r3
/* 80304124 002FFD84 7C 9C 23 78 */ mr r28, r4
/* 80304128 002FFD88 7C BD 2B 78 */ mr r29, r5
/* 8030412C 002FFD8C 3B FF E7 A0 */ addi r31, r31, lbl_8057E7A0@l
/* 80304130 002FFD90 4B F6 D1 C9 */ bl OSGetCurrentThread
/* 80304134 002FFD94 2C 03 00 00 */ cmpwi r3, 0
/* 80304138 002FFD98 40 82 00 0C */ bne lbl_80304144
/* 8030413C 002FFD9C 38 60 FF FF */ li r3, -1
/* 80304140 002FFDA0 48 00 01 10 */ b lbl_80304250
lbl_80304144:
/* 80304144 002FFDA4 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80304148 002FFDA8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8030414C 002FFDAC 40 82 00 5C */ bne lbl_803041A8
/* 80304150 002FFDB0 4B F6 A6 0D */ bl OSDisableInterrupts
/* 80304154 002FFDB4 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80304158 002FFDB8 7C 7E 1B 78 */ mr r30, r3
/* 8030415C 002FFDBC 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80304160 002FFDC0 40 82 00 40 */ bne lbl_803041A0
/* 80304164 002FFDC4 38 7F 00 00 */ addi r3, r31, 0
/* 80304168 002FFDC8 4B F6 B7 A9 */ bl OSInitMutex
/* 8030416C 002FFDCC 38 7F 00 18 */ addi r3, r31, 0x18
/* 80304170 002FFDD0 4B F6 B7 A1 */ bl OSInitMutex
/* 80304174 002FFDD4 38 7F 00 40 */ addi r3, r31, 0x40
/* 80304178 002FFDD8 38 80 00 00 */ li r4, 0
/* 8030417C 002FFDDC 38 A0 00 20 */ li r5, 0x20
/* 80304180 002FFDE0 4B CF FF 85 */ bl memset
/* 80304184 002FFDE4 38 7F 00 60 */ addi r3, r31, 0x60
/* 80304188 002FFDE8 38 80 00 00 */ li r4, 0
/* 8030418C 002FFDEC 38 A0 00 20 */ li r5, 0x20
/* 80304190 002FFDF0 4B CF FF 75 */ bl memset
/* 80304194 002FFDF4 80 0D AF B0 */ lwz r0, lbl_80640270-_SDA_BASE_(r13)
/* 80304198 002FFDF8 60 00 00 01 */ ori r0, r0, 1
/* 8030419C 002FFDFC 90 0D AF B0 */ stw r0, lbl_80640270-_SDA_BASE_(r13)
lbl_803041A0:
/* 803041A0 002FFE00 7F C3 F3 78 */ mr r3, r30
/* 803041A4 002FFE04 4B F6 A5 E1 */ bl OSRestoreInterrupts
lbl_803041A8:
/* 803041A8 002FFE08 38 7F 00 00 */ addi r3, r31, 0
/* 803041AC 002FFE0C 4B F6 B7 9D */ bl OSLockMutex
/* 803041B0 002FFE10 3C 80 80 44 */ lis r4, lbl_804464C0@ha
/* 803041B4 002FFE14 7F 63 DB 78 */ mr r3, r27
/* 803041B8 002FFE18 38 84 64 C0 */ addi r4, r4, lbl_804464C0@l
/* 803041BC 002FFE1C 38 A1 00 08 */ addi r5, r1, 8
/* 803041C0 002FFE20 38 C0 00 00 */ li r6, 0
/* 803041C4 002FFE24 48 00 04 B9 */ bl NWC24iOpenResourceManager
/* 803041C8 002FFE28 2C 03 00 00 */ cmpwi r3, 0
/* 803041CC 002FFE2C 7C 7E 1B 78 */ mr r30, r3
/* 803041D0 002FFE30 41 80 00 74 */ blt lbl_80304244
/* 803041D4 002FFE34 80 81 00 08 */ lwz r4, 8(r1)
/* 803041D8 002FFE38 7F 63 DB 78 */ mr r3, r27
/* 803041DC 002FFE3C 7F 85 E3 78 */ mr r5, r28
/* 803041E0 002FFE40 39 1F 00 60 */ addi r8, r31, 0x60
/* 803041E4 002FFE44 38 C0 00 00 */ li r6, 0
/* 803041E8 002FFE48 38 E0 00 00 */ li r7, 0
/* 803041EC 002FFE4C 39 20 00 20 */ li r9, 0x20
/* 803041F0 002FFE50 48 00 05 39 */ bl NWC24iIoctlResourceManager
/* 803041F4 002FFE54 2C 03 00 00 */ cmpwi r3, 0
/* 803041F8 002FFE58 7C 7E 1B 78 */ mr r30, r3
/* 803041FC 002FFE5C 41 80 00 30 */ blt lbl_8030422C
/* 80304200 002FFE60 83 DF 00 60 */ lwz r30, 0x60(r31)
/* 80304204 002FFE64 2C 1E FF FE */ cmpwi r30, -2
/* 80304208 002FFE68 41 82 00 0C */ beq lbl_80304214
/* 8030420C 002FFE6C 2C 1E FF DF */ cmpwi r30, -33
/* 80304210 002FFE70 40 82 00 1C */ bne lbl_8030422C
lbl_80304214:
/* 80304214 002FFE74 38 00 00 00 */ li r0, 0
/* 80304218 002FFE78 7C 1D 00 40 */ cmplw r29, r0
/* 8030421C 002FFE7C 41 82 00 10 */ beq lbl_8030422C
/* 80304220 002FFE80 38 7F 00 60 */ addi r3, r31, 0x60
/* 80304224 002FFE84 80 03 00 04 */ lwz r0, 4(r3)
/* 80304228 002FFE88 90 1D 00 00 */ stw r0, 0(r29)
lbl_8030422C:
/* 8030422C 002FFE8C 80 81 00 08 */ lwz r4, 8(r1)
/* 80304230 002FFE90 7F 63 DB 78 */ mr r3, r27
/* 80304234 002FFE94 48 00 04 C1 */ bl NWC24iCloseResourceManager
/* 80304238 002FFE98 2C 03 00 00 */ cmpwi r3, 0
/* 8030423C 002FFE9C 40 80 00 08 */ bge lbl_80304244
/* 80304240 002FFEA0 7C 7E 1B 78 */ mr r30, r3
lbl_80304244:
/* 80304244 002FFEA4 38 7F 00 00 */ addi r3, r31, 0
/* 80304248 002FFEA8 4B F6 B7 DD */ bl OSUnlockMutex
/* 8030424C 002FFEAC 7F C3 F3 78 */ mr r3, r30
lbl_80304250:
/* 80304250 002FFEB0 39 61 00 30 */ addi r11, r1, 0x30
/* 80304254 002FFEB4 4B EC 2F 21 */ bl _restgpr_27
/* 80304258 002FFEB8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8030425C 002FFEBC 7C 08 03 A6 */ mtlr r0
/* 80304260 002FFEC0 38 21 00 30 */ addi r1, r1, 0x30
/* 80304264 002FFEC4 4E 80 00 20 */ blr
|