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
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global VFipdm_disk_convert_sector_into_block
VFipdm_disk_convert_sector_into_block:
/* 80306B20 00302780 90 87 00 00 */ stw r4, 0(r7)
/* 80306B24 00302784 28 06 02 00 */ cmplwi r6, 0x200
/* 80306B28 00302788 38 60 00 00 */ li r3, 0
/* 80306B2C 0030278C 90 A8 00 00 */ stw r5, 0(r8)
/* 80306B30 00302790 40 81 00 94 */ ble lbl_80306BC4
/* 80306B34 00302794 54 C4 BE 7E */ rlwinm r4, r6, 0x17, 0x19, 0x1f
/* 80306B38 00302798 28 04 00 02 */ cmplwi r4, 2
/* 80306B3C 0030279C 40 82 00 14 */ bne lbl_80306B50
/* 80306B40 003027A0 80 07 00 00 */ lwz r0, 0(r7)
/* 80306B44 003027A4 54 00 08 3C */ slwi r0, r0, 1
/* 80306B48 003027A8 90 07 00 00 */ stw r0, 0(r7)
/* 80306B4C 003027AC 48 00 00 30 */ b lbl_80306B7C
lbl_80306B50:
/* 80306B50 003027B0 28 04 00 04 */ cmplwi r4, 4
/* 80306B54 003027B4 40 82 00 14 */ bne lbl_80306B68
/* 80306B58 003027B8 80 07 00 00 */ lwz r0, 0(r7)
/* 80306B5C 003027BC 54 00 10 3A */ slwi r0, r0, 2
/* 80306B60 003027C0 90 07 00 00 */ stw r0, 0(r7)
/* 80306B64 003027C4 48 00 00 18 */ b lbl_80306B7C
lbl_80306B68:
/* 80306B68 003027C8 28 04 00 08 */ cmplwi r4, 8
/* 80306B6C 003027CC 40 82 00 10 */ bne lbl_80306B7C
/* 80306B70 003027D0 80 07 00 00 */ lwz r0, 0(r7)
/* 80306B74 003027D4 54 00 18 38 */ slwi r0, r0, 3
/* 80306B78 003027D8 90 07 00 00 */ stw r0, 0(r7)
lbl_80306B7C:
/* 80306B7C 003027DC 28 04 00 02 */ cmplwi r4, 2
/* 80306B80 003027E0 40 82 00 14 */ bne lbl_80306B94
/* 80306B84 003027E4 80 08 00 00 */ lwz r0, 0(r8)
/* 80306B88 003027E8 54 00 08 3C */ slwi r0, r0, 1
/* 80306B8C 003027EC 90 08 00 00 */ stw r0, 0(r8)
/* 80306B90 003027F0 4E 80 00 20 */ blr
lbl_80306B94:
/* 80306B94 003027F4 28 04 00 04 */ cmplwi r4, 4
/* 80306B98 003027F8 40 82 00 14 */ bne lbl_80306BAC
/* 80306B9C 003027FC 80 08 00 00 */ lwz r0, 0(r8)
/* 80306BA0 00302800 54 00 10 3A */ slwi r0, r0, 2
/* 80306BA4 00302804 90 08 00 00 */ stw r0, 0(r8)
/* 80306BA8 00302808 4E 80 00 20 */ blr
lbl_80306BAC:
/* 80306BAC 0030280C 28 04 00 08 */ cmplwi r4, 8
/* 80306BB0 00302810 4C 82 00 20 */ bnelr
/* 80306BB4 00302814 80 08 00 00 */ lwz r0, 0(r8)
/* 80306BB8 00302818 54 00 18 38 */ slwi r0, r0, 3
/* 80306BBC 0030281C 90 08 00 00 */ stw r0, 0(r8)
/* 80306BC0 00302820 4E 80 00 20 */ blr
lbl_80306BC4:
/* 80306BC4 00302824 4C 80 00 20 */ bgelr
/* 80306BC8 00302828 38 60 00 04 */ li r3, 4
/* 80306BCC 0030282C 4E 80 00 20 */ blr
.global VFipdm_disk_convert_block_into_sector
VFipdm_disk_convert_block_into_sector:
/* 80306BD0 00302830 90 87 00 00 */ stw r4, 0(r7)
/* 80306BD4 00302834 28 06 02 00 */ cmplwi r6, 0x200
/* 80306BD8 00302838 38 60 00 00 */ li r3, 0
/* 80306BDC 0030283C 90 A8 00 00 */ stw r5, 0(r8)
/* 80306BE0 00302840 40 81 00 94 */ ble lbl_80306C74
/* 80306BE4 00302844 54 C4 BE 7E */ rlwinm r4, r6, 0x17, 0x19, 0x1f
/* 80306BE8 00302848 28 04 00 02 */ cmplwi r4, 2
/* 80306BEC 0030284C 40 82 00 14 */ bne lbl_80306C00
/* 80306BF0 00302850 80 07 00 00 */ lwz r0, 0(r7)
/* 80306BF4 00302854 54 00 F8 7E */ srwi r0, r0, 1
/* 80306BF8 00302858 90 07 00 00 */ stw r0, 0(r7)
/* 80306BFC 0030285C 48 00 00 30 */ b lbl_80306C2C
lbl_80306C00:
/* 80306C00 00302860 28 04 00 04 */ cmplwi r4, 4
/* 80306C04 00302864 40 82 00 14 */ bne lbl_80306C18
/* 80306C08 00302868 80 07 00 00 */ lwz r0, 0(r7)
/* 80306C0C 0030286C 54 00 F0 BE */ srwi r0, r0, 2
/* 80306C10 00302870 90 07 00 00 */ stw r0, 0(r7)
/* 80306C14 00302874 48 00 00 18 */ b lbl_80306C2C
lbl_80306C18:
/* 80306C18 00302878 28 04 00 08 */ cmplwi r4, 8
/* 80306C1C 0030287C 40 82 00 10 */ bne lbl_80306C2C
/* 80306C20 00302880 80 07 00 00 */ lwz r0, 0(r7)
/* 80306C24 00302884 54 00 E8 FE */ srwi r0, r0, 3
/* 80306C28 00302888 90 07 00 00 */ stw r0, 0(r7)
lbl_80306C2C:
/* 80306C2C 0030288C 28 04 00 02 */ cmplwi r4, 2
/* 80306C30 00302890 40 82 00 14 */ bne lbl_80306C44
/* 80306C34 00302894 80 08 00 00 */ lwz r0, 0(r8)
/* 80306C38 00302898 54 00 F8 7E */ srwi r0, r0, 1
/* 80306C3C 0030289C 90 08 00 00 */ stw r0, 0(r8)
/* 80306C40 003028A0 4E 80 00 20 */ blr
lbl_80306C44:
/* 80306C44 003028A4 28 04 00 04 */ cmplwi r4, 4
/* 80306C48 003028A8 40 82 00 14 */ bne lbl_80306C5C
/* 80306C4C 003028AC 80 08 00 00 */ lwz r0, 0(r8)
/* 80306C50 003028B0 54 00 F0 BE */ srwi r0, r0, 2
/* 80306C54 003028B4 90 08 00 00 */ stw r0, 0(r8)
/* 80306C58 003028B8 4E 80 00 20 */ blr
lbl_80306C5C:
/* 80306C5C 003028BC 28 04 00 08 */ cmplwi r4, 8
/* 80306C60 003028C0 4C 82 00 20 */ bnelr
/* 80306C64 003028C4 80 08 00 00 */ lwz r0, 0(r8)
/* 80306C68 003028C8 54 00 E8 FE */ srwi r0, r0, 3
/* 80306C6C 003028CC 90 08 00 00 */ stw r0, 0(r8)
/* 80306C70 003028D0 4E 80 00 20 */ blr
lbl_80306C74:
/* 80306C74 003028D4 4C 80 00 20 */ bgelr
/* 80306C78 003028D8 38 60 00 04 */ li r3, 4
/* 80306C7C 003028DC 4E 80 00 20 */ blr
VFipdm_disk_do_get_permission:
/* 80306C80 003028E0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80306C84 003028E4 7C 08 02 A6 */ mflr r0
/* 80306C88 003028E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80306C8C 003028EC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80306C90 003028F0 7C 9F 23 78 */ mr r31, r4
/* 80306C94 003028F4 93 C1 00 08 */ stw r30, 8(r1)
/* 80306C98 003028F8 7C 7E 1B 78 */ mr r30, r3
/* 80306C9C 003028FC A0 04 00 12 */ lhz r0, 0x12(r4)
/* 80306CA0 00302900 2C 00 00 00 */ cmpwi r0, 0
/* 80306CA4 00302904 41 82 00 10 */ beq lbl_80306CB4
/* 80306CA8 00302908 80 04 00 00 */ lwz r0, 0(r4)
/* 80306CAC 0030290C 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 80306CB0 00302910 41 82 00 C4 */ beq lbl_80306D74
lbl_80306CB4:
/* 80306CB4 00302914 80 84 00 04 */ lwz r4, 4(r4)
/* 80306CB8 00302918 7F C3 F3 78 */ mr r3, r30
/* 80306CBC 0030291C 81 84 00 08 */ lwz r12, 8(r4)
/* 80306CC0 00302920 7D 89 03 A6 */ mtctr r12
/* 80306CC4 00302924 4E 80 04 21 */ bctrl
/* 80306CC8 00302928 2C 03 00 00 */ cmpwi r3, 0
/* 80306CCC 0030292C 7C 64 1B 78 */ mr r4, r3
/* 80306CD0 00302930 41 82 00 1C */ beq lbl_80306CEC
/* 80306CD4 00302934 80 7F 00 30 */ lwz r3, 0x30(r31)
/* 80306CD8 00302938 2C 03 00 00 */ cmpwi r3, 0
/* 80306CDC 0030293C 41 82 00 08 */ beq lbl_80306CE4
/* 80306CE0 00302940 48 00 1A D9 */ bl VFipdm_part_set_driver_error_code
lbl_80306CE4:
/* 80306CE4 00302944 38 60 00 15 */ li r3, 0x15
/* 80306CE8 00302948 48 00 00 9C */ b lbl_80306D84
lbl_80306CEC:
/* 80306CEC 0030294C 80 BF 00 04 */ lwz r5, 4(r31)
/* 80306CF0 00302950 7F C3 F3 78 */ mr r3, r30
/* 80306CF4 00302954 38 9F 00 18 */ addi r4, r31, 0x18
/* 80306CF8 00302958 81 85 00 1C */ lwz r12, 0x1c(r5)
/* 80306CFC 0030295C 7D 89 03 A6 */ mtctr r12
/* 80306D00 00302960 4E 80 04 21 */ bctrl
/* 80306D04 00302964 2C 03 00 00 */ cmpwi r3, 0
/* 80306D08 00302968 7C 64 1B 78 */ mr r4, r3
/* 80306D0C 0030296C 41 82 00 1C */ beq lbl_80306D28
/* 80306D10 00302970 80 7F 00 30 */ lwz r3, 0x30(r31)
/* 80306D14 00302974 2C 03 00 00 */ cmpwi r3, 0
/* 80306D18 00302978 41 82 00 08 */ beq lbl_80306D20
/* 80306D1C 0030297C 48 00 1A 9D */ bl VFipdm_part_set_driver_error_code
lbl_80306D20:
/* 80306D20 00302980 38 60 00 15 */ li r3, 0x15
/* 80306D24 00302984 48 00 00 60 */ b lbl_80306D84
lbl_80306D28:
/* 80306D28 00302988 A0 1F 00 20 */ lhz r0, 0x20(r31)
/* 80306D2C 0030298C 54 00 05 FF */ clrlwi. r0, r0, 0x17
/* 80306D30 00302990 41 82 00 0C */ beq lbl_80306D3C
/* 80306D34 00302994 38 60 00 16 */ li r3, 0x16
/* 80306D38 00302998 48 00 00 4C */ b lbl_80306D84
lbl_80306D3C:
/* 80306D3C 0030299C 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 80306D40 003029A0 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80306D44 003029A4 41 82 00 14 */ beq lbl_80306D58
/* 80306D48 003029A8 80 1F 00 00 */ lwz r0, 0(r31)
/* 80306D4C 003029AC 60 00 00 10 */ ori r0, r0, 0x10
/* 80306D50 003029B0 90 1F 00 00 */ stw r0, 0(r31)
/* 80306D54 003029B4 48 00 00 10 */ b lbl_80306D64
lbl_80306D58:
/* 80306D58 003029B8 80 1F 00 00 */ lwz r0, 0(r31)
/* 80306D5C 003029BC 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a
/* 80306D60 003029C0 90 1F 00 00 */ stw r0, 0(r31)
lbl_80306D64:
/* 80306D64 003029C4 80 1F 00 00 */ lwz r0, 0(r31)
/* 80306D68 003029C8 60 00 00 02 */ ori r0, r0, 2
/* 80306D6C 003029CC 54 00 06 F2 */ rlwinm r0, r0, 0, 0x1b, 0x19
/* 80306D70 003029D0 90 1F 00 00 */ stw r0, 0(r31)
lbl_80306D74:
/* 80306D74 003029D4 A0 9F 00 12 */ lhz r4, 0x12(r31)
/* 80306D78 003029D8 38 60 00 00 */ li r3, 0
/* 80306D7C 003029DC 38 04 00 01 */ addi r0, r4, 1
/* 80306D80 003029E0 B0 1F 00 12 */ sth r0, 0x12(r31)
lbl_80306D84:
/* 80306D84 003029E4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80306D88 003029E8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80306D8C 003029EC 83 C1 00 08 */ lwz r30, 8(r1)
/* 80306D90 003029F0 7C 08 03 A6 */ mtlr r0
/* 80306D94 003029F4 38 21 00 10 */ addi r1, r1, 0x10
/* 80306D98 003029F8 4E 80 00 20 */ blr
.global VFipdm_disk_check_disk_handle
VFipdm_disk_check_disk_handle:
/* 80306D9C 003029FC 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80306DA0 00302A00 54 64 04 2E */ rlwinm r4, r3, 0, 0x10, 0x17
/* 80306DA4 00302A04 28 00 00 1A */ cmplwi r0, 0x1a
/* 80306DA8 00302A08 54 65 84 3E */ srwi r5, r3, 0x10
/* 80306DAC 00302A0C 40 80 00 28 */ bge lbl_80306DD4
/* 80306DB0 00302A10 28 04 03 00 */ cmplwi r4, 0x300
/* 80306DB4 00302A14 40 82 00 20 */ bne lbl_80306DD4
/* 80306DB8 00302A18 1C 00 00 34 */ mulli r0, r0, 0x34
/* 80306DBC 00302A1C 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
/* 80306DC0 00302A20 38 83 EA 60 */ addi r4, r3, lbl_8057EA60@l
/* 80306DC4 00302A24 7C 64 02 14 */ add r3, r4, r0
/* 80306DC8 00302A28 80 03 01 B0 */ lwz r0, 0x1b0(r3)
/* 80306DCC 00302A2C 7C 05 00 40 */ cmplw r5, r0
/* 80306DD0 00302A30 40 81 00 0C */ ble lbl_80306DDC
lbl_80306DD4:
/* 80306DD4 00302A34 38 60 00 01 */ li r3, 1
/* 80306DD8 00302A38 4E 80 00 20 */ blr
lbl_80306DDC:
/* 80306DDC 00302A3C 38 00 00 0D */ li r0, 0xd
/* 80306DE0 00302A40 38 E3 01 A4 */ addi r7, r3, 0x1a4
/* 80306DE4 00302A44 38 60 00 00 */ li r3, 0
/* 80306DE8 00302A48 7C 09 03 A6 */ mtctr r0
lbl_80306DEC:
/* 80306DEC 00302A4C 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
/* 80306DF0 00302A50 7C C4 02 14 */ add r6, r4, r0
/* 80306DF4 00302A54 80 06 00 08 */ lwz r0, 8(r6)
/* 80306DF8 00302A58 7C 00 38 40 */ cmplw r0, r7
/* 80306DFC 00302A5C 40 82 00 10 */ bne lbl_80306E0C
/* 80306E00 00302A60 80 06 00 04 */ lwz r0, 4(r6)
/* 80306E04 00302A64 7C 05 00 40 */ cmplw r5, r0
/* 80306E08 00302A68 41 82 00 30 */ beq lbl_80306E38
lbl_80306E0C:
/* 80306E0C 00302A6C 38 63 00 01 */ addi r3, r3, 1
/* 80306E10 00302A70 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
/* 80306E14 00302A74 7C C4 02 14 */ add r6, r4, r0
/* 80306E18 00302A78 80 06 00 08 */ lwz r0, 8(r6)
/* 80306E1C 00302A7C 7C 00 38 40 */ cmplw r0, r7
/* 80306E20 00302A80 40 82 00 10 */ bne lbl_80306E30
/* 80306E24 00302A84 80 06 00 04 */ lwz r0, 4(r6)
/* 80306E28 00302A88 7C 05 00 40 */ cmplw r5, r0
/* 80306E2C 00302A8C 41 82 00 0C */ beq lbl_80306E38
lbl_80306E30:
/* 80306E30 00302A90 38 63 00 01 */ addi r3, r3, 1
/* 80306E34 00302A94 42 00 FF B8 */ bdnz lbl_80306DEC
lbl_80306E38:
/* 80306E38 00302A98 54 64 04 3E */ clrlwi r4, r3, 0x10
/* 80306E3C 00302A9C 38 60 00 1A */ li r3, 0x1a
/* 80306E40 00302AA0 38 04 FF E6 */ addi r0, r4, -26
/* 80306E44 00302AA4 7C 83 1B 38 */ orc r3, r4, r3
/* 80306E48 00302AA8 54 00 F8 7E */ srwi r0, r0, 1
/* 80306E4C 00302AAC 7C 00 18 50 */ subf r0, r0, r3
/* 80306E50 00302AB0 54 03 0F FE */ srwi r3, r0, 0x1f
/* 80306E54 00302AB4 4E 80 00 20 */ blr
.global VFipdm_disk_get_part_permission
VFipdm_disk_get_part_permission:
/* 80306E58 00302AB8 2C 03 00 00 */ cmpwi r3, 0
/* 80306E5C 00302ABC 40 82 00 0C */ bne lbl_80306E68
/* 80306E60 00302AC0 38 60 00 01 */ li r3, 1
/* 80306E64 00302AC4 4E 80 00 20 */ blr
lbl_80306E68:
/* 80306E68 00302AC8 54 67 06 3E */ clrlwi r7, r3, 0x18
/* 80306E6C 00302ACC 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
/* 80306E70 00302AD0 28 07 00 1A */ cmplwi r7, 0x1a
/* 80306E74 00302AD4 54 68 84 3E */ srwi r8, r3, 0x10
/* 80306E78 00302AD8 40 80 00 28 */ bge lbl_80306EA0
/* 80306E7C 00302ADC 28 00 03 00 */ cmplwi r0, 0x300
/* 80306E80 00302AE0 40 82 00 20 */ bne lbl_80306EA0
/* 80306E84 00302AE4 1C 07 00 34 */ mulli r0, r7, 0x34
/* 80306E88 00302AE8 3C 80 80 58 */ lis r4, lbl_8057EA60@ha
/* 80306E8C 00302AEC 38 A4 EA 60 */ addi r5, r4, lbl_8057EA60@l
/* 80306E90 00302AF0 7C 85 02 14 */ add r4, r5, r0
/* 80306E94 00302AF4 80 04 01 B0 */ lwz r0, 0x1b0(r4)
/* 80306E98 00302AF8 7C 08 00 40 */ cmplw r8, r0
/* 80306E9C 00302AFC 40 81 00 0C */ ble lbl_80306EA8
lbl_80306EA0:
/* 80306EA0 00302B00 38 00 00 01 */ li r0, 1
/* 80306EA4 00302B04 48 00 00 7C */ b lbl_80306F20
lbl_80306EA8:
/* 80306EA8 00302B08 38 00 00 0D */ li r0, 0xd
/* 80306EAC 00302B0C 38 C4 01 A4 */ addi r6, r4, 0x1a4
/* 80306EB0 00302B10 38 80 00 00 */ li r4, 0
/* 80306EB4 00302B14 7C 09 03 A6 */ mtctr r0
lbl_80306EB8:
/* 80306EB8 00302B18 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c
/* 80306EBC 00302B1C 7D 25 02 14 */ add r9, r5, r0
/* 80306EC0 00302B20 80 09 00 08 */ lwz r0, 8(r9)
/* 80306EC4 00302B24 7C 00 30 40 */ cmplw r0, r6
/* 80306EC8 00302B28 40 82 00 10 */ bne lbl_80306ED8
/* 80306ECC 00302B2C 80 09 00 04 */ lwz r0, 4(r9)
/* 80306ED0 00302B30 7C 08 00 40 */ cmplw r8, r0
/* 80306ED4 00302B34 41 82 00 30 */ beq lbl_80306F04
lbl_80306ED8:
/* 80306ED8 00302B38 38 84 00 01 */ addi r4, r4, 1
/* 80306EDC 00302B3C 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c
/* 80306EE0 00302B40 7D 25 02 14 */ add r9, r5, r0
/* 80306EE4 00302B44 80 09 00 08 */ lwz r0, 8(r9)
/* 80306EE8 00302B48 7C 00 30 40 */ cmplw r0, r6
/* 80306EEC 00302B4C 40 82 00 10 */ bne lbl_80306EFC
/* 80306EF0 00302B50 80 09 00 04 */ lwz r0, 4(r9)
/* 80306EF4 00302B54 7C 08 00 40 */ cmplw r8, r0
/* 80306EF8 00302B58 41 82 00 0C */ beq lbl_80306F04
lbl_80306EFC:
/* 80306EFC 00302B5C 38 84 00 01 */ addi r4, r4, 1
/* 80306F00 00302B60 42 00 FF B8 */ bdnz lbl_80306EB8
lbl_80306F04:
/* 80306F04 00302B64 54 85 04 3E */ clrlwi r5, r4, 0x10
/* 80306F08 00302B68 38 80 00 1A */ li r4, 0x1a
/* 80306F0C 00302B6C 38 05 FF E6 */ addi r0, r5, -26
/* 80306F10 00302B70 7C A4 23 38 */ orc r4, r5, r4
/* 80306F14 00302B74 54 00 F8 7E */ srwi r0, r0, 1
/* 80306F18 00302B78 7C 00 20 50 */ subf r0, r0, r4
/* 80306F1C 00302B7C 54 00 0F FE */ srwi r0, r0, 0x1f
lbl_80306F20:
/* 80306F20 00302B80 2C 00 00 00 */ cmpwi r0, 0
/* 80306F24 00302B84 41 82 00 0C */ beq lbl_80306F30
/* 80306F28 00302B88 7C 03 03 78 */ mr r3, r0
/* 80306F2C 00302B8C 4E 80 00 20 */ blr
lbl_80306F30:
/* 80306F30 00302B90 1C 07 00 34 */ mulli r0, r7, 0x34
/* 80306F34 00302B94 3C 80 80 58 */ lis r4, lbl_8057EA60@ha
/* 80306F38 00302B98 38 84 EA 60 */ addi r4, r4, lbl_8057EA60@l
/* 80306F3C 00302B9C 7C 84 02 14 */ add r4, r4, r0
/* 80306F40 00302BA0 38 84 01 A4 */ addi r4, r4, 0x1a4
/* 80306F44 00302BA4 4B FF FD 3C */ b VFipdm_disk_do_get_permission
/* 80306F48 00302BA8 4E 80 00 20 */ blr
.global VFipdm_disk_release_part_permission
VFipdm_disk_release_part_permission:
/* 80306F4C 00302BAC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80306F50 00302BB0 7C 08 02 A6 */ mflr r0
/* 80306F54 00302BB4 2C 03 00 00 */ cmpwi r3, 0
/* 80306F58 00302BB8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80306F5C 00302BBC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80306F60 00302BC0 7C 9F 23 78 */ mr r31, r4
/* 80306F64 00302BC4 93 C1 00 08 */ stw r30, 8(r1)
/* 80306F68 00302BC8 40 82 00 0C */ bne lbl_80306F74
/* 80306F6C 00302BCC 38 60 00 01 */ li r3, 1
/* 80306F70 00302BD0 48 00 01 60 */ b lbl_803070D0
lbl_80306F74:
/* 80306F74 00302BD4 54 67 06 3E */ clrlwi r7, r3, 0x18
/* 80306F78 00302BD8 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
/* 80306F7C 00302BDC 28 07 00 1A */ cmplwi r7, 0x1a
/* 80306F80 00302BE0 54 68 84 3E */ srwi r8, r3, 0x10
/* 80306F84 00302BE4 40 80 00 28 */ bge lbl_80306FAC
/* 80306F88 00302BE8 28 00 03 00 */ cmplwi r0, 0x300
/* 80306F8C 00302BEC 40 82 00 20 */ bne lbl_80306FAC
/* 80306F90 00302BF0 1C 07 00 34 */ mulli r0, r7, 0x34
/* 80306F94 00302BF4 3C 80 80 58 */ lis r4, lbl_8057EA60@ha
/* 80306F98 00302BF8 38 A4 EA 60 */ addi r5, r4, lbl_8057EA60@l
/* 80306F9C 00302BFC 7C 85 02 14 */ add r4, r5, r0
/* 80306FA0 00302C00 80 04 01 B0 */ lwz r0, 0x1b0(r4)
/* 80306FA4 00302C04 7C 08 00 40 */ cmplw r8, r0
/* 80306FA8 00302C08 40 81 00 0C */ ble lbl_80306FB4
lbl_80306FAC:
/* 80306FAC 00302C0C 38 00 00 01 */ li r0, 1
/* 80306FB0 00302C10 48 00 00 7C */ b lbl_8030702C
lbl_80306FB4:
/* 80306FB4 00302C14 38 00 00 0D */ li r0, 0xd
/* 80306FB8 00302C18 38 C4 01 A4 */ addi r6, r4, 0x1a4
/* 80306FBC 00302C1C 38 80 00 00 */ li r4, 0
/* 80306FC0 00302C20 7C 09 03 A6 */ mtctr r0
lbl_80306FC4:
/* 80306FC4 00302C24 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c
/* 80306FC8 00302C28 7D 25 02 14 */ add r9, r5, r0
/* 80306FCC 00302C2C 80 09 00 08 */ lwz r0, 8(r9)
/* 80306FD0 00302C30 7C 00 30 40 */ cmplw r0, r6
/* 80306FD4 00302C34 40 82 00 10 */ bne lbl_80306FE4
/* 80306FD8 00302C38 80 09 00 04 */ lwz r0, 4(r9)
/* 80306FDC 00302C3C 7C 08 00 40 */ cmplw r8, r0
/* 80306FE0 00302C40 41 82 00 30 */ beq lbl_80307010
lbl_80306FE4:
/* 80306FE4 00302C44 38 84 00 01 */ addi r4, r4, 1
/* 80306FE8 00302C48 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c
/* 80306FEC 00302C4C 7D 25 02 14 */ add r9, r5, r0
/* 80306FF0 00302C50 80 09 00 08 */ lwz r0, 8(r9)
/* 80306FF4 00302C54 7C 00 30 40 */ cmplw r0, r6
/* 80306FF8 00302C58 40 82 00 10 */ bne lbl_80307008
/* 80306FFC 00302C5C 80 09 00 04 */ lwz r0, 4(r9)
/* 80307000 00302C60 7C 08 00 40 */ cmplw r8, r0
/* 80307004 00302C64 41 82 00 0C */ beq lbl_80307010
lbl_80307008:
/* 80307008 00302C68 38 84 00 01 */ addi r4, r4, 1
/* 8030700C 00302C6C 42 00 FF B8 */ bdnz lbl_80306FC4
lbl_80307010:
/* 80307010 00302C70 54 85 04 3E */ clrlwi r5, r4, 0x10
/* 80307014 00302C74 38 80 00 1A */ li r4, 0x1a
/* 80307018 00302C78 38 05 FF E6 */ addi r0, r5, -26
/* 8030701C 00302C7C 7C A4 23 38 */ orc r4, r5, r4
/* 80307020 00302C80 54 00 F8 7E */ srwi r0, r0, 1
/* 80307024 00302C84 7C 00 20 50 */ subf r0, r0, r4
/* 80307028 00302C88 54 00 0F FE */ srwi r0, r0, 0x1f
lbl_8030702C:
/* 8030702C 00302C8C 2C 00 00 00 */ cmpwi r0, 0
/* 80307030 00302C90 41 82 00 0C */ beq lbl_8030703C
/* 80307034 00302C94 7C 03 03 78 */ mr r3, r0
/* 80307038 00302C98 48 00 00 98 */ b lbl_803070D0
lbl_8030703C:
/* 8030703C 00302C9C 1C 07 00 34 */ mulli r0, r7, 0x34
/* 80307040 00302CA0 3C 80 80 58 */ lis r4, lbl_8057EA60@ha
/* 80307044 00302CA4 38 84 EA 60 */ addi r4, r4, lbl_8057EA60@l
/* 80307048 00302CA8 7F C4 02 14 */ add r30, r4, r0
/* 8030704C 00302CAC A0 1E 01 B6 */ lhz r0, 0x1b6(r30)
/* 80307050 00302CB0 2C 00 00 00 */ cmpwi r0, 0
/* 80307054 00302CB4 40 82 00 0C */ bne lbl_80307060
/* 80307058 00302CB8 38 60 00 0E */ li r3, 0xe
/* 8030705C 00302CBC 48 00 00 74 */ b lbl_803070D0
lbl_80307060:
/* 80307060 00302CC0 28 00 00 01 */ cmplwi r0, 1
/* 80307064 00302CC4 38 80 00 00 */ li r4, 0
/* 80307068 00302CC8 40 82 00 34 */ bne lbl_8030709C
/* 8030706C 00302CCC 80 9E 01 A8 */ lwz r4, 0x1a8(r30)
/* 80307070 00302CD0 81 84 00 0C */ lwz r12, 0xc(r4)
/* 80307074 00302CD4 7D 89 03 A6 */ mtctr r12
/* 80307078 00302CD8 4E 80 04 21 */ bctrl
/* 8030707C 00302CDC 2C 03 00 00 */ cmpwi r3, 0
/* 80307080 00302CE0 7C 64 1B 78 */ mr r4, r3
/* 80307084 00302CE4 41 82 00 18 */ beq lbl_8030709C
/* 80307088 00302CE8 80 7E 01 D4 */ lwz r3, 0x1d4(r30)
/* 8030708C 00302CEC 2C 03 00 00 */ cmpwi r3, 0
/* 80307090 00302CF0 41 82 00 08 */ beq lbl_80307098
/* 80307094 00302CF4 48 00 17 25 */ bl VFipdm_part_set_driver_error_code
lbl_80307098:
/* 80307098 00302CF8 38 80 00 15 */ li r4, 0x15
lbl_8030709C:
/* 8030709C 00302CFC 2C 04 00 00 */ cmpwi r4, 0
/* 803070A0 00302D00 41 82 00 0C */ beq lbl_803070AC
/* 803070A4 00302D04 28 1F 00 01 */ cmplwi r31, 1
/* 803070A8 00302D08 40 82 00 24 */ bne lbl_803070CC
lbl_803070AC:
/* 803070AC 00302D0C A0 7E 01 B6 */ lhz r3, 0x1b6(r30)
/* 803070B0 00302D10 38 63 FF FF */ addi r3, r3, -1
/* 803070B4 00302D14 54 60 04 3F */ clrlwi. r0, r3, 0x10
/* 803070B8 00302D18 B0 7E 01 B6 */ sth r3, 0x1b6(r30)
/* 803070BC 00302D1C 40 82 00 10 */ bne lbl_803070CC
/* 803070C0 00302D20 80 1E 01 A4 */ lwz r0, 0x1a4(r30)
/* 803070C4 00302D24 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 803070C8 00302D28 90 1E 01 A4 */ stw r0, 0x1a4(r30)
lbl_803070CC:
/* 803070CC 00302D2C 7C 83 23 78 */ mr r3, r4
lbl_803070D0:
/* 803070D0 00302D30 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803070D4 00302D34 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803070D8 00302D38 83 C1 00 08 */ lwz r30, 8(r1)
/* 803070DC 00302D3C 7C 08 03 A6 */ mtlr r0
/* 803070E0 00302D40 38 21 00 10 */ addi r1, r1, 0x10
/* 803070E4 00302D44 4E 80 00 20 */ blr
.global VFipdm_disk_physical_read
VFipdm_disk_physical_read:
/* 803070E8 00302D48 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803070EC 00302D4C 7C 08 02 A6 */ mflr r0
/* 803070F0 00302D50 90 01 00 34 */ stw r0, 0x34(r1)
/* 803070F4 00302D54 39 61 00 30 */ addi r11, r1, 0x30
/* 803070F8 00302D58 4B EC 00 31 */ bl _savegpr_27
/* 803070FC 00302D5C 2C 03 00 00 */ cmpwi r3, 0
/* 80307100 00302D60 7C 7C 1B 78 */ mr r28, r3
/* 80307104 00302D64 7C 9D 23 78 */ mr r29, r4
/* 80307108 00302D68 7C FE 3B 78 */ mr r30, r7
/* 8030710C 00302D6C 7D 1F 43 78 */ mr r31, r8
/* 80307110 00302D70 41 82 00 24 */ beq lbl_80307134
/* 80307114 00302D74 2C 04 00 00 */ cmpwi r4, 0
/* 80307118 00302D78 41 82 00 1C */ beq lbl_80307134
/* 8030711C 00302D7C 2C 06 00 00 */ cmpwi r6, 0
/* 80307120 00302D80 41 82 00 14 */ beq lbl_80307134
/* 80307124 00302D84 2C 07 00 00 */ cmpwi r7, 0
/* 80307128 00302D88 41 82 00 0C */ beq lbl_80307134
/* 8030712C 00302D8C 2C 08 00 00 */ cmpwi r8, 0
/* 80307130 00302D90 40 82 00 0C */ bne lbl_8030713C
lbl_80307134:
/* 80307134 00302D94 38 60 00 01 */ li r3, 1
/* 80307138 00302D98 48 00 01 70 */ b lbl_803072A8
lbl_8030713C:
/* 8030713C 00302D9C 54 68 06 3E */ clrlwi r8, r3, 0x18
/* 80307140 00302DA0 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
/* 80307144 00302DA4 28 08 00 1A */ cmplwi r8, 0x1a
/* 80307148 00302DA8 54 69 84 3E */ srwi r9, r3, 0x10
/* 8030714C 00302DAC 40 80 00 28 */ bge lbl_80307174
/* 80307150 00302DB0 28 00 03 00 */ cmplwi r0, 0x300
/* 80307154 00302DB4 40 82 00 20 */ bne lbl_80307174
/* 80307158 00302DB8 1C 08 00 34 */ mulli r0, r8, 0x34
/* 8030715C 00302DBC 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
/* 80307160 00302DC0 38 83 EA 60 */ addi r4, r3, lbl_8057EA60@l
/* 80307164 00302DC4 7C 64 02 14 */ add r3, r4, r0
/* 80307168 00302DC8 80 03 01 B0 */ lwz r0, 0x1b0(r3)
/* 8030716C 00302DCC 7C 09 00 40 */ cmplw r9, r0
/* 80307170 00302DD0 40 81 00 0C */ ble lbl_8030717C
lbl_80307174:
/* 80307174 00302DD4 38 60 00 01 */ li r3, 1
/* 80307178 00302DD8 48 00 00 7C */ b lbl_803071F4
lbl_8030717C:
/* 8030717C 00302DDC 38 00 00 0D */ li r0, 0xd
/* 80307180 00302DE0 38 E3 01 A4 */ addi r7, r3, 0x1a4
/* 80307184 00302DE4 38 60 00 00 */ li r3, 0
/* 80307188 00302DE8 7C 09 03 A6 */ mtctr r0
lbl_8030718C:
/* 8030718C 00302DEC 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
/* 80307190 00302DF0 7D 44 02 14 */ add r10, r4, r0
/* 80307194 00302DF4 80 0A 00 08 */ lwz r0, 8(r10)
/* 80307198 00302DF8 7C 00 38 40 */ cmplw r0, r7
/* 8030719C 00302DFC 40 82 00 10 */ bne lbl_803071AC
/* 803071A0 00302E00 80 0A 00 04 */ lwz r0, 4(r10)
/* 803071A4 00302E04 7C 09 00 40 */ cmplw r9, r0
/* 803071A8 00302E08 41 82 00 30 */ beq lbl_803071D8
lbl_803071AC:
/* 803071AC 00302E0C 38 63 00 01 */ addi r3, r3, 1
/* 803071B0 00302E10 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
/* 803071B4 00302E14 7D 44 02 14 */ add r10, r4, r0
/* 803071B8 00302E18 80 0A 00 08 */ lwz r0, 8(r10)
/* 803071BC 00302E1C 7C 00 38 40 */ cmplw r0, r7
/* 803071C0 00302E20 40 82 00 10 */ bne lbl_803071D0
/* 803071C4 00302E24 80 0A 00 04 */ lwz r0, 4(r10)
/* 803071C8 00302E28 7C 09 00 40 */ cmplw r9, r0
/* 803071CC 00302E2C 41 82 00 0C */ beq lbl_803071D8
lbl_803071D0:
/* 803071D0 00302E30 38 63 00 01 */ addi r3, r3, 1
/* 803071D4 00302E34 42 00 FF B8 */ bdnz lbl_8030718C
lbl_803071D8:
/* 803071D8 00302E38 54 64 04 3E */ clrlwi r4, r3, 0x10
/* 803071DC 00302E3C 38 60 00 1A */ li r3, 0x1a
/* 803071E0 00302E40 38 04 FF E6 */ addi r0, r4, -26
/* 803071E4 00302E44 7C 83 1B 38 */ orc r3, r4, r3
/* 803071E8 00302E48 54 00 F8 7E */ srwi r0, r0, 1
/* 803071EC 00302E4C 7C 00 18 50 */ subf r0, r0, r3
/* 803071F0 00302E50 54 03 0F FE */ srwi r3, r0, 0x1f
lbl_803071F4:
/* 803071F4 00302E54 2C 03 00 00 */ cmpwi r3, 0
/* 803071F8 00302E58 41 82 00 08 */ beq lbl_80307200
/* 803071FC 00302E5C 48 00 00 AC */ b lbl_803072A8
lbl_80307200:
/* 80307200 00302E60 1C 08 00 34 */ mulli r0, r8, 0x34
/* 80307204 00302E64 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
/* 80307208 00302E68 7C A4 2B 78 */ mr r4, r5
/* 8030720C 00302E6C 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l
/* 80307210 00302E70 7C 63 02 14 */ add r3, r3, r0
/* 80307214 00302E74 7C C5 33 78 */ mr r5, r6
/* 80307218 00302E78 3B 63 01 A4 */ addi r27, r3, 0x1a4
/* 8030721C 00302E7C 7F C6 F3 78 */ mr r6, r30
/* 80307220 00302E80 7F 63 DB 78 */ mr r3, r27
/* 80307224 00302E84 38 E1 00 10 */ addi r7, r1, 0x10
/* 80307228 00302E88 39 01 00 0C */ addi r8, r1, 0xc
/* 8030722C 00302E8C 4B FF F8 F5 */ bl VFipdm_disk_convert_sector_into_block
/* 80307230 00302E90 2C 03 00 00 */ cmpwi r3, 0
/* 80307234 00302E94 41 82 00 08 */ beq lbl_8030723C
/* 80307238 00302E98 48 00 00 70 */ b lbl_803072A8
lbl_8030723C:
/* 8030723C 00302E9C 80 BB 00 04 */ lwz r5, 4(r27)
/* 80307240 00302EA0 7F 83 E3 78 */ mr r3, r28
/* 80307244 00302EA4 7F A4 EB 78 */ mr r4, r29
/* 80307248 00302EA8 7F E7 FB 78 */ mr r7, r31
/* 8030724C 00302EAC 81 85 00 14 */ lwz r12, 0x14(r5)
/* 80307250 00302EB0 80 A1 00 10 */ lwz r5, 0x10(r1)
/* 80307254 00302EB4 80 C1 00 0C */ lwz r6, 0xc(r1)
/* 80307258 00302EB8 7D 89 03 A6 */ mtctr r12
/* 8030725C 00302EBC 4E 80 04 21 */ bctrl
/* 80307260 00302EC0 80 81 00 10 */ lwz r4, 0x10(r1)
/* 80307264 00302EC4 7C 7C 1B 78 */ mr r28, r3
/* 80307268 00302EC8 80 BF 00 00 */ lwz r5, 0(r31)
/* 8030726C 00302ECC 7F 63 DB 78 */ mr r3, r27
/* 80307270 00302ED0 7F C6 F3 78 */ mr r6, r30
/* 80307274 00302ED4 7F E8 FB 78 */ mr r8, r31
/* 80307278 00302ED8 38 E1 00 08 */ addi r7, r1, 8
/* 8030727C 00302EDC 4B FF F9 55 */ bl VFipdm_disk_convert_block_into_sector
/* 80307280 00302EE0 2C 1C 00 00 */ cmpwi r28, 0
/* 80307284 00302EE4 41 82 00 20 */ beq lbl_803072A4
/* 80307288 00302EE8 80 7B 00 30 */ lwz r3, 0x30(r27)
/* 8030728C 00302EEC 2C 03 00 00 */ cmpwi r3, 0
/* 80307290 00302EF0 41 82 00 0C */ beq lbl_8030729C
/* 80307294 00302EF4 7F 84 E3 78 */ mr r4, r28
/* 80307298 00302EF8 48 00 15 21 */ bl VFipdm_part_set_driver_error_code
lbl_8030729C:
/* 8030729C 00302EFC 38 60 00 15 */ li r3, 0x15
/* 803072A0 00302F00 48 00 00 08 */ b lbl_803072A8
lbl_803072A4:
/* 803072A4 00302F04 38 60 00 00 */ li r3, 0
lbl_803072A8:
/* 803072A8 00302F08 39 61 00 30 */ addi r11, r1, 0x30
/* 803072AC 00302F0C 4B EB FE C9 */ bl _restgpr_27
/* 803072B0 00302F10 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803072B4 00302F14 7C 08 03 A6 */ mtlr r0
/* 803072B8 00302F18 38 21 00 30 */ addi r1, r1, 0x30
/* 803072BC 00302F1C 4E 80 00 20 */ blr
.global VFipdm_disk_physical_write
VFipdm_disk_physical_write:
/* 803072C0 00302F20 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803072C4 00302F24 7C 08 02 A6 */ mflr r0
/* 803072C8 00302F28 90 01 00 34 */ stw r0, 0x34(r1)
/* 803072CC 00302F2C 39 61 00 30 */ addi r11, r1, 0x30
/* 803072D0 00302F30 4B EB FE 59 */ bl _savegpr_27
/* 803072D4 00302F34 2C 03 00 00 */ cmpwi r3, 0
/* 803072D8 00302F38 7C 7C 1B 78 */ mr r28, r3
/* 803072DC 00302F3C 7C 9D 23 78 */ mr r29, r4
/* 803072E0 00302F40 7C FE 3B 78 */ mr r30, r7
/* 803072E4 00302F44 7D 1F 43 78 */ mr r31, r8
/* 803072E8 00302F48 41 82 00 24 */ beq lbl_8030730C
/* 803072EC 00302F4C 2C 04 00 00 */ cmpwi r4, 0
/* 803072F0 00302F50 41 82 00 1C */ beq lbl_8030730C
/* 803072F4 00302F54 2C 06 00 00 */ cmpwi r6, 0
/* 803072F8 00302F58 41 82 00 14 */ beq lbl_8030730C
/* 803072FC 00302F5C 2C 07 00 00 */ cmpwi r7, 0
/* 80307300 00302F60 41 82 00 0C */ beq lbl_8030730C
/* 80307304 00302F64 2C 08 00 00 */ cmpwi r8, 0
/* 80307308 00302F68 40 82 00 0C */ bne lbl_80307314
lbl_8030730C:
/* 8030730C 00302F6C 38 60 00 01 */ li r3, 1
/* 80307310 00302F70 48 00 01 70 */ b lbl_80307480
lbl_80307314:
/* 80307314 00302F74 54 68 06 3E */ clrlwi r8, r3, 0x18
/* 80307318 00302F78 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
/* 8030731C 00302F7C 28 08 00 1A */ cmplwi r8, 0x1a
/* 80307320 00302F80 54 69 84 3E */ srwi r9, r3, 0x10
/* 80307324 00302F84 40 80 00 28 */ bge lbl_8030734C
/* 80307328 00302F88 28 00 03 00 */ cmplwi r0, 0x300
/* 8030732C 00302F8C 40 82 00 20 */ bne lbl_8030734C
/* 80307330 00302F90 1C 08 00 34 */ mulli r0, r8, 0x34
/* 80307334 00302F94 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
/* 80307338 00302F98 38 83 EA 60 */ addi r4, r3, lbl_8057EA60@l
/* 8030733C 00302F9C 7C 64 02 14 */ add r3, r4, r0
/* 80307340 00302FA0 80 03 01 B0 */ lwz r0, 0x1b0(r3)
/* 80307344 00302FA4 7C 09 00 40 */ cmplw r9, r0
/* 80307348 00302FA8 40 81 00 0C */ ble lbl_80307354
lbl_8030734C:
/* 8030734C 00302FAC 38 60 00 01 */ li r3, 1
/* 80307350 00302FB0 48 00 00 7C */ b lbl_803073CC
lbl_80307354:
/* 80307354 00302FB4 38 00 00 0D */ li r0, 0xd
/* 80307358 00302FB8 38 E3 01 A4 */ addi r7, r3, 0x1a4
/* 8030735C 00302FBC 38 60 00 00 */ li r3, 0
/* 80307360 00302FC0 7C 09 03 A6 */ mtctr r0
lbl_80307364:
/* 80307364 00302FC4 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
/* 80307368 00302FC8 7D 44 02 14 */ add r10, r4, r0
/* 8030736C 00302FCC 80 0A 00 08 */ lwz r0, 8(r10)
/* 80307370 00302FD0 7C 00 38 40 */ cmplw r0, r7
/* 80307374 00302FD4 40 82 00 10 */ bne lbl_80307384
/* 80307378 00302FD8 80 0A 00 04 */ lwz r0, 4(r10)
/* 8030737C 00302FDC 7C 09 00 40 */ cmplw r9, r0
/* 80307380 00302FE0 41 82 00 30 */ beq lbl_803073B0
lbl_80307384:
/* 80307384 00302FE4 38 63 00 01 */ addi r3, r3, 1
/* 80307388 00302FE8 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
/* 8030738C 00302FEC 7D 44 02 14 */ add r10, r4, r0
/* 80307390 00302FF0 80 0A 00 08 */ lwz r0, 8(r10)
/* 80307394 00302FF4 7C 00 38 40 */ cmplw r0, r7
/* 80307398 00302FF8 40 82 00 10 */ bne lbl_803073A8
/* 8030739C 00302FFC 80 0A 00 04 */ lwz r0, 4(r10)
/* 803073A0 00303000 7C 09 00 40 */ cmplw r9, r0
/* 803073A4 00303004 41 82 00 0C */ beq lbl_803073B0
lbl_803073A8:
/* 803073A8 00303008 38 63 00 01 */ addi r3, r3, 1
/* 803073AC 0030300C 42 00 FF B8 */ bdnz lbl_80307364
lbl_803073B0:
/* 803073B0 00303010 54 64 04 3E */ clrlwi r4, r3, 0x10
/* 803073B4 00303014 38 60 00 1A */ li r3, 0x1a
/* 803073B8 00303018 38 04 FF E6 */ addi r0, r4, -26
/* 803073BC 0030301C 7C 83 1B 38 */ orc r3, r4, r3
/* 803073C0 00303020 54 00 F8 7E */ srwi r0, r0, 1
/* 803073C4 00303024 7C 00 18 50 */ subf r0, r0, r3
/* 803073C8 00303028 54 03 0F FE */ srwi r3, r0, 0x1f
lbl_803073CC:
/* 803073CC 0030302C 2C 03 00 00 */ cmpwi r3, 0
/* 803073D0 00303030 41 82 00 08 */ beq lbl_803073D8
/* 803073D4 00303034 48 00 00 AC */ b lbl_80307480
lbl_803073D8:
/* 803073D8 00303038 1C 08 00 34 */ mulli r0, r8, 0x34
/* 803073DC 0030303C 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
/* 803073E0 00303040 7C A4 2B 78 */ mr r4, r5
/* 803073E4 00303044 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l
/* 803073E8 00303048 7C 63 02 14 */ add r3, r3, r0
/* 803073EC 0030304C 7C C5 33 78 */ mr r5, r6
/* 803073F0 00303050 3B 63 01 A4 */ addi r27, r3, 0x1a4
/* 803073F4 00303054 7F C6 F3 78 */ mr r6, r30
/* 803073F8 00303058 7F 63 DB 78 */ mr r3, r27
/* 803073FC 0030305C 38 E1 00 10 */ addi r7, r1, 0x10
/* 80307400 00303060 39 01 00 0C */ addi r8, r1, 0xc
/* 80307404 00303064 4B FF F7 1D */ bl VFipdm_disk_convert_sector_into_block
/* 80307408 00303068 2C 03 00 00 */ cmpwi r3, 0
/* 8030740C 0030306C 41 82 00 08 */ beq lbl_80307414
/* 80307410 00303070 48 00 00 70 */ b lbl_80307480
lbl_80307414:
/* 80307414 00303074 80 BB 00 04 */ lwz r5, 4(r27)
/* 80307418 00303078 7F 83 E3 78 */ mr r3, r28
/* 8030741C 0030307C 7F A4 EB 78 */ mr r4, r29
/* 80307420 00303080 7F E7 FB 78 */ mr r7, r31
/* 80307424 00303084 81 85 00 18 */ lwz r12, 0x18(r5)
/* 80307428 00303088 80 A1 00 10 */ lwz r5, 0x10(r1)
/* 8030742C 0030308C 80 C1 00 0C */ lwz r6, 0xc(r1)
/* 80307430 00303090 7D 89 03 A6 */ mtctr r12
/* 80307434 00303094 4E 80 04 21 */ bctrl
/* 80307438 00303098 80 81 00 10 */ lwz r4, 0x10(r1)
/* 8030743C 0030309C 7C 7C 1B 78 */ mr r28, r3
/* 80307440 003030A0 80 BF 00 00 */ lwz r5, 0(r31)
/* 80307444 003030A4 7F 63 DB 78 */ mr r3, r27
/* 80307448 003030A8 7F C6 F3 78 */ mr r6, r30
/* 8030744C 003030AC 7F E8 FB 78 */ mr r8, r31
/* 80307450 003030B0 38 E1 00 08 */ addi r7, r1, 8
/* 80307454 003030B4 4B FF F7 7D */ bl VFipdm_disk_convert_block_into_sector
/* 80307458 003030B8 2C 1C 00 00 */ cmpwi r28, 0
/* 8030745C 003030BC 41 82 00 20 */ beq lbl_8030747C
/* 80307460 003030C0 80 7B 00 30 */ lwz r3, 0x30(r27)
/* 80307464 003030C4 2C 03 00 00 */ cmpwi r3, 0
/* 80307468 003030C8 41 82 00 0C */ beq lbl_80307474
/* 8030746C 003030CC 7F 84 E3 78 */ mr r4, r28
/* 80307470 003030D0 48 00 13 49 */ bl VFipdm_part_set_driver_error_code
lbl_80307474:
/* 80307474 003030D4 38 60 00 15 */ li r3, 0x15
/* 80307478 003030D8 48 00 00 08 */ b lbl_80307480
lbl_8030747C:
/* 8030747C 003030DC 38 60 00 00 */ li r3, 0
lbl_80307480:
/* 80307480 003030E0 39 61 00 30 */ addi r11, r1, 0x30
/* 80307484 003030E4 4B EB FC F1 */ bl _restgpr_27
/* 80307488 003030E8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8030748C 003030EC 7C 08 03 A6 */ mtlr r0
/* 80307490 003030F0 38 21 00 30 */ addi r1, r1, 0x30
/* 80307494 003030F4 4E 80 00 20 */ blr
.global VFipdm_disk_format
VFipdm_disk_format:
/* 80307498 003030F8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8030749C 003030FC 7C 08 02 A6 */ mflr r0
/* 803074A0 00303100 2C 03 00 00 */ cmpwi r3, 0
/* 803074A4 00303104 90 01 00 14 */ stw r0, 0x14(r1)
/* 803074A8 00303108 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803074AC 0030310C 40 82 00 0C */ bne lbl_803074B8
/* 803074B0 00303110 38 60 00 01 */ li r3, 1
/* 803074B4 00303114 48 00 01 14 */ b lbl_803075C8
lbl_803074B8:
/* 803074B8 00303118 54 68 06 3E */ clrlwi r8, r3, 0x18
/* 803074BC 0030311C 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
/* 803074C0 00303120 28 08 00 1A */ cmplwi r8, 0x1a
/* 803074C4 00303124 54 69 84 3E */ srwi r9, r3, 0x10
/* 803074C8 00303128 40 80 00 28 */ bge lbl_803074F0
/* 803074CC 0030312C 28 00 03 00 */ cmplwi r0, 0x300
/* 803074D0 00303130 40 82 00 20 */ bne lbl_803074F0
/* 803074D4 00303134 1C 08 00 34 */ mulli r0, r8, 0x34
/* 803074D8 00303138 3C A0 80 58 */ lis r5, lbl_8057EA60@ha
/* 803074DC 0030313C 38 C5 EA 60 */ addi r6, r5, lbl_8057EA60@l
/* 803074E0 00303140 7C A6 02 14 */ add r5, r6, r0
/* 803074E4 00303144 80 05 01 B0 */ lwz r0, 0x1b0(r5)
/* 803074E8 00303148 7C 09 00 40 */ cmplw r9, r0
/* 803074EC 0030314C 40 81 00 0C */ ble lbl_803074F8
lbl_803074F0:
/* 803074F0 00303150 38 00 00 01 */ li r0, 1
/* 803074F4 00303154 48 00 00 7C */ b lbl_80307570
lbl_803074F8:
/* 803074F8 00303158 38 00 00 0D */ li r0, 0xd
/* 803074FC 0030315C 38 E5 01 A4 */ addi r7, r5, 0x1a4
/* 80307500 00303160 38 A0 00 00 */ li r5, 0
/* 80307504 00303164 7C 09 03 A6 */ mtctr r0
lbl_80307508:
/* 80307508 00303168 54 A0 1B 78 */ rlwinm r0, r5, 3, 0xd, 0x1c
/* 8030750C 0030316C 7D 46 02 14 */ add r10, r6, r0
/* 80307510 00303170 80 0A 00 08 */ lwz r0, 8(r10)
/* 80307514 00303174 7C 00 38 40 */ cmplw r0, r7
/* 80307518 00303178 40 82 00 10 */ bne lbl_80307528
/* 8030751C 0030317C 80 0A 00 04 */ lwz r0, 4(r10)
/* 80307520 00303180 7C 09 00 40 */ cmplw r9, r0
/* 80307524 00303184 41 82 00 30 */ beq lbl_80307554
lbl_80307528:
/* 80307528 00303188 38 A5 00 01 */ addi r5, r5, 1
/* 8030752C 0030318C 54 A0 1B 78 */ rlwinm r0, r5, 3, 0xd, 0x1c
/* 80307530 00303190 7D 46 02 14 */ add r10, r6, r0
/* 80307534 00303194 80 0A 00 08 */ lwz r0, 8(r10)
/* 80307538 00303198 7C 00 38 40 */ cmplw r0, r7
/* 8030753C 0030319C 40 82 00 10 */ bne lbl_8030754C
/* 80307540 003031A0 80 0A 00 04 */ lwz r0, 4(r10)
/* 80307544 003031A4 7C 09 00 40 */ cmplw r9, r0
/* 80307548 003031A8 41 82 00 0C */ beq lbl_80307554
lbl_8030754C:
/* 8030754C 003031AC 38 A5 00 01 */ addi r5, r5, 1
/* 80307550 003031B0 42 00 FF B8 */ bdnz lbl_80307508
lbl_80307554:
/* 80307554 003031B4 54 A6 04 3E */ clrlwi r6, r5, 0x10
/* 80307558 003031B8 38 A0 00 1A */ li r5, 0x1a
/* 8030755C 003031BC 38 06 FF E6 */ addi r0, r6, -26
/* 80307560 003031C0 7C C5 2B 38 */ orc r5, r6, r5
/* 80307564 003031C4 54 00 F8 7E */ srwi r0, r0, 1
/* 80307568 003031C8 7C 00 28 50 */ subf r0, r0, r5
/* 8030756C 003031CC 54 00 0F FE */ srwi r0, r0, 0x1f
lbl_80307570:
/* 80307570 003031D0 2C 00 00 00 */ cmpwi r0, 0
/* 80307574 003031D4 41 82 00 0C */ beq lbl_80307580
/* 80307578 003031D8 7C 03 03 78 */ mr r3, r0
/* 8030757C 003031DC 48 00 00 4C */ b lbl_803075C8
lbl_80307580:
/* 80307580 003031E0 1C 08 00 34 */ mulli r0, r8, 0x34
/* 80307584 003031E4 3C A0 80 58 */ lis r5, lbl_8057EA60@ha
/* 80307588 003031E8 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l
/* 8030758C 003031EC 7F E5 02 14 */ add r31, r5, r0
/* 80307590 003031F0 80 BF 01 A8 */ lwz r5, 0x1a8(r31)
/* 80307594 003031F4 81 85 00 10 */ lwz r12, 0x10(r5)
/* 80307598 003031F8 7D 89 03 A6 */ mtctr r12
/* 8030759C 003031FC 4E 80 04 21 */ bctrl
/* 803075A0 00303200 2C 03 00 00 */ cmpwi r3, 0
/* 803075A4 00303204 7C 64 1B 78 */ mr r4, r3
/* 803075A8 00303208 41 82 00 1C */ beq lbl_803075C4
/* 803075AC 0030320C 80 7F 01 D4 */ lwz r3, 0x1d4(r31)
/* 803075B0 00303210 2C 03 00 00 */ cmpwi r3, 0
/* 803075B4 00303214 41 82 00 08 */ beq lbl_803075BC
/* 803075B8 00303218 48 00 12 01 */ bl VFipdm_part_set_driver_error_code
lbl_803075BC:
/* 803075BC 0030321C 38 60 00 15 */ li r3, 0x15
/* 803075C0 00303220 48 00 00 08 */ b lbl_803075C8
lbl_803075C4:
/* 803075C4 00303224 38 60 00 00 */ li r3, 0
lbl_803075C8:
/* 803075C8 00303228 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803075CC 0030322C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803075D0 00303230 7C 08 03 A6 */ mtlr r0
/* 803075D4 00303234 38 21 00 10 */ addi r1, r1, 0x10
/* 803075D8 00303238 4E 80 00 20 */ blr
.global VFipdm_disk_get_lba_size
VFipdm_disk_get_lba_size:
/* 803075DC 0030323C 2C 03 00 00 */ cmpwi r3, 0
/* 803075E0 00303240 41 82 00 0C */ beq lbl_803075EC
/* 803075E4 00303244 2C 04 00 00 */ cmpwi r4, 0
/* 803075E8 00303248 40 82 00 0C */ bne lbl_803075F4
lbl_803075EC:
/* 803075EC 0030324C 38 60 00 01 */ li r3, 1
/* 803075F0 00303250 4E 80 00 20 */ blr
lbl_803075F4:
/* 803075F4 00303254 54 67 06 3E */ clrlwi r7, r3, 0x18
/* 803075F8 00303258 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
/* 803075FC 0030325C 28 07 00 1A */ cmplwi r7, 0x1a
/* 80307600 00303260 54 68 84 3E */ srwi r8, r3, 0x10
/* 80307604 00303264 40 80 00 28 */ bge lbl_8030762C
/* 80307608 00303268 28 00 03 00 */ cmplwi r0, 0x300
/* 8030760C 0030326C 40 82 00 20 */ bne lbl_8030762C
/* 80307610 00303270 1C 07 00 34 */ mulli r0, r7, 0x34
/* 80307614 00303274 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
/* 80307618 00303278 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l
/* 8030761C 0030327C 7C 65 02 14 */ add r3, r5, r0
/* 80307620 00303280 80 03 01 B0 */ lwz r0, 0x1b0(r3)
/* 80307624 00303284 7C 08 00 40 */ cmplw r8, r0
/* 80307628 00303288 40 81 00 0C */ ble lbl_80307634
lbl_8030762C:
/* 8030762C 0030328C 38 60 00 01 */ li r3, 1
/* 80307630 00303290 48 00 00 7C */ b lbl_803076AC
lbl_80307634:
/* 80307634 00303294 38 00 00 0D */ li r0, 0xd
/* 80307638 00303298 38 C3 01 A4 */ addi r6, r3, 0x1a4
/* 8030763C 0030329C 38 60 00 00 */ li r3, 0
/* 80307640 003032A0 7C 09 03 A6 */ mtctr r0
lbl_80307644:
/* 80307644 003032A4 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
/* 80307648 003032A8 7D 25 02 14 */ add r9, r5, r0
/* 8030764C 003032AC 80 09 00 08 */ lwz r0, 8(r9)
/* 80307650 003032B0 7C 00 30 40 */ cmplw r0, r6
/* 80307654 003032B4 40 82 00 10 */ bne lbl_80307664
/* 80307658 003032B8 80 09 00 04 */ lwz r0, 4(r9)
/* 8030765C 003032BC 7C 08 00 40 */ cmplw r8, r0
/* 80307660 003032C0 41 82 00 30 */ beq lbl_80307690
lbl_80307664:
/* 80307664 003032C4 38 63 00 01 */ addi r3, r3, 1
/* 80307668 003032C8 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
/* 8030766C 003032CC 7D 25 02 14 */ add r9, r5, r0
/* 80307670 003032D0 80 09 00 08 */ lwz r0, 8(r9)
/* 80307674 003032D4 7C 00 30 40 */ cmplw r0, r6
/* 80307678 003032D8 40 82 00 10 */ bne lbl_80307688
/* 8030767C 003032DC 80 09 00 04 */ lwz r0, 4(r9)
/* 80307680 003032E0 7C 08 00 40 */ cmplw r8, r0
/* 80307684 003032E4 41 82 00 0C */ beq lbl_80307690
lbl_80307688:
/* 80307688 003032E8 38 63 00 01 */ addi r3, r3, 1
/* 8030768C 003032EC 42 00 FF B8 */ bdnz lbl_80307644
lbl_80307690:
/* 80307690 003032F0 54 65 04 3E */ clrlwi r5, r3, 0x10
/* 80307694 003032F4 38 60 00 1A */ li r3, 0x1a
/* 80307698 003032F8 38 05 FF E6 */ addi r0, r5, -26
/* 8030769C 003032FC 7C A3 1B 38 */ orc r3, r5, r3
/* 803076A0 00303300 54 00 F8 7E */ srwi r0, r0, 1
/* 803076A4 00303304 7C 00 18 50 */ subf r0, r0, r3
/* 803076A8 00303308 54 03 0F FE */ srwi r3, r0, 0x1f
lbl_803076AC:
/* 803076AC 0030330C 2C 03 00 00 */ cmpwi r3, 0
/* 803076B0 00303310 4C 82 00 20 */ bnelr
/* 803076B4 00303314 1C 07 00 34 */ mulli r0, r7, 0x34
/* 803076B8 00303318 3C A0 80 58 */ lis r5, lbl_8057EA60@ha
/* 803076BC 0030331C 38 60 00 00 */ li r3, 0
/* 803076C0 00303320 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l
/* 803076C4 00303324 7C A5 02 14 */ add r5, r5, r0
/* 803076C8 00303328 A0 05 01 C4 */ lhz r0, 0x1c4(r5)
/* 803076CC 0030332C B0 04 00 00 */ sth r0, 0(r4)
/* 803076D0 00303330 4E 80 00 20 */ blr
.global VFipdm_disk_get_media_information
VFipdm_disk_get_media_information:
/* 803076D4 00303334 2C 03 00 00 */ cmpwi r3, 0
/* 803076D8 00303338 41 82 00 0C */ beq lbl_803076E4
/* 803076DC 0030333C 2C 04 00 00 */ cmpwi r4, 0
/* 803076E0 00303340 40 82 00 0C */ bne lbl_803076EC
lbl_803076E4:
/* 803076E4 00303344 38 60 00 01 */ li r3, 1
/* 803076E8 00303348 4E 80 00 20 */ blr
lbl_803076EC:
/* 803076EC 0030334C 54 67 06 3E */ clrlwi r7, r3, 0x18
/* 803076F0 00303350 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
/* 803076F4 00303354 28 07 00 1A */ cmplwi r7, 0x1a
/* 803076F8 00303358 54 68 84 3E */ srwi r8, r3, 0x10
/* 803076FC 0030335C 40 80 00 28 */ bge lbl_80307724
/* 80307700 00303360 28 00 03 00 */ cmplwi r0, 0x300
/* 80307704 00303364 40 82 00 20 */ bne lbl_80307724
/* 80307708 00303368 1C 07 00 34 */ mulli r0, r7, 0x34
/* 8030770C 0030336C 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
/* 80307710 00303370 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l
/* 80307714 00303374 7C 65 02 14 */ add r3, r5, r0
/* 80307718 00303378 80 03 01 B0 */ lwz r0, 0x1b0(r3)
/* 8030771C 0030337C 7C 08 00 40 */ cmplw r8, r0
/* 80307720 00303380 40 81 00 0C */ ble lbl_8030772C
lbl_80307724:
/* 80307724 00303384 38 60 00 01 */ li r3, 1
/* 80307728 00303388 48 00 00 7C */ b lbl_803077A4
lbl_8030772C:
/* 8030772C 0030338C 38 00 00 0D */ li r0, 0xd
/* 80307730 00303390 38 C3 01 A4 */ addi r6, r3, 0x1a4
/* 80307734 00303394 38 60 00 00 */ li r3, 0
/* 80307738 00303398 7C 09 03 A6 */ mtctr r0
lbl_8030773C:
/* 8030773C 0030339C 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
/* 80307740 003033A0 7D 25 02 14 */ add r9, r5, r0
/* 80307744 003033A4 80 09 00 08 */ lwz r0, 8(r9)
/* 80307748 003033A8 7C 00 30 40 */ cmplw r0, r6
/* 8030774C 003033AC 40 82 00 10 */ bne lbl_8030775C
/* 80307750 003033B0 80 09 00 04 */ lwz r0, 4(r9)
/* 80307754 003033B4 7C 08 00 40 */ cmplw r8, r0
/* 80307758 003033B8 41 82 00 30 */ beq lbl_80307788
lbl_8030775C:
/* 8030775C 003033BC 38 63 00 01 */ addi r3, r3, 1
/* 80307760 003033C0 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
/* 80307764 003033C4 7D 25 02 14 */ add r9, r5, r0
/* 80307768 003033C8 80 09 00 08 */ lwz r0, 8(r9)
/* 8030776C 003033CC 7C 00 30 40 */ cmplw r0, r6
/* 80307770 003033D0 40 82 00 10 */ bne lbl_80307780
/* 80307774 003033D4 80 09 00 04 */ lwz r0, 4(r9)
/* 80307778 003033D8 7C 08 00 40 */ cmplw r8, r0
/* 8030777C 003033DC 41 82 00 0C */ beq lbl_80307788
lbl_80307780:
/* 80307780 003033E0 38 63 00 01 */ addi r3, r3, 1
/* 80307784 003033E4 42 00 FF B8 */ bdnz lbl_8030773C
lbl_80307788:
/* 80307788 003033E8 54 65 04 3E */ clrlwi r5, r3, 0x10
/* 8030778C 003033EC 38 60 00 1A */ li r3, 0x1a
/* 80307790 003033F0 38 05 FF E6 */ addi r0, r5, -26
/* 80307794 003033F4 7C A3 1B 38 */ orc r3, r5, r3
/* 80307798 003033F8 54 00 F8 7E */ srwi r0, r0, 1
/* 8030779C 003033FC 7C 00 18 50 */ subf r0, r0, r3
/* 803077A0 00303400 54 03 0F FE */ srwi r3, r0, 0x1f
lbl_803077A4:
/* 803077A4 00303404 2C 03 00 00 */ cmpwi r3, 0
/* 803077A8 00303408 4C 82 00 20 */ bnelr
/* 803077AC 0030340C 1C 07 00 34 */ mulli r0, r7, 0x34
/* 803077B0 00303410 3C A0 80 58 */ lis r5, lbl_8057EA60@ha
/* 803077B4 00303414 38 60 00 00 */ li r3, 0
/* 803077B8 00303418 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l
/* 803077BC 0030341C 7C C5 02 14 */ add r6, r5, r0
/* 803077C0 00303420 80 A6 01 BC */ lwz r5, 0x1bc(r6)
/* 803077C4 00303424 80 06 01 C0 */ lwz r0, 0x1c0(r6)
/* 803077C8 00303428 90 A4 00 00 */ stw r5, 0(r4)
/* 803077CC 0030342C 90 04 00 04 */ stw r0, 4(r4)
/* 803077D0 00303430 80 A6 01 C4 */ lwz r5, 0x1c4(r6)
/* 803077D4 00303434 80 06 01 C8 */ lwz r0, 0x1c8(r6)
/* 803077D8 00303438 90 A4 00 08 */ stw r5, 8(r4)
/* 803077DC 0030343C 90 04 00 0C */ stw r0, 0xc(r4)
/* 803077E0 00303440 80 06 01 CC */ lwz r0, 0x1cc(r6)
/* 803077E4 00303444 90 04 00 10 */ stw r0, 0x10(r4)
/* 803077E8 00303448 4E 80 00 20 */ blr
.global VFipdm_disk_set_disk
VFipdm_disk_set_disk:
/* 803077EC 0030344C 2C 03 00 00 */ cmpwi r3, 0
/* 803077F0 00303450 41 82 00 0C */ beq lbl_803077FC
/* 803077F4 00303454 2C 04 00 00 */ cmpwi r4, 0
/* 803077F8 00303458 40 82 00 0C */ bne lbl_80307804
lbl_803077FC:
/* 803077FC 0030345C 38 60 00 01 */ li r3, 1
/* 80307800 00303460 4E 80 00 20 */ blr
lbl_80307804:
/* 80307804 00303464 54 67 06 3E */ clrlwi r7, r3, 0x18
/* 80307808 00303468 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
/* 8030780C 0030346C 28 07 00 1A */ cmplwi r7, 0x1a
/* 80307810 00303470 54 68 84 3E */ srwi r8, r3, 0x10
/* 80307814 00303474 40 80 00 28 */ bge lbl_8030783C
/* 80307818 00303478 28 00 03 00 */ cmplwi r0, 0x300
/* 8030781C 0030347C 40 82 00 20 */ bne lbl_8030783C
/* 80307820 00303480 1C 07 00 34 */ mulli r0, r7, 0x34
/* 80307824 00303484 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
/* 80307828 00303488 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l
/* 8030782C 0030348C 7C 65 02 14 */ add r3, r5, r0
/* 80307830 00303490 80 03 01 B0 */ lwz r0, 0x1b0(r3)
/* 80307834 00303494 7C 08 00 40 */ cmplw r8, r0
/* 80307838 00303498 40 81 00 0C */ ble lbl_80307844
lbl_8030783C:
/* 8030783C 0030349C 38 60 00 01 */ li r3, 1
/* 80307840 003034A0 48 00 00 7C */ b lbl_803078BC
lbl_80307844:
/* 80307844 003034A4 38 00 00 0D */ li r0, 0xd
/* 80307848 003034A8 38 C3 01 A4 */ addi r6, r3, 0x1a4
/* 8030784C 003034AC 38 60 00 00 */ li r3, 0
/* 80307850 003034B0 7C 09 03 A6 */ mtctr r0
lbl_80307854:
/* 80307854 003034B4 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
/* 80307858 003034B8 7D 25 02 14 */ add r9, r5, r0
/* 8030785C 003034BC 80 09 00 08 */ lwz r0, 8(r9)
/* 80307860 003034C0 7C 00 30 40 */ cmplw r0, r6
/* 80307864 003034C4 40 82 00 10 */ bne lbl_80307874
/* 80307868 003034C8 80 09 00 04 */ lwz r0, 4(r9)
/* 8030786C 003034CC 7C 08 00 40 */ cmplw r8, r0
/* 80307870 003034D0 41 82 00 30 */ beq lbl_803078A0
lbl_80307874:
/* 80307874 003034D4 38 63 00 01 */ addi r3, r3, 1
/* 80307878 003034D8 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
/* 8030787C 003034DC 7D 25 02 14 */ add r9, r5, r0
/* 80307880 003034E0 80 09 00 08 */ lwz r0, 8(r9)
/* 80307884 003034E4 7C 00 30 40 */ cmplw r0, r6
/* 80307888 003034E8 40 82 00 10 */ bne lbl_80307898
/* 8030788C 003034EC 80 09 00 04 */ lwz r0, 4(r9)
/* 80307890 003034F0 7C 08 00 40 */ cmplw r8, r0
/* 80307894 003034F4 41 82 00 0C */ beq lbl_803078A0
lbl_80307898:
/* 80307898 003034F8 38 63 00 01 */ addi r3, r3, 1
/* 8030789C 003034FC 42 00 FF B8 */ bdnz lbl_80307854
lbl_803078A0:
/* 803078A0 00303500 54 65 04 3E */ clrlwi r5, r3, 0x10
/* 803078A4 00303504 38 60 00 1A */ li r3, 0x1a
/* 803078A8 00303508 38 05 FF E6 */ addi r0, r5, -26
/* 803078AC 0030350C 7C A3 1B 38 */ orc r3, r5, r3
/* 803078B0 00303510 54 00 F8 7E */ srwi r0, r0, 1
/* 803078B4 00303514 7C 00 18 50 */ subf r0, r0, r3
/* 803078B8 00303518 54 03 0F FE */ srwi r3, r0, 0x1f
lbl_803078BC:
/* 803078BC 0030351C 2C 03 00 00 */ cmpwi r3, 0
/* 803078C0 00303520 4C 82 00 20 */ bnelr
/* 803078C4 00303524 1C 07 00 34 */ mulli r0, r7, 0x34
/* 803078C8 00303528 3C A0 80 58 */ lis r5, lbl_8057EA60@ha
/* 803078CC 0030352C 38 60 00 00 */ li r3, 0
/* 803078D0 00303530 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l
/* 803078D4 00303534 7C A5 02 14 */ add r5, r5, r0
/* 803078D8 00303538 90 85 01 D4 */ stw r4, 0x1d4(r5)
/* 803078DC 0030353C 4E 80 00 20 */ blr
|