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
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global VFipdm_part_get_start_sector
VFipdm_part_get_start_sector:
/* 803078E0 00303540 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 803078E4 00303544 7C 08 02 A6 */ mflr r0
/* 803078E8 00303548 90 01 00 94 */ stw r0, 0x94(r1)
/* 803078EC 0030354C 38 81 00 20 */ addi r4, r1, 0x20
/* 803078F0 00303550 93 E1 00 8C */ stw r31, 0x8c(r1)
/* 803078F4 00303554 7C 7F 1B 78 */ mr r31, r3
/* 803078F8 00303558 93 C1 00 88 */ stw r30, 0x88(r1)
/* 803078FC 0030355C 93 A1 00 84 */ stw r29, 0x84(r1)
/* 80307900 00303560 A3 C3 00 0C */ lhz r30, 0xc(r3)
/* 80307904 00303564 80 63 00 04 */ lwz r3, 4(r3)
/* 80307908 00303568 48 00 0F FD */ bl VFipdm_mbr_get_mbr_part_table
/* 8030790C 0030356C 2C 03 00 00 */ cmpwi r3, 0
/* 80307910 00303570 41 82 00 10 */ beq lbl_80307920
/* 80307914 00303574 2C 03 00 05 */ cmpwi r3, 5
/* 80307918 00303578 41 82 00 08 */ beq lbl_80307920
/* 8030791C 0030357C 48 00 01 08 */ b lbl_80307A24
lbl_80307920:
/* 80307920 00303580 2C 03 00 05 */ cmpwi r3, 5
/* 80307924 00303584 41 82 00 BC */ beq lbl_803079E0
/* 80307928 00303588 28 1E 00 04 */ cmplwi r30, 4
/* 8030792C 0030358C 40 80 00 48 */ bge lbl_80307974
/* 80307930 00303590 1C BE 00 14 */ mulli r5, r30, 0x14
/* 80307934 00303594 38 61 00 34 */ addi r3, r1, 0x34
/* 80307938 00303598 7C 03 28 2E */ lwzx r0, r3, r5
/* 8030793C 0030359C 2C 00 00 00 */ cmpwi r0, 0
/* 80307940 003035A0 40 82 00 0C */ bne lbl_8030794C
/* 80307944 003035A4 38 60 00 07 */ li r3, 7
/* 80307948 003035A8 48 00 00 DC */ b lbl_80307A24
lbl_8030794C:
/* 8030794C 003035AC 90 1F 00 14 */ stw r0, 0x14(r31)
/* 80307950 003035B0 38 81 00 38 */ addi r4, r1, 0x38
/* 80307954 003035B4 38 61 00 29 */ addi r3, r1, 0x29
/* 80307958 003035B8 7C 04 28 2E */ lwzx r0, r4, r5
/* 8030795C 003035BC 90 1F 00 18 */ stw r0, 0x18(r31)
/* 80307960 003035C0 7C 03 28 AE */ lbzx r0, r3, r5
/* 80307964 003035C4 98 1F 00 20 */ stb r0, 0x20(r31)
/* 80307968 003035C8 80 01 00 20 */ lwz r0, 0x20(r1)
/* 8030796C 003035CC 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 80307970 003035D0 48 00 00 B0 */ b lbl_80307A20
lbl_80307974:
/* 80307974 003035D4 3B A0 00 04 */ li r29, 4
lbl_80307978:
/* 80307978 003035D8 80 7F 00 04 */ lwz r3, 4(r31)
/* 8030797C 003035DC 38 81 00 20 */ addi r4, r1, 0x20
/* 80307980 003035E0 48 00 10 45 */ bl VFipdm_mbr_get_epbr_part_table
/* 80307984 003035E4 2C 03 00 00 */ cmpwi r3, 0
/* 80307988 003035E8 41 82 00 10 */ beq lbl_80307998
/* 8030798C 003035EC 2C 03 00 06 */ cmpwi r3, 6
/* 80307990 003035F0 41 82 00 08 */ beq lbl_80307998
/* 80307994 003035F4 48 00 00 90 */ b lbl_80307A24
lbl_80307998:
/* 80307998 003035F8 2C 03 00 06 */ cmpwi r3, 6
/* 8030799C 003035FC 41 82 00 34 */ beq lbl_803079D0
/* 803079A0 00303600 57 A0 04 3E */ clrlwi r0, r29, 0x10
/* 803079A4 00303604 7C 1E 00 40 */ cmplw r30, r0
/* 803079A8 00303608 40 82 00 30 */ bne lbl_803079D8
/* 803079AC 0030360C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803079B0 00303610 90 1F 00 14 */ stw r0, 0x14(r31)
/* 803079B4 00303614 80 01 00 38 */ lwz r0, 0x38(r1)
/* 803079B8 00303618 90 1F 00 18 */ stw r0, 0x18(r31)
/* 803079BC 0030361C 88 01 00 29 */ lbz r0, 0x29(r1)
/* 803079C0 00303620 98 1F 00 20 */ stb r0, 0x20(r31)
/* 803079C4 00303624 80 01 00 20 */ lwz r0, 0x20(r1)
/* 803079C8 00303628 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 803079CC 0030362C 48 00 00 54 */ b lbl_80307A20
lbl_803079D0:
/* 803079D0 00303630 38 60 00 07 */ li r3, 7
/* 803079D4 00303634 48 00 00 50 */ b lbl_80307A24
lbl_803079D8:
/* 803079D8 00303638 3B BD 00 01 */ addi r29, r29, 1
/* 803079DC 0030363C 4B FF FF 9C */ b lbl_80307978
lbl_803079E0:
/* 803079E0 00303640 28 1E 00 01 */ cmplwi r30, 1
/* 803079E4 00303644 41 80 00 0C */ blt lbl_803079F0
/* 803079E8 00303648 38 60 00 07 */ li r3, 7
/* 803079EC 0030364C 48 00 00 38 */ b lbl_80307A24
lbl_803079F0:
/* 803079F0 00303650 80 7F 00 04 */ lwz r3, 4(r31)
/* 803079F4 00303654 38 81 00 08 */ addi r4, r1, 8
/* 803079F8 00303658 4B FF FC DD */ bl VFipdm_disk_get_media_information
/* 803079FC 0030365C 2C 03 00 00 */ cmpwi r3, 0
/* 80307A00 00303660 41 82 00 08 */ beq lbl_80307A08
/* 80307A04 00303664 48 00 00 20 */ b lbl_80307A24
lbl_80307A08:
/* 80307A08 00303668 38 60 00 00 */ li r3, 0
/* 80307A0C 0030366C 90 7F 00 14 */ stw r3, 0x14(r31)
/* 80307A10 00303670 80 01 00 08 */ lwz r0, 8(r1)
/* 80307A14 00303674 90 1F 00 18 */ stw r0, 0x18(r31)
/* 80307A18 00303678 98 7F 00 20 */ stb r3, 0x20(r31)
/* 80307A1C 0030367C 90 7F 00 1C */ stw r3, 0x1c(r31)
lbl_80307A20:
/* 80307A20 00303680 38 60 00 00 */ li r3, 0
lbl_80307A24:
/* 80307A24 00303684 80 01 00 94 */ lwz r0, 0x94(r1)
/* 80307A28 00303688 83 E1 00 8C */ lwz r31, 0x8c(r1)
/* 80307A2C 0030368C 83 C1 00 88 */ lwz r30, 0x88(r1)
/* 80307A30 00303690 83 A1 00 84 */ lwz r29, 0x84(r1)
/* 80307A34 00303694 7C 08 03 A6 */ mtlr r0
/* 80307A38 00303698 38 21 00 90 */ addi r1, r1, 0x90
/* 80307A3C 0030369C 4E 80 00 20 */ blr
.global VFipdm_part_chg_ltop
VFipdm_part_chg_ltop:
/* 80307A40 003036A0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80307A44 003036A4 7C 08 02 A6 */ mflr r0
/* 80307A48 003036A8 90 01 00 24 */ stw r0, 0x24(r1)
/* 80307A4C 003036AC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80307A50 003036B0 7C BF 2B 78 */ mr r31, r5
/* 80307A54 003036B4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80307A58 003036B8 7C 9E 23 78 */ mr r30, r4
/* 80307A5C 003036BC 38 81 00 08 */ addi r4, r1, 8
/* 80307A60 003036C0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80307A64 003036C4 7C 7D 1B 78 */ mr r29, r3
/* 80307A68 003036C8 80 63 00 04 */ lwz r3, 4(r3)
/* 80307A6C 003036CC 4B FF FB 71 */ bl VFipdm_disk_get_lba_size
/* 80307A70 003036D0 A0 01 00 08 */ lhz r0, 8(r1)
/* 80307A74 003036D4 7C 1F 00 40 */ cmplw r31, r0
/* 80307A78 003036D8 40 82 00 18 */ bne lbl_80307A90
/* 80307A7C 003036DC 80 1D 00 1C */ lwz r0, 0x1c(r29)
/* 80307A80 003036E0 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 80307A84 003036E4 7C 00 F2 14 */ add r0, r0, r30
/* 80307A88 003036E8 7C 63 02 14 */ add r3, r3, r0
/* 80307A8C 003036EC 48 00 00 74 */ b lbl_80307B00
lbl_80307A90:
/* 80307A90 003036F0 54 04 BE 7E */ rlwinm r4, r0, 0x17, 0x19, 0x1f
/* 80307A94 003036F4 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 80307A98 003036F8 80 1D 00 1C */ lwz r0, 0x1c(r29)
/* 80307A9C 003036FC 28 04 00 02 */ cmplwi r4, 2
/* 80307AA0 00303700 7C 03 02 14 */ add r0, r3, r0
/* 80307AA4 00303704 40 82 00 0C */ bne lbl_80307AB0
/* 80307AA8 00303708 54 00 08 3C */ slwi r0, r0, 1
/* 80307AAC 0030370C 48 00 00 20 */ b lbl_80307ACC
lbl_80307AB0:
/* 80307AB0 00303710 28 04 00 04 */ cmplwi r4, 4
/* 80307AB4 00303714 40 82 00 0C */ bne lbl_80307AC0
/* 80307AB8 00303718 54 00 10 3A */ slwi r0, r0, 2
/* 80307ABC 0030371C 48 00 00 10 */ b lbl_80307ACC
lbl_80307AC0:
/* 80307AC0 00303720 28 04 00 08 */ cmplwi r4, 8
/* 80307AC4 00303724 40 82 00 08 */ bne lbl_80307ACC
/* 80307AC8 00303728 54 00 18 38 */ slwi r0, r0, 3
lbl_80307ACC:
/* 80307ACC 0030372C 57 E3 BE 7E */ rlwinm r3, r31, 0x17, 0x19, 0x1f
/* 80307AD0 00303730 28 03 00 02 */ cmplwi r3, 2
/* 80307AD4 00303734 40 82 00 0C */ bne lbl_80307AE0
/* 80307AD8 00303738 54 00 F8 7E */ srwi r0, r0, 1
/* 80307ADC 0030373C 48 00 00 20 */ b lbl_80307AFC
lbl_80307AE0:
/* 80307AE0 00303740 28 03 00 04 */ cmplwi r3, 4
/* 80307AE4 00303744 40 82 00 0C */ bne lbl_80307AF0
/* 80307AE8 00303748 54 00 F0 BE */ srwi r0, r0, 2
/* 80307AEC 0030374C 48 00 00 10 */ b lbl_80307AFC
lbl_80307AF0:
/* 80307AF0 00303750 28 03 00 08 */ cmplwi r3, 8
/* 80307AF4 00303754 40 82 00 08 */ bne lbl_80307AFC
/* 80307AF8 00303758 54 00 E8 FE */ srwi r0, r0, 3
lbl_80307AFC:
/* 80307AFC 0030375C 7C 7E 02 14 */ add r3, r30, r0
lbl_80307B00:
/* 80307B00 00303760 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80307B04 00303764 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80307B08 00303768 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80307B0C 0030376C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80307B10 00303770 7C 08 03 A6 */ mtlr r0
/* 80307B14 00303774 38 21 00 20 */ addi r1, r1, 0x20
/* 80307B18 00303778 4E 80 00 20 */ blr
.global VFipdm_part_get_permission
VFipdm_part_get_permission:
/* 80307B1C 0030377C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80307B20 00303780 7C 08 02 A6 */ mflr r0
/* 80307B24 00303784 2C 03 00 00 */ cmpwi r3, 0
/* 80307B28 00303788 7C 64 1B 78 */ mr r4, r3
/* 80307B2C 0030378C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80307B30 00303790 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80307B34 00303794 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80307B38 00303798 40 82 00 0C */ bne lbl_80307B44
/* 80307B3C 0030379C 38 60 00 01 */ li r3, 1
/* 80307B40 003037A0 48 00 01 A8 */ b lbl_80307CE8
lbl_80307B44:
/* 80307B44 003037A4 54 67 06 3E */ clrlwi r7, r3, 0x18
/* 80307B48 003037A8 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
/* 80307B4C 003037AC 28 07 00 1A */ cmplwi r7, 0x1a
/* 80307B50 003037B0 54 68 84 3E */ srwi r8, r3, 0x10
/* 80307B54 003037B4 40 80 00 28 */ bge lbl_80307B7C
/* 80307B58 003037B8 28 00 04 00 */ cmplwi r0, 0x400
/* 80307B5C 003037BC 40 82 00 20 */ bne lbl_80307B7C
/* 80307B60 003037C0 1C 07 00 2C */ mulli r0, r7, 0x2c
/* 80307B64 003037C4 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
/* 80307B68 003037C8 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l
/* 80307B6C 003037CC 7C 65 02 14 */ add r3, r5, r0
/* 80307B70 003037D0 80 03 06 F4 */ lwz r0, 0x6f4(r3)
/* 80307B74 003037D4 7C 08 00 40 */ cmplw r8, r0
/* 80307B78 003037D8 40 81 00 0C */ ble lbl_80307B84
lbl_80307B7C:
/* 80307B7C 003037DC 38 60 00 01 */ li r3, 1
/* 80307B80 003037E0 48 00 00 7C */ b lbl_80307BFC
lbl_80307B84:
/* 80307B84 003037E4 38 00 00 0D */ li r0, 0xd
/* 80307B88 003037E8 38 C3 06 EC */ addi r6, r3, 0x6ec
/* 80307B8C 003037EC 38 60 00 00 */ li r3, 0
/* 80307B90 003037F0 7C 09 03 A6 */ mtctr r0
lbl_80307B94:
/* 80307B94 003037F4 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
/* 80307B98 003037F8 7D 25 02 14 */ add r9, r5, r0
/* 80307B9C 003037FC 80 09 00 D8 */ lwz r0, 0xd8(r9)
/* 80307BA0 00303800 7C 00 30 40 */ cmplw r0, r6
/* 80307BA4 00303804 40 82 00 10 */ bne lbl_80307BB4
/* 80307BA8 00303808 80 09 00 D4 */ lwz r0, 0xd4(r9)
/* 80307BAC 0030380C 7C 08 00 40 */ cmplw r8, r0
/* 80307BB0 00303810 41 82 00 30 */ beq lbl_80307BE0
lbl_80307BB4:
/* 80307BB4 00303814 38 63 00 01 */ addi r3, r3, 1
/* 80307BB8 00303818 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
/* 80307BBC 0030381C 7D 25 02 14 */ add r9, r5, r0
/* 80307BC0 00303820 80 09 00 D8 */ lwz r0, 0xd8(r9)
/* 80307BC4 00303824 7C 00 30 40 */ cmplw r0, r6
/* 80307BC8 00303828 40 82 00 10 */ bne lbl_80307BD8
/* 80307BCC 0030382C 80 09 00 D4 */ lwz r0, 0xd4(r9)
/* 80307BD0 00303830 7C 08 00 40 */ cmplw r8, r0
/* 80307BD4 00303834 41 82 00 0C */ beq lbl_80307BE0
lbl_80307BD8:
/* 80307BD8 00303838 38 63 00 01 */ addi r3, r3, 1
/* 80307BDC 0030383C 42 00 FF B8 */ bdnz lbl_80307B94
lbl_80307BE0:
/* 80307BE0 00303840 54 65 04 3E */ clrlwi r5, r3, 0x10
/* 80307BE4 00303844 38 60 00 1A */ li r3, 0x1a
/* 80307BE8 00303848 38 05 FF E6 */ addi r0, r5, -26
/* 80307BEC 0030384C 7C A3 1B 38 */ orc r3, r5, r3
/* 80307BF0 00303850 54 00 F8 7E */ srwi r0, r0, 1
/* 80307BF4 00303854 7C 00 18 50 */ subf r0, r0, r3
/* 80307BF8 00303858 54 03 0F FE */ srwi r3, r0, 0x1f
lbl_80307BFC:
/* 80307BFC 0030385C 2C 03 00 00 */ cmpwi r3, 0
/* 80307C00 00303860 41 82 00 08 */ beq lbl_80307C08
/* 80307C04 00303864 48 00 00 E4 */ b lbl_80307CE8
lbl_80307C08:
/* 80307C08 00303868 1C 07 00 2C */ mulli r0, r7, 0x2c
/* 80307C0C 0030386C 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
/* 80307C10 00303870 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l
/* 80307C14 00303874 7C 63 02 14 */ add r3, r3, r0
/* 80307C18 00303878 80 03 06 EC */ lwz r0, 0x6ec(r3)
/* 80307C1C 0030387C 3B C3 06 EC */ addi r30, r3, 0x6ec
/* 80307C20 00303880 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 80307C24 00303884 40 82 00 A8 */ bne lbl_80307CCC
/* 80307C28 00303888 80 7E 00 04 */ lwz r3, 4(r30)
/* 80307C2C 0030388C 4B FF FB C1 */ bl VFipdm_disk_set_disk
/* 80307C30 00303890 2C 03 00 00 */ cmpwi r3, 0
/* 80307C34 00303894 41 82 00 08 */ beq lbl_80307C3C
/* 80307C38 00303898 48 00 00 B0 */ b lbl_80307CE8
lbl_80307C3C:
/* 80307C3C 0030389C 80 7E 00 04 */ lwz r3, 4(r30)
/* 80307C40 003038A0 4B FF F2 19 */ bl VFipdm_disk_get_part_permission
/* 80307C44 003038A4 2C 03 00 00 */ cmpwi r3, 0
/* 80307C48 003038A8 41 82 00 08 */ beq lbl_80307C50
/* 80307C4C 003038AC 48 00 00 9C */ b lbl_80307CE8
lbl_80307C50:
/* 80307C50 003038B0 80 7E 00 04 */ lwz r3, 4(r30)
/* 80307C54 003038B4 38 81 00 08 */ addi r4, r1, 8
/* 80307C58 003038B8 4B FF FA 7D */ bl VFipdm_disk_get_media_information
/* 80307C5C 003038BC 2C 03 00 00 */ cmpwi r3, 0
/* 80307C60 003038C0 7C 7F 1B 78 */ mr r31, r3
/* 80307C64 003038C4 41 82 00 18 */ beq lbl_80307C7C
/* 80307C68 003038C8 80 7E 00 04 */ lwz r3, 4(r30)
/* 80307C6C 003038CC 38 80 00 01 */ li r4, 1
/* 80307C70 003038D0 4B FF F2 DD */ bl VFipdm_disk_release_part_permission
/* 80307C74 003038D4 7F E3 FB 78 */ mr r3, r31
/* 80307C78 003038D8 48 00 00 70 */ b lbl_80307CE8
lbl_80307C7C:
/* 80307C7C 003038DC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80307C80 003038E0 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80307C84 003038E4 41 82 00 14 */ beq lbl_80307C98
/* 80307C88 003038E8 80 1E 00 00 */ lwz r0, 0(r30)
/* 80307C8C 003038EC 60 00 00 10 */ ori r0, r0, 0x10
/* 80307C90 003038F0 90 1E 00 00 */ stw r0, 0(r30)
/* 80307C94 003038F4 48 00 00 10 */ b lbl_80307CA4
lbl_80307C98:
/* 80307C98 003038F8 80 1E 00 00 */ lwz r0, 0(r30)
/* 80307C9C 003038FC 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a
/* 80307CA0 00303900 90 1E 00 00 */ stw r0, 0(r30)
lbl_80307CA4:
/* 80307CA4 00303904 7F C3 F3 78 */ mr r3, r30
/* 80307CA8 00303908 4B FF FC 39 */ bl VFipdm_part_get_start_sector
/* 80307CAC 0030390C 2C 03 00 00 */ cmpwi r3, 0
/* 80307CB0 00303910 7C 7F 1B 78 */ mr r31, r3
/* 80307CB4 00303914 41 82 00 20 */ beq lbl_80307CD4
/* 80307CB8 00303918 80 7E 00 04 */ lwz r3, 4(r30)
/* 80307CBC 0030391C 38 80 00 01 */ li r4, 1
/* 80307CC0 00303920 4B FF F2 8D */ bl VFipdm_disk_release_part_permission
/* 80307CC4 00303924 7F E3 FB 78 */ mr r3, r31
/* 80307CC8 00303928 48 00 00 20 */ b lbl_80307CE8
lbl_80307CCC:
/* 80307CCC 0030392C 38 60 00 0D */ li r3, 0xd
/* 80307CD0 00303930 48 00 00 18 */ b lbl_80307CE8
lbl_80307CD4:
/* 80307CD4 00303934 80 1E 00 00 */ lwz r0, 0(r30)
/* 80307CD8 00303938 38 60 00 00 */ li r3, 0
/* 80307CDC 0030393C 60 00 00 02 */ ori r0, r0, 2
/* 80307CE0 00303940 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
/* 80307CE4 00303944 90 1E 00 00 */ stw r0, 0(r30)
lbl_80307CE8:
/* 80307CE8 00303948 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80307CEC 0030394C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80307CF0 00303950 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80307CF4 00303954 7C 08 03 A6 */ mtlr r0
/* 80307CF8 00303958 38 21 00 30 */ addi r1, r1, 0x30
/* 80307CFC 0030395C 4E 80 00 20 */ blr
.global VFipdm_part_release_permission
VFipdm_part_release_permission:
/* 80307D00 00303960 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80307D04 00303964 7C 08 02 A6 */ mflr r0
/* 80307D08 00303968 2C 03 00 00 */ cmpwi r3, 0
/* 80307D0C 0030396C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80307D10 00303970 7C 60 1B 78 */ mr r0, r3
/* 80307D14 00303974 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80307D18 00303978 3B E0 00 00 */ li r31, 0
/* 80307D1C 0030397C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80307D20 00303980 7C 9E 23 78 */ mr r30, r4
/* 80307D24 00303984 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80307D28 00303988 40 82 00 0C */ bne lbl_80307D34
/* 80307D2C 0030398C 38 60 00 01 */ li r3, 1
/* 80307D30 00303990 48 00 01 40 */ b lbl_80307E70
lbl_80307D34:
/* 80307D34 00303994 54 67 06 3E */ clrlwi r7, r3, 0x18
/* 80307D38 00303998 54 64 04 2E */ rlwinm r4, r3, 0, 0x10, 0x17
/* 80307D3C 0030399C 28 07 00 1A */ cmplwi r7, 0x1a
/* 80307D40 003039A0 54 68 84 3E */ srwi r8, r3, 0x10
/* 80307D44 003039A4 40 80 00 28 */ bge lbl_80307D6C
/* 80307D48 003039A8 28 04 04 00 */ cmplwi r4, 0x400
/* 80307D4C 003039AC 40 82 00 20 */ bne lbl_80307D6C
/* 80307D50 003039B0 1C 87 00 2C */ mulli r4, r7, 0x2c
/* 80307D54 003039B4 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
/* 80307D58 003039B8 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l
/* 80307D5C 003039BC 7C 85 22 14 */ add r4, r5, r4
/* 80307D60 003039C0 80 64 06 F4 */ lwz r3, 0x6f4(r4)
/* 80307D64 003039C4 7C 08 18 40 */ cmplw r8, r3
/* 80307D68 003039C8 40 81 00 0C */ ble lbl_80307D74
lbl_80307D6C:
/* 80307D6C 003039CC 38 60 00 01 */ li r3, 1
/* 80307D70 003039D0 48 00 00 7C */ b lbl_80307DEC
lbl_80307D74:
/* 80307D74 003039D4 38 60 00 0D */ li r3, 0xd
/* 80307D78 003039D8 38 C4 06 EC */ addi r6, r4, 0x6ec
/* 80307D7C 003039DC 38 80 00 00 */ li r4, 0
/* 80307D80 003039E0 7C 69 03 A6 */ mtctr r3
lbl_80307D84:
/* 80307D84 003039E4 54 83 1B 78 */ rlwinm r3, r4, 3, 0xd, 0x1c
/* 80307D88 003039E8 7D 25 1A 14 */ add r9, r5, r3
/* 80307D8C 003039EC 80 69 00 D8 */ lwz r3, 0xd8(r9)
/* 80307D90 003039F0 7C 03 30 40 */ cmplw r3, r6
/* 80307D94 003039F4 40 82 00 10 */ bne lbl_80307DA4
/* 80307D98 003039F8 80 69 00 D4 */ lwz r3, 0xd4(r9)
/* 80307D9C 003039FC 7C 08 18 40 */ cmplw r8, r3
/* 80307DA0 00303A00 41 82 00 30 */ beq lbl_80307DD0
lbl_80307DA4:
/* 80307DA4 00303A04 38 84 00 01 */ addi r4, r4, 1
/* 80307DA8 00303A08 54 83 1B 78 */ rlwinm r3, r4, 3, 0xd, 0x1c
/* 80307DAC 00303A0C 7D 25 1A 14 */ add r9, r5, r3
/* 80307DB0 00303A10 80 69 00 D8 */ lwz r3, 0xd8(r9)
/* 80307DB4 00303A14 7C 03 30 40 */ cmplw r3, r6
/* 80307DB8 00303A18 40 82 00 10 */ bne lbl_80307DC8
/* 80307DBC 00303A1C 80 69 00 D4 */ lwz r3, 0xd4(r9)
/* 80307DC0 00303A20 7C 08 18 40 */ cmplw r8, r3
/* 80307DC4 00303A24 41 82 00 0C */ beq lbl_80307DD0
lbl_80307DC8:
/* 80307DC8 00303A28 38 84 00 01 */ addi r4, r4, 1
/* 80307DCC 00303A2C 42 00 FF B8 */ bdnz lbl_80307D84
lbl_80307DD0:
/* 80307DD0 00303A30 54 85 04 3E */ clrlwi r5, r4, 0x10
/* 80307DD4 00303A34 38 80 00 1A */ li r4, 0x1a
/* 80307DD8 00303A38 38 65 FF E6 */ addi r3, r5, -26
/* 80307DDC 00303A3C 7C A4 23 38 */ orc r4, r5, r4
/* 80307DE0 00303A40 54 63 F8 7E */ srwi r3, r3, 1
/* 80307DE4 00303A44 7C 63 20 50 */ subf r3, r3, r4
/* 80307DE8 00303A48 54 63 0F FE */ srwi r3, r3, 0x1f
lbl_80307DEC:
/* 80307DEC 00303A4C 2C 03 00 00 */ cmpwi r3, 0
/* 80307DF0 00303A50 41 82 00 08 */ beq lbl_80307DF8
/* 80307DF4 00303A54 48 00 00 7C */ b lbl_80307E70
lbl_80307DF8:
/* 80307DF8 00303A58 1C 67 00 2C */ mulli r3, r7, 0x2c
/* 80307DFC 00303A5C 3C 80 80 58 */ lis r4, lbl_8057EA60@ha
/* 80307E00 00303A60 38 84 EA 60 */ addi r4, r4, lbl_8057EA60@l
/* 80307E04 00303A64 7F A4 1A 14 */ add r29, r4, r3
/* 80307E08 00303A68 80 7D 06 EC */ lwz r3, 0x6ec(r29)
/* 80307E0C 00303A6C 54 63 07 BD */ rlwinm. r3, r3, 0, 0x1e, 0x1e
/* 80307E10 00303A70 40 82 00 0C */ bne lbl_80307E1C
/* 80307E14 00303A74 38 60 00 0E */ li r3, 0xe
/* 80307E18 00303A78 48 00 00 58 */ b lbl_80307E70
lbl_80307E1C:
/* 80307E1C 00303A7C 80 7D 06 F0 */ lwz r3, 0x6f0(r29)
/* 80307E20 00303A80 7C 04 03 78 */ mr r4, r0
/* 80307E24 00303A84 4B FF F9 C9 */ bl VFipdm_disk_set_disk
/* 80307E28 00303A88 2C 03 00 00 */ cmpwi r3, 0
/* 80307E2C 00303A8C 41 82 00 08 */ beq lbl_80307E34
/* 80307E30 00303A90 48 00 00 40 */ b lbl_80307E70
lbl_80307E34:
/* 80307E34 00303A94 80 7D 06 F0 */ lwz r3, 0x6f0(r29)
/* 80307E38 00303A98 7F C4 F3 78 */ mr r4, r30
/* 80307E3C 00303A9C 4B FF F1 11 */ bl VFipdm_disk_release_part_permission
/* 80307E40 00303AA0 2C 03 00 00 */ cmpwi r3, 0
/* 80307E44 00303AA4 41 82 00 08 */ beq lbl_80307E4C
/* 80307E48 00303AA8 7C 7F 1B 78 */ mr r31, r3
lbl_80307E4C:
/* 80307E4C 00303AAC 2C 1F 00 00 */ cmpwi r31, 0
/* 80307E50 00303AB0 41 82 00 0C */ beq lbl_80307E5C
/* 80307E54 00303AB4 28 1E 00 01 */ cmplwi r30, 1
/* 80307E58 00303AB8 40 82 00 14 */ bne lbl_80307E6C
lbl_80307E5C:
/* 80307E5C 00303ABC 80 1D 06 EC */ lwz r0, 0x6ec(r29)
/* 80307E60 00303AC0 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80307E64 00303AC4 54 00 07 74 */ rlwinm r0, r0, 0, 0x1d, 0x1a
/* 80307E68 00303AC8 90 1D 06 EC */ stw r0, 0x6ec(r29)
lbl_80307E6C:
/* 80307E6C 00303ACC 7F E3 FB 78 */ mr r3, r31
lbl_80307E70:
/* 80307E70 00303AD0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80307E74 00303AD4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80307E78 00303AD8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80307E7C 00303ADC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80307E80 00303AE0 7C 08 03 A6 */ mtlr r0
/* 80307E84 00303AE4 38 21 00 20 */ addi r1, r1, 0x20
/* 80307E88 00303AE8 4E 80 00 20 */ blr
.global VFipdm_part_format
VFipdm_part_format:
/* 80307E8C 00303AEC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80307E90 00303AF0 7C 08 02 A6 */ mflr r0
/* 80307E94 00303AF4 2C 03 00 00 */ cmpwi r3, 0
/* 80307E98 00303AF8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80307E9C 00303AFC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80307EA0 00303B00 7C 9F 23 78 */ mr r31, r4
/* 80307EA4 00303B04 93 C1 00 08 */ stw r30, 8(r1)
/* 80307EA8 00303B08 40 82 00 0C */ bne lbl_80307EB4
/* 80307EAC 00303B0C 38 60 00 01 */ li r3, 1
/* 80307EB0 00303B10 48 00 01 10 */ b lbl_80307FC0
lbl_80307EB4:
/* 80307EB4 00303B14 54 67 06 3E */ clrlwi r7, r3, 0x18
/* 80307EB8 00303B18 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
/* 80307EBC 00303B1C 28 07 00 1A */ cmplwi r7, 0x1a
/* 80307EC0 00303B20 54 68 84 3E */ srwi r8, r3, 0x10
/* 80307EC4 00303B24 40 80 00 28 */ bge lbl_80307EEC
/* 80307EC8 00303B28 28 00 04 00 */ cmplwi r0, 0x400
/* 80307ECC 00303B2C 40 82 00 20 */ bne lbl_80307EEC
/* 80307ED0 00303B30 1C 07 00 2C */ mulli r0, r7, 0x2c
/* 80307ED4 00303B34 3C 80 80 58 */ lis r4, lbl_8057EA60@ha
/* 80307ED8 00303B38 38 A4 EA 60 */ addi r5, r4, lbl_8057EA60@l
/* 80307EDC 00303B3C 7C 85 02 14 */ add r4, r5, r0
/* 80307EE0 00303B40 80 04 06 F4 */ lwz r0, 0x6f4(r4)
/* 80307EE4 00303B44 7C 08 00 40 */ cmplw r8, r0
/* 80307EE8 00303B48 40 81 00 0C */ ble lbl_80307EF4
lbl_80307EEC:
/* 80307EEC 00303B4C 38 00 00 01 */ li r0, 1
/* 80307EF0 00303B50 48 00 00 7C */ b lbl_80307F6C
lbl_80307EF4:
/* 80307EF4 00303B54 38 00 00 0D */ li r0, 0xd
/* 80307EF8 00303B58 38 C4 06 EC */ addi r6, r4, 0x6ec
/* 80307EFC 00303B5C 38 80 00 00 */ li r4, 0
/* 80307F00 00303B60 7C 09 03 A6 */ mtctr r0
lbl_80307F04:
/* 80307F04 00303B64 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c
/* 80307F08 00303B68 7D 25 02 14 */ add r9, r5, r0
/* 80307F0C 00303B6C 80 09 00 D8 */ lwz r0, 0xd8(r9)
/* 80307F10 00303B70 7C 00 30 40 */ cmplw r0, r6
/* 80307F14 00303B74 40 82 00 10 */ bne lbl_80307F24
/* 80307F18 00303B78 80 09 00 D4 */ lwz r0, 0xd4(r9)
/* 80307F1C 00303B7C 7C 08 00 40 */ cmplw r8, r0
/* 80307F20 00303B80 41 82 00 30 */ beq lbl_80307F50
lbl_80307F24:
/* 80307F24 00303B84 38 84 00 01 */ addi r4, r4, 1
/* 80307F28 00303B88 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c
/* 80307F2C 00303B8C 7D 25 02 14 */ add r9, r5, r0
/* 80307F30 00303B90 80 09 00 D8 */ lwz r0, 0xd8(r9)
/* 80307F34 00303B94 7C 00 30 40 */ cmplw r0, r6
/* 80307F38 00303B98 40 82 00 10 */ bne lbl_80307F48
/* 80307F3C 00303B9C 80 09 00 D4 */ lwz r0, 0xd4(r9)
/* 80307F40 00303BA0 7C 08 00 40 */ cmplw r8, r0
/* 80307F44 00303BA4 41 82 00 0C */ beq lbl_80307F50
lbl_80307F48:
/* 80307F48 00303BA8 38 84 00 01 */ addi r4, r4, 1
/* 80307F4C 00303BAC 42 00 FF B8 */ bdnz lbl_80307F04
lbl_80307F50:
/* 80307F50 00303BB0 54 85 04 3E */ clrlwi r5, r4, 0x10
/* 80307F54 00303BB4 38 80 00 1A */ li r4, 0x1a
/* 80307F58 00303BB8 38 05 FF E6 */ addi r0, r5, -26
/* 80307F5C 00303BBC 7C A4 23 38 */ orc r4, r5, r4
/* 80307F60 00303BC0 54 00 F8 7E */ srwi r0, r0, 1
/* 80307F64 00303BC4 7C 00 20 50 */ subf r0, r0, r4
/* 80307F68 00303BC8 54 00 0F FE */ srwi r0, r0, 0x1f
lbl_80307F6C:
/* 80307F6C 00303BCC 2C 00 00 00 */ cmpwi r0, 0
/* 80307F70 00303BD0 41 82 00 0C */ beq lbl_80307F7C
/* 80307F74 00303BD4 7C 03 03 78 */ mr r3, r0
/* 80307F78 00303BD8 48 00 00 48 */ b lbl_80307FC0
lbl_80307F7C:
/* 80307F7C 00303BDC 1C 07 00 2C */ mulli r0, r7, 0x2c
/* 80307F80 00303BE0 3C A0 80 58 */ lis r5, lbl_8057EA60@ha
/* 80307F84 00303BE4 7C 64 1B 78 */ mr r4, r3
/* 80307F88 00303BE8 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l
/* 80307F8C 00303BEC 7F C5 02 14 */ add r30, r5, r0
/* 80307F90 00303BF0 80 7E 06 F0 */ lwz r3, 0x6f0(r30)
/* 80307F94 00303BF4 4B FF F8 59 */ bl VFipdm_disk_set_disk
/* 80307F98 00303BF8 2C 03 00 00 */ cmpwi r3, 0
/* 80307F9C 00303BFC 41 82 00 08 */ beq lbl_80307FA4
/* 80307FA0 00303C00 48 00 00 20 */ b lbl_80307FC0
lbl_80307FA4:
/* 80307FA4 00303C04 80 7E 06 F0 */ lwz r3, 0x6f0(r30)
/* 80307FA8 00303C08 7F E4 FB 78 */ mr r4, r31
/* 80307FAC 00303C0C 4B FF F4 ED */ bl VFipdm_disk_format
/* 80307FB0 00303C10 7C 03 00 D0 */ neg r0, r3
/* 80307FB4 00303C14 7C 00 1B 78 */ or r0, r0, r3
/* 80307FB8 00303C18 7C 00 FE 70 */ srawi r0, r0, 0x1f
/* 80307FBC 00303C1C 7C 63 00 38 */ and r3, r3, r0
lbl_80307FC0:
/* 80307FC0 00303C20 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80307FC4 00303C24 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80307FC8 00303C28 83 C1 00 08 */ lwz r30, 8(r1)
/* 80307FCC 00303C2C 7C 08 03 A6 */ mtlr r0
/* 80307FD0 00303C30 38 21 00 10 */ addi r1, r1, 0x10
/* 80307FD4 00303C34 4E 80 00 20 */ blr
.global VFipdm_part_logical_read
VFipdm_part_logical_read:
/* 80307FD8 00303C38 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80307FDC 00303C3C 7C 08 02 A6 */ mflr r0
/* 80307FE0 00303C40 90 01 00 24 */ stw r0, 0x24(r1)
/* 80307FE4 00303C44 39 61 00 20 */ addi r11, r1, 0x20
/* 80307FE8 00303C48 4B EB F1 3D */ bl _savegpr_26
/* 80307FEC 00303C4C 2C 03 00 00 */ cmpwi r3, 0
/* 80307FF0 00303C50 7C 9B 23 78 */ mr r27, r4
/* 80307FF4 00303C54 7C BC 2B 78 */ mr r28, r5
/* 80307FF8 00303C58 7C DD 33 78 */ mr r29, r6
/* 80307FFC 00303C5C 7C FE 3B 78 */ mr r30, r7
/* 80308000 00303C60 7D 1F 43 78 */ mr r31, r8
/* 80308004 00303C64 41 82 00 24 */ beq lbl_80308028
/* 80308008 00303C68 2C 04 00 00 */ cmpwi r4, 0
/* 8030800C 00303C6C 41 82 00 1C */ beq lbl_80308028
/* 80308010 00303C70 2C 06 00 00 */ cmpwi r6, 0
/* 80308014 00303C74 41 82 00 14 */ beq lbl_80308028
/* 80308018 00303C78 2C 07 00 00 */ cmpwi r7, 0
/* 8030801C 00303C7C 41 82 00 0C */ beq lbl_80308028
/* 80308020 00303C80 2C 08 00 00 */ cmpwi r8, 0
/* 80308024 00303C84 40 82 00 0C */ bne lbl_80308030
lbl_80308028:
/* 80308028 00303C88 38 60 00 01 */ li r3, 1
/* 8030802C 00303C8C 48 00 01 5C */ b lbl_80308188
lbl_80308030:
/* 80308030 00303C90 54 67 06 3E */ clrlwi r7, r3, 0x18
/* 80308034 00303C94 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
/* 80308038 00303C98 28 07 00 1A */ cmplwi r7, 0x1a
/* 8030803C 00303C9C 54 68 84 3E */ srwi r8, r3, 0x10
/* 80308040 00303CA0 40 80 00 28 */ bge lbl_80308068
/* 80308044 00303CA4 28 00 04 00 */ cmplwi r0, 0x400
/* 80308048 00303CA8 40 82 00 20 */ bne lbl_80308068
/* 8030804C 00303CAC 1C 07 00 2C */ mulli r0, r7, 0x2c
/* 80308050 00303CB0 3C 80 80 58 */ lis r4, lbl_8057EA60@ha
/* 80308054 00303CB4 38 A4 EA 60 */ addi r5, r4, lbl_8057EA60@l
/* 80308058 00303CB8 7C 85 02 14 */ add r4, r5, r0
/* 8030805C 00303CBC 80 04 06 F4 */ lwz r0, 0x6f4(r4)
/* 80308060 00303CC0 7C 08 00 40 */ cmplw r8, r0
/* 80308064 00303CC4 40 81 00 0C */ ble lbl_80308070
lbl_80308068:
/* 80308068 00303CC8 38 00 00 01 */ li r0, 1
/* 8030806C 00303CCC 48 00 00 7C */ b lbl_803080E8
lbl_80308070:
/* 80308070 00303CD0 38 00 00 0D */ li r0, 0xd
/* 80308074 00303CD4 38 C4 06 EC */ addi r6, r4, 0x6ec
/* 80308078 00303CD8 38 80 00 00 */ li r4, 0
/* 8030807C 00303CDC 7C 09 03 A6 */ mtctr r0
lbl_80308080:
/* 80308080 00303CE0 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c
/* 80308084 00303CE4 7D 25 02 14 */ add r9, r5, r0
/* 80308088 00303CE8 80 09 00 D8 */ lwz r0, 0xd8(r9)
/* 8030808C 00303CEC 7C 00 30 40 */ cmplw r0, r6
/* 80308090 00303CF0 40 82 00 10 */ bne lbl_803080A0
/* 80308094 00303CF4 80 09 00 D4 */ lwz r0, 0xd4(r9)
/* 80308098 00303CF8 7C 08 00 40 */ cmplw r8, r0
/* 8030809C 00303CFC 41 82 00 30 */ beq lbl_803080CC
lbl_803080A0:
/* 803080A0 00303D00 38 84 00 01 */ addi r4, r4, 1
/* 803080A4 00303D04 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c
/* 803080A8 00303D08 7D 25 02 14 */ add r9, r5, r0
/* 803080AC 00303D0C 80 09 00 D8 */ lwz r0, 0xd8(r9)
/* 803080B0 00303D10 7C 00 30 40 */ cmplw r0, r6
/* 803080B4 00303D14 40 82 00 10 */ bne lbl_803080C4
/* 803080B8 00303D18 80 09 00 D4 */ lwz r0, 0xd4(r9)
/* 803080BC 00303D1C 7C 08 00 40 */ cmplw r8, r0
/* 803080C0 00303D20 41 82 00 0C */ beq lbl_803080CC
lbl_803080C4:
/* 803080C4 00303D24 38 84 00 01 */ addi r4, r4, 1
/* 803080C8 00303D28 42 00 FF B8 */ bdnz lbl_80308080
lbl_803080CC:
/* 803080CC 00303D2C 54 85 04 3E */ clrlwi r5, r4, 0x10
/* 803080D0 00303D30 38 80 00 1A */ li r4, 0x1a
/* 803080D4 00303D34 38 05 FF E6 */ addi r0, r5, -26
/* 803080D8 00303D38 7C A4 23 38 */ orc r4, r5, r4
/* 803080DC 00303D3C 54 00 F8 7E */ srwi r0, r0, 1
/* 803080E0 00303D40 7C 00 20 50 */ subf r0, r0, r4
/* 803080E4 00303D44 54 00 0F FE */ srwi r0, r0, 0x1f
lbl_803080E8:
/* 803080E8 00303D48 2C 00 00 00 */ cmpwi r0, 0
/* 803080EC 00303D4C 41 82 00 0C */ beq lbl_803080F8
/* 803080F0 00303D50 7C 03 03 78 */ mr r3, r0
/* 803080F4 00303D54 48 00 00 94 */ b lbl_80308188
lbl_803080F8:
/* 803080F8 00303D58 1C 07 00 2C */ mulli r0, r7, 0x2c
/* 803080FC 00303D5C 3C A0 80 58 */ lis r5, lbl_8057EA60@ha
/* 80308100 00303D60 7C 64 1B 78 */ mr r4, r3
/* 80308104 00303D64 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l
/* 80308108 00303D68 7C 65 02 14 */ add r3, r5, r0
/* 8030810C 00303D6C 3B 43 06 EC */ addi r26, r3, 0x6ec
/* 80308110 00303D70 80 63 06 F0 */ lwz r3, 0x6f0(r3)
/* 80308114 00303D74 4B FF F6 D9 */ bl VFipdm_disk_set_disk
/* 80308118 00303D78 2C 03 00 00 */ cmpwi r3, 0
/* 8030811C 00303D7C 41 82 00 08 */ beq lbl_80308124
/* 80308120 00303D80 48 00 00 68 */ b lbl_80308188
lbl_80308124:
/* 80308124 00303D84 80 1A 00 18 */ lwz r0, 0x18(r26)
/* 80308128 00303D88 7C 00 E0 40 */ cmplw r0, r28
/* 8030812C 00303D8C 41 81 00 0C */ bgt lbl_80308138
/* 80308130 00303D90 38 60 00 12 */ li r3, 0x12
/* 80308134 00303D94 48 00 00 54 */ b lbl_80308188
lbl_80308138:
/* 80308138 00303D98 7C 7C EA 14 */ add r3, r28, r29
/* 8030813C 00303D9C 7C 00 18 40 */ cmplw r0, r3
/* 80308140 00303DA0 40 80 00 0C */ bge lbl_8030814C
/* 80308144 00303DA4 7C 00 18 50 */ subf r0, r0, r3
/* 80308148 00303DA8 7F A0 E8 50 */ subf r29, r0, r29
lbl_8030814C:
/* 8030814C 00303DAC 7F 43 D3 78 */ mr r3, r26
/* 80308150 00303DB0 7F 84 E3 78 */ mr r4, r28
/* 80308154 00303DB4 7F C5 F3 78 */ mr r5, r30
/* 80308158 00303DB8 4B FF F8 E9 */ bl VFipdm_part_chg_ltop
/* 8030815C 00303DBC 7C 65 1B 78 */ mr r5, r3
/* 80308160 00303DC0 80 7A 00 04 */ lwz r3, 4(r26)
/* 80308164 00303DC4 7F 64 DB 78 */ mr r4, r27
/* 80308168 00303DC8 7F A6 EB 78 */ mr r6, r29
/* 8030816C 00303DCC 7F C7 F3 78 */ mr r7, r30
/* 80308170 00303DD0 7F E8 FB 78 */ mr r8, r31
/* 80308174 00303DD4 4B FF EF 75 */ bl VFipdm_disk_physical_read
/* 80308178 00303DD8 2C 03 00 00 */ cmpwi r3, 0
/* 8030817C 00303DDC 41 82 00 08 */ beq lbl_80308184
/* 80308180 00303DE0 48 00 00 08 */ b lbl_80308188
lbl_80308184:
/* 80308184 00303DE4 38 60 00 00 */ li r3, 0
lbl_80308188:
/* 80308188 00303DE8 39 61 00 20 */ addi r11, r1, 0x20
/* 8030818C 00303DEC 4B EB EF E5 */ bl _restgpr_26
/* 80308190 00303DF0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80308194 00303DF4 7C 08 03 A6 */ mtlr r0
/* 80308198 00303DF8 38 21 00 20 */ addi r1, r1, 0x20
/* 8030819C 00303DFC 4E 80 00 20 */ blr
.global VFipdm_part_logical_write
VFipdm_part_logical_write:
/* 803081A0 00303E00 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803081A4 00303E04 7C 08 02 A6 */ mflr r0
/* 803081A8 00303E08 90 01 00 24 */ stw r0, 0x24(r1)
/* 803081AC 00303E0C 39 61 00 20 */ addi r11, r1, 0x20
/* 803081B0 00303E10 4B EB EF 75 */ bl _savegpr_26
/* 803081B4 00303E14 2C 03 00 00 */ cmpwi r3, 0
/* 803081B8 00303E18 7C 9B 23 78 */ mr r27, r4
/* 803081BC 00303E1C 7C BC 2B 78 */ mr r28, r5
/* 803081C0 00303E20 7C DD 33 78 */ mr r29, r6
/* 803081C4 00303E24 7C FE 3B 78 */ mr r30, r7
/* 803081C8 00303E28 7D 1F 43 78 */ mr r31, r8
/* 803081CC 00303E2C 41 82 00 24 */ beq lbl_803081F0
/* 803081D0 00303E30 2C 04 00 00 */ cmpwi r4, 0
/* 803081D4 00303E34 41 82 00 1C */ beq lbl_803081F0
/* 803081D8 00303E38 2C 06 00 00 */ cmpwi r6, 0
/* 803081DC 00303E3C 41 82 00 14 */ beq lbl_803081F0
/* 803081E0 00303E40 2C 07 00 00 */ cmpwi r7, 0
/* 803081E4 00303E44 41 82 00 0C */ beq lbl_803081F0
/* 803081E8 00303E48 2C 08 00 00 */ cmpwi r8, 0
/* 803081EC 00303E4C 40 82 00 0C */ bne lbl_803081F8
lbl_803081F0:
/* 803081F0 00303E50 38 60 00 01 */ li r3, 1
/* 803081F4 00303E54 48 00 01 5C */ b lbl_80308350
lbl_803081F8:
/* 803081F8 00303E58 54 67 06 3E */ clrlwi r7, r3, 0x18
/* 803081FC 00303E5C 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
/* 80308200 00303E60 28 07 00 1A */ cmplwi r7, 0x1a
/* 80308204 00303E64 54 68 84 3E */ srwi r8, r3, 0x10
/* 80308208 00303E68 40 80 00 28 */ bge lbl_80308230
/* 8030820C 00303E6C 28 00 04 00 */ cmplwi r0, 0x400
/* 80308210 00303E70 40 82 00 20 */ bne lbl_80308230
/* 80308214 00303E74 1C 07 00 2C */ mulli r0, r7, 0x2c
/* 80308218 00303E78 3C 80 80 58 */ lis r4, lbl_8057EA60@ha
/* 8030821C 00303E7C 38 A4 EA 60 */ addi r5, r4, lbl_8057EA60@l
/* 80308220 00303E80 7C 85 02 14 */ add r4, r5, r0
/* 80308224 00303E84 80 04 06 F4 */ lwz r0, 0x6f4(r4)
/* 80308228 00303E88 7C 08 00 40 */ cmplw r8, r0
/* 8030822C 00303E8C 40 81 00 0C */ ble lbl_80308238
lbl_80308230:
/* 80308230 00303E90 38 00 00 01 */ li r0, 1
/* 80308234 00303E94 48 00 00 7C */ b lbl_803082B0
lbl_80308238:
/* 80308238 00303E98 38 00 00 0D */ li r0, 0xd
/* 8030823C 00303E9C 38 C4 06 EC */ addi r6, r4, 0x6ec
/* 80308240 00303EA0 38 80 00 00 */ li r4, 0
/* 80308244 00303EA4 7C 09 03 A6 */ mtctr r0
lbl_80308248:
/* 80308248 00303EA8 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c
/* 8030824C 00303EAC 7D 25 02 14 */ add r9, r5, r0
/* 80308250 00303EB0 80 09 00 D8 */ lwz r0, 0xd8(r9)
/* 80308254 00303EB4 7C 00 30 40 */ cmplw r0, r6
/* 80308258 00303EB8 40 82 00 10 */ bne lbl_80308268
/* 8030825C 00303EBC 80 09 00 D4 */ lwz r0, 0xd4(r9)
/* 80308260 00303EC0 7C 08 00 40 */ cmplw r8, r0
/* 80308264 00303EC4 41 82 00 30 */ beq lbl_80308294
lbl_80308268:
/* 80308268 00303EC8 38 84 00 01 */ addi r4, r4, 1
/* 8030826C 00303ECC 54 80 1B 78 */ rlwinm r0, r4, 3, 0xd, 0x1c
/* 80308270 00303ED0 7D 25 02 14 */ add r9, r5, r0
/* 80308274 00303ED4 80 09 00 D8 */ lwz r0, 0xd8(r9)
/* 80308278 00303ED8 7C 00 30 40 */ cmplw r0, r6
/* 8030827C 00303EDC 40 82 00 10 */ bne lbl_8030828C
/* 80308280 00303EE0 80 09 00 D4 */ lwz r0, 0xd4(r9)
/* 80308284 00303EE4 7C 08 00 40 */ cmplw r8, r0
/* 80308288 00303EE8 41 82 00 0C */ beq lbl_80308294
lbl_8030828C:
/* 8030828C 00303EEC 38 84 00 01 */ addi r4, r4, 1
/* 80308290 00303EF0 42 00 FF B8 */ bdnz lbl_80308248
lbl_80308294:
/* 80308294 00303EF4 54 85 04 3E */ clrlwi r5, r4, 0x10
/* 80308298 00303EF8 38 80 00 1A */ li r4, 0x1a
/* 8030829C 00303EFC 38 05 FF E6 */ addi r0, r5, -26
/* 803082A0 00303F00 7C A4 23 38 */ orc r4, r5, r4
/* 803082A4 00303F04 54 00 F8 7E */ srwi r0, r0, 1
/* 803082A8 00303F08 7C 00 20 50 */ subf r0, r0, r4
/* 803082AC 00303F0C 54 00 0F FE */ srwi r0, r0, 0x1f
lbl_803082B0:
/* 803082B0 00303F10 2C 00 00 00 */ cmpwi r0, 0
/* 803082B4 00303F14 41 82 00 0C */ beq lbl_803082C0
/* 803082B8 00303F18 7C 03 03 78 */ mr r3, r0
/* 803082BC 00303F1C 48 00 00 94 */ b lbl_80308350
lbl_803082C0:
/* 803082C0 00303F20 1C 07 00 2C */ mulli r0, r7, 0x2c
/* 803082C4 00303F24 3C A0 80 58 */ lis r5, lbl_8057EA60@ha
/* 803082C8 00303F28 7C 64 1B 78 */ mr r4, r3
/* 803082CC 00303F2C 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l
/* 803082D0 00303F30 7C 65 02 14 */ add r3, r5, r0
/* 803082D4 00303F34 3B 43 06 EC */ addi r26, r3, 0x6ec
/* 803082D8 00303F38 80 63 06 F0 */ lwz r3, 0x6f0(r3)
/* 803082DC 00303F3C 4B FF F5 11 */ bl VFipdm_disk_set_disk
/* 803082E0 00303F40 2C 03 00 00 */ cmpwi r3, 0
/* 803082E4 00303F44 41 82 00 08 */ beq lbl_803082EC
/* 803082E8 00303F48 48 00 00 68 */ b lbl_80308350
lbl_803082EC:
/* 803082EC 00303F4C 80 1A 00 18 */ lwz r0, 0x18(r26)
/* 803082F0 00303F50 7C 00 E0 40 */ cmplw r0, r28
/* 803082F4 00303F54 41 81 00 0C */ bgt lbl_80308300
/* 803082F8 00303F58 38 60 00 12 */ li r3, 0x12
/* 803082FC 00303F5C 48 00 00 54 */ b lbl_80308350
lbl_80308300:
/* 80308300 00303F60 7C 7C EA 14 */ add r3, r28, r29
/* 80308304 00303F64 7C 00 18 40 */ cmplw r0, r3
/* 80308308 00303F68 40 80 00 0C */ bge lbl_80308314
/* 8030830C 00303F6C 7C 00 18 50 */ subf r0, r0, r3
/* 80308310 00303F70 7F A0 E8 50 */ subf r29, r0, r29
lbl_80308314:
/* 80308314 00303F74 7F 43 D3 78 */ mr r3, r26
/* 80308318 00303F78 7F 84 E3 78 */ mr r4, r28
/* 8030831C 00303F7C 7F C5 F3 78 */ mr r5, r30
/* 80308320 00303F80 4B FF F7 21 */ bl VFipdm_part_chg_ltop
/* 80308324 00303F84 7C 65 1B 78 */ mr r5, r3
/* 80308328 00303F88 80 7A 00 04 */ lwz r3, 4(r26)
/* 8030832C 00303F8C 7F 64 DB 78 */ mr r4, r27
/* 80308330 00303F90 7F A6 EB 78 */ mr r6, r29
/* 80308334 00303F94 7F C7 F3 78 */ mr r7, r30
/* 80308338 00303F98 7F E8 FB 78 */ mr r8, r31
/* 8030833C 00303F9C 4B FF EF 85 */ bl VFipdm_disk_physical_write
/* 80308340 00303FA0 2C 03 00 00 */ cmpwi r3, 0
/* 80308344 00303FA4 41 82 00 08 */ beq lbl_8030834C
/* 80308348 00303FA8 48 00 00 08 */ b lbl_80308350
lbl_8030834C:
/* 8030834C 00303FAC 38 60 00 00 */ li r3, 0
lbl_80308350:
/* 80308350 00303FB0 39 61 00 20 */ addi r11, r1, 0x20
/* 80308354 00303FB4 4B EB EE 1D */ bl _restgpr_26
/* 80308358 00303FB8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8030835C 00303FBC 7C 08 03 A6 */ mtlr r0
/* 80308360 00303FC0 38 21 00 20 */ addi r1, r1, 0x20
/* 80308364 00303FC4 4E 80 00 20 */ blr
.global VFipdm_part_get_media_information
VFipdm_part_get_media_information:
/* 80308368 00303FC8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8030836C 00303FCC 7C 08 02 A6 */ mflr r0
/* 80308370 00303FD0 2C 03 00 00 */ cmpwi r3, 0
/* 80308374 00303FD4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80308378 00303FD8 41 82 00 0C */ beq lbl_80308384
/* 8030837C 00303FDC 2C 04 00 00 */ cmpwi r4, 0
/* 80308380 00303FE0 40 82 00 0C */ bne lbl_8030838C
lbl_80308384:
/* 80308384 00303FE4 38 60 00 01 */ li r3, 1
/* 80308388 00303FE8 48 00 00 F0 */ b lbl_80308478
lbl_8030838C:
/* 8030838C 00303FEC 54 67 06 3E */ clrlwi r7, r3, 0x18
/* 80308390 00303FF0 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
/* 80308394 00303FF4 28 07 00 1A */ cmplwi r7, 0x1a
/* 80308398 00303FF8 54 68 84 3E */ srwi r8, r3, 0x10
/* 8030839C 00303FFC 40 80 00 28 */ bge lbl_803083C4
/* 803083A0 00304000 28 00 04 00 */ cmplwi r0, 0x400
/* 803083A4 00304004 40 82 00 20 */ bne lbl_803083C4
/* 803083A8 00304008 1C 07 00 2C */ mulli r0, r7, 0x2c
/* 803083AC 0030400C 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
/* 803083B0 00304010 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l
/* 803083B4 00304014 7C 65 02 14 */ add r3, r5, r0
/* 803083B8 00304018 80 03 06 F4 */ lwz r0, 0x6f4(r3)
/* 803083BC 0030401C 7C 08 00 40 */ cmplw r8, r0
/* 803083C0 00304020 40 81 00 0C */ ble lbl_803083CC
lbl_803083C4:
/* 803083C4 00304024 38 60 00 01 */ li r3, 1
/* 803083C8 00304028 48 00 00 7C */ b lbl_80308444
lbl_803083CC:
/* 803083CC 0030402C 38 00 00 0D */ li r0, 0xd
/* 803083D0 00304030 38 C3 06 EC */ addi r6, r3, 0x6ec
/* 803083D4 00304034 38 60 00 00 */ li r3, 0
/* 803083D8 00304038 7C 09 03 A6 */ mtctr r0
lbl_803083DC:
/* 803083DC 0030403C 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
/* 803083E0 00304040 7D 25 02 14 */ add r9, r5, r0
/* 803083E4 00304044 80 09 00 D8 */ lwz r0, 0xd8(r9)
/* 803083E8 00304048 7C 00 30 40 */ cmplw r0, r6
/* 803083EC 0030404C 40 82 00 10 */ bne lbl_803083FC
/* 803083F0 00304050 80 09 00 D4 */ lwz r0, 0xd4(r9)
/* 803083F4 00304054 7C 08 00 40 */ cmplw r8, r0
/* 803083F8 00304058 41 82 00 30 */ beq lbl_80308428
lbl_803083FC:
/* 803083FC 0030405C 38 63 00 01 */ addi r3, r3, 1
/* 80308400 00304060 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
/* 80308404 00304064 7D 25 02 14 */ add r9, r5, r0
/* 80308408 00304068 80 09 00 D8 */ lwz r0, 0xd8(r9)
/* 8030840C 0030406C 7C 00 30 40 */ cmplw r0, r6
/* 80308410 00304070 40 82 00 10 */ bne lbl_80308420
/* 80308414 00304074 80 09 00 D4 */ lwz r0, 0xd4(r9)
/* 80308418 00304078 7C 08 00 40 */ cmplw r8, r0
/* 8030841C 0030407C 41 82 00 0C */ beq lbl_80308428
lbl_80308420:
/* 80308420 00304080 38 63 00 01 */ addi r3, r3, 1
/* 80308424 00304084 42 00 FF B8 */ bdnz lbl_803083DC
lbl_80308428:
/* 80308428 00304088 54 65 04 3E */ clrlwi r5, r3, 0x10
/* 8030842C 0030408C 38 60 00 1A */ li r3, 0x1a
/* 80308430 00304090 38 05 FF E6 */ addi r0, r5, -26
/* 80308434 00304094 7C A3 1B 38 */ orc r3, r5, r3
/* 80308438 00304098 54 00 F8 7E */ srwi r0, r0, 1
/* 8030843C 0030409C 7C 00 18 50 */ subf r0, r0, r3
/* 80308440 003040A0 54 03 0F FE */ srwi r3, r0, 0x1f
lbl_80308444:
/* 80308444 003040A4 2C 03 00 00 */ cmpwi r3, 0
/* 80308448 003040A8 41 82 00 08 */ beq lbl_80308450
/* 8030844C 003040AC 48 00 00 2C */ b lbl_80308478
lbl_80308450:
/* 80308450 003040B0 1C 07 00 2C */ mulli r0, r7, 0x2c
/* 80308454 003040B4 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
/* 80308458 003040B8 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l
/* 8030845C 003040BC 7C 63 02 14 */ add r3, r3, r0
/* 80308460 003040C0 80 63 06 F0 */ lwz r3, 0x6f0(r3)
/* 80308464 003040C4 4B FF F2 71 */ bl VFipdm_disk_get_media_information
/* 80308468 003040C8 7C 03 00 D0 */ neg r0, r3
/* 8030846C 003040CC 7C 00 1B 78 */ or r0, r0, r3
/* 80308470 003040D0 7C 00 FE 70 */ srawi r0, r0, 0x1f
/* 80308474 003040D4 7C 63 00 38 */ and r3, r3, r0
lbl_80308478:
/* 80308478 003040D8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8030847C 003040DC 7C 08 03 A6 */ mtlr r0
/* 80308480 003040E0 38 21 00 10 */ addi r1, r1, 0x10
/* 80308484 003040E4 4E 80 00 20 */ blr
.global VFipdm_part_check_media_write_protect
VFipdm_part_check_media_write_protect:
/* 80308488 003040E8 2C 03 00 00 */ cmpwi r3, 0
/* 8030848C 003040EC 41 82 00 0C */ beq lbl_80308498
/* 80308490 003040F0 2C 04 00 00 */ cmpwi r4, 0
/* 80308494 003040F4 40 82 00 0C */ bne lbl_803084A0
lbl_80308498:
/* 80308498 003040F8 38 60 00 01 */ li r3, 1
/* 8030849C 003040FC 4E 80 00 20 */ blr
lbl_803084A0:
/* 803084A0 00304100 54 67 06 3E */ clrlwi r7, r3, 0x18
/* 803084A4 00304104 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
/* 803084A8 00304108 28 07 00 1A */ cmplwi r7, 0x1a
/* 803084AC 0030410C 54 68 84 3E */ srwi r8, r3, 0x10
/* 803084B0 00304110 40 80 00 28 */ bge lbl_803084D8
/* 803084B4 00304114 28 00 04 00 */ cmplwi r0, 0x400
/* 803084B8 00304118 40 82 00 20 */ bne lbl_803084D8
/* 803084BC 0030411C 1C 07 00 2C */ mulli r0, r7, 0x2c
/* 803084C0 00304120 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
/* 803084C4 00304124 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l
/* 803084C8 00304128 7C 65 02 14 */ add r3, r5, r0
/* 803084CC 0030412C 80 03 06 F4 */ lwz r0, 0x6f4(r3)
/* 803084D0 00304130 7C 08 00 40 */ cmplw r8, r0
/* 803084D4 00304134 40 81 00 0C */ ble lbl_803084E0
lbl_803084D8:
/* 803084D8 00304138 38 60 00 01 */ li r3, 1
/* 803084DC 0030413C 48 00 00 7C */ b lbl_80308558
lbl_803084E0:
/* 803084E0 00304140 38 00 00 0D */ li r0, 0xd
/* 803084E4 00304144 38 C3 06 EC */ addi r6, r3, 0x6ec
/* 803084E8 00304148 38 60 00 00 */ li r3, 0
/* 803084EC 0030414C 7C 09 03 A6 */ mtctr r0
lbl_803084F0:
/* 803084F0 00304150 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
/* 803084F4 00304154 7D 25 02 14 */ add r9, r5, r0
/* 803084F8 00304158 80 09 00 D8 */ lwz r0, 0xd8(r9)
/* 803084FC 0030415C 7C 00 30 40 */ cmplw r0, r6
/* 80308500 00304160 40 82 00 10 */ bne lbl_80308510
/* 80308504 00304164 80 09 00 D4 */ lwz r0, 0xd4(r9)
/* 80308508 00304168 7C 08 00 40 */ cmplw r8, r0
/* 8030850C 0030416C 41 82 00 30 */ beq lbl_8030853C
lbl_80308510:
/* 80308510 00304170 38 63 00 01 */ addi r3, r3, 1
/* 80308514 00304174 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
/* 80308518 00304178 7D 25 02 14 */ add r9, r5, r0
/* 8030851C 0030417C 80 09 00 D8 */ lwz r0, 0xd8(r9)
/* 80308520 00304180 7C 00 30 40 */ cmplw r0, r6
/* 80308524 00304184 40 82 00 10 */ bne lbl_80308534
/* 80308528 00304188 80 09 00 D4 */ lwz r0, 0xd4(r9)
/* 8030852C 0030418C 7C 08 00 40 */ cmplw r8, r0
/* 80308530 00304190 41 82 00 0C */ beq lbl_8030853C
lbl_80308534:
/* 80308534 00304194 38 63 00 01 */ addi r3, r3, 1
/* 80308538 00304198 42 00 FF B8 */ bdnz lbl_803084F0
lbl_8030853C:
/* 8030853C 0030419C 54 65 04 3E */ clrlwi r5, r3, 0x10
/* 80308540 003041A0 38 60 00 1A */ li r3, 0x1a
/* 80308544 003041A4 38 05 FF E6 */ addi r0, r5, -26
/* 80308548 003041A8 7C A3 1B 38 */ orc r3, r5, r3
/* 8030854C 003041AC 54 00 F8 7E */ srwi r0, r0, 1
/* 80308550 003041B0 7C 00 18 50 */ subf r0, r0, r3
/* 80308554 003041B4 54 03 0F FE */ srwi r3, r0, 0x1f
lbl_80308558:
/* 80308558 003041B8 2C 03 00 00 */ cmpwi r3, 0
/* 8030855C 003041BC 4C 82 00 20 */ bnelr
/* 80308560 003041C0 1C 07 00 2C */ mulli r0, r7, 0x2c
/* 80308564 003041C4 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
/* 80308568 003041C8 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l
/* 8030856C 003041CC 7C 63 02 14 */ add r3, r3, r0
/* 80308570 003041D0 80 03 06 EC */ lwz r0, 0x6ec(r3)
/* 80308574 003041D4 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 80308578 003041D8 41 82 00 10 */ beq lbl_80308588
/* 8030857C 003041DC 38 00 00 01 */ li r0, 1
/* 80308580 003041E0 90 04 00 00 */ stw r0, 0(r4)
/* 80308584 003041E4 48 00 00 0C */ b lbl_80308590
lbl_80308588:
/* 80308588 003041E8 38 00 00 00 */ li r0, 0
/* 8030858C 003041EC 90 04 00 00 */ stw r0, 0(r4)
lbl_80308590:
/* 80308590 003041F0 38 60 00 00 */ li r3, 0
/* 80308594 003041F4 4E 80 00 20 */ blr
.global VFipdm_part_check_media_insert
VFipdm_part_check_media_insert:
/* 80308598 003041F8 2C 03 00 00 */ cmpwi r3, 0
/* 8030859C 003041FC 41 82 00 0C */ beq lbl_803085A8
/* 803085A0 00304200 2C 04 00 00 */ cmpwi r4, 0
/* 803085A4 00304204 40 82 00 0C */ bne lbl_803085B0
lbl_803085A8:
/* 803085A8 00304208 38 60 00 01 */ li r3, 1
/* 803085AC 0030420C 4E 80 00 20 */ blr
lbl_803085B0:
/* 803085B0 00304210 54 67 06 3E */ clrlwi r7, r3, 0x18
/* 803085B4 00304214 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
/* 803085B8 00304218 28 07 00 1A */ cmplwi r7, 0x1a
/* 803085BC 0030421C 54 68 84 3E */ srwi r8, r3, 0x10
/* 803085C0 00304220 40 80 00 28 */ bge lbl_803085E8
/* 803085C4 00304224 28 00 04 00 */ cmplwi r0, 0x400
/* 803085C8 00304228 40 82 00 20 */ bne lbl_803085E8
/* 803085CC 0030422C 1C 07 00 2C */ mulli r0, r7, 0x2c
/* 803085D0 00304230 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
/* 803085D4 00304234 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l
/* 803085D8 00304238 7C 65 02 14 */ add r3, r5, r0
/* 803085DC 0030423C 80 03 06 F4 */ lwz r0, 0x6f4(r3)
/* 803085E0 00304240 7C 08 00 40 */ cmplw r8, r0
/* 803085E4 00304244 40 81 00 0C */ ble lbl_803085F0
lbl_803085E8:
/* 803085E8 00304248 38 60 00 01 */ li r3, 1
/* 803085EC 0030424C 48 00 00 7C */ b lbl_80308668
lbl_803085F0:
/* 803085F0 00304250 38 00 00 0D */ li r0, 0xd
/* 803085F4 00304254 38 C3 06 EC */ addi r6, r3, 0x6ec
/* 803085F8 00304258 38 60 00 00 */ li r3, 0
/* 803085FC 0030425C 7C 09 03 A6 */ mtctr r0
lbl_80308600:
/* 80308600 00304260 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
/* 80308604 00304264 7D 25 02 14 */ add r9, r5, r0
/* 80308608 00304268 80 09 00 D8 */ lwz r0, 0xd8(r9)
/* 8030860C 0030426C 7C 00 30 40 */ cmplw r0, r6
/* 80308610 00304270 40 82 00 10 */ bne lbl_80308620
/* 80308614 00304274 80 09 00 D4 */ lwz r0, 0xd4(r9)
/* 80308618 00304278 7C 08 00 40 */ cmplw r8, r0
/* 8030861C 0030427C 41 82 00 30 */ beq lbl_8030864C
lbl_80308620:
/* 80308620 00304280 38 63 00 01 */ addi r3, r3, 1
/* 80308624 00304284 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
/* 80308628 00304288 7D 25 02 14 */ add r9, r5, r0
/* 8030862C 0030428C 80 09 00 D8 */ lwz r0, 0xd8(r9)
/* 80308630 00304290 7C 00 30 40 */ cmplw r0, r6
/* 80308634 00304294 40 82 00 10 */ bne lbl_80308644
/* 80308638 00304298 80 09 00 D4 */ lwz r0, 0xd4(r9)
/* 8030863C 0030429C 7C 08 00 40 */ cmplw r8, r0
/* 80308640 003042A0 41 82 00 0C */ beq lbl_8030864C
lbl_80308644:
/* 80308644 003042A4 38 63 00 01 */ addi r3, r3, 1
/* 80308648 003042A8 42 00 FF B8 */ bdnz lbl_80308600
lbl_8030864C:
/* 8030864C 003042AC 54 65 04 3E */ clrlwi r5, r3, 0x10
/* 80308650 003042B0 38 60 00 1A */ li r3, 0x1a
/* 80308654 003042B4 38 05 FF E6 */ addi r0, r5, -26
/* 80308658 003042B8 7C A3 1B 38 */ orc r3, r5, r3
/* 8030865C 003042BC 54 00 F8 7E */ srwi r0, r0, 1
/* 80308660 003042C0 7C 00 18 50 */ subf r0, r0, r3
/* 80308664 003042C4 54 03 0F FE */ srwi r3, r0, 0x1f
lbl_80308668:
/* 80308668 003042C8 2C 03 00 00 */ cmpwi r3, 0
/* 8030866C 003042CC 4C 82 00 20 */ bnelr
/* 80308670 003042D0 1C 07 00 2C */ mulli r0, r7, 0x2c
/* 80308674 003042D4 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
/* 80308678 003042D8 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l
/* 8030867C 003042DC 7C 63 02 14 */ add r3, r3, r0
/* 80308680 003042E0 80 03 06 EC */ lwz r0, 0x6ec(r3)
/* 80308684 003042E4 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 80308688 003042E8 41 82 00 10 */ beq lbl_80308698
/* 8030868C 003042EC 38 00 00 01 */ li r0, 1
/* 80308690 003042F0 90 04 00 00 */ stw r0, 0(r4)
/* 80308694 003042F4 48 00 00 0C */ b lbl_803086A0
lbl_80308698:
/* 80308698 003042F8 38 00 00 00 */ li r0, 0
/* 8030869C 003042FC 90 04 00 00 */ stw r0, 0(r4)
lbl_803086A0:
/* 803086A0 00304300 38 60 00 00 */ li r3, 0
/* 803086A4 00304304 4E 80 00 20 */ blr
.global VFipdm_part_check_media_detect
VFipdm_part_check_media_detect:
/* 803086A8 00304308 2C 03 00 00 */ cmpwi r3, 0
/* 803086AC 0030430C 41 82 00 0C */ beq lbl_803086B8
/* 803086B0 00304310 2C 04 00 00 */ cmpwi r4, 0
/* 803086B4 00304314 40 82 00 0C */ bne lbl_803086C0
lbl_803086B8:
/* 803086B8 00304318 38 60 00 01 */ li r3, 1
/* 803086BC 0030431C 4E 80 00 20 */ blr
lbl_803086C0:
/* 803086C0 00304320 54 67 06 3E */ clrlwi r7, r3, 0x18
/* 803086C4 00304324 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
/* 803086C8 00304328 28 07 00 1A */ cmplwi r7, 0x1a
/* 803086CC 0030432C 54 68 84 3E */ srwi r8, r3, 0x10
/* 803086D0 00304330 40 80 00 28 */ bge lbl_803086F8
/* 803086D4 00304334 28 00 04 00 */ cmplwi r0, 0x400
/* 803086D8 00304338 40 82 00 20 */ bne lbl_803086F8
/* 803086DC 0030433C 1C 07 00 2C */ mulli r0, r7, 0x2c
/* 803086E0 00304340 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
/* 803086E4 00304344 38 A3 EA 60 */ addi r5, r3, lbl_8057EA60@l
/* 803086E8 00304348 7C 65 02 14 */ add r3, r5, r0
/* 803086EC 0030434C 80 03 06 F4 */ lwz r0, 0x6f4(r3)
/* 803086F0 00304350 7C 08 00 40 */ cmplw r8, r0
/* 803086F4 00304354 40 81 00 0C */ ble lbl_80308700
lbl_803086F8:
/* 803086F8 00304358 38 60 00 01 */ li r3, 1
/* 803086FC 0030435C 48 00 00 7C */ b lbl_80308778
lbl_80308700:
/* 80308700 00304360 38 00 00 0D */ li r0, 0xd
/* 80308704 00304364 38 C3 06 EC */ addi r6, r3, 0x6ec
/* 80308708 00304368 38 60 00 00 */ li r3, 0
/* 8030870C 0030436C 7C 09 03 A6 */ mtctr r0
lbl_80308710:
/* 80308710 00304370 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
/* 80308714 00304374 7D 25 02 14 */ add r9, r5, r0
/* 80308718 00304378 80 09 00 D8 */ lwz r0, 0xd8(r9)
/* 8030871C 0030437C 7C 00 30 40 */ cmplw r0, r6
/* 80308720 00304380 40 82 00 10 */ bne lbl_80308730
/* 80308724 00304384 80 09 00 D4 */ lwz r0, 0xd4(r9)
/* 80308728 00304388 7C 08 00 40 */ cmplw r8, r0
/* 8030872C 0030438C 41 82 00 30 */ beq lbl_8030875C
lbl_80308730:
/* 80308730 00304390 38 63 00 01 */ addi r3, r3, 1
/* 80308734 00304394 54 60 1B 78 */ rlwinm r0, r3, 3, 0xd, 0x1c
/* 80308738 00304398 7D 25 02 14 */ add r9, r5, r0
/* 8030873C 0030439C 80 09 00 D8 */ lwz r0, 0xd8(r9)
/* 80308740 003043A0 7C 00 30 40 */ cmplw r0, r6
/* 80308744 003043A4 40 82 00 10 */ bne lbl_80308754
/* 80308748 003043A8 80 09 00 D4 */ lwz r0, 0xd4(r9)
/* 8030874C 003043AC 7C 08 00 40 */ cmplw r8, r0
/* 80308750 003043B0 41 82 00 0C */ beq lbl_8030875C
lbl_80308754:
/* 80308754 003043B4 38 63 00 01 */ addi r3, r3, 1
/* 80308758 003043B8 42 00 FF B8 */ bdnz lbl_80308710
lbl_8030875C:
/* 8030875C 003043BC 54 65 04 3E */ clrlwi r5, r3, 0x10
/* 80308760 003043C0 38 60 00 1A */ li r3, 0x1a
/* 80308764 003043C4 38 05 FF E6 */ addi r0, r5, -26
/* 80308768 003043C8 7C A3 1B 38 */ orc r3, r5, r3
/* 8030876C 003043CC 54 00 F8 7E */ srwi r0, r0, 1
/* 80308770 003043D0 7C 00 18 50 */ subf r0, r0, r3
/* 80308774 003043D4 54 03 0F FE */ srwi r3, r0, 0x1f
lbl_80308778:
/* 80308778 003043D8 2C 03 00 00 */ cmpwi r3, 0
/* 8030877C 003043DC 4C 82 00 20 */ bnelr
/* 80308780 003043E0 1C 07 00 2C */ mulli r0, r7, 0x2c
/* 80308784 003043E4 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
/* 80308788 003043E8 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l
/* 8030878C 003043EC 7C 63 02 14 */ add r3, r3, r0
/* 80308790 003043F0 80 03 06 EC */ lwz r0, 0x6ec(r3)
/* 80308794 003043F4 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80308798 003043F8 41 82 00 10 */ beq lbl_803087A8
/* 8030879C 003043FC 38 00 00 01 */ li r0, 1
/* 803087A0 00304400 90 04 00 00 */ stw r0, 0(r4)
/* 803087A4 00304404 48 00 00 0C */ b lbl_803087B0
lbl_803087A8:
/* 803087A8 00304408 38 00 00 00 */ li r0, 0
/* 803087AC 0030440C 90 04 00 00 */ stw r0, 0(r4)
lbl_803087B0:
/* 803087B0 00304410 38 60 00 00 */ li r3, 0
/* 803087B4 00304414 4E 80 00 20 */ blr
.global VFipdm_part_set_driver_error_code
VFipdm_part_set_driver_error_code:
/* 803087B8 00304418 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803087BC 0030441C 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
/* 803087C0 00304420 1C 00 00 2C */ mulli r0, r0, 0x2c
/* 803087C4 00304424 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l
/* 803087C8 00304428 7C 63 02 14 */ add r3, r3, r0
/* 803087CC 0030442C 90 83 07 10 */ stw r4, 0x710(r3)
/* 803087D0 00304430 4E 80 00 20 */ blr
.global VFipdm_part_get_driver_error_code
VFipdm_part_get_driver_error_code:
/* 803087D4 00304434 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803087D8 00304438 3C 60 80 58 */ lis r3, lbl_8057EA60@ha
/* 803087DC 0030443C 1C 00 00 2C */ mulli r0, r0, 0x2c
/* 803087E0 00304440 38 63 EA 60 */ addi r3, r3, lbl_8057EA60@l
/* 803087E4 00304444 7C 63 02 14 */ add r3, r3, r0
/* 803087E8 00304448 80 63 07 10 */ lwz r3, 0x710(r3)
/* 803087EC 0030444C 4E 80 00 20 */ blr
|