summaryrefslogtreecommitdiffstats
path: root/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative386.asm
blob: 2b0294ccf60116f0539e81f1e048f80325c7de3b (plain)
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
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814
6815
6816
6817
6818
6819
6820
6821
6822
6823
6824
6825
6826
6827
6828
6829
6830
6831
6832
6833
6834
6835
6836
6837
6838
6839
6840
6841
6842
6843
6844
6845
6846
6847
6848
6849
6850
6851
6852
6853
6854
6855
6856
6857
6858
6859
6860
6861
6862
6863
6864
6865
6866
6867
6868
6869
6870
6871
6872
6873
6874
6875
6876
6877
6878
6879
6880
6881
6882
6883
6884
6885
6886
6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954
6955
6956
6957
6958
6959
6960
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971
6972
6973
6974
6975
6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
6991
6992
6993
6994
6995
6996
6997
6998
6999
7000
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495
7496
7497
7498
7499
7500
7501
7502
7503
7504
7505
7506
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
7522
7523
7524
7525
7526
7527
7528
7529
7530
7531
7532
7533
7534
7535
7536
7537
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
7553
7554
7555
7556
7557
7558
7559
7560
7561
7562
7563
7564
7565
7566
7567
7568
7569
7570
7571
7572
7573
7574
7575
7576
7577
7578
7579
7580
7581
7582
7583
7584
7585
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
7606
7607
7608
7609
7610
7611
7612
7613
7614
7615
7616
7617
7618
7619
7620
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631
7632
7633
7634
7635
7636
7637
7638
7639
7640
7641
7642
7643
7644
7645
7646
7647
7648
7649
7650
7651
7652
7653
7654
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665
7666
7667
7668
7669
7670
7671
7672
7673
7674
7675
7676
7677
7678
7679
7680
7681
7682
7683
7684
7685
7686
7687
7688
7689
7690
7691
7692
7693
7694
7695
7696
7697
7698
7699
7700
7701
7702
7703
7704
7705
7706
7707
7708
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727
7728
7729
7730
7731
7732
7733
7734
7735
7736
7737
7738
7739
7740
7741
7742
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752
7753
7754
7755
7756
7757
7758
7759
7760
7761
7762
7763
7764
7765
7766
7767
7768
7769
7770
7771
7772
7773
7774
7775
7776
7777
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802
7803
7804
7805
7806
7807
7808
7809
7810
7811
7812
7813
7814
7815
7816
7817
7818
7819
7820
7821
7822
7823
7824
7825
7826
7827
7828
7829
7830
7831
7832
7833
7834
7835
7836
7837
7838
7839
7840
7841
7842
7843
7844
7845
7846
7847
7848
7849
7850
7851
7852
7853
7854
7855
7856
7857
7858
7859
7860
7861
7862
7863
7864
7865
7866
7867
7868
7869
7870
7871
7872
7873
7874
7875
7876
7877
7878
7879
7880
7881
7882
7883
7884
7885
7886
7887
7888
7889
7890
7891
7892
7893
7894
7895
7896
7897
7898
7899
7900
7901
7902
7903
7904
7905
7906
7907
7908
7909
7910
7911
7912
7913
7914
7915
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925
7926
7927
7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950
7951
7952
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965
7966
7967
7968
7969
7970
7971
7972
7973
7974
7975
7976
7977
7978
7979
7980
7981
7982
7983
7984
7985
7986
7987
7988
7989
7990
7991
7992
7993
7994
7995
7996
7997
7998
7999
8000
8001
8002
8003
8004
8005
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017
8018
8019
8020
8021
8022
8023
8024
8025
8026
8027
8028
8029
8030
8031
8032
8033
8034
8035
8036
8037
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047
8048
8049
8050
8051
8052
8053
8054
8055
8056
8057
8058
8059
8060
8061
8062
8063
8064
8065
8066
8067
8068
8069
8070
8071
8072
8073
8074
8075
8076
8077
8078
8079
8080
8081
8082
8083
8084
8085
8086
8087
8088
8089
8090
8091
8092
8093
8094
8095
8096
8097
8098
8099
8100
8101
8102
8103
8104
8105
8106
8107
8108
8109
8110
8111
8112
8113
8114
8115
8116
8117
8118
8119
8120
8121
8122
8123
8124
8125
8126
8127
8128
8129
8130
8131
8132
8133
8134
8135
8136
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153
8154
8155
8156
8157
8158
8159
8160
8161
8162
8163
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180
8181
8182
8183
8184
8185
8186
8187
8188
8189
8190
8191
8192
8193
8194
8195
8196
8197
8198
8199
8200
8201
8202
8203
8204
8205
8206
8207
8208
8209
8210
8211
8212
8213
8214
8215
8216
8217
8218
8219
8220
8221
8222
8223
8224
8225
8226
8227
8228
8229
8230
8231
8232
8233
8234
8235
8236
8237
8238
8239
8240
8241
8242
8243
8244
8245
8246
8247
8248
8249
8250
8251
8252
8253
8254
8255
8256
8257
8258
8259
8260
8261
8262
8263
8264
8265
8266
8267
8268
8269
8270
8271
8272
8273
8274
8275
8276
8277
8278
8279
8280
8281
8282
8283
8284
8285
8286
8287
8288
8289
8290
8291
8292
8293
8294
8295
8296
8297
8298
8299
8300
8301
8302
8303
8304
8305
8306
8307
8308
8309
8310
8311
8312
8313
8314
8315
8316
8317
8318
8319
8320
8321
8322
8323
8324
8325
8326
8327
8328
8329
8330
8331
8332
8333
8334
8335
8336
8337
8338
8339
8340
8341
8342
8343
8344
8345
8346
8347
8348
8349
8350
8351
8352
8353
8354
8355
8356
8357
8358
8359
8360
8361
8362
8363
8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
8377
8378
8379
8380
8381
8382
8383
8384
8385
8386
8387
8388
8389
8390
8391
8392
8393
8394
8395
8396
8397
8398
8399
8400
8401
8402
8403
8404
8405
8406
8407
8408
8409
8410
8411
8412
8413
8414
8415
8416
8417
8418
8419
8420
8421
8422
8423
8424
8425
8426
8427
8428
8429
8430
8431
8432
8433
8434
8435
8436
8437
8438
8439
8440
8441
8442
8443
8444
8445
8446
8447
8448
8449
8450
8451
8452
8453
8454
8455
8456
8457
8458
8459
8460
8461
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478
8479
8480
8481
8482
8483
8484
8485
8486
8487
8488
8489
8490
8491
8492
8493
8494
8495
8496
8497
8498
8499
8500
8501
8502
8503
8504
8505
8506
8507
8508
8509
8510
8511
8512
8513
8514
8515
8516
8517
8518
8519
8520
8521
8522
8523
8524
8525
8526
8527
8528
8529
8530
8531
8532
8533
8534
8535
8536
8537
8538
8539
8540
8541
8542
8543
8544
8545
8546
8547
8548
8549
8550
8551
8552
8553
8554
8555
8556
8557
8558
8559
8560
8561
8562
8563
8564
8565
8566
8567
8568
8569
8570
8571
8572
8573
8574
8575
8576
8577
8578
8579
8580
8581
8582
8583
8584
8585
8586
8587
8588
8589
8590
8591
8592
8593
8594
8595
8596
8597
8598
8599
8600
8601
8602
8603
8604
8605
8606
8607
8608
8609
8610
8611
8612
8613
8614
8615
8616
8617
8618
8619
8620
8621
8622
8623
8624
8625
8626
8627
8628
8629
8630
8631
8632
8633
8634
8635
8636
8637
8638
8639
8640
8641
8642
8643
8644
8645
8646
8647
8648
8649
8650
8651
8652
8653
8654
8655
8656
8657
8658
8659
8660
8661
8662
8663
8664
8665
8666
8667
8668
8669
8670
8671
8672
8673
8674
8675
8676
8677
8678
8679
8680
8681
8682
8683
8684
8685
8686
8687
8688
8689
8690
8691
8692
8693
8694
8695
8696
8697
8698
8699
8700
8701
8702
8703
8704
8705
8706
8707
8708
8709
8710
8711
8712
8713
8714
8715
8716
8717
8718
8719
8720
8721
8722
8723
8724
8725
8726
8727
8728
8729
8730
8731
8732
8733
8734
8735
8736
8737
8738
8739
8740
8741
8742
8743
8744
8745
8746
8747
8748
8749
8750
8751
8752
8753
8754
8755
8756
8757
8758
8759
8760
8761
8762
8763
8764
8765
8766
8767
8768
8769
8770
8771
8772
8773
8774
8775
8776
8777
8778
8779
8780
8781
8782
8783
8784
8785
8786
8787
8788
8789
8790
8791
8792
8793
8794
8795
8796
8797
8798
8799
8800
8801
8802
8803
8804
8805
8806
8807
8808
8809
8810
8811
8812
8813
8814
8815
8816
8817
8818
8819
8820
8821
8822
8823
8824
8825
8826
8827
8828
8829
8830
8831
8832
8833
8834
8835
8836
8837
8838
8839
8840
8841
8842
8843
8844
8845
8846
8847
8848
8849
8850
8851
8852
8853
8854
8855
8856
8857
8858
8859
8860
8861
8862
8863
8864
8865
8866
8867
8868
8869
8870
8871
8872
8873
8874
8875
8876
8877
8878
8879
8880
8881
8882
8883
8884
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894
8895
8896
8897
8898
8899
8900
8901
8902
8903
8904
8905
8906
8907
8908
8909
8910
8911
8912
8913
8914
8915
8916
8917
8918
8919
8920
8921
8922
8923
8924
8925
8926
8927
8928
8929
8930
8931
8932
8933
8934
8935
8936
8937
8938
8939
8940
8941
8942
8943
8944
8945
8946
8947
8948
8949
8950
8951
8952
8953
8954
8955
8956
8957
8958
8959
8960
8961
8962
8963
8964
8965
8966
8967
8968
8969
8970
8971
8972
8973
8974
8975
8976
8977
8978
8979
8980
8981
8982
8983
8984
8985
8986
8987
8988
8989
8990
8991
8992
8993
8994
8995
8996
8997
8998
8999
9000
9001
9002
9003
9004
9005
9006
9007
9008
9009
9010
9011
9012
9013
9014
9015
9016
9017
9018
9019
9020
9021
9022
9023
9024
9025
9026
9027
9028
9029
9030
9031
9032
9033
9034
9035
9036
9037
9038
9039
9040
9041
9042
9043
9044
9045
9046
9047
9048
9049
9050
9051
9052
9053
9054
9055
9056
9057
9058
9059
9060
9061
9062
9063
9064
9065
9066
9067
9068
9069
9070
9071
9072
9073
9074
9075
9076
9077
9078
9079
9080
9081
9082
9083
9084
9085
9086
9087
9088
9089
9090
9091
9092
9093
9094
9095
9096
9097
9098
9099
9100
9101
9102
9103
9104
9105
9106
9107
9108
9109
9110
9111
9112
9113
9114
9115
9116
9117
9118
9119
9120
9121
9122
9123
9124
9125
9126
9127
9128
9129
9130
9131
9132
9133
9134
9135
9136
9137
9138
9139
9140
9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
9156
9157
9158
9159
9160
9161
9162
9163
9164
9165
9166
9167
9168
9169
9170
9171
9172
9173
9174
9175
9176
9177
9178
9179
9180
9181
9182
9183
9184
9185
9186
9187
9188
9189
9190
9191
9192
9193
9194
9195
9196
9197
9198
9199
9200
9201
9202
9203
9204
9205
9206
9207
9208
9209
9210
9211
9212
9213
9214
9215
9216
9217
9218
9219
9220
9221
9222
9223
9224
9225
9226
9227
9228
9229
9230
9231
9232
9233
9234
9235
9236
9237
9238
9239
9240
9241
9242
9243
9244
9245
9246
9247
9248
9249
9250
9251
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
9267
9268
9269
9270
9271
9272
9273
9274
9275
9276
9277
9278
9279
9280
9281
9282
9283
9284
9285
9286
9287
9288
9289
9290
9291
9292
9293
9294
9295
9296
9297
9298
9299
9300
9301
9302
9303
9304
9305
9306
9307
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319
9320
9321
9322
9323
9324
9325
9326
9327
9328
9329
9330
9331
9332
9333
9334
9335
9336
9337
9338
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
9349
9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
9363
9364
9365
9366
9367
9368
9369
9370
9371
9372
9373
9374
9375
9376
9377
9378
9379
9380
9381
9382
9383
9384
9385
9386
9387
9388
9389
9390
9391
9392
9393
9394
9395
9396
9397
9398
9399
9400
9401
9402
9403
9404
9405
9406
9407
9408
9409
9410
9411
9412
9413
9414
9415
9416
9417
9418
9419
9420
9421
9422
9423
9424
9425
9426
9427
9428
9429
9430
9431
9432
9433
9434
9435
9436
9437
9438
9439
9440
9441
9442
9443
9444
9445
9446
9447
9448
9449
9450
9451
9452
9453
9454
9455
9456
9457
9458
9459
9460
9461
9462
9463
9464
9465
9466
9467
9468
9469
9470
9471
9472
9473
9474
9475
9476
9477
9478
9479
9480
9481
9482
9483
9484
9485
9486
9487
9488
9489
9490
9491
9492
9493
9494
9495
9496
9497
9498
9499
9500
9501
9502
9503
9504
9505
9506
9507
9508
9509
9510
9511
9512
9513
9514
9515
9516
9517
9518
9519
9520
9521
9522
9523
9524
9525
9526
9527
9528
9529
9530
9531
9532
9533
9534
9535
9536
9537
9538
9539
9540
9541
9542
9543
9544
9545
9546
9547
9548
9549
9550
9551
9552
9553
9554
9555
9556
9557
9558
9559
9560
9561
9562
9563
9564
9565
9566
9567
9568
9569
9570
9571
9572
9573
9574
9575
9576
9577
9578
9579
9580
9581
9582
9583
9584
9585
9586
9587
9588
9589
9590
9591
9592
9593
9594
9595
9596
9597
9598
9599
9600
9601
9602
9603
9604
9605
9606
9607
9608
9609
9610
9611
9612
9613
9614
9615
9616
9617
9618
9619
9620
9621
9622
9623
9624
9625
9626
9627
9628
9629
9630
9631
9632
9633
9634
9635
9636
9637
9638
9639
9640
9641
9642
9643
9644
9645
9646
9647
9648
9649
9650
9651
9652
9653
9654
9655
9656
9657
9658
9659
9660
9661
9662
9663
9664
9665
9666
9667
9668
9669
9670
9671
9672
9673
9674
9675
9676
9677
9678
9679
9680
9681
9682
9683
9684
9685
9686
9687
9688
9689
9690
9691
9692
9693
9694
9695
9696
9697
9698
9699
9700
9701
9702
9703
9704
9705
9706
9707
9708
9709
9710
9711
9712
9713
9714
9715
9716
9717
9718
9719
9720
9721
9722
9723
9724
9725
9726
9727
9728
9729
9730
9731
9732
9733
9734
9735
9736
9737
9738
9739
9740
9741
9742
9743
9744
9745
9746
9747
9748
9749
9750
9751
9752
9753
9754
9755
9756
9757
9758
9759
9760
9761
9762
9763
9764
9765
9766
9767
9768
9769
9770
9771
9772
9773
9774
9775
9776
9777
9778
9779
9780
9781
9782
9783
9784
9785
9786
9787
9788
9789
9790
9791
9792
9793
9794
9795
9796
9797
9798
9799
9800
9801
9802
9803
9804
9805
9806
9807
9808
9809
9810
9811
9812
9813
9814
9815
9816
9817
9818
9819
9820
9821
9822
9823
9824
9825
9826
9827
9828
9829
9830
9831
9832
9833
9834
9835
9836
9837
9838
9839
9840
9841
9842
9843
9844
9845
9846
9847
9848
9849
9850
9851
9852
9853
9854
9855
9856
9857
9858
9859
9860
9861
9862
9863
9864
9865
9866
9867
9868
9869
9870
9871
9872
9873
9874
9875
9876
9877
9878
9879
9880
9881
9882
9883
9884
9885
9886
9887
9888
9889
9890
9891
9892
9893
9894
9895
9896
9897
9898
9899
9900
9901
9902
9903
9904
9905
9906
9907
9908
9909
9910
9911
9912
9913
9914
9915
9916
9917
9918
9919
9920
9921
9922
9923
9924
9925
9926
9927
9928
9929
9930
9931
9932
9933
9934
9935
9936
9937
9938
9939
9940
9941
9942
9943
9944
9945
9946
9947
9948
9949
9950
9951
9952
9953
9954
9955
9956
9957
9958
9959
9960
9961
9962
9963
9964
9965
9966
9967
9968
9969
9970
9971
9972
9973
9974
9975
9976
9977
9978
9979
9980
9981
9982
9983
9984
9985
9986
9987
9988
9989
9990
9991
9992
9993
9994
9995
9996
9997
9998
9999
10000
10001
10002
10003
10004
10005
10006
10007
10008
10009
10010
10011
10012
10013
10014
10015
10016
10017
10018
10019
10020
10021
10022
10023
10024
10025
10026
10027
10028
10029
10030
10031
10032
10033
10034
10035
10036
10037
10038
10039
10040
10041
10042
10043
10044
10045
10046
10047
10048
10049
10050
10051
10052
10053
10054
10055
10056
10057
10058
10059
10060
10061
10062
10063
10064
10065
10066
10067
10068
10069
10070
10071
10072
10073
10074
10075
10076
10077
10078
10079
10080
10081
10082
10083
10084
10085
10086
10087
10088
10089
10090
10091
10092
10093
10094
10095
10096
10097
10098
10099
10100
10101
10102
10103
10104
10105
10106
10107
10108
10109
10110
10111
10112
10113
10114
10115
10116
10117
10118
10119
10120
10121
10122
10123
10124
10125
10126
10127
10128
10129
10130
10131
10132
10133
10134
10135
10136
10137
10138
10139
10140
10141
10142
10143
10144
10145
10146
10147
10148
10149
10150
10151
10152
10153
10154
10155
10156
10157
10158
10159
10160
10161
10162
10163
10164
10165
10166
10167
10168
10169
10170
10171
10172
10173
10174
10175
10176
10177
10178
10179
10180
10181
10182
10183
10184
10185
10186
10187
10188
10189
10190
10191
10192
10193
10194
10195
10196
10197
10198
10199
10200
10201
10202
10203
10204
10205
10206
10207
10208
10209
10210
10211
10212
10213
10214
10215
10216
10217
10218
10219
10220
10221
10222
10223
10224
10225
10226
10227
10228
10229
10230
10231
10232
10233
10234
10235
10236
10237
10238
10239
10240
10241
10242
10243
10244
10245
10246
10247
10248
10249
10250
10251
10252
10253
10254
10255
10256
10257
10258
10259
10260
10261
10262
10263
10264
10265
10266
10267
10268
10269
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280
10281
10282
10283
10284
10285
10286
10287
10288
10289
10290
10291
10292
10293
10294
10295
10296
10297
10298
10299
10300
10301
10302
10303
10304
10305
10306
10307
10308
10309
10310
10311
10312
10313
10314
10315
10316
10317
10318
10319
10320
10321
10322
10323
10324
10325
10326
10327
10328
10329
10330
10331
10332
10333
10334
10335
10336
10337
10338
10339
10340
10341
10342
10343
10344
10345
10346
10347
10348
10349
10350
10351
10352
10353
10354
10355
10356
10357
10358
10359
10360
10361
10362
10363
10364
10365
10366
10367
10368
10369
10370
10371
10372
10373
10374
10375
10376
10377
10378
10379
10380
10381
10382
10383
10384
10385
10386
10387
10388
10389
10390
10391
10392
10393
10394
10395
10396
10397
10398
10399
10400
10401
10402
10403
10404
10405
10406
10407
10408
10409
10410
10411
10412
10413
10414
10415
10416
10417
10418
10419
10420
10421
10422
10423
10424
10425
10426
10427
10428
10429
10430
10431
10432
10433
10434
10435
10436
10437
10438
10439
10440
10441
10442
10443
10444
10445
10446
10447
10448
10449
10450
10451
10452
10453
10454
10455
10456
10457
10458
10459
10460
10461
10462
10463
10464
10465
10466
10467
10468
10469
10470
10471
10472
10473
10474
10475
10476
10477
10478
10479
10480
10481
10482
10483
10484
10485
10486
10487
10488
10489
10490
10491
10492
10493
10494
10495
10496
10497
10498
10499
10500
10501
10502
10503
10504
10505
10506
10507
10508
10509
10510
10511
10512
10513
10514
10515
10516
10517
10518
10519
10520
10521
10522
10523
10524
10525
10526
10527
10528
10529
10530
10531
10532
10533
10534
10535
10536
10537
10538
10539
10540
10541
10542
10543
10544
10545
10546
10547
10548
10549
10550
10551
10552
10553
10554
10555
10556
10557
10558
10559
10560
10561
10562
10563
10564
10565
10566
10567
10568
10569
10570
10571
10572
10573
10574
10575
10576
10577
10578
10579
10580
10581
10582
10583
10584
10585
10586
10587
10588
10589
10590
10591
10592
10593
10594
10595
10596
10597
10598
10599
10600
10601
10602
10603
10604
10605
10606
10607
10608
10609
10610
10611
10612
10613
10614
10615
10616
10617
10618
10619
10620
10621
10622
10623
10624
10625
10626
10627
10628
10629
10630
10631
10632
10633
10634
10635
10636
10637
10638
10639
10640
10641
10642
10643
10644
10645
10646
10647
10648
10649
10650
10651
10652
10653
10654
10655
10656
10657
10658
10659
10660
10661
10662
10663
10664
10665
10666
10667
10668
10669
10670
10671
10672
10673
10674
10675
10676
10677
10678
10679
10680
10681
10682
10683
10684
10685
10686
10687
10688
10689
10690
10691
10692
10693
10694
10695
10696
10697
10698
10699
10700
10701
10702
10703
10704
10705
10706
10707
10708
10709
10710
10711
10712
10713
10714
10715
10716
10717
10718
10719
10720
10721
10722
10723
10724
10725
10726
10727
10728
10729
10730
10731
10732
10733
10734
10735
10736
10737
10738
10739
10740
10741
10742
10743
10744
10745
10746
10747
10748
10749
10750
10751
10752
10753
10754
10755
10756
10757
10758
10759
10760
10761
10762
10763
10764
10765
10766
10767
10768
10769
10770
10771
10772
10773
10774
10775
10776
10777
10778
10779
10780
10781
10782
10783
10784
10785
10786
10787
10788
10789
10790
10791
10792
10793
10794
10795
10796
10797
10798
10799
10800
10801
10802
10803
10804
10805
10806
10807
10808
10809
10810
10811
10812
10813
10814
10815
10816
10817
10818
10819
10820
10821
10822
10823
10824
10825
10826
10827
10828
10829
10830
10831
10832
10833
10834
10835
10836
10837
10838
10839
10840
10841
10842
10843
10844
10845
10846
10847
10848
10849
10850
10851
10852
10853
10854
10855
10856
10857
10858
10859
10860
10861
10862
10863
10864
10865
10866
10867
10868
10869
10870
10871
10872
10873
10874
10875
10876
10877
10878
10879
10880
10881
10882
10883
10884
10885
10886
10887
10888
10889
10890
10891
10892
10893
10894
10895
10896
10897
10898
10899
10900
10901
10902
10903
10904
10905
10906
10907
10908
10909
10910
10911
10912
10913
10914
10915
10916
10917
10918
10919
10920
10921
10922
10923
10924
10925
10926
10927
10928
10929
10930
10931
10932
10933
10934
10935
10936
10937
10938
10939
10940
10941
10942
10943
10944
10945
10946
10947
10948
10949
10950
10951
10952
10953
10954
10955
10956
10957
10958
10959
10960
10961
10962
10963
10964
10965
10966
10967
10968
10969
10970
10971
10972
10973
10974
10975
10976
10977
10978
10979
10980
10981
10982
10983
10984
10985
10986
10987
10988
10989
10990
10991
10992
10993
10994
10995
10996
10997
10998
10999
11000
11001
11002
11003
11004
11005
11006
11007
11008
11009
11010
11011
11012
11013
11014
11015
11016
11017
11018
11019
11020
11021
11022
11023
11024
11025
11026
11027
11028
11029
11030
11031
11032
11033
11034
11035
11036
11037
11038
11039
11040
11041
11042
11043
11044
11045
11046
11047
11048
11049
11050
11051
11052
11053
11054
11055
11056
11057
11058
11059
11060
11061
11062
11063
11064
11065
11066
11067
11068
11069
11070
11071
11072
11073
11074
11075
11076
11077
11078
11079
11080
11081
11082
11083
11084
11085
11086
11087
11088
11089
11090
11091
11092
11093
11094
11095
11096
11097
11098
11099
11100
11101
11102
11103
11104
11105
11106
11107
11108
11109
11110
11111
11112
11113
11114
11115
11116
11117
11118
11119
11120
11121
11122
11123
11124
11125
11126
11127
11128
11129
11130
11131
11132
11133
11134
11135
11136
11137
11138
11139
11140
11141
11142
11143
11144
11145
11146
11147
11148
11149
11150
11151
11152
11153
11154
11155
11156
11157
11158
11159
11160
11161
11162
11163
11164
11165
11166
11167
11168
11169
11170
11171
11172
11173
11174
11175
11176
11177
11178
11179
11180
11181
11182
11183
11184
11185
11186
11187
11188
11189
11190
11191
11192
11193
11194
11195
11196
11197
11198
11199
11200
11201
11202
11203
11204
11205
11206
11207
11208
11209
11210
11211
11212
11213
11214
11215
11216
11217
11218
11219
11220
11221
11222
11223
11224
11225
11226
11227
11228
11229
11230
11231
11232
11233
11234
11235
11236
11237
11238
11239
11240
11241
11242
11243
11244
11245
11246
11247
11248
11249
11250
11251
11252
11253
11254
11255
11256
11257
11258
11259
11260
11261
11262
11263
11264
11265
11266
11267
11268
11269
11270
11271
11272
11273
11274
11275
11276
11277
11278
11279
11280
11281
11282
11283
11284
11285
11286
11287
11288
11289
11290
11291
11292
11293
11294
11295
11296
11297
11298
11299
11300
11301
11302
11303
11304
11305
11306
11307
11308
11309
11310
11311
11312
11313
11314
11315
11316
11317
11318
11319
11320
11321
11322
11323
11324
11325
11326
11327
11328
11329
11330
11331
11332
11333
11334
11335
11336
11337
11338
11339
11340
11341
11342
11343
11344
11345
11346
11347
11348
11349
11350
11351
11352
11353
11354
11355
11356
11357
11358
11359
11360
11361
11362
11363
11364
11365
11366
11367
11368
11369
11370
11371
11372
11373
11374
11375
11376
11377
11378
11379
11380
11381
11382
11383
11384
11385
11386
11387
11388
11389
11390
11391
11392
11393
11394
11395
11396
11397
11398
11399
11400
11401
11402
11403
11404
11405
11406
11407
11408
11409
11410
11411
11412
11413
11414
11415
11416
11417
11418
11419
11420
11421
11422
11423
11424
11425
11426
11427
11428
11429
11430
11431
11432
11433
11434
11435
11436
11437
11438
11439
11440
11441
11442
11443
11444
11445
11446
11447
11448
11449
11450
11451
11452
11453
11454
11455
11456
11457
11458
11459
11460
11461
11462
11463
11464
11465
11466
11467
11468
11469
11470
11471
11472
11473
11474
11475
11476
11477
11478
11479
11480
11481
11482
11483
11484
11485
11486
11487
11488
11489
11490
11491
11492
11493
11494
11495
11496
11497
11498
11499
11500
11501
11502
11503
11504
11505
11506
11507
11508
11509
11510
11511
11512
11513
11514
11515
11516
11517
11518
11519
11520
11521
11522
11523
11524
11525
11526
11527
11528
11529
11530
11531
11532
11533
11534
11535
11536
11537
11538
11539
11540
11541
11542
11543
11544
11545
11546
11547
11548
11549
11550
11551
11552
11553
11554
11555
11556
11557
11558
11559
11560
11561
11562
11563
11564
11565
11566
11567
11568
11569
11570
11571
11572
11573
11574
11575
11576
11577
11578
11579
11580
11581
11582
11583
11584
11585
11586
11587
11588
11589
11590
11591
11592
11593
11594
11595
11596
11597
11598
11599
11600
11601
11602
11603
11604
11605
11606
11607
11608
11609
11610
11611
11612
11613
11614
11615
11616
11617
11618
11619
11620
11621
11622
11623
11624
11625
11626
11627
11628
11629
11630
11631
11632
11633
11634
11635
11636
11637
11638
11639
11640
11641
11642
11643
11644
11645
11646
11647
11648
11649
11650
11651
11652
11653
11654
11655
11656
11657
11658
11659
11660
11661
11662
11663
11664
11665
11666
11667
11668
11669
11670
11671
11672
11673
11674
11675
11676
11677
11678
11679
11680
11681
11682
11683
11684
11685
11686
11687
11688
11689
11690
11691
11692
11693
11694
11695
11696
11697
11698
11699
11700
11701
11702
11703
11704
11705
11706
11707
11708
11709
11710
11711
11712
11713
11714
11715
11716
11717
11718
11719
11720
11721
11722
11723
11724
11725
11726
11727
11728
11729
11730
11731
11732
11733
11734
11735
11736
11737
11738
11739
11740
11741
11742
11743
11744
11745
11746
11747
11748
11749
11750
11751
11752
11753
11754
11755
11756
11757
11758
11759
11760
11761
11762
11763
11764
11765
11766
11767
11768
11769
11770
11771
11772
11773
11774
11775
11776
11777
11778
11779
11780
11781
11782
11783
11784
11785
11786
11787
11788
11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
11802
11803
11804
11805
11806
11807
11808
11809
11810
11811
11812
11813
11814
11815
11816
11817
11818
11819
11820
11821
11822
11823
11824
11825
11826
11827
11828
11829
11830
11831
11832
11833
11834
11835
11836
11837
11838
11839
11840
11841
11842
11843
11844
11845
11846
11847
11848
11849
11850
11851
11852
11853
11854
11855
11856
11857
11858
11859
11860
11861
11862
11863
11864
11865
11866
11867
11868
11869
11870
11871
11872
11873
11874
11875
11876
11877
11878
11879
11880
11881
11882
11883
11884
11885
11886
11887
11888
11889
11890
11891
11892
11893
11894
11895
11896
11897
11898
11899
11900
11901
11902
11903
11904
11905
11906
11907
11908
11909
11910
11911
11912
11913
11914
11915
11916
11917
11918
11919
11920
11921
11922
11923
11924
11925
11926
11927
11928
11929
11930
11931
11932
11933
11934
11935
11936
11937
11938
11939
11940
11941
11942
11943
11944
11945
11946
11947
11948
11949
11950
11951
11952
11953
11954
11955
11956
11957
11958
11959
11960
11961
11962
11963
11964
11965
11966
11967
11968
11969
11970
11971
11972
11973
11974
11975
11976
11977
11978
11979
11980
11981
11982
11983
11984
11985
11986
11987
11988
11989
11990
11991
11992
11993
11994
11995
11996
11997
11998
11999
12000
12001
12002
12003
12004
12005
12006
12007
12008
12009
12010
12011
12012
12013
12014
12015
12016
12017
12018
12019
12020
12021
12022
12023
12024
12025
12026
12027
12028
12029
12030
12031
12032
12033
12034
12035
12036
12037
12038
12039
12040
12041
12042
12043
12044
12045
12046
12047
12048
12049
12050
12051
12052
12053
12054
12055
12056
12057
12058
12059
12060
12061
12062
12063
12064
12065
12066
12067
12068
12069
12070
12071
12072
12073
12074
12075
12076
12077
12078
12079
12080
12081
12082
12083
12084
12085
12086
12087
12088
12089
12090
12091
12092
12093
12094
12095
12096
12097
12098
12099
12100
12101
12102
12103
12104
12105
12106
12107
12108
12109
12110
12111
12112
12113
12114
12115
12116
12117
12118
12119
12120
12121
12122
12123
12124
12125
12126
12127
12128
12129
12130
12131
12132
12133
12134
12135
12136
12137
12138
12139
12140
12141
12142
12143
12144
12145
12146
12147
12148
12149
12150
12151
12152
12153
12154
12155
12156
12157
12158
12159
12160
12161
12162
12163
12164
12165
12166
12167
12168
12169
12170
12171
12172
12173
12174
12175
12176
12177
12178
12179
12180
12181
12182
12183
12184
12185
12186
12187
12188
12189
12190
12191
12192
12193
12194
12195
12196
12197
12198
12199
12200
12201
12202
12203
12204
12205
12206
12207
12208
12209
12210
12211
12212
12213
12214
12215
12216
12217
12218
12219
12220
12221
12222
12223
12224
12225
12226
12227
12228
12229
12230
12231
12232
12233
12234
12235
12236
12237
12238
12239
12240
12241
12242
12243
12244
12245
12246
12247
12248
12249
12250
12251
12252
12253
12254
12255
12256
12257
12258
12259
12260
12261
12262
12263
12264
12265
12266
12267
12268
12269
12270
12271
12272
12273
12274
12275
12276
12277
12278
12279
12280
12281
12282
12283
12284
12285
12286
12287
12288
12289
12290
12291
12292
12293
12294
12295
12296
12297
12298
12299
12300
12301
12302
12303
12304
12305
12306
12307
12308
12309
12310
12311
12312
12313
12314
12315
12316
12317
12318
12319
12320
12321
12322
12323
12324
12325
12326
12327
12328
12329
12330
12331
12332
12333
12334
12335
12336
12337
12338
12339
12340
12341
12342
12343
12344
12345
12346
12347
12348
12349
12350
12351
12352
12353
12354
12355
12356
12357
12358
12359
12360
12361
12362
12363
12364
12365
12366
12367
12368
12369
12370
12371
12372
12373
12374
12375
12376
12377
12378
12379
12380
12381
12382
12383
12384
12385
12386
12387
12388
12389
12390
12391
12392
12393
12394
12395
12396
12397
12398
12399
12400
12401
12402
12403
12404
12405
12406
12407
12408
12409
12410
12411
12412
12413
12414
12415
12416
12417
12418
12419
12420
12421
12422
12423
12424
12425
12426
12427
12428
12429
12430
12431
12432
12433
12434
12435
12436
12437
12438
12439
12440
12441
12442
12443
12444
12445
12446
12447
12448
12449
12450
12451
12452
12453
12454
12455
12456
12457
12458
12459
12460
12461
12462
12463
12464
12465
12466
12467
12468
12469
12470
12471
12472
12473
12474
12475
12476
12477
12478
12479
12480
12481
12482
12483
12484
12485
12486
12487
12488
12489
12490
12491
12492
12493
12494
12495
12496
12497
12498
12499
12500
12501
12502
12503
12504
12505
12506
12507
12508
12509
12510
12511
12512
12513
12514
12515
12516
12517
12518
12519
12520
12521
12522
12523
12524
12525
12526
12527
12528
12529
12530
12531
12532
12533
12534
12535
12536
12537
12538
12539
12540
12541
12542
12543
12544
12545
12546
12547
12548
12549
12550
12551
12552
12553
12554
12555
12556
12557
12558
12559
12560
12561
12562
12563
12564
12565
12566
12567
12568
12569
12570
12571
12572
12573
12574
12575
12576
12577
12578
12579
12580
12581
12582
12583
12584
12585
12586
12587
12588
12589
12590
12591
12592
12593
12594
12595
12596
12597
12598
12599
12600
12601
12602
12603
12604
12605
12606
12607
12608
12609
12610
12611
12612
12613
12614
12615
12616
12617
12618
12619
12620
12621
12622
12623
12624
12625
12626
12627
12628
12629
12630
12631
12632
12633
12634
12635
12636
12637
12638
12639
12640
12641
12642
12643
12644
12645
12646
12647
12648
12649
12650
12651
12652
12653
12654
12655
12656
12657
12658
12659
12660
12661
12662
12663
12664
12665
12666
12667
12668
12669
12670
12671
12672
12673
12674
12675
12676
12677
12678
12679
12680
12681
12682
12683
12684
12685
12686
12687
12688
12689
12690
12691
12692
12693
12694
12695
12696
12697
12698
12699
12700
12701
12702
12703
12704
12705
12706
12707
12708
12709
12710
12711
12712
12713
12714
12715
12716
12717
12718
12719
12720
12721
12722
12723
12724
12725
12726
12727
12728
12729
12730
12731
12732
12733
12734
12735
12736
12737
12738
12739
12740
12741
12742
12743
12744
12745
12746
12747
12748
12749
12750
12751
12752
12753
12754
12755
12756
12757
12758
12759
12760
12761
12762
12763
12764
12765
12766
12767
12768
12769
12770
12771
12772
12773
12774
12775
12776
12777
12778
12779
12780
12781
12782
12783
12784
12785
12786
12787
12788
12789
12790
12791
12792
12793
12794
12795
12796
12797
12798
12799
12800
12801
12802
12803
12804
12805
12806
12807
12808
12809
12810
12811
12812
12813
12814
12815
12816
12817
12818
12819
12820
12821
12822
12823
12824
12825
12826
12827
12828
12829
12830
12831
12832
12833
12834
12835
12836
12837
12838
12839
12840
12841
12842
12843
12844
12845
12846
12847
12848
12849
12850
12851
12852
12853
12854
12855
12856
12857
12858
12859
12860
12861
12862
12863
12864
12865
12866
12867
12868
12869
12870
12871
12872
12873
12874
12875
12876
12877
12878
12879
12880
12881
12882
12883
12884
12885
12886
12887
12888
12889
12890
12891
12892
12893
12894
12895
12896
12897
12898
12899
12900
12901
12902
12903
12904
12905
12906
12907
12908
12909
12910
12911
12912
12913
12914
12915
12916
12917
12918
12919
12920
12921
12922
12923
12924
12925
12926
12927
12928
12929
12930
12931
12932
12933
12934
12935
12936
12937
12938
12939
12940
12941
12942
12943
12944
12945
12946
12947
12948
12949
12950
12951
12952
12953
12954
12955
12956
12957
12958
12959
12960
12961
12962
12963
12964
12965
12966
12967
12968
12969
12970
12971
12972
12973
12974
12975
12976
12977
12978
12979
12980
12981
12982
12983
12984
12985
12986
12987
12988
12989
12990
12991
12992
12993
12994
12995
12996
12997
12998
12999
13000
13001
13002
13003
13004
13005
13006
13007
13008
13009
13010
13011
13012
13013
13014
13015
13016
13017
13018
13019
13020
13021
13022
13023
13024
13025
13026
13027
13028
13029
13030
13031
13032
13033
13034
13035
13036
13037
13038
13039
13040
13041
13042
13043
13044
13045
13046
13047
13048
13049
13050
13051
13052
13053
13054
13055
13056
13057
13058
13059
13060
13061
13062
13063
13064
13065
13066
13067
13068
13069
13070
13071
13072
13073
13074
13075
13076
13077
13078
13079
13080
13081
13082
13083
13084
13085
13086
13087
13088
13089
13090
13091
13092
13093
13094
13095
13096
13097
13098
13099
13100
13101
13102
13103
13104
13105
13106
13107
13108
13109
13110
13111
13112
13113
13114
13115
13116
13117
13118
13119
13120
13121
13122
13123
13124
13125
13126
13127
13128
13129
13130
13131
13132
13133
13134
13135
13136
13137
13138
13139
13140
13141
13142
13143
13144
13145
13146
13147
13148
13149
13150
13151
13152
13153
13154
13155
13156
13157
13158
13159
13160
13161
13162
13163
13164
13165
13166
13167
13168
13169
13170
13171
13172
13173
13174
13175
13176
13177
13178
13179
13180
13181
13182
13183
13184
13185
13186
13187
13188
13189
13190
13191
13192
13193
13194
13195
13196
13197
13198
13199
13200
13201
13202
13203
13204
13205
13206
13207
13208
13209
13210
13211
13212
13213
13214
13215
13216
13217
13218
13219
13220
13221
13222
13223
13224
13225
13226
13227
13228
13229
13230
13231
13232
13233
13234
13235
13236
13237
13238
13239
13240
13241
13242
13243
13244
13245
13246
13247
13248
13249
13250
13251
13252
13253
13254
13255
13256
13257
13258
13259
13260
13261
13262
13263
13264
13265
13266
13267
13268
13269
13270
13271
13272
13273
13274
13275
13276
13277
13278
13279
13280
13281
13282
13283
13284
13285
13286
13287
13288
13289
13290
13291
13292
13293
13294
13295
13296
13297
13298
13299
13300
13301
13302
13303
13304
13305
13306
13307
13308
13309
13310
13311
13312
13313
13314
13315
13316
13317
13318
13319
13320
13321
13322
13323
13324
13325
13326
13327
13328
13329
13330
13331
13332
13333
13334
13335
13336
13337
13338
13339
13340
13341
13342
13343
13344
13345
13346
13347
13348
13349
13350
13351
13352
13353
13354
13355
13356
13357
13358
13359
13360
13361
13362
13363
13364
13365
13366
13367
13368
13369
13370
13371
13372
13373
13374
13375
13376
13377
13378
13379
13380
13381
13382
13383
13384
13385
13386
13387
13388
13389
13390
13391
13392
13393
13394
13395
13396
13397
13398
13399
13400
13401
13402
13403
13404
13405
13406
13407
13408
13409
13410
13411
13412
13413
13414
13415
13416
13417
13418
13419
13420
13421
13422
13423
13424
13425
13426
13427
13428
13429
13430
13431
13432
13433
13434
13435
13436
13437
13438
13439
13440
13441
13442
13443
13444
13445
13446
13447
13448
13449
13450
13451
13452
13453
13454
13455
13456
13457
13458
13459
13460
13461
13462
13463
13464
13465
13466
13467
13468
13469
13470
13471
13472
13473
13474
13475
13476
13477
13478
13479
13480
13481
13482
13483
13484
13485
13486
13487
13488
13489
13490
13491
13492
13493
13494
13495
13496
13497
13498
13499
13500
13501
13502
13503
13504
13505
13506
13507
13508
13509
13510
13511
13512
13513
13514
13515
13516
13517
13518
13519
13520
13521
13522
13523
13524
13525
13526
13527
13528
13529
13530
13531
13532
13533
13534
13535
13536
13537
13538
13539
13540
13541
13542
13543
13544
13545
13546
13547
13548
13549
13550
13551
13552
13553
13554
13555
13556
13557
13558
13559
13560
13561
13562
13563
13564
13565
13566
13567
13568
13569
13570
13571
13572
13573
13574
13575
13576
13577
13578
13579
13580
13581
13582
13583
13584
13585
13586
13587
13588
13589
13590
13591
13592
13593
13594
13595
13596
13597
13598
13599
13600
13601
13602
13603
13604
13605
13606
13607
13608
13609
13610
13611
13612
13613
13614
13615
13616
13617
13618
13619
13620
13621
13622
13623
13624
13625
13626
13627
13628
13629
13630
13631
13632
13633
13634
13635
13636
13637
13638
13639
13640
13641
13642
13643
13644
13645
13646
13647
13648
13649
13650
13651
13652
13653
13654
13655
13656
13657
13658
13659
13660
13661
13662
13663
13664
13665
13666
13667
13668
13669
13670
13671
13672
13673
13674
13675
13676
13677
13678
13679
13680
13681
13682
13683
13684
13685
13686
13687
13688
13689
13690
13691
13692
13693
13694
13695
13696
13697
13698
13699
13700
13701
13702
13703
13704
13705
13706
13707
13708
13709
13710
13711
13712
13713
13714
13715
13716
13717
13718
13719
13720
13721
13722
13723
13724
13725
13726
13727
13728
13729
13730
13731
13732
13733
13734
13735
13736
13737
13738
13739
13740
13741
13742
13743
13744
13745
13746
13747
13748
13749
13750
13751
13752
13753
13754
13755
13756
13757
13758
13759
13760
13761
13762
13763
13764
13765
13766
13767
13768
13769
13770
13771
13772
13773
13774
13775
13776
13777
13778
13779
13780
13781
13782
13783
13784
13785
13786
13787
13788
13789
13790
13791
13792
13793
13794
13795
13796
13797
13798
13799
13800
13801
13802
13803
13804
13805
13806
13807
13808
13809
13810
13811
13812
13813
13814
13815
13816
13817
13818
13819
13820
13821
13822
13823
13824
13825
13826
13827
13828
13829
13830
13831
13832
13833
13834
13835
13836
13837
13838
13839
13840
13841
13842
13843
13844
13845
13846
13847
13848
13849
13850
13851
13852
13853
13854
13855
13856
13857
13858
13859
13860
13861
13862
13863
13864
13865
13866
13867
13868
13869
13870
13871
13872
13873
13874
13875
13876
13877
13878
13879
13880
13881
13882
13883
13884
13885
13886
13887
13888
13889
13890
13891
13892
13893
13894
13895
13896
13897
13898
13899
13900
13901
13902
13903
13904
13905
13906
13907
13908
13909
13910
13911
13912
13913
13914
13915
13916
13917
13918
13919
13920
13921
13922
13923
13924
13925
13926
13927
13928
13929
13930
13931
13932
13933
13934
13935
13936
13937
13938
13939
13940
13941
13942
13943
13944
13945
13946
13947
13948
13949
13950
13951
13952
13953
13954
13955
13956
13957
13958
13959
13960
13961
13962
13963
13964
13965
13966
13967
13968
13969
13970
13971
13972
13973
13974
13975
13976
13977
13978
13979
13980
13981
13982
13983
13984
13985
13986
13987
13988
13989
13990
13991
13992
13993
13994
13995
13996
13997
13998
13999
14000
14001
14002
14003
14004
14005
14006
14007
14008
14009
14010
14011
14012
14013
14014
14015
14016
14017
14018
14019
14020
14021
14022
14023
14024
14025
14026
14027
14028
14029
14030
14031
14032
14033
14034
14035
14036
14037
14038
14039
14040
14041
14042
14043
14044
14045
14046
14047
14048
14049
14050
14051
14052
14053
14054
14055
14056
14057
14058
14059
14060
14061
14062
14063
14064
14065
14066
14067
14068
14069
14070
14071
14072
14073
14074
14075
14076
14077
14078
14079
14080
14081
14082
14083
14084
14085
14086
14087
14088
14089
14090
14091
14092
14093
14094
14095
14096
14097
14098
14099
14100
14101
14102
14103
14104
14105
14106
14107
14108
14109
14110
14111
14112
14113
14114
14115
14116
14117
14118
14119
14120
14121
14122
14123
14124
14125
14126
14127
14128
14129
14130
14131
14132
14133
14134
14135
14136
14137
14138
14139
14140
14141
14142
14143
14144
14145
14146
14147
14148
14149
14150
14151
14152
14153
14154
14155
14156
14157
14158
14159
14160
14161
14162
14163
14164
14165
14166
14167
14168
14169
14170
14171
14172
14173
14174
14175
14176
14177
14178
14179
14180
14181
14182
14183
14184
14185
14186
14187
14188
14189
14190
14191
14192
14193
14194
14195
14196
14197
14198
14199
14200
14201
14202
14203
14204
14205
14206
14207
14208
14209
14210
14211
14212
14213
14214
14215
14216
14217
14218
14219
14220
14221
14222
14223
14224
14225
14226
14227
14228
14229
14230
14231
14232
14233
14234
14235
14236
14237
14238
14239
14240
14241
14242
14243
14244
14245
14246
14247
14248
14249
14250
14251
14252
14253
14254
14255
14256
14257
14258
14259
14260
14261
14262
14263
14264
14265
14266
14267
14268
14269
14270
14271
14272
14273
14274
14275
14276
14277
14278
14279
14280
14281
14282
14283
14284
14285
14286
14287
14288
14289
14290
14291
14292
14293
14294
14295
14296
14297
14298
14299
14300
14301
14302
14303
14304
14305
14306
14307
14308
14309
14310
14311
14312
14313
14314
14315
14316
14317
14318
14319
14320
14321
14322
14323
14324
14325
14326
14327
14328
14329
14330
14331
14332
14333
14334
14335
14336
14337
14338
14339
14340
14341
14342
14343
14344
14345
14346
14347
14348
14349
14350
14351
14352
14353
14354
14355
14356
14357
14358
14359
14360
14361
14362
14363
14364
14365
14366
14367
14368
14369
14370
14371
14372
14373
14374
14375
14376
14377
14378
14379
14380
14381
14382
14383
14384
14385
14386
14387
14388
14389
14390
14391
14392
14393
14394
14395
14396
14397
14398
14399
14400
14401
14402
14403
14404
14405
14406
14407
14408
14409
14410
14411
14412
14413
14414
14415
14416
14417
14418
14419
14420
14421
14422
14423
14424
14425
14426
14427
14428
14429
14430
14431
14432
14433
14434
14435
14436
14437
14438
14439
14440
14441
14442
14443
14444
14445
14446
14447
14448
14449
14450
14451
14452
14453
14454
14455
14456
14457
14458
14459
14460
14461
14462
14463
14464
14465
14466
14467
14468
14469
14470
14471
14472
14473
14474
14475
14476
14477
14478
14479
14480
14481
14482
14483
14484
14485
14486
14487
14488
14489
14490
14491
14492
14493
14494
14495
14496
14497
14498
14499
14500
14501
14502
14503
14504
14505
14506
14507
14508
14509
14510
14511
14512
14513
14514
14515
14516
14517
14518
14519
14520
14521
14522
14523
14524
14525
14526
14527
14528
14529
14530
14531
14532
14533
14534
14535
14536
14537
14538
14539
14540
14541
14542
14543
14544
14545
14546
14547
14548
14549
14550
14551
14552
14553
14554
14555
14556
14557
14558
14559
14560
14561
14562
14563
14564
14565
14566
14567
14568
14569
14570
14571
14572
14573
14574
14575
14576
14577
14578
14579
14580
14581
14582
14583
14584
14585
14586
14587
14588
14589
14590
14591
14592
14593
14594
14595
14596
14597
14598
14599
14600
14601
14602
14603
14604
14605
14606
14607
14608
14609
14610
14611
14612
14613
14614
14615
14616
14617
14618
14619
14620
14621
14622
14623
14624
14625
14626
14627
14628
14629
14630
14631
14632
14633
14634
14635
14636
14637
14638
14639
14640
14641
14642
14643
14644
14645
14646
14647
14648
14649
14650
14651
14652
14653
14654
14655
14656
14657
14658
14659
14660
14661
14662
14663
14664
14665
14666
14667
14668
14669
14670
14671
14672
14673
14674
14675
14676
14677
14678
14679
14680
14681
14682
14683
14684
14685
14686
14687
14688
14689
14690
14691
14692
14693
14694
14695
14696
14697
14698
14699
14700
14701
14702
14703
14704
14705
14706
14707
14708
14709
14710
14711
14712
14713
14714
14715
14716
14717
14718
14719
14720
14721
14722
14723
14724
14725
14726
14727
14728
14729
14730
14731
14732
14733
14734
14735
14736
14737
14738
14739
14740
14741
14742
14743
14744
14745
14746
14747
14748
14749
14750
14751
14752
14753
14754
14755
14756
14757
14758
14759
14760
14761
14762
14763
14764
14765
14766
14767
14768
14769
14770
14771
14772
14773
14774
14775
14776
14777
14778
14779
14780
14781
14782
14783
14784
14785
14786
14787
14788
14789
14790
14791
14792
14793
14794
14795
14796
14797
14798
14799
14800
14801
14802
14803
14804
14805
14806
14807
14808
14809
14810
14811
14812
14813
14814
14815
14816
14817
14818
14819
14820
14821
14822
14823
14824
14825
14826
14827
14828
14829
14830
14831
14832
14833
14834
14835
14836
14837
14838
14839
14840
14841
14842
14843
14844
14845
14846
14847
14848
14849
14850
14851
14852
14853
14854
14855
14856
14857
14858
14859
14860
14861
14862
14863
14864
14865
14866
14867
14868
14869
14870
14871
14872
14873
14874
14875
14876
14877
14878
14879
14880
14881
14882
14883
14884
14885
14886
14887
14888
14889
14890
14891
14892
14893
14894
14895
14896
14897
14898
14899
14900
14901
14902
14903
14904
14905
14906
14907
14908
14909
14910
14911
14912
14913
14914
14915
14916
14917
14918
14919
14920
14921
14922
14923
14924
14925
14926
14927
14928
14929
14930
14931
14932
14933
14934
14935
14936
14937
14938
14939
14940
14941
14942
14943
14944
14945
14946
14947
14948
14949
14950
14951
14952
14953
14954
14955
14956
14957
14958
14959
14960
14961
14962
14963
14964
14965
14966
14967
14968
14969
14970
14971
14972
14973
14974
14975
14976
14977
14978
14979
14980
14981
14982
14983
14984
14985
14986
14987
14988
14989
14990
14991
14992
14993
14994
14995
14996
14997
14998
14999
15000
15001
15002
15003
15004
15005
15006
15007
15008
15009
15010
15011
15012
15013
15014
15015
15016
15017
15018
15019
15020
15021
15022
15023
15024
15025
15026
15027
15028
15029
15030
15031
15032
15033
15034
15035
15036
15037
15038
15039
15040
15041
15042
15043
15044
15045
15046
15047
15048
15049
15050
15051
15052
15053
15054
15055
15056
15057
15058
15059
15060
15061
15062
15063
15064
15065
15066
15067
15068
15069
15070
15071
15072
15073
15074
15075
15076
15077
15078
15079
15080
15081
15082
15083
15084
15085
15086
15087
15088
15089
15090
15091
15092
15093
15094
15095
15096
15097
15098
15099
15100
15101
15102
15103
15104
15105
15106
15107
15108
15109
15110
15111
15112
15113
15114
15115
15116
15117
15118
15119
15120
15121
15122
15123
15124
15125
15126
15127
15128
15129
15130
15131
15132
15133
15134
15135
15136
15137
15138
15139
15140
15141
15142
15143
15144
15145
15146
15147
15148
15149
15150
15151
15152
15153
15154
15155
15156
15157
15158
15159
15160
15161
15162
15163
15164
15165
15166
15167
15168
15169
15170
15171
15172
15173
15174
15175
15176
15177
15178
15179
15180
15181
15182
15183
15184
15185
15186
15187
15188
15189
15190
15191
15192
15193
15194
15195
15196
15197
15198
15199
15200
15201
15202
15203
15204
15205
15206
15207
15208
15209
15210
15211
15212
15213
15214
15215
15216
15217
15218
15219
15220
15221
15222
15223
15224
15225
15226
15227
15228
15229
15230
15231
15232
15233
15234
15235
15236
15237
15238
15239
15240
15241
15242
15243
15244
15245
15246
15247
15248
15249
15250
15251
15252
15253
15254
15255
15256
15257
15258
15259
15260
15261
15262
15263
15264
15265
15266
15267
15268
15269
15270
15271
15272
15273
15274
15275
15276
15277
15278
15279
15280
15281
15282
15283
15284
15285
15286
15287
15288
15289
15290
15291
15292
15293
15294
15295
15296
15297
15298
15299
15300
15301
15302
15303
15304
15305
15306
15307
15308
15309
15310
15311
15312
15313
15314
15315
15316
15317
15318
15319
15320
15321
15322
15323
15324
15325
15326
15327
15328
15329
15330
15331
15332
15333
15334
15335
15336
15337
15338
15339
15340
15341
15342
15343
15344
15345
15346
15347
15348
15349
15350
15351
15352
15353
15354
15355
15356
15357
15358
15359
15360
15361
15362
15363
15364
15365
15366
15367
15368
15369
15370
15371
15372
15373
15374
15375
15376
15377
15378
15379
15380
15381
15382
15383
15384
15385
15386
15387
15388
15389
15390
15391
15392
15393
15394
15395
15396
15397
15398
15399
15400
15401
15402
15403
15404
15405
15406
15407
15408
15409
15410
15411
15412
15413
15414
15415
15416
15417
15418
15419
15420
15421
15422
15423
15424
15425
15426
15427
15428
15429
15430
15431
15432
15433
15434
15435
15436
15437
15438
15439
15440
15441
15442
15443
15444
15445
15446
15447
15448
15449
15450
15451
15452
15453
15454
15455
15456
15457
15458
15459
15460
15461
15462
15463
15464
15465
15466
15467
15468
15469
15470
15471
15472
15473
15474
15475
15476
15477
15478
15479
15480
15481
15482
15483
15484
15485
15486
15487
15488
15489
15490
15491
15492
15493
15494
15495
15496
15497
15498
15499
15500
15501
15502
15503
15504
15505
15506
15507
15508
15509
15510
15511
15512
15513
15514
15515
15516
15517
15518
15519
15520
15521
15522
15523
15524
15525
15526
15527
15528
15529
15530
15531
15532
15533
15534
15535
15536
15537
15538
15539
15540
15541
15542
15543
15544
15545
15546
15547
15548
15549
15550
15551
15552
15553
15554
15555
15556
15557
15558
15559
15560
15561
15562
15563
15564
15565
15566
15567
15568
15569
15570
15571
15572
15573
15574
15575
15576
15577
15578
15579
15580
15581
15582
15583
15584
15585
15586
15587
15588
15589
15590
15591
15592
15593
15594
15595
15596
15597
15598
15599
15600
15601
15602
15603
15604
15605
15606
15607
15608
15609
15610
15611
15612
15613
15614
15615
15616
15617
15618
15619
15620
15621
15622
15623
15624
15625
15626
15627
15628
15629
15630
15631
15632
15633
15634
15635
15636
15637
15638
15639
15640
15641
15642
15643
15644
15645
15646
15647
15648
15649
15650
15651
15652
15653
15654
15655
15656
15657
15658
15659
15660
15661
15662
15663
15664
15665
15666
15667
15668
15669
15670
15671
15672
15673
15674
15675
15676
15677
15678
15679
15680
15681
15682
15683
15684
15685
15686
15687
15688
15689
15690
15691
15692
15693
15694
15695
15696
15697
15698
15699
15700
15701
15702
15703
15704
15705
15706
15707
15708
15709
15710
15711
15712
15713
15714
15715
15716
15717
15718
15719
15720
15721
15722
15723
15724
15725
15726
15727
15728
15729
15730
15731
15732
15733
15734
15735
15736
15737
15738
15739
15740
15741
15742
15743
15744
15745
15746
15747
15748
15749
15750
15751
15752
15753
15754
15755
15756
15757
15758
15759
15760
15761
15762
15763
15764
15765
15766
15767
15768
15769
15770
15771
15772
15773
15774
15775
15776
15777
15778
15779
15780
15781
15782
15783
15784
15785
15786
15787
15788
15789
15790
15791
15792
15793
15794
15795
15796
15797
15798
15799
15800
15801
15802
15803
15804
15805
15806
15807
15808
15809
15810
15811
15812
15813
15814
15815
15816
15817
15818
15819
15820
15821
15822
15823
15824
15825
15826
15827
15828
15829
15830
15831
15832
15833
15834
15835
15836
15837
15838
15839
15840
15841
15842
15843
15844
15845
15846
15847
15848
15849
15850
15851
15852
15853
15854
15855
15856
15857
15858
15859
15860
15861
15862
15863
15864
15865
15866
15867
15868
15869
15870
15871
15872
15873
15874
15875
15876
15877
15878
15879
15880
15881
15882
15883
15884
15885
15886
15887
15888
15889
15890
15891
15892
15893
15894
15895
15896
15897
15898
15899
15900
15901
15902
15903
15904
15905
15906
15907
15908
15909
15910
15911
15912
15913
15914
15915
15916
15917
15918
15919
15920
15921
15922
15923
15924
15925
15926
15927
15928
15929
15930
15931
15932
15933
15934
15935
15936
15937
15938
15939
15940
15941
15942
15943
15944
15945
15946
15947
15948
15949
15950
15951
15952
15953
15954
15955
15956
15957
15958
15959
15960
15961
15962
15963
15964
15965
15966
15967
15968
15969
15970
15971
15972
15973
15974
15975
15976
15977
15978
15979
15980
15981
15982
15983
15984
15985
15986
15987
15988
15989
15990
15991
15992
15993
15994
15995
15996
15997
15998
15999
16000
16001
16002
16003
16004
16005
16006
16007
16008
16009
16010
16011
16012
16013
16014
16015
16016
16017
16018
16019
16020
16021
16022
16023
16024
16025
16026
16027
16028
16029
16030
16031
16032
16033
16034
16035
16036
16037
16038
16039
16040
16041
16042
16043
16044
16045
16046
16047
16048
16049
16050
16051
16052
16053
16054
16055
16056
16057
16058
16059
16060
16061
16062
16063
16064
16065
16066
16067
16068
16069
16070
16071
16072
16073
16074
16075
16076
16077
16078
16079
16080
16081
16082
16083
16084
16085
16086
16087
16088
16089
16090
16091
16092
16093
16094
16095
16096
16097
16098
16099
16100
16101
16102
16103
16104
16105
16106
16107
16108
16109
16110
16111
16112
16113
16114
16115
16116
16117
16118
16119
16120
16121
16122
16123
16124
16125
16126
16127
16128
16129
16130
16131
16132
16133
16134
16135
16136
16137
16138
16139
16140
16141
16142
16143
16144
16145
16146
16147
16148
16149
16150
16151
16152
16153
16154
16155
16156
16157
16158
16159
16160
16161
16162
16163
16164
16165
16166
16167
16168
16169
16170
16171
16172
16173
16174
16175
16176
16177
16178
16179
16180
16181
16182
16183
16184
16185
16186
16187
16188
16189
16190
16191
16192
16193
16194
16195
16196
16197
16198
16199
16200
16201
16202
16203
16204
16205
16206
16207
16208
16209
16210
16211
16212
16213
16214
16215
16216
16217
16218
16219
16220
16221
16222
16223
16224
16225
16226
16227
16228
16229
16230
16231
16232
16233
16234
16235
16236
16237
16238
16239
16240
16241
16242
16243
16244
16245
16246
16247
16248
16249
16250
16251
16252
16253
16254
16255
16256
16257
16258
16259
16260
16261
16262
16263
16264
16265
16266
16267
16268
16269
16270
16271
16272
16273
16274
16275
16276
16277
16278
16279
16280
16281
16282
16283
16284
16285
16286
16287
16288
16289
16290
16291
16292
16293
16294
16295
16296
16297
16298
16299
16300
16301
16302
16303
16304
16305
16306
16307
16308
16309
16310
16311
16312
16313
16314
16315
16316
16317
16318
16319
16320
16321
16322
16323
16324
16325
16326
16327
16328
16329
16330
16331
16332
16333
16334
16335
16336
16337
16338
16339
16340
16341
16342
16343
16344
16345
16346
16347
16348
16349
16350
16351
16352
16353
16354
16355
16356
16357
16358
16359
16360
16361
16362
16363
16364
16365
16366
16367
16368
16369
16370
16371
16372
16373
16374
16375
16376
16377
16378
16379
16380
16381
16382
16383
16384
16385
16386
16387
16388
16389
16390
16391
16392
16393
16394
16395
16396
16397
16398
16399
16400
16401
16402
16403
16404
16405
16406
16407
16408
16409
16410
16411
16412
16413
16414
16415
16416
16417
16418
16419
16420
16421
16422
16423
16424
16425
16426
16427
16428
16429
16430
16431
16432
16433
16434
16435
16436
16437
16438
16439
16440
16441
16442
16443
16444
16445
16446
16447
16448
16449
16450
16451
16452
16453
16454
16455
16456
16457
16458
16459
16460
16461
16462
16463
16464
16465
16466
16467
16468
16469
16470
16471
16472
16473
16474
16475
16476
16477
16478
16479
16480
16481
16482
16483
16484
16485
16486
16487
16488
16489
16490
16491
16492
16493
16494
16495
16496
16497
16498
16499
16500
16501
16502
16503
16504
16505
16506
16507
16508
16509
16510
16511
16512
16513
16514
16515
16516
16517
16518
16519
16520
16521
16522
16523
16524
16525
16526
16527
16528
16529
16530
16531
16532
16533
16534
16535
16536
16537
16538
16539
16540
16541
16542
16543
16544
16545
16546
16547
16548
16549
16550
16551
16552
16553
16554
16555
16556
16557
16558
16559
16560
16561
16562
16563
16564
16565
16566
16567
16568
16569
16570
16571
16572
16573
16574
16575
16576
16577
16578
16579
16580
16581
16582
16583
16584
16585
16586
16587
16588
16589
16590
16591
16592
16593
16594
16595
16596
16597
16598
16599
16600
16601
16602
16603
16604
16605
16606
16607
16608
16609
16610
16611
16612
16613
16614
16615
16616
16617
16618
16619
16620
16621
16622
16623
16624
16625
16626
16627
16628
16629
16630
16631
16632
16633
16634
16635
16636
16637
16638
16639
16640
16641
16642
16643
16644
16645
16646
16647
16648
16649
16650
16651
16652
16653
16654
16655
16656
16657
16658
16659
16660
16661
16662
16663
16664
16665
16666
16667
16668
16669
16670
16671
16672
16673
16674
16675
16676
16677
16678
16679
16680
16681
16682
16683
16684
16685
16686
16687
16688
16689
16690
16691
16692
16693
16694
16695
16696
16697
16698
16699
16700
16701
16702
16703
16704
16705
16706
16707
16708
16709
16710
16711
16712
16713
16714
16715
16716
16717
16718
16719
16720
16721
16722
16723
16724
16725
16726
16727
16728
16729
16730
16731
16732
16733
16734
16735
16736
16737
16738
16739
16740
16741
16742
16743
16744
16745
16746
16747
16748
16749
16750
16751
16752
16753
16754
16755
16756
16757
16758
16759
16760
16761
16762
16763
16764
16765
16766
16767
16768
16769
16770
16771
16772
16773
16774
16775
16776
16777
16778
16779
16780
16781
16782
16783
16784
16785
16786
16787
16788
16789
16790
16791
16792
16793
16794
16795
16796
16797
16798
16799
16800
16801
16802
16803
16804
16805
16806
16807
16808
16809
16810
16811
16812
16813
16814
16815
16816
16817
16818
16819
16820
16821
16822
16823
16824
16825
16826
16827
16828
16829
16830
16831
16832
16833
16834
16835
16836
16837
16838
16839
16840
16841
16842
16843
16844
16845
16846
16847
16848
16849
16850
16851
16852
16853
16854
16855
16856
16857
16858
16859
16860
16861
16862
16863
16864
16865
16866
16867
16868
16869
16870
16871
16872
16873
16874
16875
16876
16877
16878
16879
16880
16881
16882
16883
16884
16885
16886
16887
16888
16889
16890
16891
16892
16893
16894
16895
16896
16897
16898
16899
16900
16901
16902
16903
16904
16905
16906
16907
16908
16909
16910
16911
16912
16913
16914
16915
16916
16917
16918
16919
16920
16921
16922
16923
16924
16925
16926
16927
16928
16929
16930
16931
16932
16933
16934
16935
16936
16937
16938
16939
16940
16941
16942
16943
16944
16945
16946
16947
16948
16949
16950
16951
16952
16953
16954
16955
16956
16957
16958
16959
16960
16961
16962
16963
16964
16965
16966
16967
16968
16969
16970
16971
16972
16973
16974
16975
16976
16977
16978
16979
16980
16981
16982
16983
16984
16985
16986
16987
16988
16989
16990
16991
16992
16993
16994
16995
16996
16997
16998
16999
17000
17001
17002
17003
17004
17005
17006
17007
17008
17009
17010
17011
17012
17013
17014
17015
17016
17017
17018
17019
17020
17021
17022
17023
17024
17025
17026
17027
17028
17029
17030
17031
17032
17033
17034
17035
17036
17037
17038
17039
17040
17041
17042
17043
17044
17045
17046
17047
17048
17049
17050
17051
17052
17053
17054
17055
17056
17057
17058
17059
17060
17061
17062
17063
17064
17065
17066
17067
17068
17069
17070
17071
17072
17073
17074
17075
17076
17077
17078
17079
17080
17081
17082
17083
17084
17085
17086
17087
17088
17089
17090
17091
17092
17093
17094
17095
17096
17097
17098
17099
17100
17101
17102
17103
17104
17105
17106
17107
17108
17109
17110
17111
17112
17113
17114
17115
17116
17117
17118
17119
17120
17121
17122
17123
17124
17125
17126
17127
17128
17129
17130
17131
17132
17133
17134
17135
17136
17137
17138
17139
17140
17141
17142
17143
17144
17145
17146
17147
17148
17149
17150
17151
17152
17153
17154
17155
17156
17157
17158
17159
17160
17161
17162
17163
17164
17165
17166
17167
17168
17169
17170
17171
17172
17173
17174
17175
17176
17177
17178
17179
17180
17181
17182
17183
17184
17185
17186
17187
17188
17189
17190
17191
17192
17193
17194
17195
17196
17197
17198
17199
17200
17201
17202
17203
17204
17205
17206
17207
17208
17209
17210
17211
17212
17213
17214
17215
17216
17217
17218
17219
17220
17221
17222
17223
17224
17225
17226
17227
17228
17229
17230
17231
17232
17233
17234
17235
17236
17237
17238
17239
17240
17241
17242
17243
17244
17245
17246
17247
17248
17249
17250
17251
17252
17253
17254
17255
17256
17257
17258
17259
17260
17261
17262
17263
17264
17265
17266
17267
17268
17269
17270
17271
17272
17273
17274
17275
17276
17277
17278
17279
17280
17281
17282
17283
17284
17285
17286
17287
17288
17289
17290
17291
17292
17293
17294
17295
17296
17297
17298
17299
17300
17301
17302
17303
17304
17305
17306
17307
17308
17309
17310
17311
17312
17313
17314
17315
17316
17317
17318
17319
17320
17321
17322
17323
17324
17325
17326
17327
17328
17329
17330
17331
17332
17333
17334
17335
17336
17337
17338
17339
17340
17341
17342
17343
17344
17345
17346
17347
17348
17349
17350
17351
17352
17353
17354
17355
17356
17357
17358
17359
17360
17361
17362
17363
17364
17365
17366
17367
17368
17369
17370
17371
17372
17373
17374
17375
17376
17377
17378
17379
17380
17381
17382
17383
17384
17385
17386
17387
17388
17389
17390
17391
17392
17393
17394
17395
17396
17397
17398
17399
17400
17401
17402
17403
17404
17405
17406
17407
17408
17409
17410
17411
17412
17413
17414
17415
17416
17417
17418
17419
17420
17421
17422
17423
17424
17425
17426
17427
17428
17429
17430
17431
17432
17433
17434
17435
17436
17437
17438
17439
17440
17441
17442
17443
17444
17445
17446
17447
17448
17449
17450
17451
17452
17453
17454
17455
17456
17457
17458
17459
17460
17461
17462
17463
17464
17465
17466
17467
17468
17469
17470
17471
17472
17473
17474
17475
17476
17477
17478
17479
17480
17481
17482
17483
17484
17485
17486
17487
17488
17489
17490
17491
17492
17493
17494
17495
17496
17497
17498
17499
17500
17501
17502
17503
17504
17505
17506
17507
17508
17509
17510
17511
17512
17513
17514
17515
17516
17517
17518
17519
17520
17521
17522
17523
17524
17525
17526
17527
17528
17529
17530
17531
17532
17533
17534
17535
17536
17537
17538
17539
17540
17541
17542
17543
17544
17545
17546
17547
17548
17549
17550
17551
17552
17553
17554
17555
17556
17557
17558
17559
17560
17561
17562
17563
17564
17565
17566
17567
17568
17569
17570
17571
17572
17573
17574
17575
17576
17577
17578
17579
17580
17581
17582
17583
17584
17585
17586
17587
17588
17589
17590
17591
17592
17593
17594
17595
17596
17597
17598
17599
17600
17601
17602
17603
17604
17605
17606
17607
17608
17609
17610
17611
17612
17613
17614
17615
17616
17617
17618
17619
17620
17621
17622
17623
17624
17625
17626
17627
17628
17629
17630
17631
17632
17633
17634
17635
17636
17637
17638
17639
17640
17641
17642
17643
17644
17645
17646
17647
17648
17649
17650
17651
17652
17653
17654
17655
17656
17657
17658
17659
17660
17661
17662
17663
17664
17665
17666
17667
17668
17669
17670
17671
17672
17673
17674
17675
17676
17677
17678
17679
17680
17681
17682
17683
17684
17685
17686
17687
17688
17689
17690
17691
17692
17693
17694
17695
17696
17697
17698
17699
17700
17701
17702
17703
17704
17705
17706
17707
17708
17709
17710
17711
17712
17713
17714
17715
17716
17717
17718
17719
17720
17721
17722
17723
17724
17725
17726
17727
17728
17729
17730
17731
17732
17733
17734
17735
17736
17737
17738
17739
17740
17741
17742
17743
17744
17745
17746
17747
17748
17749
17750
17751
17752
17753
17754
17755
17756
17757
17758
17759
17760
17761
17762
17763
17764
17765
17766
17767
17768
17769
17770
17771
17772
17773
17774
17775
17776
17777
17778
17779
17780
17781
17782
17783
17784
17785
17786
17787
17788
17789
17790
17791
17792
17793
17794
17795
17796
17797
17798
17799
17800
17801
17802
17803
17804
17805
17806
17807
17808
17809
17810
17811
17812
17813
17814
17815
17816
17817
17818
17819
17820
17821
17822
17823
17824
17825
17826
17827
17828
17829
17830
17831
17832
17833
17834
17835
17836
17837
17838
17839
17840
17841
17842
17843
17844
17845
17846
17847
17848
17849
17850
17851
17852
17853
17854
17855
17856
17857
17858
17859
17860
17861
17862
17863
17864
17865
17866
17867
17868
17869
17870
17871
17872
17873
17874
17875
17876
17877
17878
17879
17880
17881
17882
17883
17884
17885
17886
17887
17888
17889
17890
17891
17892
17893
17894
17895
17896
17897
17898
17899
17900
17901
17902
17903
17904
17905
17906
17907
17908
17909
17910
17911
17912
17913
17914
17915
17916
17917
17918
17919
17920
17921
17922
17923
17924
17925
17926
17927
17928
17929
17930
17931
17932
17933
17934
17935
17936
17937
17938
17939
17940
17941
17942
17943
17944
17945
17946
17947
17948
17949
17950
17951
17952
17953
17954
17955
17956
17957
17958
17959
17960
17961
17962
17963
17964
17965
17966
17967
17968
17969
17970
17971
17972
17973
17974
17975
17976
17977
17978
17979
17980
17981
17982
17983
17984
17985
17986
17987
17988
17989
17990
17991
17992
17993
17994
17995
17996
17997
17998
17999
18000
18001
18002
18003
18004
18005
18006
18007
18008
18009
18010
18011
18012
18013
18014
18015
18016
18017
18018
18019
18020
18021
18022
18023
18024
18025
18026
18027
18028
18029
18030
18031
18032
18033
18034
18035
18036
18037
18038
18039
18040
18041
18042
18043
18044
18045
18046
18047
18048
18049
18050
18051
18052
18053
18054
18055
18056
18057
18058
18059
18060
18061
18062
18063
18064
18065
18066
18067
18068
18069
18070
18071
18072
18073
18074
18075
18076
18077
18078
18079
18080
18081
18082
18083
18084
18085
18086
18087
18088
18089
18090
18091
18092
18093
18094
18095
18096
18097
18098
18099
18100
18101
18102
18103
18104
18105
18106
18107
18108
18109
18110
18111
18112
18113
18114
18115
18116
18117
18118
18119
18120
18121
18122
18123
18124
18125
18126
18127
18128
18129
18130
18131
18132
18133
18134
18135
18136
18137
18138
18139
18140
18141
18142
18143
18144
18145
18146
18147
18148
18149
18150
18151
18152
18153
18154
18155
18156
18157
18158
18159
18160
18161
18162
18163
18164
18165
18166
18167
18168
18169
18170
18171
18172
18173
18174
18175
18176
18177
18178
18179
18180
18181
18182
18183
18184
18185
18186
18187
18188
18189
18190
18191
18192
18193
18194
18195
18196
18197
18198
18199
18200
18201
18202
18203
18204
18205
18206
18207
18208
18209
18210
18211
18212
18213
18214
18215
18216
18217
18218
18219
18220
18221
18222
18223
18224
18225
18226
18227
18228
18229
18230
18231
18232
18233
18234
18235
18236
18237
18238
18239
18240
18241
18242
18243
18244
18245
18246
18247
18248
18249
18250
18251
18252
18253
18254
18255
18256
18257
18258
18259
18260
18261
18262
18263
18264
18265
18266
18267
18268
18269
18270
18271
18272
18273
18274
18275
18276
18277
18278
18279
18280
18281
18282
18283
18284
18285
18286
18287
18288
18289
18290
18291
18292
18293
18294
18295
18296
18297
18298
18299
18300
18301
18302
18303
18304
18305
18306
18307
18308
18309
18310
18311
18312
18313
18314
18315
18316
18317
18318
18319
18320
18321
18322
18323
18324
18325
18326
18327
18328
18329
18330
18331
18332
18333
18334
18335
18336
18337
18338
18339
18340
18341
18342
18343
18344
18345
18346
18347
18348
18349
18350
18351
18352
18353
18354
18355
18356
18357
18358
18359
18360
18361
18362
18363
18364
18365
18366
18367
18368
18369
18370
18371
18372
18373
18374
18375
18376
18377
18378
18379
18380
18381
18382
18383
18384
18385
18386
18387
18388
18389
18390
18391
18392
18393
18394
18395
18396
18397
18398
18399
18400
18401
18402
18403
18404
18405
18406
18407
18408
18409
18410
18411
18412
18413
18414
18415
18416
18417
18418
18419
18420
18421
18422
18423
18424
18425
18426
18427
18428
18429
18430
18431
18432
18433
18434
18435
18436
18437
18438
18439
18440
18441
18442
18443
18444
18445
18446
18447
18448
18449
18450
18451
18452
18453
18454
18455
18456
18457
18458
18459
18460
18461
18462
18463
18464
18465
18466
18467
18468
18469
18470
18471
18472
18473
18474
18475
18476
18477
18478
18479
18480
18481
18482
18483
18484
18485
18486
18487
18488
18489
18490
18491
18492
18493
18494
18495
18496
18497
18498
18499
18500
18501
18502
18503
18504
18505
18506
18507
18508
18509
18510
18511
18512
18513
18514
18515
18516
18517
18518
18519
18520
18521
18522
18523
18524
18525
18526
18527
18528
18529
18530
18531
18532
18533
18534
18535
18536
18537
18538
18539
18540
18541
18542
18543
18544
18545
18546
18547
18548
18549
18550
18551
18552
18553
18554
18555
18556
18557
18558
18559
18560
18561
18562
18563
18564
18565
18566
18567
18568
18569
18570
18571
18572
18573
18574
18575
18576
18577
18578
18579
18580
18581
18582
18583
18584
18585
18586
18587
18588
18589
18590
18591
18592
18593
18594
18595
18596
18597
18598
18599
18600
18601
18602
18603
18604
18605
18606
18607
18608
18609
18610
18611
18612
18613
18614
18615
18616
18617
18618
18619
18620
18621
18622
18623
18624
18625
18626
18627
18628
18629
18630
18631
18632
18633
18634
18635
18636
18637
18638
18639
18640
18641
18642
18643
18644
18645
18646
18647
18648
18649
18650
18651
18652
18653
18654
18655
18656
18657
18658
18659
18660
18661
18662
18663
18664
18665
18666
18667
18668
18669
18670
18671
18672
18673
18674
18675
18676
18677
18678
18679
18680
18681
18682
18683
18684
18685
18686
18687
18688
18689
18690
18691
18692
18693
18694
18695
18696
18697
18698
18699
18700
18701
18702
18703
18704
18705
18706
18707
18708
18709
18710
18711
18712
18713
18714
18715
18716
18717
18718
18719
18720
18721
18722
18723
18724
18725
18726
18727
18728
18729
18730
18731
18732
18733
18734
18735
18736
18737
18738
18739
18740
18741
18742
18743
18744
18745
18746
18747
18748
18749
18750
18751
18752
18753
18754
18755
18756
18757
18758
18759
18760
18761
18762
18763
18764
18765
18766
18767
18768
18769
18770
18771
18772
18773
18774
18775
18776
18777
18778
18779
18780
18781
18782
18783
18784
18785
18786
18787
18788
18789
18790
18791
18792
18793
18794
18795
18796
18797
18798
18799
18800
18801
18802
18803
18804
18805
18806
18807
18808
18809
18810
18811
18812
18813
18814
18815
18816
18817
18818
18819
18820
18821
18822
18823
18824
18825
18826
18827
18828
18829
18830
18831
18832
18833
18834
18835
18836
18837
18838
18839
18840
18841
18842
18843
18844
18845
18846
18847
18848
18849
18850
18851
18852
18853
18854
18855
18856
18857
18858
18859
18860
18861
18862
18863
18864
18865
18866
18867
18868
18869
18870
18871
18872
18873
18874
18875
18876
18877
18878
18879
18880
18881
18882
18883
18884
18885
18886
18887
18888
18889
18890
18891
18892
18893
18894
18895
18896
18897
18898
18899
18900
18901
18902
18903
18904
18905
18906
18907
18908
18909
18910
18911
18912
18913
18914
18915
18916
18917
18918
18919
18920
18921
18922
18923
18924
18925
18926
18927
18928
18929
18930
18931
18932
18933
18934
18935
18936
18937
18938
18939
18940
18941
18942
18943
18944
18945
18946
18947
18948
18949
18950
18951
18952
18953
18954
18955
18956
18957
18958
18959
18960
18961
18962
18963
18964
18965
18966
18967
18968
18969
18970
18971
18972
18973
18974
18975
18976
18977
18978
18979
18980
18981
18982
18983
18984
18985
18986
18987
18988
18989
18990
18991
18992
18993
18994
18995
18996
18997
18998
18999
19000
19001
19002
19003
19004
19005
19006
19007
19008
19009
19010
19011
19012
19013
19014
19015
19016
19017
19018
19019
19020
19021
19022
19023
19024
19025
19026
19027
19028
19029
19030
19031
19032
19033
19034
19035
19036
19037
19038
19039
19040
19041
19042
19043
19044
19045
19046
19047
19048
19049
19050
19051
19052
19053
19054
19055
19056
19057
19058
19059
19060
19061
19062
19063
19064
19065
19066
19067
19068
19069
19070
19071
19072
19073
19074
19075
19076
19077
19078
19079
19080
19081
19082
19083
19084
19085
19086
19087
19088
19089
19090
19091
19092
19093
19094
19095
19096
19097
19098
19099
19100
19101
19102
19103
19104
19105
19106
19107
19108
19109
19110
19111
19112
19113
19114
19115
19116
19117
19118
19119
19120
19121
19122
19123
19124
19125
19126
19127
19128
19129
19130
19131
19132
19133
19134
19135
19136
19137
19138
19139
19140
19141
19142
19143
19144
19145
19146
19147
19148
19149
19150
19151
19152
19153
19154
19155
19156
19157
19158
19159
19160
19161
19162
19163
19164
19165
19166
19167
19168
19169
19170
19171
19172
19173
19174
19175
19176
19177
19178
19179
19180
19181
19182
19183
19184
19185
19186
19187
19188
19189
19190
19191
19192
19193
19194
19195
19196
19197
19198
; $Id: VBoxBiosAlternative386.asm $ 
;; @file
; Auto Generated source file. Do not edit.
;

;
; Source file: post.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  BIOS POST routines. Used only during initialization.
;  
;  
;  
;  Copyright (C) 2004-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only

;
; Source file: bios.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  PC BIOS - ???
;  
;  
;  
;  Copyright (C) 2006-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only
;  --------------------------------------------------------------------
;  
;  This code is based on:
;  
;   ROM BIOS for use with Bochs/Plex86/QEMU emulation environment
;  
;   Copyright (C) 2002  MandrakeSoft S.A.
;  
;     MandrakeSoft S.A.
;     43, rue d'Aboukir
;     75002 Paris - France
;     http://www.linux-mandrake.com/
;     http://www.mandrakesoft.com/
;  
;   This library is free software; you can redistribute it and/or
;   modify it under the terms of the GNU Lesser General Public
;   License as published by the Free Software Foundation; either
;   version 2 of the License, or (at your option) any later version.
;  
;   This library is distributed in the hope that it will be useful,
;   but WITHOUT ANY WARRANTY; without even the implied warranty of
;   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;   Lesser General Public License for more details.
;  
;   You should have received a copy of the GNU Lesser General Public
;   License along with this library; if not, write to the Free Software
;   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
;  

;
; Source file: print.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  PC BIOS - ???
;  
;  
;  
;  Copyright (C) 2006-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only
;  --------------------------------------------------------------------
;  
;  This code is based on:
;  
;   ROM BIOS for use with Bochs/Plex86/QEMU emulation environment
;  
;   Copyright (C) 2002  MandrakeSoft S.A.
;  
;     MandrakeSoft S.A.
;     43, rue d'Aboukir
;     75002 Paris - France
;     http://www.linux-mandrake.com/
;     http://www.mandrakesoft.com/
;  
;   This library is free software; you can redistribute it and/or
;   modify it under the terms of the GNU Lesser General Public
;   License as published by the Free Software Foundation; either
;   version 2 of the License, or (at your option) any later version.
;  
;   This library is distributed in the hope that it will be useful,
;   but WITHOUT ANY WARRANTY; without even the implied warranty of
;   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;   Lesser General Public License for more details.
;  
;   You should have received a copy of the GNU Lesser General Public
;   License along with this library; if not, write to the Free Software
;   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
;  

;
; Source file: ata.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  PC BIOS - ATA disk support.
;  
;  
;  
;  Copyright (C) 2006-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only
;  --------------------------------------------------------------------
;  
;  This code is based on:
;  
;   ROM BIOS for use with Bochs/Plex86/QEMU emulation environment
;  
;   Copyright (C) 2002  MandrakeSoft S.A.
;  
;     MandrakeSoft S.A.
;     43, rue d'Aboukir
;     75002 Paris - France
;     http://www.linux-mandrake.com/
;     http://www.mandrakesoft.com/
;  
;   This library is free software; you can redistribute it and/or
;   modify it under the terms of the GNU Lesser General Public
;   License as published by the Free Software Foundation; either
;   version 2 of the License, or (at your option) any later version.
;  
;   This library is distributed in the hope that it will be useful,
;   but WITHOUT ANY WARRANTY; without even the implied warranty of
;   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;   Lesser General Public License for more details.
;  
;   You should have received a copy of the GNU Lesser General Public
;   License along with this library; if not, write to the Free Software
;   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
;  

;
; Source file: floppy.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  PC BIOS - ???
;  
;  
;  
;  Copyright (C) 2006-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only
;  --------------------------------------------------------------------
;  
;  This code is based on:
;  
;   ROM BIOS for use with Bochs/Plex86/QEMU emulation environment
;  
;   Copyright (C) 2002  MandrakeSoft S.A.
;  
;     MandrakeSoft S.A.
;     43, rue d'Aboukir
;     75002 Paris - France
;     http://www.linux-mandrake.com/
;     http://www.mandrakesoft.com/
;  
;   This library is free software; you can redistribute it and/or
;   modify it under the terms of the GNU Lesser General Public
;   License as published by the Free Software Foundation; either
;   version 2 of the License, or (at your option) any later version.
;  
;   This library is distributed in the hope that it will be useful,
;   but WITHOUT ANY WARRANTY; without even the implied warranty of
;   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;   Lesser General Public License for more details.
;  
;   You should have received a copy of the GNU Lesser General Public
;   License along with this library; if not, write to the Free Software
;   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
;  

;
; Source file: floppyt.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  Floppy drive tables.
;  
;  
;  
;  Copyright (C) 2011-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only

;
; Source file: eltorito.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  PC BIOS - ???
;  
;  
;  
;  Copyright (C) 2006-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only
;  --------------------------------------------------------------------
;  
;  This code is based on:
;  
;   ROM BIOS for use with Bochs/Plex86/QEMU emulation environment
;  
;   Copyright (C) 2002  MandrakeSoft S.A.
;  
;     MandrakeSoft S.A.
;     43, rue d'Aboukir
;     75002 Paris - France
;     http://www.linux-mandrake.com/
;     http://www.mandrakesoft.com/
;  
;   This library is free software; you can redistribute it and/or
;   modify it under the terms of the GNU Lesser General Public
;   License as published by the Free Software Foundation; either
;   version 2 of the License, or (at your option) any later version.
;  
;   This library is distributed in the hope that it will be useful,
;   but WITHOUT ANY WARRANTY; without even the implied warranty of
;   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;   Lesser General Public License for more details.
;  
;   You should have received a copy of the GNU Lesser General Public
;   License along with this library; if not, write to the Free Software
;   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
;  

;
; Source file: boot.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  PC BIOS - ???
;  
;  
;  
;  Copyright (C) 2006-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only
;  --------------------------------------------------------------------
;  
;  This code is based on:
;  
;   ROM BIOS for use with Bochs/Plex86/QEMU emulation environment
;  
;   Copyright (C) 2002  MandrakeSoft S.A.
;  
;     MandrakeSoft S.A.
;     43, rue d'Aboukir
;     75002 Paris - France
;     http://www.linux-mandrake.com/
;     http://www.mandrakesoft.com/
;  
;   This library is free software; you can redistribute it and/or
;   modify it under the terms of the GNU Lesser General Public
;   License as published by the Free Software Foundation; either
;   version 2 of the License, or (at your option) any later version.
;  
;   This library is distributed in the hope that it will be useful,
;   but WITHOUT ANY WARRANTY; without even the implied warranty of
;   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;   Lesser General Public License for more details.
;  
;   You should have received a copy of the GNU Lesser General Public
;   License along with this library; if not, write to the Free Software
;   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
;  

;
; Source file: keyboard.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  PC BIOS - ???
;  
;  
;  
;  Copyright (C) 2006-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only
;  --------------------------------------------------------------------
;  
;  This code is based on:
;  
;   ROM BIOS for use with Bochs/Plex86/QEMU emulation environment
;  
;   Copyright (C) 2002  MandrakeSoft S.A.
;  
;     MandrakeSoft S.A.
;     43, rue d'Aboukir
;     75002 Paris - France
;     http://www.linux-mandrake.com/
;     http://www.mandrakesoft.com/
;  
;   This library is free software; you can redistribute it and/or
;   modify it under the terms of the GNU Lesser General Public
;   License as published by the Free Software Foundation; either
;   version 2 of the License, or (at your option) any later version.
;  
;   This library is distributed in the hope that it will be useful,
;   but WITHOUT ANY WARRANTY; without even the implied warranty of
;   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;   Lesser General Public License for more details.
;  
;   You should have received a copy of the GNU Lesser General Public
;   License along with this library; if not, write to the Free Software
;   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
;  

;
; Source file: disk.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  PC BIOS - ???
;  
;  
;  
;  Copyright (C) 2006-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only
;  --------------------------------------------------------------------
;  
;  This code is based on:
;  
;   ROM BIOS for use with Bochs/Plex86/QEMU emulation environment
;  
;   Copyright (C) 2002  MandrakeSoft S.A.
;  
;     MandrakeSoft S.A.
;     43, rue d'Aboukir
;     75002 Paris - France
;     http://www.linux-mandrake.com/
;     http://www.mandrakesoft.com/
;  
;   This library is free software; you can redistribute it and/or
;   modify it under the terms of the GNU Lesser General Public
;   License as published by the Free Software Foundation; either
;   version 2 of the License, or (at your option) any later version.
;  
;   This library is distributed in the hope that it will be useful,
;   but WITHOUT ANY WARRANTY; without even the implied warranty of
;   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;   Lesser General Public License for more details.
;  
;   You should have received a copy of the GNU Lesser General Public
;   License along with this library; if not, write to the Free Software
;   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
;  

;
; Source file: serial.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  PC BIOS - ???
;  
;  
;  
;  Copyright (C) 2006-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only
;  --------------------------------------------------------------------
;  
;  This code is based on:
;  
;   ROM BIOS for use with Bochs/Plex86/QEMU emulation environment
;  
;   Copyright (C) 2002  MandrakeSoft S.A.
;  
;     MandrakeSoft S.A.
;     43, rue d'Aboukir
;     75002 Paris - France
;     http://www.linux-mandrake.com/
;     http://www.mandrakesoft.com/
;  
;   This library is free software; you can redistribute it and/or
;   modify it under the terms of the GNU Lesser General Public
;   License as published by the Free Software Foundation; either
;   version 2 of the License, or (at your option) any later version.
;  
;   This library is distributed in the hope that it will be useful,
;   but WITHOUT ANY WARRANTY; without even the implied warranty of
;   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;   Lesser General Public License for more details.
;  
;   You should have received a copy of the GNU Lesser General Public
;   License along with this library; if not, write to the Free Software
;   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
;  

;
; Source file: system.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  PC BIOS - ???
;  
;  
;  
;  Copyright (C) 2006-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only
;  --------------------------------------------------------------------
;  
;  This code is based on:
;  
;   ROM BIOS for use with Bochs/Plex86/QEMU emulation environment
;  
;   Copyright (C) 2002  MandrakeSoft S.A.
;  
;     MandrakeSoft S.A.
;     43, rue d'Aboukir
;     75002 Paris - France
;     http://www.linux-mandrake.com/
;     http://www.mandrakesoft.com/
;  
;   This library is free software; you can redistribute it and/or
;   modify it under the terms of the GNU Lesser General Public
;   License as published by the Free Software Foundation; either
;   version 2 of the License, or (at your option) any later version.
;  
;   This library is distributed in the hope that it will be useful,
;   but WITHOUT ANY WARRANTY; without even the implied warranty of
;   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;   Lesser General Public License for more details.
;  
;   You should have received a copy of the GNU Lesser General Public
;   License along with this library; if not, write to the Free Software
;   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
;  

;
; Source file: invop.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  Real mode invalid opcode handler.
;  
;  
;  
;  Copyright (C) 2013-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only

;
; Source file: timepci.c
;
;  
;  Copyright (C) 2006-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only
;  --------------------------------------------------------------------
;  
;  This code is based on:
;  
;   ROM BIOS for use with Bochs/Plex86/QEMU emulation environment
;  
;   Copyright (C) 2002  MandrakeSoft S.A.
;  
;     MandrakeSoft S.A.
;     43, rue d'Aboukir
;     75002 Paris - France
;     http://www.linux-mandrake.com/
;     http://www.mandrakesoft.com/
;  
;   This library is free software; you can redistribute it and/or
;   modify it under the terms of the GNU Lesser General Public
;   License as published by the Free Software Foundation; either
;   version 2 of the License, or (at your option) any later version.
;  
;   This library is distributed in the hope that it will be useful,
;   but WITHOUT ANY WARRANTY; without even the implied warranty of
;   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;   Lesser General Public License for more details.
;  
;   You should have received a copy of the GNU Lesser General Public
;   License along with this library; if not, write to the Free Software
;   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
;  

;
; Source file: ps2mouse.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  PC BIOS - ???
;  
;  
;  
;  Copyright (C) 2006-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only
;  --------------------------------------------------------------------
;  
;  This code is based on:
;  
;   ROM BIOS for use with Bochs/Plex86/QEMU emulation environment
;  
;   Copyright (C) 2002  MandrakeSoft S.A.
;  
;     MandrakeSoft S.A.
;     43, rue d'Aboukir
;     75002 Paris - France
;     http://www.linux-mandrake.com/
;     http://www.mandrakesoft.com/
;  
;   This library is free software; you can redistribute it and/or
;   modify it under the terms of the GNU Lesser General Public
;   License as published by the Free Software Foundation; either
;   version 2 of the License, or (at your option) any later version.
;  
;   This library is distributed in the hope that it will be useful,
;   but WITHOUT ANY WARRANTY; without even the implied warranty of
;   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;   Lesser General Public License for more details.
;  
;   You should have received a copy of the GNU Lesser General Public
;   License along with this library; if not, write to the Free Software
;   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
;  

;
; Source file: parallel.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  PC BIOS - ???
;  
;  
;  
;  Copyright (C) 2006-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only
;  --------------------------------------------------------------------
;  
;  This code is based on:
;  
;   ROM BIOS for use with Bochs/Plex86/QEMU emulation environment
;  
;   Copyright (C) 2002  MandrakeSoft S.A.
;  
;     MandrakeSoft S.A.
;     43, rue d'Aboukir
;     75002 Paris - France
;     http://www.linux-mandrake.com/
;     http://www.mandrakesoft.com/
;  
;   This library is free software; you can redistribute it and/or
;   modify it under the terms of the GNU Lesser General Public
;   License as published by the Free Software Foundation; either
;   version 2 of the License, or (at your option) any later version.
;  
;   This library is distributed in the hope that it will be useful,
;   but WITHOUT ANY WARRANTY; without even the implied warranty of
;   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;   Lesser General Public License for more details.
;  
;   You should have received a copy of the GNU Lesser General Public
;   License along with this library; if not, write to the Free Software
;   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
;  

;
; Source file: logo.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  Stuff for drawing the BIOS logo.
;  
;  
;  
;  Copyright (C) 2004-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only

;
; Source file: scsi.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  SCSI host adapter driver to boot from SCSI disks
;  
;  
;  
;  Copyright (C) 2004-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only

;
; Source file: ahci.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  AHCI host adapter driver to boot from SATA disks.
;  
;  
;  
;  Copyright (C) 2011-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only

;
; Source file: virtio.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  VirtIO-SCSI host adapter driver to boot from disks.
;  
;  
;  
;  Copyright (C) 2019-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only

;
; Source file: buslogic.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  BusLogic SCSI host adapter driver to boot from disks.
;  
;  
;  
;  Copyright (C) 2021-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only

;
; Source file: lsilogic.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  LsiLogic SCSI host adapter driver to boot from disks.
;  
;  
;  
;  Copyright (C) 2021-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only

;
; Source file: apm.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  APM BIOS support. Implements APM version 1.2.
;  
;  
;  
;  Copyright (C) 2004-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only

;
; Source file: pcibios.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  PCI BIOS support.
;  
;  
;  
;  Copyright (C) 2004-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only

;
; Source file: pciutil.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  Utility routines for calling the PCI BIOS.
;  
;  
;  
;  Copyright (C) 2011-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only

;
; Source file: vds.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  Utility routines for calling the Virtual DMA Services.
;  
;  
;  
;  Copyright (C) 2011-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only

;
; Source file: __U4M.asm
;
;  $Id: VBoxBiosAlternative386.asm $
;  Compiler support routines.
;  
;  
;  
;  Copyright (C) 2012-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only
;  

;
; Source file: __U4D.asm
;
;  $Id: VBoxBiosAlternative386.asm $
;  Compiler support routines.
;  
;  
;  
;  Copyright (C) 2012-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only
;  

;
; Source file: __U8RS.asm
;
;  $Id: VBoxBiosAlternative386.asm $
;  Compiler support routines.
;  
;  
;  
;  Copyright (C) 2012-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only
;  

;
; Source file: __U8LS.asm
;
;  $Id: VBoxBiosAlternative386.asm $
;  Compiler support routines.
;  
;  
;  
;  Copyright (C) 2012-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only
;  

;
; Source file: fmemset.asm
;
;  $Id: VBoxBiosAlternative386.asm $
;  Compiler support routines.
;  
;  
;  
;  Copyright (C) 2012-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only
;  

;
; Source file: fmemcpy.asm
;
;  $Id: VBoxBiosAlternative386.asm $
;  Compiler support routines.
;  
;  
;  
;  Copyright (C) 2012-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only
;  

;
; Source file: pcibio32.asm
;
;  $Id: VBoxBiosAlternative386.asm $
;  BIOS32 service directory and 32-bit PCI BIOS entry point
;  
;  
;  
;  Copyright (C) 2006-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only
;  --------------------------------------------------------------------

;
; Source file: apm_pm.asm
;
;  $Id:
;  Protected-mode APM implementation.
;  
;  
;  
;  Copyright (C) 2006-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only
;  

;
; Source file: orgs.asm
;
;  $Id: VBoxBiosAlternative386.asm $
;  ???
;  
;  
;  
;  Copyright (C) 2006-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only
;  --------------------------------------------------------------------
;  
;  This code is based on:
;  
;   ROM BIOS for use with Bochs/Plex86/QEMU emulation environment
;  
;   Copyright (C) 2002  MandrakeSoft S.A.
;  
;     MandrakeSoft S.A.
;     43, rue d'Aboukir
;     75002 Paris - France
;     http://www.linux-mandrake.com/
;     http://www.mandrakesoft.com/
;  
;   This library is free software; you can redistribute it and/or
;   modify it under the terms of the GNU Lesser General Public
;   License as published by the Free Software Foundation; either
;   version 2 of the License, or (at your option) any later version.
;  
;   This library is distributed in the hope that it will be useful,
;   but WITHOUT ANY WARRANTY; without even the implied warranty of
;   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;   Lesser General Public License for more details.
;  
;   You should have received a copy of the GNU Lesser General Public
;   License along with this library; if not, write to the Free Software
;   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
;  

;
; Source file: pci32.c
;
;  $Id: VBoxBiosAlternative386.asm $
;  32-bit PCI BIOS wrapper.
;  
;  
;  
;  Copyright (C) 2004-2023 Oracle and/or its affiliates.
;  
;  This file is part of VirtualBox base platform packages, as
;  available from https://www.virtualbox.org.
;  
;  This program is free software; you can redistribute it and/or
;  modify it under the terms of the GNU General Public License
;  as published by the Free Software Foundation, in version 3 of the
;  License.
;  
;  This program is distributed in the hope that it will be useful, but
;  WITHOUT ANY WARRANTY; without even the implied warranty of
;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;  General Public License for more details.
;  
;  You should have received a copy of the GNU General Public License
;  along with this program; if not, see <https://www.gnu.org/licenses>.
;  
;  SPDX-License-Identifier: GPL-3.0-only




section _DATA progbits vstart=0x0 align=1 ; size=0xf0 class=DATA group=DGROUP
  ; disGetNextSymbol 0xf0000 LB 0xf0 -> off=0x0 cb=000000000000005b uValue=00000000000f0000 '_fd_parm'
_fd_parm:                                    ; 0xf0000 LB 0x5b
    db  0dfh, 002h, 025h, 002h, 009h, 02ah, 0ffh, 050h, 0f6h, 00fh, 008h, 027h, 080h, 0dfh, 002h, 025h
    db  002h, 009h, 02ah, 0ffh, 050h, 0f6h, 00fh, 008h, 027h, 040h, 0dfh, 002h, 025h, 002h, 00fh, 01bh
    db  0ffh, 054h, 0f6h, 00fh, 008h, 04fh, 000h, 0dfh, 002h, 025h, 002h, 009h, 02ah, 0ffh, 050h, 0f6h
    db  00fh, 008h, 04fh, 080h, 0afh, 002h, 025h, 002h, 012h, 01bh, 0ffh, 06ch, 0f6h, 00fh, 008h, 04fh
    db  000h, 0afh, 002h, 025h, 002h, 024h, 01bh, 0ffh, 054h, 0f6h, 00fh, 008h, 04fh, 0c0h, 0afh, 002h
    db  025h, 002h, 0ffh, 01bh, 0ffh, 054h, 0f6h, 00fh, 008h, 0ffh, 000h
  ; disGetNextSymbol 0xf005b LB 0x95 -> off=0x0 cb=000000000000000f uValue=00000000000f005b '_fd_map'
_fd_map:                                     ; 0xf005b LB 0xf
    db  001h, 000h, 002h, 002h, 003h, 003h, 004h, 004h, 005h, 005h, 00eh, 006h, 00fh, 006h, 000h
  ; disGetNextSymbol 0xf006a LB 0x86 -> off=0x0 cb=000000000000000c uValue=00000000000f006a '_pktacc'
_pktacc:                                     ; 0xf006a LB 0xc
    db  000h, 000h, 000h, 000h, 000h, 000h, 0a9h, 02ch, 0cah, 07dh, 06ah, 08ch
  ; disGetNextSymbol 0xf0076 LB 0x7a -> off=0x0 cb=000000000000000c uValue=00000000000f0076 '_softrst'
_softrst:                                    ; 0xf0076 LB 0xc
    db  000h, 000h, 000h, 000h, 000h, 000h, 0e8h, 02eh, 053h, 03ch, 053h, 03ch
  ; disGetNextSymbol 0xf0082 LB 0x6e -> off=0x0 cb=0000000000000018 uValue=00000000000f0082 '_dskacc'
_dskacc:                                     ; 0xf0082 LB 0x18
    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 099h, 02bh, 04eh, 02ch, 000h, 000h, 000h, 000h
    db  0c6h, 07bh, 0c8h, 07ch, 040h, 08bh, 0e6h, 08bh
  ; disGetNextSymbol 0xf009a LB 0x56 -> off=0x0 cb=0000000000000056 uValue=00000000000f009a '_hbaacc'
_hbaacc:                                     ; 0xf009a LB 0x56
    db  000h, 010h, 030h, 000h, 000h, 000h, 02fh, 0a6h, 092h, 0a3h, 068h, 0a4h, 000h, 010h, 054h, 000h
    db  000h, 000h, 02fh, 0a6h, 092h, 0a3h, 068h, 0a4h, 04bh, 010h, 040h, 010h, 000h, 000h, 0ddh, 0a0h
    db  053h, 09fh, 007h, 0a0h, 0f4h, 01ah, 048h, 010h, 000h, 000h, 0dch, 09dh, 011h, 098h, 067h, 099h
    db  0ffh, 0ffh, 0ffh, 0ffh, 052h, 0a1h, 02eh, 0a1h, 053h, 09fh, 007h, 0a0h, 030h, 003h, 034h, 003h
    db  000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h, 032h, 05fh, 000h, 0dah, 00fh, 000h, 000h, 001h
    db  0f3h, 000h, 000h, 000h, 000h, 000h

section CONST progbits vstart=0xf0 align=1 ; size=0xd14 class=DATA group=DGROUP
  ; disGetNextSymbol 0xf00f0 LB 0xd14 -> off=0xd14 cb=0000000000000000 uValue=00000000000f0e04 'bios_cvs_version_string'
    db   'CPUID EDX: 0x%lx', 00ah, 000h
    db   'NMI Handler called', 00ah, 000h
    db   'INT18: BOOT FAILURE', 00ah, 000h
    db   'Bootfail', 000h
    db   '%s', 00ah, 000h
    db   'FATAL: ', 000h
    db   'bios_printf: unknown %ll format', 00ah, 000h
    db   'bios_printf: unknown format', 00ah, 000h
    db   'No PCI IDE controller, not probing IDE', 00ah, 000h
    db   'ata-detect: Failed to detect ATA device', 00ah, 000h
    db   'ata%d-%d: PCHS=%u/%u/%u LCHS=%u/%u/%u', 00ah, 000h
    db   'ata-detect: Failed to detect ATAPI device', 00ah, 000h
    db   ' slave', 000h
    db   'master', 000h
    db   'ata%d %s: ', 000h
    db   '%c', 000h
    db   ' ATA-%d Hard-Disk (%lu MBytes)', 00ah, 000h
    db   ' ATAPI-%d CD-ROM/DVD-ROM', 00ah, 000h
    db   ' ATAPI-%d Device', 00ah, 000h
    db   'ata%d %s: Unknown device', 00ah, 000h
    db   'ata_cmd_packet', 000h
    db   '%s: DATA_OUT not supported yet', 00ah, 000h
    db   'set_diskette_current_cyl: drive > 1', 00ah, 000h
    db   'int13_diskette_function', 000h
    db   '%s: drive>1 || head>1 ...', 00ah, 000h
    db   '%s: ctrl not ready', 00ah, 000h
    db   '%s: write error', 00ah, 000h
    db   '%s: bad floppy type', 00ah, 000h
    db   '%s: unsupported AH=%02x', 00ah, 000h, 000h
    db   'int13_eltorito', 000h
    db   '%s: call with AX=%04x not implemented.', 00ah, 000h
    db   '%s: unsupported AH=%02x', 00ah, 000h
    db   'int13_cdemu', 000h
    db   '%s: function %02x, emulation not active for DL= %02x', 00ah, 000h
    db   '%s: function %02x, error %02x !', 00ah, 000h
    db   '%s: function %02x. Can', 027h, 't use 64bits lba', 00ah, 000h
    db   '%s: function %02x, status %02x !', 00ah, 000h
    db   '%s: function AH=%02x unsupported, returns fail', 00ah, 000h
    db   'int13_cdrom', 000h
    db   '%s: function %02x, ELDL out of range %02x', 00ah, 000h
    db   '%s: function %02x, unmapped device for ELDL=%02x', 00ah, 000h, 000h
    db   'Booting from %s...', 00ah, 000h
    db   'Boot from %s failed', 00ah, 000h
    db   'Boot from %s %d failed', 00ah, 000h
    db   'No bootable medium found!', 00ah, 000h
    db   'Could not read from the boot medium!', 00ah, 000h
    db   'Please insert a bootable medium and reboot.', 00ah, 000h
    db   'CDROM boot failure code : %04x', 00ah, 000h
    db   'Boot : bseqnr=%d, bootseq=%x', 00dh, 00ah, 000h
    db   'Keyboard error:%u', 00ah, 000h
    db   'KBD: int09 handler: AL=0', 00ah, 000h
    db   'KBD: int09h_handler(): unknown scancode read: 0x%02x!', 00ah, 000h
    db   'KBD: int09h_handler(): scancode & asciicode are zero?', 00ah, 000h
    db   'KBD: int16h: out of keyboard input', 00ah, 000h
    db   'KBD: unsupported int 16h function %02x', 00ah, 000h
    db   'AX=%04x BX=%04x CX=%04x DX=%04x ', 00ah, 000h, 000h
    db   'int13_harddisk', 000h
    db   '%s: function %02x, ELDL out of range %02x', 00ah, 000h
    db   '%s: function %02x, unmapped device for ELDL=%02x', 00ah, 000h
    db   '%s: function %02x, count out of range!', 00ah, 000h
    db   '%s: function %02x, disk %02x, parameters out of range %04x/%04x/%04x!', 00ah
    db   000h
    db   '%s: function %02x, error %02x !', 00ah, 000h
    db   'format disk track called', 00ah, 000h
    db   '%s: function %02xh unimplemented, returns success', 00ah, 000h
    db   '%s: function %02xh unsupported, returns fail', 00ah, 000h
    db   'int13_harddisk_ext', 000h
    db   '%s: function %02x. LBA out of range', 00ah, 000h, 000h
    db   'int15: Func 24h, subfunc %02xh, A20 gate control not supported', 00ah, 000h
    db   '*** int 15h function AH=bf not yet supported!', 00ah, 000h
    db   'EISA BIOS not present', 00ah, 000h
    db   '*** int 15h function AX=%04x, BX=%04x not yet supported!', 00ah, 000h
    db   'sendmouse', 000h
    db   'setkbdcomm', 000h
    db   'Mouse reset returned %02x (should be ack)', 00ah, 000h
    db   'Mouse status returned %02x (should be ack)', 00ah, 000h
    db   'INT 15h C2 AL=6, BH=%02x', 00ah, 000h
    db   'INT 15h C2 default case entered', 00ah, 000h, 000h
    db   'Key pressed: %x', 00ah, 000h
    db   00ah, 00ah, '  AHCI controller:', 000h
    db   00ah, '    %d) Hard disk', 000h
    db   00ah, 00ah, '  SCSI controller:', 000h
    db   '  IDE controller:', 000h
    db   00ah, 00ah, 'AHCI controller:', 00ah, 000h
    db   00ah, '    %d) ', 000h
    db   'Secondary ', 000h
    db   'Primary ', 000h
    db   'Slave', 000h
    db   'Master', 000h
    db   'No hard disks found', 000h
    db   00ah, 000h
    db   'Press F12 to select boot device.', 00ah, 000h
    db   00ah, 'VirtualBox temporary boot device selection', 00ah, 00ah, 'Detected H'
    db   'ard disks:', 00ah, 00ah, 000h
    db   00ah, 'Other boot devices:', 00ah, ' f) Floppy', 00ah, ' c) CD-ROM', 00ah
    db   ' l) LAN', 00ah, 00ah, ' b) Continue booting', 00ah, 000h
    db   'Delaying boot for %d seconds:', 000h
    db   ' %d', 000h, 000h
    db   'scsi_read_sectors', 000h
    db   '%s: device_id out of range %d', 00ah, 000h
    db   'scsi_write_sectors', 000h
    db   'scsi_cmd_packet', 000h
    db   '%s: DATA_OUT not supported yet', 00ah, 000h
    db   'scsi_enumerate_attached_devices', 000h
    db   '%s: SCSI_READ_CAPACITY failed', 00ah, 000h
    db   'Disk %d has an unsupported sector size of %u', 00ah, 000h
    db   'SCSI %d-ID#%d: LCHS=%lu/%u/%u 0x%llx sectors', 00ah, 000h
    db   'SCSI %d-ID#%d: CD/DVD-ROM', 00ah, 000h
    db   'ahci_read_sectors', 000h
    db   '%s: device_id out of range %d', 00ah, 000h
    db   'ahci_write_sectors', 000h
    db   'ahci_cmd_packet', 000h
    db   '%s: DATA_OUT not supported yet', 00ah, 000h
    db   'AHCI %d-P#%d: PCHS=%u/%u/%u LCHS=%u/%u/%u 0x%llx sectors', 00ah, 000h
    db   'Standby', 000h
    db   'Suspend', 000h
    db   'Shutdown', 000h
    db   'APM: Unsupported function AX=%04X BX=%04X called', 00ah, 000h, 000h
    db   'PCI: Unsupported function AX=%04X BX=%04X called', 00ah, 000h

section CONST2 progbits vstart=0xe04 align=1 ; size=0x3fa class=DATA group=DGROUP
  ; disGetNextSymbol 0xf0e04 LB 0x3fa -> off=0x0 cb=0000000000000012 uValue=00000000000f0e04 'bios_cvs_version_string'
bios_cvs_version_string:                     ; 0xf0e04 LB 0x12
    db  'VirtualBox 7.0.14', 000h
  ; disGetNextSymbol 0xf0e16 LB 0x3e8 -> off=0x0 cb=0000000000000008 uValue=00000000000f0e16 '_bios_prefix_string'
_bios_prefix_string:                         ; 0xf0e16 LB 0x8
    db  'BIOS: ', 000h, 000h
  ; disGetNextSymbol 0xf0e1e LB 0x3e0 -> off=0x0 cb=0000000000000006 uValue=00000000000f0e1e 'isotag'
isotag:                                      ; 0xf0e1e LB 0x6
    db  'CD001', 000h
  ; disGetNextSymbol 0xf0e24 LB 0x3da -> off=0x0 cb=0000000000000018 uValue=00000000000f0e24 'eltorito'
eltorito:                                    ; 0xf0e24 LB 0x18
    db  'EL TORITO SPECIFICATION', 000h
  ; disGetNextSymbol 0xf0e3c LB 0x3c2 -> off=0x0 cb=0000000000000028 uValue=00000000000f0e3c 'drivetypes'
drivetypes:                                  ; 0xf0e3c LB 0x28
    db  046h, 06ch, 06fh, 070h, 070h, 079h, 000h, 000h, 000h, 000h, 048h, 061h, 072h, 064h, 020h, 044h
    db  069h, 073h, 06bh, 000h, 043h, 044h, 02dh, 052h, 04fh, 04dh, 000h, 000h, 000h, 000h, 04ch, 041h
    db  04eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h
  ; disGetNextSymbol 0xf0e64 LB 0x39a -> off=0x0 cb=000000000000037a uValue=00000000000f0e64 'scan_to_scanascii'
scan_to_scanascii:                           ; 0xf0e64 LB 0x37a
    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01bh, 001h, 01bh, 001h, 01bh, 001h
    db  000h, 001h, 000h, 000h, 031h, 002h, 021h, 002h, 000h, 000h, 000h, 078h, 000h, 000h, 032h, 003h
    db  040h, 003h, 000h, 003h, 000h, 079h, 000h, 000h, 033h, 004h, 023h, 004h, 000h, 000h, 000h, 07ah
    db  000h, 000h, 034h, 005h, 024h, 005h, 000h, 000h, 000h, 07bh, 000h, 000h, 035h, 006h, 025h, 006h
    db  000h, 000h, 000h, 07ch, 000h, 000h, 036h, 007h, 05eh, 007h, 01eh, 007h, 000h, 07dh, 000h, 000h
    db  037h, 008h, 026h, 008h, 000h, 000h, 000h, 07eh, 000h, 000h, 038h, 009h, 02ah, 009h, 000h, 000h
    db  000h, 07fh, 000h, 000h, 039h, 00ah, 028h, 00ah, 000h, 000h, 000h, 080h, 000h, 000h, 030h, 00bh
    db  029h, 00bh, 000h, 000h, 000h, 081h, 000h, 000h, 02dh, 00ch, 05fh, 00ch, 01fh, 00ch, 000h, 082h
    db  000h, 000h, 03dh, 00dh, 02bh, 00dh, 000h, 000h, 000h, 083h, 000h, 000h, 008h, 00eh, 008h, 00eh
    db  07fh, 00eh, 000h, 000h, 000h, 000h, 009h, 00fh, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h
    db  071h, 010h, 051h, 010h, 011h, 010h, 000h, 010h, 040h, 000h, 077h, 011h, 057h, 011h, 017h, 011h
    db  000h, 011h, 040h, 000h, 065h, 012h, 045h, 012h, 005h, 012h, 000h, 012h, 040h, 000h, 072h, 013h
    db  052h, 013h, 012h, 013h, 000h, 013h, 040h, 000h, 074h, 014h, 054h, 014h, 014h, 014h, 000h, 014h
    db  040h, 000h, 079h, 015h, 059h, 015h, 019h, 015h, 000h, 015h, 040h, 000h, 075h, 016h, 055h, 016h
    db  015h, 016h, 000h, 016h, 040h, 000h, 069h, 017h, 049h, 017h, 009h, 017h, 000h, 017h, 040h, 000h
    db  06fh, 018h, 04fh, 018h, 00fh, 018h, 000h, 018h, 040h, 000h, 070h, 019h, 050h, 019h, 010h, 019h
    db  000h, 019h, 040h, 000h, 05bh, 01ah, 07bh, 01ah, 01bh, 01ah, 000h, 000h, 000h, 000h, 05dh, 01bh
    db  07dh, 01bh, 01dh, 01bh, 000h, 000h, 000h, 000h, 00dh, 01ch, 00dh, 01ch, 00ah, 01ch, 000h, 000h
    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 061h, 01eh, 041h, 01eh
    db  001h, 01eh, 000h, 01eh, 040h, 000h, 073h, 01fh, 053h, 01fh, 013h, 01fh, 000h, 01fh, 040h, 000h
    db  064h, 020h, 044h, 020h, 004h, 020h, 000h, 020h, 040h, 000h, 066h, 021h, 046h, 021h, 006h, 021h
    db  000h, 021h, 040h, 000h, 067h, 022h, 047h, 022h, 007h, 022h, 000h, 022h, 040h, 000h, 068h, 023h
    db  048h, 023h, 008h, 023h, 000h, 023h, 040h, 000h, 06ah, 024h, 04ah, 024h, 00ah, 024h, 000h, 024h
    db  040h, 000h, 06bh, 025h, 04bh, 025h, 00bh, 025h, 000h, 025h, 040h, 000h, 06ch, 026h, 04ch, 026h
    db  00ch, 026h, 000h, 026h, 040h, 000h, 03bh, 027h, 03ah, 027h, 000h, 000h, 000h, 000h, 000h, 000h
    db  027h, 028h, 022h, 028h, 000h, 000h, 000h, 000h, 000h, 000h, 060h, 029h, 07eh, 029h, 000h, 000h
    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 05ch, 02bh
    db  07ch, 02bh, 01ch, 02bh, 000h, 000h, 000h, 000h, 07ah, 02ch, 05ah, 02ch, 01ah, 02ch, 000h, 02ch
    db  040h, 000h, 078h, 02dh, 058h, 02dh, 018h, 02dh, 000h, 02dh, 040h, 000h, 063h, 02eh, 043h, 02eh
    db  003h, 02eh, 000h, 02eh, 040h, 000h, 076h, 02fh, 056h, 02fh, 016h, 02fh, 000h, 02fh, 040h, 000h
    db  062h, 030h, 042h, 030h, 002h, 030h, 000h, 030h, 040h, 000h, 06eh, 031h, 04eh, 031h, 00eh, 031h
    db  000h, 031h, 040h, 000h, 06dh, 032h, 04dh, 032h, 00dh, 032h, 000h, 032h, 040h, 000h, 02ch, 033h
    db  03ch, 033h, 000h, 000h, 000h, 000h, 000h, 000h, 02eh, 034h, 03eh, 034h, 000h, 000h, 000h, 000h
    db  000h, 000h, 02fh, 035h, 03fh, 035h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    db  000h, 000h, 000h, 000h, 000h, 000h, 02ah, 037h, 02ah, 037h, 000h, 000h, 000h, 000h, 000h, 000h
    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 020h, 039h, 020h, 039h, 020h, 039h
    db  020h, 039h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 03bh
    db  000h, 054h, 000h, 05eh, 000h, 068h, 000h, 000h, 000h, 03ch, 000h, 055h, 000h, 05fh, 000h, 069h
    db  000h, 000h, 000h, 03dh, 000h, 056h, 000h, 060h, 000h, 06ah, 000h, 000h, 000h, 03eh, 000h, 057h
    db  000h, 061h, 000h, 06bh, 000h, 000h, 000h, 03fh, 000h, 058h, 000h, 062h, 000h, 06ch, 000h, 000h
    db  000h, 040h, 000h, 059h, 000h, 063h, 000h, 06dh, 000h, 000h, 000h, 041h, 000h, 05ah, 000h, 064h
    db  000h, 06eh, 000h, 000h, 000h, 042h, 000h, 05bh, 000h, 065h, 000h, 06fh, 000h, 000h, 000h, 043h
    db  000h, 05ch, 000h, 066h, 000h, 070h, 000h, 000h, 000h, 044h, 000h, 05dh, 000h, 067h, 000h, 071h
    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 047h, 037h, 047h, 000h, 077h, 000h, 000h, 020h, 000h
    db  000h, 048h, 038h, 048h, 000h, 000h, 000h, 000h, 020h, 000h, 000h, 049h, 039h, 049h, 000h, 084h
    db  000h, 000h, 020h, 000h, 02dh, 04ah, 02dh, 04ah, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 04bh
    db  034h, 04bh, 000h, 073h, 000h, 000h, 020h, 000h, 000h, 04ch, 035h, 04ch, 000h, 000h, 000h, 000h
    db  020h, 000h, 000h, 04dh, 036h, 04dh, 000h, 074h, 000h, 000h, 020h, 000h, 02bh, 04eh, 02bh, 04eh
    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 04fh, 031h, 04fh, 000h, 075h, 000h, 000h, 020h, 000h
    db  000h, 050h, 032h, 050h, 000h, 000h, 000h, 000h, 020h, 000h, 000h, 051h, 033h, 051h, 000h, 076h
    db  000h, 000h, 020h, 000h, 000h, 052h, 030h, 052h, 000h, 000h, 000h, 000h, 020h, 000h, 000h, 053h
    db  02eh, 053h, 000h, 000h, 000h, 000h, 020h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 05ch, 056h, 07ch, 056h
    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 085h, 000h, 087h, 000h, 089h, 000h, 08bh, 000h, 000h
    db  000h, 086h, 000h, 088h, 000h, 08ah, 000h, 08ch, 000h, 000h
  ; disGetNextSymbol 0xf11de LB 0x20 -> off=0x0 cb=0000000000000020 uValue=00000000000f11de 'panic_msg_keyb_buffer_full'
panic_msg_keyb_buffer_full:                  ; 0xf11de LB 0x20
    db  '%s: keyboard input buffer full', 00ah, 000h

  ; Padding 0x402 bytes at 0xf11fe
  times 1026 db 0

section _TEXT progbits vstart=0x1600 align=1 ; size=0x981c class=CODE group=AUTO
  ; disGetNextSymbol 0xf1600 LB 0x981c -> off=0x0 cb=0000000000000064 uValue=00000000000f0000 'rom_scan'
rom_scan:                                    ; 0xf1600 LB 0x64
    push bp                                   ; 55                          ; 0xf1600 post.c:106
    mov bp, sp                                ; 89 e5                       ; 0xf1601
    push bx                                   ; 53                          ; 0xf1603
    push cx                                   ; 51                          ; 0xf1604
    push si                                   ; 56                          ; 0xf1605
    push di                                   ; 57                          ; 0xf1606
    sub sp, strict byte 00008h                ; 83 ec 08                    ; 0xf1607
    push ax                                   ; 50                          ; 0xf160a
    push dx                                   ; 52                          ; 0xf160b
    mov ax, word [bp-012h]                    ; 8b 46 ee                    ; 0xf160c post.c:113
    cmp ax, word [bp-014h]                    ; 3b 46 ec                    ; 0xf160f
    jnc short 0165bh                          ; 73 47                       ; 0xf1612
    mov word [bp-00ch], strict word 00000h    ; c7 46 f4 00 00              ; 0xf1614 post.c:114
    mov word [bp-00ah], ax                    ; 89 46 f6                    ; 0xf1619
    mov es, ax                                ; 8e c0                       ; 0xf161c post.c:116
    mov bx, word [bp-00ch]                    ; 8b 5e f4                    ; 0xf161e
    cmp word [es:bx], 0aa55h                  ; 26 81 3f 55 aa              ; 0xf1621
    jne short 01654h                          ; 75 2c                       ; 0xf1626
    mov word [bp-00eh], ax                    ; 89 46 f2                    ; 0xf1628 post.c:122
    mov word [bp-010h], strict word 00003h    ; c7 46 f0 03 00              ; 0xf162b
    call far [bp-010h]                        ; ff 5e f0                    ; 0xf1630 post.c:123
    cli                                       ; fa                          ; 0xf1633 post.c:124
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xf1634 post.c:125
    mov ds, ax                                ; 8e d8                       ; 0xf1637
    les bx, [bp-00ch]                         ; c4 5e f4                    ; 0xf1639 post.c:130
    mov al, byte [es:bx+002h]                 ; 26 8a 47 02                 ; 0xf163c
    add AL, strict byte 003h                  ; 04 03                       ; 0xf1640
    and AL, strict byte 0fch                  ; 24 fc                       ; 0xf1642
    xor ah, ah                                ; 30 e4                       ; 0xf1644 post.c:131
    cwd                                       ; 99                          ; 0xf1646
    sal dx, 002h                              ; c1 e2 02                    ; 0xf1647
    db  01bh, 0c2h
    ; sbb ax, dx                                ; 1b c2                     ; 0xf164a
    sar ax, 002h                              ; c1 f8 02                    ; 0xf164c
    add word [bp-012h], ax                    ; 01 46 ee                    ; 0xf164f
    jmp short 0160ch                          ; eb b8                       ; 0xf1652 post.c:133
    add word [bp-012h], 00080h                ; 81 46 ee 80 00              ; 0xf1654 post.c:135
    jmp short 0160ch                          ; eb b1                       ; 0xf1659 post.c:137
    lea sp, [bp-008h]                         ; 8d 66 f8                    ; 0xf165b post.c:138
    pop di                                    ; 5f                          ; 0xf165e
    pop si                                    ; 5e                          ; 0xf165f
    pop cx                                    ; 59                          ; 0xf1660
    pop bx                                    ; 5b                          ; 0xf1661
    pop bp                                    ; 5d                          ; 0xf1662
    retn                                      ; c3                          ; 0xf1663
  ; disGetNextSymbol 0xf1664 LB 0x97b8 -> off=0x0 cb=0000000000000042 uValue=00000000000f0064 'is_cpuid_supported'
is_cpuid_supported:                          ; 0xf1664 LB 0x42
    push bp                                   ; 55                          ; 0xf1664 post.c:145
    mov bp, sp                                ; 89 e5                       ; 0xf1665
    push bx                                   ; 53                          ; 0xf1667
    push cx                                   ; 51                          ; 0xf1668
    push dx                                   ; 52                          ; 0xf1669
    pushfd                                    ; 66 9c                       ; 0xf166a post.c:149
    pop edx                                   ; 66 5a                       ; 0xf166c
    db  08bh, 0c2h
    ; mov ax, dx                                ; 8b c2                     ; 0xf166e
    shr edx, 010h                             ; 66 c1 ea 10                 ; 0xf1670
    mov bx, ax                                ; 89 c3                       ; 0xf1674
    mov cx, dx                                ; 89 d1                       ; 0xf1676
    xor dl, 020h                              ; 80 f2 20                    ; 0xf1678 post.c:150
    sal edx, 010h                             ; 66 c1 e2 10                 ; 0xf167b post.c:151
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xf167f
    push edx                                  ; 66 52                       ; 0xf1681
    popfd                                     ; 66 9d                       ; 0xf1683
    pushfd                                    ; 66 9c                       ; 0xf1685 post.c:152
    pop edx                                   ; 66 5a                       ; 0xf1687
    db  08bh, 0c2h
    ; mov ax, dx                                ; 8b c2                     ; 0xf1689
    shr edx, 010h                             ; 66 c1 ea 10                 ; 0xf168b
    cmp cx, dx                                ; 39 d1                       ; 0xf168f post.c:153
    jne short 01697h                          ; 75 04                       ; 0xf1691
    cmp bx, ax                                ; 39 c3                       ; 0xf1693
    je short 0169ch                           ; 74 05                       ; 0xf1695
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xf1697
    jmp short 0169eh                          ; eb 02                       ; 0xf169a
    xor ax, ax                                ; 31 c0                       ; 0xf169c
    lea sp, [bp-006h]                         ; 8d 66 fa                    ; 0xf169e post.c:154
    pop dx                                    ; 5a                          ; 0xf16a1
    pop cx                                    ; 59                          ; 0xf16a2
    pop bx                                    ; 5b                          ; 0xf16a3
    pop bp                                    ; 5d                          ; 0xf16a4
    retn                                      ; c3                          ; 0xf16a5
  ; disGetNextSymbol 0xf16a6 LB 0x9776 -> off=0x0 cb=00000000000000c4 uValue=00000000000f00a6 'apic_setup'
apic_setup:                                  ; 0xf16a6 LB 0xc4
    push bp                                   ; 55                          ; 0xf16a6 post.c:179
    mov bp, sp                                ; 89 e5                       ; 0xf16a7
    push si                                   ; 56                          ; 0xf16a9
    push di                                   ; 57                          ; 0xf16aa
    sub sp, strict byte 00012h                ; 83 ec 12                    ; 0xf16ab
    call 01664h                               ; e8 b3 ff                    ; 0xf16ae post.c:188
    test ax, ax                               ; 85 c0                       ; 0xf16b1
    je near 01763h                            ; 0f 84 ac 00                 ; 0xf16b3
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xf16b7 post.c:193
    xor dx, dx                                ; 31 d2                       ; 0xf16ba
    push SS                                   ; 16                          ; 0xf16bc
    pop ES                                    ; 07                          ; 0xf16bd
    lea di, [bp-016h]                         ; 8d 7e ea                    ; 0xf16be
    sal edx, 010h                             ; 66 c1 e2 10                 ; 0xf16c1
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xf16c5
    db  066h, 08bh, 0c2h
    ; mov eax, edx                              ; 66 8b c2                  ; 0xf16c7
    cpuid                                     ; 0f a2                       ; 0xf16ca
    db  066h, 026h, 089h, 005h
    ; mov dword [es:di], eax                    ; 66 26 89 05               ; 0xf16cc
    db  066h, 026h, 089h, 05dh, 004h
    ; mov dword [es:di+004h], ebx               ; 66 26 89 5d 04            ; 0xf16d0
    db  066h, 026h, 089h, 04dh, 008h
    ; mov dword [es:di+008h], ecx               ; 66 26 89 4d 08            ; 0xf16d5
    db  066h, 026h, 089h, 055h, 00ch
    ; mov dword [es:di+00ch], edx               ; 66 26 89 55 0c            ; 0xf16da
    mov ax, word [bp-00ah]                    ; 8b 46 f6                    ; 0xf16df post.c:194
    mov dx, word [bp-008h]                    ; 8b 56 f8                    ; 0xf16e2
    push dx                                   ; 52                          ; 0xf16e5
    push ax                                   ; 50                          ; 0xf16e6
    push 000f0h                               ; 68 f0 00                    ; 0xf16e7
    push strict byte 00004h                   ; 6a 04                       ; 0xf16ea
    call 01a68h                               ; e8 79 03                    ; 0xf16ec
    add sp, strict byte 00008h                ; 83 c4 08                    ; 0xf16ef
    mov ax, word [bp-00ah]                    ; 8b 46 f6                    ; 0xf16f2 post.c:195
    test ah, 002h                             ; f6 c4 02                    ; 0xf16f5
    je short 01763h                           ; 74 69                       ; 0xf16f8
    mov ax, strict word 00078h                ; b8 78 00                    ; 0xf16fa post.c:200
    call 0176ah                               ; e8 6a 00                    ; 0xf16fd
    xor si, si                                ; 31 f6                       ; 0xf1700 post.c:202
    xor di, di                                ; 31 ff                       ; 0xf1702
    cmp AL, strict byte 002h                  ; 3c 02                       ; 0xf1704 post.c:203
    jne short 0170dh                          ; 75 05                       ; 0xf1706
    mov di, 00400h                            ; bf 00 04                    ; 0xf1708 post.c:204
    jmp short 0171ch                          ; eb 0f                       ; 0xf170b post.c:205
    test al, al                               ; 84 c0                       ; 0xf170d
    jne short 01714h                          ; 75 03                       ; 0xf170f
    mov si, 00800h                            ; be 00 08                    ; 0xf1711 post.c:206
    test di, di                               ; 85 ff                       ; 0xf1714 post.c:210
    jne short 0171ch                          ; 75 04                       ; 0xf1716
    test si, si                               ; 85 f6                       ; 0xf1718
    je short 01763h                           ; 74 47                       ; 0xf171a
    mov ax, strict word 0001bh                ; b8 1b 00                    ; 0xf171c post.c:211
    xor cx, cx                                ; 31 c9                       ; 0xf171f
    sal ecx, 010h                             ; 66 c1 e1 10                 ; 0xf1721
    db  08bh, 0c8h
    ; mov cx, ax                                ; 8b c8                     ; 0xf1725
    rdmsr                                     ; 0f 32                       ; 0xf1727
    xchg edx, eax                             ; 66 92                       ; 0xf1729
    db  08bh, 0d8h
    ; mov bx, ax                                ; 8b d8                     ; 0xf172b
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xf172d
    db  08bh, 0cah
    ; mov cx, dx                                ; 8b ca                     ; 0xf1731
    shr edx, 010h                             ; 66 c1 ea 10                 ; 0xf1733
    xchg dx, cx                               ; 87 ca                       ; 0xf1737
    mov word [bp-006h], si                    ; 89 76 fa                    ; 0xf1739 post.c:212
    not word [bp-006h]                        ; f7 56 fa                    ; 0xf173c
    and dx, word [bp-006h]                    ; 23 56 fa                    ; 0xf173f
    or dx, di                                 ; 09 fa                       ; 0xf1742 post.c:213
    mov si, strict word 0001bh                ; be 1b 00                    ; 0xf1744 post.c:214
    xor di, di                                ; 31 ff                       ; 0xf1747
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf1749
    db  08bh, 0c3h
    ; mov ax, bx                                ; 8b c3                     ; 0xf174d
    xchg dx, cx                               ; 87 ca                       ; 0xf174f
    sal edx, 010h                             ; 66 c1 e2 10                 ; 0xf1751
    db  08bh, 0d1h
    ; mov dx, cx                                ; 8b d1                     ; 0xf1755
    xchg edx, eax                             ; 66 92                       ; 0xf1757
    db  08bh, 0cfh
    ; mov cx, di                                ; 8b cf                     ; 0xf1759
    sal ecx, 010h                             ; 66 c1 e1 10                 ; 0xf175b
    db  08bh, 0ceh
    ; mov cx, si                                ; 8b ce                     ; 0xf175f
    wrmsr                                     ; 0f 30                       ; 0xf1761
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf1763 post.c:216
    pop di                                    ; 5f                          ; 0xf1766
    pop si                                    ; 5e                          ; 0xf1767
    pop bp                                    ; 5d                          ; 0xf1768
    retn                                      ; c3                          ; 0xf1769
  ; disGetNextSymbol 0xf176a LB 0x96b2 -> off=0x0 cb=000000000000001d uValue=00000000000f016a 'inb_cmos'
inb_cmos:                                    ; 0xf176a LB 0x1d
    push bp                                   ; 55                          ; 0xf176a bios.c:76
    mov bp, sp                                ; 89 e5                       ; 0xf176b
    push dx                                   ; 52                          ; 0xf176d
    mov AH, strict byte 070h                  ; b4 70                       ; 0xf176e bios.c:78
    cmp AL, strict byte 080h                  ; 3c 80                       ; 0xf1770 bios.c:80
    jc short 01776h                           ; 72 02                       ; 0xf1772
    mov AH, strict byte 072h                  ; b4 72                       ; 0xf1774 bios.c:81
    movzx dx, ah                              ; 0f b6 d4                    ; 0xf1776 bios.c:82
    out DX, AL                                ; ee                          ; 0xf1779
    movzx dx, ah                              ; 0f b6 d4                    ; 0xf177a bios.c:83
    inc dx                                    ; 42                          ; 0xf177d
    in AL, DX                                 ; ec                          ; 0xf177e
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf177f
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xf1781 bios.c:84
    pop dx                                    ; 5a                          ; 0xf1784
    pop bp                                    ; 5d                          ; 0xf1785
    retn                                      ; c3                          ; 0xf1786
  ; disGetNextSymbol 0xf1787 LB 0x9695 -> off=0x0 cb=000000000000001f uValue=00000000000f0187 'outb_cmos'
outb_cmos:                                   ; 0xf1787 LB 0x1f
    push bp                                   ; 55                          ; 0xf1787 bios.c:86
    mov bp, sp                                ; 89 e5                       ; 0xf1788
    push bx                                   ; 53                          ; 0xf178a
    mov ah, dl                                ; 88 d4                       ; 0xf178b
    mov BL, strict byte 070h                  ; b3 70                       ; 0xf178d bios.c:88
    cmp AL, strict byte 080h                  ; 3c 80                       ; 0xf178f bios.c:90
    jc short 01795h                           ; 72 02                       ; 0xf1791
    mov BL, strict byte 072h                  ; b3 72                       ; 0xf1793 bios.c:91
    movzx dx, bl                              ; 0f b6 d3                    ; 0xf1795 bios.c:92
    out DX, AL                                ; ee                          ; 0xf1798
    movzx dx, bl                              ; 0f b6 d3                    ; 0xf1799 bios.c:93
    inc dx                                    ; 42                          ; 0xf179c
    mov al, ah                                ; 88 e0                       ; 0xf179d
    out DX, AL                                ; ee                          ; 0xf179f
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xf17a0 bios.c:94
    pop bx                                    ; 5b                          ; 0xf17a3
    pop bp                                    ; 5d                          ; 0xf17a4
    retn                                      ; c3                          ; 0xf17a5
  ; disGetNextSymbol 0xf17a6 LB 0x9676 -> off=0x0 cb=0000000000000025 uValue=00000000000f01a6 'get_cmos_word'
get_cmos_word:                               ; 0xf17a6 LB 0x25
    push bp                                   ; 55                          ; 0xf17a6 bios.c:99
    mov bp, sp                                ; 89 e5                       ; 0xf17a7
    push bx                                   ; 53                          ; 0xf17a9
    push dx                                   ; 52                          ; 0xf17aa
    mov dl, al                                ; 88 c2                       ; 0xf17ab
    db  0feh, 0c0h
    ; inc al                                    ; fe c0                     ; 0xf17ad bios.c:101
    xor ah, ah                                ; 30 e4                       ; 0xf17af
    call 0176ah                               ; e8 b6 ff                    ; 0xf17b1
    movzx bx, al                              ; 0f b6 d8                    ; 0xf17b4
    sal bx, 008h                              ; c1 e3 08                    ; 0xf17b7
    movzx ax, dl                              ; 0f b6 c2                    ; 0xf17ba
    call 0176ah                               ; e8 aa ff                    ; 0xf17bd
    xor ah, ah                                ; 30 e4                       ; 0xf17c0
    or ax, bx                                 ; 09 d8                       ; 0xf17c2
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf17c4 bios.c:103
    pop dx                                    ; 5a                          ; 0xf17c7
    pop bx                                    ; 5b                          ; 0xf17c8
    pop bp                                    ; 5d                          ; 0xf17c9
    retn                                      ; c3                          ; 0xf17ca
  ; disGetNextSymbol 0xf17cb LB 0x9651 -> off=0x0 cb=000000000000006a uValue=00000000000f01cb 'dummy_isr_function'
dummy_isr_function:                          ; 0xf17cb LB 0x6a
    push bp                                   ; 55                          ; 0xf17cb bios.c:105
    mov bp, sp                                ; 89 e5                       ; 0xf17cc
    push ax                                   ; 50                          ; 0xf17ce
    mov CH, strict byte 0ffh                  ; b5 ff                       ; 0xf17cf bios.c:113
    mov AL, strict byte 00bh                  ; b0 0b                       ; 0xf17d1 bios.c:115
    mov dx, strict word 00020h                ; ba 20 00                    ; 0xf17d3
    out DX, AL                                ; ee                          ; 0xf17d6
    in AL, DX                                 ; ec                          ; 0xf17d7 bios.c:116
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf17d8
    mov bx, ax                                ; 89 c3                       ; 0xf17da
    mov cl, al                                ; 88 c1                       ; 0xf17dc
    test al, al                               ; 84 c0                       ; 0xf17de bios.c:117
    je short 01826h                           ; 74 44                       ; 0xf17e0
    mov AL, strict byte 00bh                  ; b0 0b                       ; 0xf17e2 bios.c:118
    mov dx, 000a0h                            ; ba a0 00                    ; 0xf17e4
    out DX, AL                                ; ee                          ; 0xf17e7
    in AL, DX                                 ; ec                          ; 0xf17e8 bios.c:119
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf17e9
    mov word [bp-002h], ax                    ; 89 46 fe                    ; 0xf17eb
    cmp byte [bp-002h], 000h                  ; 80 7e fe 00                 ; 0xf17ee bios.c:120
    je short 0180ch                           ; 74 18                       ; 0xf17f2
    mov dx, 000a1h                            ; ba a1 00                    ; 0xf17f4 bios.c:121
    in AL, DX                                 ; ec                          ; 0xf17f7
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf17f8
    movzx bx, al                              ; 0f b6 d8                    ; 0xf17fa bios.c:122
    movzx ax, byte [bp-002h]                  ; 0f b6 46 fe                 ; 0xf17fd
    or ax, bx                                 ; 09 d8                       ; 0xf1801
    out DX, AL                                ; ee                          ; 0xf1803
    mov AL, strict byte 020h                  ; b0 20                       ; 0xf1804 bios.c:123
    mov dx, 000a0h                            ; ba a0 00                    ; 0xf1806
    out DX, AL                                ; ee                          ; 0xf1809
    jmp short 0181eh                          ; eb 12                       ; 0xf180a bios.c:124
    mov dx, strict word 00021h                ; ba 21 00                    ; 0xf180c bios.c:125
    in AL, DX                                 ; ec                          ; 0xf180f
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf1810
    and cl, 0fbh                              ; 80 e1 fb                    ; 0xf1812 bios.c:126
    movzx bx, al                              ; 0f b6 d8                    ; 0xf1815 bios.c:127
    movzx ax, cl                              ; 0f b6 c1                    ; 0xf1818
    or ax, bx                                 ; 09 d8                       ; 0xf181b
    out DX, AL                                ; ee                          ; 0xf181d
    mov AL, strict byte 020h                  ; b0 20                       ; 0xf181e bios.c:129
    mov dx, strict word 00020h                ; ba 20 00                    ; 0xf1820
    out DX, AL                                ; ee                          ; 0xf1823
    mov ch, cl                                ; 88 cd                       ; 0xf1824 bios.c:130
    mov bx, strict word 0006bh                ; bb 6b 00                    ; 0xf1826 bios.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf1829
    mov es, ax                                ; 8e c0                       ; 0xf182c
    mov byte [es:bx], ch                      ; 26 88 2f                    ; 0xf182e
    mov sp, bp                                ; 89 ec                       ; 0xf1831 bios.c:133
    pop bp                                    ; 5d                          ; 0xf1833
    retn                                      ; c3                          ; 0xf1834
  ; disGetNextSymbol 0xf1835 LB 0x95e7 -> off=0x0 cb=0000000000000012 uValue=00000000000f0235 'nmi_handler_msg'
nmi_handler_msg:                             ; 0xf1835 LB 0x12
    push bp                                   ; 55                          ; 0xf1835 bios.c:136
    mov bp, sp                                ; 89 e5                       ; 0xf1836
    push 00102h                               ; 68 02 01                    ; 0xf1838 bios.c:138
    push strict byte 00007h                   ; 6a 07                       ; 0xf183b
    call 01a68h                               ; e8 28 02                    ; 0xf183d
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf1840
    mov sp, bp                                ; 89 ec                       ; 0xf1843 bios.c:139
    pop bp                                    ; 5d                          ; 0xf1845
    retn                                      ; c3                          ; 0xf1846
  ; disGetNextSymbol 0xf1847 LB 0x95d5 -> off=0x0 cb=000000000000002d uValue=00000000000f0247 'int18_panic_msg'
int18_panic_msg:                             ; 0xf1847 LB 0x2d
    push bp                                   ; 55                          ; 0xf1847 bios.c:141
    mov bp, sp                                ; 89 e5                       ; 0xf1848
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf184a bios.c:143
    mov cx, ds                                ; 8c d9                       ; 0xf184d
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf184f
    call 01a27h                               ; e8 d2 01                    ; 0xf1852
    push 00116h                               ; 68 16 01                    ; 0xf1855
    push strict byte 00004h                   ; 6a 04                       ; 0xf1858
    call 01a68h                               ; e8 0b 02                    ; 0xf185a
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf185d
    mov bx, 0012bh                            ; bb 2b 01                    ; 0xf1860 bios.c:144
    mov dx, 0040fh                            ; ba 0f 04                    ; 0xf1863
    mov al, byte [bx]                         ; 8a 07                       ; 0xf1866
    out DX, AL                                ; ee                          ; 0xf1868
    inc bx                                    ; 43                          ; 0xf1869
    mov al, byte [bx]                         ; 8a 07                       ; 0xf186a
    db  00ah, 0c0h
    ; or al, al                                 ; 0a c0                     ; 0xf186c
    jne short 01868h                          ; 75 f8                       ; 0xf186e
    mov sp, bp                                ; 89 ec                       ; 0xf1870 bios.c:145
    pop bp                                    ; 5d                          ; 0xf1872
    retn                                      ; c3                          ; 0xf1873
  ; disGetNextSymbol 0xf1874 LB 0x95a8 -> off=0x0 cb=0000000000000020 uValue=00000000000f0274 'log_bios_start'
log_bios_start:                              ; 0xf1874 LB 0x20
    push bp                                   ; 55                          ; 0xf1874 bios.c:147
    mov bp, sp                                ; 89 e5                       ; 0xf1875
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf1877 bios.c:152
    mov cx, ds                                ; 8c d9                       ; 0xf187a
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf187c
    call 01a27h                               ; e8 a5 01                    ; 0xf187f
    push 00e04h                               ; 68 04 0e                    ; 0xf1882
    push 00134h                               ; 68 34 01                    ; 0xf1885
    push strict byte 00004h                   ; 6a 04                       ; 0xf1888
    call 01a68h                               ; e8 db 01                    ; 0xf188a
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf188d
    mov sp, bp                                ; 89 ec                       ; 0xf1890 bios.c:153
    pop bp                                    ; 5d                          ; 0xf1892
    retn                                      ; c3                          ; 0xf1893
  ; disGetNextSymbol 0xf1894 LB 0x9588 -> off=0x0 cb=0000000000000027 uValue=00000000000f0294 'print_bios_banner'
print_bios_banner:                           ; 0xf1894 LB 0x27
    push bp                                   ; 55                          ; 0xf1894 bios.c:172
    mov bp, sp                                ; 89 e5                       ; 0xf1895
    mov bx, strict word 00072h                ; bb 72 00                    ; 0xf1897 bios.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf189a
    mov es, ax                                ; 8e c0                       ; 0xf189d
    mov ax, word [es:bx]                      ; 26 8b 07                    ; 0xf189f
    mov word [es:bx], strict word 00000h      ; 26 c7 07 00 00              ; 0xf18a2 bios.c:63
    cmp ax, 01234h                            ; 3d 34 12                    ; 0xf18a7 bios.c:178
    jne short 018b4h                          ; 75 08                       ; 0xf18aa
    mov AL, strict byte 003h                  ; b0 03                       ; 0xf18ac bios.c:181
    mov AH, strict byte 000h                  ; b4 00                       ; 0xf18ae
    int 010h                                  ; cd 10                       ; 0xf18b0
    jmp short 018b7h                          ; eb 03                       ; 0xf18b2 bios.c:182
    call 078d1h                               ; e8 1a 60                    ; 0xf18b4 bios.c:185
    mov sp, bp                                ; 89 ec                       ; 0xf18b7 bios.c:212
    pop bp                                    ; 5d                          ; 0xf18b9
    retn                                      ; c3                          ; 0xf18ba
  ; disGetNextSymbol 0xf18bb LB 0x9561 -> off=0x0 cb=000000000000003b uValue=00000000000f02bb 'send'
send:                                        ; 0xf18bb LB 0x3b
    push bp                                   ; 55                          ; 0xf18bb print.c:82
    mov bp, sp                                ; 89 e5                       ; 0xf18bc
    push bx                                   ; 53                          ; 0xf18be
    push cx                                   ; 51                          ; 0xf18bf
    mov bx, ax                                ; 89 c3                       ; 0xf18c0
    mov cl, dl                                ; 88 d1                       ; 0xf18c2
    test AL, strict byte 008h                 ; a8 08                       ; 0xf18c4 print.c:90
    je short 018ceh                           ; 74 06                       ; 0xf18c6
    mov al, dl                                ; 88 d0                       ; 0xf18c8 print.c:91
    mov dx, 00403h                            ; ba 03 04                    ; 0xf18ca
    out DX, AL                                ; ee                          ; 0xf18cd
    test bl, 004h                             ; f6 c3 04                    ; 0xf18ce print.c:92
    je short 018d9h                           ; 74 06                       ; 0xf18d1
    mov al, cl                                ; 88 c8                       ; 0xf18d3 print.c:93
    mov dx, 00504h                            ; ba 04 05                    ; 0xf18d5
    out DX, AL                                ; ee                          ; 0xf18d8
    test bl, 002h                             ; f6 c3 02                    ; 0xf18d9 print.c:95
    je short 018efh                           ; 74 11                       ; 0xf18dc
    cmp cl, 00ah                              ; 80 f9 0a                    ; 0xf18de print.c:96
    jne short 018e9h                          ; 75 06                       ; 0xf18e1
    mov AL, strict byte 00dh                  ; b0 0d                       ; 0xf18e3 print.c:97
    mov AH, strict byte 00eh                  ; b4 0e                       ; 0xf18e5
    int 010h                                  ; cd 10                       ; 0xf18e7
    mov al, cl                                ; 88 c8                       ; 0xf18e9 print.c:98
    mov AH, strict byte 00eh                  ; b4 0e                       ; 0xf18eb
    int 010h                                  ; cd 10                       ; 0xf18ed
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf18ef print.c:100
    pop cx                                    ; 59                          ; 0xf18f2
    pop bx                                    ; 5b                          ; 0xf18f3
    pop bp                                    ; 5d                          ; 0xf18f4
    retn                                      ; c3                          ; 0xf18f5
  ; disGetNextSymbol 0xf18f6 LB 0x9526 -> off=0x0 cb=000000000000005f uValue=00000000000f02f6 'put_int'
put_int:                                     ; 0xf18f6 LB 0x5f
    push bp                                   ; 55                          ; 0xf18f6 print.c:102
    mov bp, sp                                ; 89 e5                       ; 0xf18f7
    push si                                   ; 56                          ; 0xf18f9
    push di                                   ; 57                          ; 0xf18fa
    push ax                                   ; 50                          ; 0xf18fb
    push ax                                   ; 50                          ; 0xf18fc
    mov si, ax                                ; 89 c6                       ; 0xf18fd
    mov word [bp-008h], dx                    ; 89 56 f8                    ; 0xf18ff
    mov di, strict word 0000ah                ; bf 0a 00                    ; 0xf1902 print.c:104
    mov ax, dx                                ; 89 d0                       ; 0xf1905
    cwd                                       ; 99                          ; 0xf1907
    idiv di                                   ; f7 ff                       ; 0xf1908
    mov word [bp-006h], ax                    ; 89 46 fa                    ; 0xf190a
    test ax, ax                               ; 85 c0                       ; 0xf190d print.c:105
    je short 0191bh                           ; 74 0a                       ; 0xf190f
    dec bx                                    ; 4b                          ; 0xf1911 print.c:106
    mov dx, ax                                ; 89 c2                       ; 0xf1912
    mov ax, si                                ; 89 f0                       ; 0xf1914
    call 018f6h                               ; e8 dd ff                    ; 0xf1916
    jmp short 01936h                          ; eb 1b                       ; 0xf1919 print.c:107
    dec bx                                    ; 4b                          ; 0xf191b print.c:108
    test bx, bx                               ; 85 db                       ; 0xf191c
    jle short 0192ah                          ; 7e 0a                       ; 0xf191e
    mov dx, strict word 00020h                ; ba 20 00                    ; 0xf1920 print.c:109
    mov ax, si                                ; 89 f0                       ; 0xf1923
    call 018bbh                               ; e8 93 ff                    ; 0xf1925
    jmp short 0191bh                          ; eb f1                       ; 0xf1928
    test cx, cx                               ; 85 c9                       ; 0xf192a print.c:110
    je short 01936h                           ; 74 08                       ; 0xf192c
    mov dx, strict word 0002dh                ; ba 2d 00                    ; 0xf192e print.c:111
    mov ax, si                                ; 89 f0                       ; 0xf1931
    call 018bbh                               ; e8 85 ff                    ; 0xf1933
    mov al, byte [bp-006h]                    ; 8a 46 fa                    ; 0xf1936 print.c:113
    mov DL, strict byte 00ah                  ; b2 0a                       ; 0xf1939
    mul dl                                    ; f6 e2                       ; 0xf193b
    mov dl, byte [bp-008h]                    ; 8a 56 f8                    ; 0xf193d
    sub dl, al                                ; 28 c2                       ; 0xf1940
    mov al, dl                                ; 88 d0                       ; 0xf1942
    add AL, strict byte 030h                  ; 04 30                       ; 0xf1944
    movzx dx, al                              ; 0f b6 d0                    ; 0xf1946
    mov ax, si                                ; 89 f0                       ; 0xf1949
    call 018bbh                               ; e8 6d ff                    ; 0xf194b
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf194e print.c:114
    pop di                                    ; 5f                          ; 0xf1951
    pop si                                    ; 5e                          ; 0xf1952
    pop bp                                    ; 5d                          ; 0xf1953
    retn                                      ; c3                          ; 0xf1954
  ; disGetNextSymbol 0xf1955 LB 0x94c7 -> off=0x0 cb=0000000000000060 uValue=00000000000f0355 'put_uint'
put_uint:                                    ; 0xf1955 LB 0x60
    push bp                                   ; 55                          ; 0xf1955 print.c:116
    mov bp, sp                                ; 89 e5                       ; 0xf1956
    push si                                   ; 56                          ; 0xf1958
    push di                                   ; 57                          ; 0xf1959
    push ax                                   ; 50                          ; 0xf195a
    push ax                                   ; 50                          ; 0xf195b
    mov si, ax                                ; 89 c6                       ; 0xf195c
    mov word [bp-008h], dx                    ; 89 56 f8                    ; 0xf195e
    mov ax, dx                                ; 89 d0                       ; 0xf1961 print.c:118
    xor dx, dx                                ; 31 d2                       ; 0xf1963
    mov di, strict word 0000ah                ; bf 0a 00                    ; 0xf1965
    div di                                    ; f7 f7                       ; 0xf1968
    mov word [bp-006h], ax                    ; 89 46 fa                    ; 0xf196a
    test ax, ax                               ; 85 c0                       ; 0xf196d print.c:119
    je short 0197bh                           ; 74 0a                       ; 0xf196f
    dec bx                                    ; 4b                          ; 0xf1971 print.c:120
    mov dx, ax                                ; 89 c2                       ; 0xf1972
    mov ax, si                                ; 89 f0                       ; 0xf1974
    call 01955h                               ; e8 dc ff                    ; 0xf1976
    jmp short 01996h                          ; eb 1b                       ; 0xf1979 print.c:121
    dec bx                                    ; 4b                          ; 0xf197b print.c:122
    test bx, bx                               ; 85 db                       ; 0xf197c
    jle short 0198ah                          ; 7e 0a                       ; 0xf197e
    mov dx, strict word 00020h                ; ba 20 00                    ; 0xf1980 print.c:123
    mov ax, si                                ; 89 f0                       ; 0xf1983
    call 018bbh                               ; e8 33 ff                    ; 0xf1985
    jmp short 0197bh                          ; eb f1                       ; 0xf1988
    test cx, cx                               ; 85 c9                       ; 0xf198a print.c:124
    je short 01996h                           ; 74 08                       ; 0xf198c
    mov dx, strict word 0002dh                ; ba 2d 00                    ; 0xf198e print.c:125
    mov ax, si                                ; 89 f0                       ; 0xf1991
    call 018bbh                               ; e8 25 ff                    ; 0xf1993
    mov al, byte [bp-006h]                    ; 8a 46 fa                    ; 0xf1996 print.c:127
    mov DL, strict byte 00ah                  ; b2 0a                       ; 0xf1999
    mul dl                                    ; f6 e2                       ; 0xf199b
    mov dl, byte [bp-008h]                    ; 8a 56 f8                    ; 0xf199d
    sub dl, al                                ; 28 c2                       ; 0xf19a0
    mov al, dl                                ; 88 d0                       ; 0xf19a2
    add AL, strict byte 030h                  ; 04 30                       ; 0xf19a4
    movzx dx, al                              ; 0f b6 d0                    ; 0xf19a6
    mov ax, si                                ; 89 f0                       ; 0xf19a9
    call 018bbh                               ; e8 0d ff                    ; 0xf19ab
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf19ae print.c:128
    pop di                                    ; 5f                          ; 0xf19b1
    pop si                                    ; 5e                          ; 0xf19b2
    pop bp                                    ; 5d                          ; 0xf19b3
    retn                                      ; c3                          ; 0xf19b4
  ; disGetNextSymbol 0xf19b5 LB 0x9467 -> off=0x0 cb=0000000000000072 uValue=00000000000f03b5 'put_luint'
put_luint:                                   ; 0xf19b5 LB 0x72
    push bp                                   ; 55                          ; 0xf19b5 print.c:130
    mov bp, sp                                ; 89 e5                       ; 0xf19b6
    push si                                   ; 56                          ; 0xf19b8
    push di                                   ; 57                          ; 0xf19b9
    push ax                                   ; 50                          ; 0xf19ba
    push ax                                   ; 50                          ; 0xf19bb
    mov si, ax                                ; 89 c6                       ; 0xf19bc
    mov word [bp-006h], bx                    ; 89 5e fa                    ; 0xf19be
    mov di, dx                                ; 89 d7                       ; 0xf19c1
    mov ax, bx                                ; 89 d8                       ; 0xf19c3 print.c:132
    mov dx, cx                                ; 89 ca                       ; 0xf19c5
    mov bx, strict word 0000ah                ; bb 0a 00                    ; 0xf19c7
    xor cx, cx                                ; 31 c9                       ; 0xf19ca
    call 0ad20h                               ; e8 51 93                    ; 0xf19cc
    mov word [bp-008h], ax                    ; 89 46 f8                    ; 0xf19cf
    mov cx, dx                                ; 89 d1                       ; 0xf19d2
    mov dx, ax                                ; 89 c2                       ; 0xf19d4 print.c:133
    or dx, cx                                 ; 09 ca                       ; 0xf19d6
    je short 019e9h                           ; 74 0f                       ; 0xf19d8
    push word [bp+004h]                       ; ff 76 04                    ; 0xf19da print.c:134
    lea dx, [di-001h]                         ; 8d 55 ff                    ; 0xf19dd
    mov bx, ax                                ; 89 c3                       ; 0xf19e0
    mov ax, si                                ; 89 f0                       ; 0xf19e2
    call 019b5h                               ; e8 ce ff                    ; 0xf19e4
    jmp short 01a06h                          ; eb 1d                       ; 0xf19e7 print.c:135
    dec di                                    ; 4f                          ; 0xf19e9 print.c:136
    test di, di                               ; 85 ff                       ; 0xf19ea
    jle short 019f8h                          ; 7e 0a                       ; 0xf19ec
    mov dx, strict word 00020h                ; ba 20 00                    ; 0xf19ee print.c:137
    mov ax, si                                ; 89 f0                       ; 0xf19f1
    call 018bbh                               ; e8 c5 fe                    ; 0xf19f3
    jmp short 019e9h                          ; eb f1                       ; 0xf19f6
    cmp word [bp+004h], strict byte 00000h    ; 83 7e 04 00                 ; 0xf19f8 print.c:138
    je short 01a06h                           ; 74 08                       ; 0xf19fc
    mov dx, strict word 0002dh                ; ba 2d 00                    ; 0xf19fe print.c:139
    mov ax, si                                ; 89 f0                       ; 0xf1a01
    call 018bbh                               ; e8 b5 fe                    ; 0xf1a03
    mov al, byte [bp-008h]                    ; 8a 46 f8                    ; 0xf1a06 print.c:141
    mov DL, strict byte 00ah                  ; b2 0a                       ; 0xf1a09
    mul dl                                    ; f6 e2                       ; 0xf1a0b
    mov dl, byte [bp-006h]                    ; 8a 56 fa                    ; 0xf1a0d
    sub dl, al                                ; 28 c2                       ; 0xf1a10
    mov al, dl                                ; 88 d0                       ; 0xf1a12
    add AL, strict byte 030h                  ; 04 30                       ; 0xf1a14
    movzx dx, al                              ; 0f b6 d0                    ; 0xf1a16
    mov ax, si                                ; 89 f0                       ; 0xf1a19
    call 018bbh                               ; e8 9d fe                    ; 0xf1a1b
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf1a1e print.c:142
    pop di                                    ; 5f                          ; 0xf1a21
    pop si                                    ; 5e                          ; 0xf1a22
    pop bp                                    ; 5d                          ; 0xf1a23
    retn 00002h                               ; c2 02 00                    ; 0xf1a24
  ; disGetNextSymbol 0xf1a27 LB 0x93f5 -> off=0x0 cb=0000000000000021 uValue=00000000000f0427 'put_str'
put_str:                                     ; 0xf1a27 LB 0x21
    push bp                                   ; 55                          ; 0xf1a27 print.c:144
    mov bp, sp                                ; 89 e5                       ; 0xf1a28
    push dx                                   ; 52                          ; 0xf1a2a
    push si                                   ; 56                          ; 0xf1a2b
    mov si, ax                                ; 89 c6                       ; 0xf1a2c
    mov es, cx                                ; 8e c1                       ; 0xf1a2e print.c:148
    mov dl, byte [es:bx]                      ; 26 8a 17                    ; 0xf1a30
    test dl, dl                               ; 84 d2                       ; 0xf1a33
    je short 01a41h                           ; 74 0a                       ; 0xf1a35
    xor dh, dh                                ; 30 f6                       ; 0xf1a37 print.c:149
    mov ax, si                                ; 89 f0                       ; 0xf1a39
    call 018bbh                               ; e8 7d fe                    ; 0xf1a3b
    inc bx                                    ; 43                          ; 0xf1a3e print.c:150
    jmp short 01a2eh                          ; eb ed                       ; 0xf1a3f print.c:151
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf1a41 print.c:152
    pop si                                    ; 5e                          ; 0xf1a44
    pop dx                                    ; 5a                          ; 0xf1a45
    pop bp                                    ; 5d                          ; 0xf1a46
    retn                                      ; c3                          ; 0xf1a47
  ; disGetNextSymbol 0xf1a48 LB 0x93d4 -> off=0x0 cb=0000000000000020 uValue=00000000000f0448 'put_str_near'
put_str_near:                                ; 0xf1a48 LB 0x20
    push bp                                   ; 55                          ; 0xf1a48 print.c:154
    mov bp, sp                                ; 89 e5                       ; 0xf1a49
    push bx                                   ; 53                          ; 0xf1a4b
    push cx                                   ; 51                          ; 0xf1a4c
    mov cx, ax                                ; 89 c1                       ; 0xf1a4d
    mov bx, dx                                ; 89 d3                       ; 0xf1a4f
    mov dl, byte [bx]                         ; 8a 17                       ; 0xf1a51 print.c:158
    test dl, dl                               ; 84 d2                       ; 0xf1a53
    je short 01a61h                           ; 74 0a                       ; 0xf1a55
    xor dh, dh                                ; 30 f6                       ; 0xf1a57 print.c:159
    mov ax, cx                                ; 89 c8                       ; 0xf1a59
    call 018bbh                               ; e8 5d fe                    ; 0xf1a5b
    inc bx                                    ; 43                          ; 0xf1a5e print.c:160
    jmp short 01a51h                          ; eb f0                       ; 0xf1a5f print.c:161
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf1a61 print.c:162
    pop cx                                    ; 59                          ; 0xf1a64
    pop bx                                    ; 5b                          ; 0xf1a65
    pop bp                                    ; 5d                          ; 0xf1a66
    retn                                      ; c3                          ; 0xf1a67
  ; disGetNextSymbol 0xf1a68 LB 0x93b4 -> off=0x0 cb=000000000000033d uValue=00000000000f0468 'bios_printf'
bios_printf:                                 ; 0xf1a68 LB 0x33d
    push bp                                   ; 55                          ; 0xf1a68 print.c:175
    mov bp, sp                                ; 89 e5                       ; 0xf1a69
    push bx                                   ; 53                          ; 0xf1a6b
    push cx                                   ; 51                          ; 0xf1a6c
    push dx                                   ; 52                          ; 0xf1a6d
    push si                                   ; 56                          ; 0xf1a6e
    push di                                   ; 57                          ; 0xf1a6f
    sub sp, strict byte 0001ch                ; 83 ec 1c                    ; 0xf1a70
    lea bx, [bp+008h]                         ; 8d 5e 08                    ; 0xf1a73 print.c:183
    mov word [bp-016h], bx                    ; 89 5e ea                    ; 0xf1a76
    mov [bp-014h], ss                         ; 8c 56 ec                    ; 0xf1a79
    xor bx, bx                                ; 31 db                       ; 0xf1a7c print.c:185
    xor di, di                                ; 31 ff                       ; 0xf1a7e print.c:186
    mov ax, word [bp+004h]                    ; 8b 46 04                    ; 0xf1a80 print.c:188
    and ax, strict word 00007h                ; 25 07 00                    ; 0xf1a83
    cmp ax, strict word 00007h                ; 3d 07 00                    ; 0xf1a86
    jne short 01a96h                          ; 75 0b                       ; 0xf1a89
    push 00138h                               ; 68 38 01                    ; 0xf1a8b print.c:189
    push strict byte 00002h                   ; 6a 02                       ; 0xf1a8e
    call 01a68h                               ; e8 d5 ff                    ; 0xf1a90
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf1a93
    mov si, word [bp+006h]                    ; 8b 76 06                    ; 0xf1a96 print.c:192
    mov dl, byte [si]                         ; 8a 14                       ; 0xf1a99
    test dl, dl                               ; 84 d2                       ; 0xf1a9b
    je near 01d89h                            ; 0f 84 e8 02                 ; 0xf1a9d
    cmp dl, 025h                              ; 80 fa 25                    ; 0xf1aa1 print.c:193
    jne short 01aaeh                          ; 75 08                       ; 0xf1aa4
    mov bx, strict word 00001h                ; bb 01 00                    ; 0xf1aa6 print.c:194
    xor di, di                                ; 31 ff                       ; 0xf1aa9 print.c:195
    jmp near 01d83h                           ; e9 d5 02                    ; 0xf1aab print.c:197
    test bx, bx                               ; 85 db                       ; 0xf1aae
    je near 01d7bh                            ; 0f 84 c7 02                 ; 0xf1ab0
    cmp dl, 030h                              ; 80 fa 30                    ; 0xf1ab4 print.c:198
    jc short 01acch                           ; 72 13                       ; 0xf1ab7
    cmp dl, 039h                              ; 80 fa 39                    ; 0xf1ab9
    jnbe short 01acch                         ; 77 0e                       ; 0xf1abc
    movzx ax, dl                              ; 0f b6 c2                    ; 0xf1abe print.c:199
    imul di, di, strict byte 0000ah           ; 6b ff 0a                    ; 0xf1ac1
    sub ax, strict word 00030h                ; 2d 30 00                    ; 0xf1ac4
    add di, ax                                ; 01 c7                       ; 0xf1ac7
    jmp near 01d83h                           ; e9 b7 02                    ; 0xf1ac9 print.c:201
    mov ax, word [bp-014h]                    ; 8b 46 ec                    ; 0xf1acc print.c:202
    mov word [bp-014h], ax                    ; 89 46 ec                    ; 0xf1acf
    add word [bp-016h], strict byte 00002h    ; 83 46 ea 02                 ; 0xf1ad2
    les bx, [bp-016h]                         ; c4 5e ea                    ; 0xf1ad6
    mov ax, word [es:bx-002h]                 ; 26 8b 47 fe                 ; 0xf1ad9
    mov word [bp-012h], ax                    ; 89 46 ee                    ; 0xf1add
    cmp dl, 078h                              ; 80 fa 78                    ; 0xf1ae0 print.c:203
    je short 01aeah                           ; 74 05                       ; 0xf1ae3
    cmp dl, 058h                              ; 80 fa 58                    ; 0xf1ae5
    jne short 01b40h                          ; 75 56                       ; 0xf1ae8
    test di, di                               ; 85 ff                       ; 0xf1aea print.c:204
    jne short 01af1h                          ; 75 03                       ; 0xf1aec
    mov di, strict word 00004h                ; bf 04 00                    ; 0xf1aee print.c:205
    cmp dl, 078h                              ; 80 fa 78                    ; 0xf1af1 print.c:206
    jne short 01afdh                          ; 75 07                       ; 0xf1af4
    mov word [bp-00eh], strict word 00061h    ; c7 46 f2 61 00              ; 0xf1af6 print.c:207
    jmp short 01b02h                          ; eb 05                       ; 0xf1afb print.c:208
    mov word [bp-00eh], strict word 00041h    ; c7 46 f2 41 00              ; 0xf1afd print.c:209
    lea ax, [di-001h]                         ; 8d 45 ff                    ; 0xf1b02 print.c:210
    mov word [bp-00ch], ax                    ; 89 46 f4                    ; 0xf1b05
    mov ax, word [bp-00ch]                    ; 8b 46 f4                    ; 0xf1b08
    test ax, ax                               ; 85 c0                       ; 0xf1b0b
    jl near 01d77h                            ; 0f 8c 66 02                 ; 0xf1b0d
    mov cx, ax                                ; 89 c1                       ; 0xf1b11 print.c:211
    sal cx, 002h                              ; c1 e1 02                    ; 0xf1b13
    mov ax, word [bp-012h]                    ; 8b 46 ee                    ; 0xf1b16
    shr ax, CL                                ; d3 e8                       ; 0xf1b19
    xor ah, ah                                ; 30 e4                       ; 0xf1b1b
    and AL, strict byte 00fh                  ; 24 0f                       ; 0xf1b1d
    cmp ax, strict word 00009h                ; 3d 09 00                    ; 0xf1b1f print.c:212
    jnbe short 01b2bh                         ; 77 07                       ; 0xf1b22
    mov dx, ax                                ; 89 c2                       ; 0xf1b24
    add dx, strict byte 00030h                ; 83 c2 30                    ; 0xf1b26
    jmp short 01b33h                          ; eb 08                       ; 0xf1b29
    sub ax, strict word 0000ah                ; 2d 0a 00                    ; 0xf1b2b
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf1b2e
    add dx, ax                                ; 01 c2                       ; 0xf1b31
    xor dh, dh                                ; 30 f6                       ; 0xf1b33
    mov ax, word [bp+004h]                    ; 8b 46 04                    ; 0xf1b35
    call 018bbh                               ; e8 80 fd                    ; 0xf1b38
    dec word [bp-00ch]                        ; ff 4e f4                    ; 0xf1b3b print.c:213
    jmp short 01b08h                          ; eb c8                       ; 0xf1b3e
    cmp dl, 075h                              ; 80 fa 75                    ; 0xf1b40 print.c:215
    jne short 01b54h                          ; 75 0f                       ; 0xf1b43
    xor cx, cx                                ; 31 c9                       ; 0xf1b45 print.c:216
    mov bx, di                                ; 89 fb                       ; 0xf1b47
    mov dx, ax                                ; 89 c2                       ; 0xf1b49
    mov ax, word [bp+004h]                    ; 8b 46 04                    ; 0xf1b4b
    call 01955h                               ; e8 04 fe                    ; 0xf1b4e
    jmp near 01d77h                           ; e9 23 02                    ; 0xf1b51 print.c:218
    cmp dl, 06ch                              ; 80 fa 6c                    ; 0xf1b54
    jne near 01c36h                           ; 0f 85 db 00                 ; 0xf1b57
    mov bx, word [bp+006h]                    ; 8b 5e 06                    ; 0xf1b5b
    cmp dl, byte [bx+001h]                    ; 3a 57 01                    ; 0xf1b5e
    jne near 01c36h                           ; 0f 85 d1 00                 ; 0xf1b61
    add word [bp+006h], strict byte 00002h    ; 83 46 06 02                 ; 0xf1b65 print.c:222
    mov bx, word [bp+006h]                    ; 8b 5e 06                    ; 0xf1b69 print.c:223
    mov dl, byte [bx]                         ; 8a 17                       ; 0xf1b6c
    mov word [bp-026h], ax                    ; 89 46 da                    ; 0xf1b6e print.c:225
    mov ax, word [bp-014h]                    ; 8b 46 ec                    ; 0xf1b71 print.c:226
    mov word [bp-014h], ax                    ; 89 46 ec                    ; 0xf1b74
    add word [bp-016h], strict byte 00002h    ; 83 46 ea 02                 ; 0xf1b77
    les bx, [bp-016h]                         ; c4 5e ea                    ; 0xf1b7b
    mov ax, word [es:bx-002h]                 ; 26 8b 47 fe                 ; 0xf1b7e
    mov word [bp-024h], ax                    ; 89 46 dc                    ; 0xf1b82
    mov ax, word [bp-014h]                    ; 8b 46 ec                    ; 0xf1b85 print.c:227
    mov word [bp-014h], ax                    ; 89 46 ec                    ; 0xf1b88
    add word [bp-016h], strict byte 00002h    ; 83 46 ea 02                 ; 0xf1b8b
    les bx, [bp-016h]                         ; c4 5e ea                    ; 0xf1b8f
    mov ax, word [es:bx-002h]                 ; 26 8b 47 fe                 ; 0xf1b92
    mov word [bp-022h], ax                    ; 89 46 de                    ; 0xf1b96
    mov ax, word [bp-014h]                    ; 8b 46 ec                    ; 0xf1b99 print.c:228
    mov word [bp-014h], ax                    ; 89 46 ec                    ; 0xf1b9c
    add word [bp-016h], strict byte 00002h    ; 83 46 ea 02                 ; 0xf1b9f
    les bx, [bp-016h]                         ; c4 5e ea                    ; 0xf1ba3
    mov ax, word [es:bx-002h]                 ; 26 8b 47 fe                 ; 0xf1ba6
    mov word [bp-020h], ax                    ; 89 46 e0                    ; 0xf1baa
    cmp dl, 078h                              ; 80 fa 78                    ; 0xf1bad print.c:229
    je short 01bb7h                           ; 74 05                       ; 0xf1bb0
    cmp dl, 058h                              ; 80 fa 58                    ; 0xf1bb2
    jne short 01c28h                          ; 75 71                       ; 0xf1bb5
    test di, di                               ; 85 ff                       ; 0xf1bb7 print.c:230
    jne short 01bbeh                          ; 75 03                       ; 0xf1bb9
    mov di, strict word 00010h                ; bf 10 00                    ; 0xf1bbb print.c:231
    cmp dl, 078h                              ; 80 fa 78                    ; 0xf1bbe print.c:232
    jne short 01bcah                          ; 75 07                       ; 0xf1bc1
    mov word [bp-00eh], strict word 00061h    ; c7 46 f2 61 00              ; 0xf1bc3 print.c:233
    jmp short 01bcfh                          ; eb 05                       ; 0xf1bc8 print.c:234
    mov word [bp-00eh], strict word 00041h    ; c7 46 f2 41 00              ; 0xf1bca print.c:235
    lea ax, [di-001h]                         ; 8d 45 ff                    ; 0xf1bcf print.c:236
    mov word [bp-00ch], ax                    ; 89 46 f4                    ; 0xf1bd2
    mov ax, word [bp-00ch]                    ; 8b 46 f4                    ; 0xf1bd5
    test ax, ax                               ; 85 c0                       ; 0xf1bd8
    jl near 01d77h                            ; 0f 8c 99 01                 ; 0xf1bda
    sal ax, 002h                              ; c1 e0 02                    ; 0xf1bde print.c:237
    mov word [bp-01eh], ax                    ; 89 46 e2                    ; 0xf1be1
    xor ax, ax                                ; 31 c0                       ; 0xf1be4
    mov word [bp-01ch], ax                    ; 89 46 e4                    ; 0xf1be6
    mov word [bp-01ah], ax                    ; 89 46 e6                    ; 0xf1be9
    mov word [bp-018h], ax                    ; 89 46 e8                    ; 0xf1bec
    mov ax, word [bp-020h]                    ; 8b 46 e0                    ; 0xf1bef
    mov bx, word [bp-022h]                    ; 8b 5e de                    ; 0xf1bf2
    mov cx, word [bp-024h]                    ; 8b 4e dc                    ; 0xf1bf5
    mov dx, word [bp-026h]                    ; 8b 56 da                    ; 0xf1bf8
    mov si, word [bp-01eh]                    ; 8b 76 e2                    ; 0xf1bfb
    call 0ad60h                               ; e8 5f 91                    ; 0xf1bfe
    mov ax, dx                                ; 89 d0                       ; 0xf1c01
    xor ah, dh                                ; 30 f4                       ; 0xf1c03
    and AL, strict byte 00fh                  ; 24 0f                       ; 0xf1c05
    cmp ax, strict word 00009h                ; 3d 09 00                    ; 0xf1c07 print.c:238
    jnbe short 01c13h                         ; 77 07                       ; 0xf1c0a
    mov dx, ax                                ; 89 c2                       ; 0xf1c0c
    add dx, strict byte 00030h                ; 83 c2 30                    ; 0xf1c0e
    jmp short 01c1bh                          ; eb 08                       ; 0xf1c11
    sub ax, strict word 0000ah                ; 2d 0a 00                    ; 0xf1c13
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf1c16
    add dx, ax                                ; 01 c2                       ; 0xf1c19
    xor dh, dh                                ; 30 f6                       ; 0xf1c1b
    mov ax, word [bp+004h]                    ; 8b 46 04                    ; 0xf1c1d
    call 018bbh                               ; e8 98 fc                    ; 0xf1c20
    dec word [bp-00ch]                        ; ff 4e f4                    ; 0xf1c23 print.c:239
    jmp short 01bd5h                          ; eb ad                       ; 0xf1c26
    push 00140h                               ; 68 40 01                    ; 0xf1c28 print.c:241
    push strict byte 00007h                   ; 6a 07                       ; 0xf1c2b
    call 01a68h                               ; e8 38 fe                    ; 0xf1c2d
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf1c30
    jmp near 01d77h                           ; e9 41 01                    ; 0xf1c33 print.c:244
    lea bx, [di-001h]                         ; 8d 5d ff                    ; 0xf1c36
    cmp dl, 06ch                              ; 80 fa 6c                    ; 0xf1c39
    jne near 01cffh                           ; 0f 85 bf 00                 ; 0xf1c3c
    inc word [bp+006h]                        ; ff 46 06                    ; 0xf1c40 print.c:245
    mov si, word [bp+006h]                    ; 8b 76 06                    ; 0xf1c43 print.c:246
    mov dl, byte [si]                         ; 8a 14                       ; 0xf1c46
    mov ax, word [bp-014h]                    ; 8b 46 ec                    ; 0xf1c48 print.c:247
    mov word [bp-014h], ax                    ; 89 46 ec                    ; 0xf1c4b
    add word [bp-016h], strict byte 00002h    ; 83 46 ea 02                 ; 0xf1c4e
    les si, [bp-016h]                         ; c4 76 ea                    ; 0xf1c52
    mov ax, word [es:si-002h]                 ; 26 8b 44 fe                 ; 0xf1c55
    mov word [bp-010h], ax                    ; 89 46 f0                    ; 0xf1c59
    cmp dl, 064h                              ; 80 fa 64                    ; 0xf1c5c print.c:248
    jne short 01c8eh                          ; 75 2d                       ; 0xf1c5f
    test byte [bp-00fh], 080h                 ; f6 46 f1 80                 ; 0xf1c61 print.c:249
    je short 01c7ch                           ; 74 15                       ; 0xf1c65
    push strict byte 00001h                   ; 6a 01                       ; 0xf1c67 print.c:250
    mov ax, word [bp-012h]                    ; 8b 46 ee                    ; 0xf1c69
    mov cx, word [bp-010h]                    ; 8b 4e f0                    ; 0xf1c6c
    neg cx                                    ; f7 d9                       ; 0xf1c6f
    neg ax                                    ; f7 d8                       ; 0xf1c71
    sbb cx, strict byte 00000h                ; 83 d9 00                    ; 0xf1c73
    mov dx, bx                                ; 89 da                       ; 0xf1c76
    mov bx, ax                                ; 89 c3                       ; 0xf1c78
    jmp short 01c85h                          ; eb 09                       ; 0xf1c7a print.c:251
    push strict byte 00000h                   ; 6a 00                       ; 0xf1c7c print.c:252
    mov bx, word [bp-012h]                    ; 8b 5e ee                    ; 0xf1c7e
    mov dx, di                                ; 89 fa                       ; 0xf1c81
    mov cx, ax                                ; 89 c1                       ; 0xf1c83
    mov ax, word [bp+004h]                    ; 8b 46 04                    ; 0xf1c85
    call 019b5h                               ; e8 2a fd                    ; 0xf1c88
    jmp near 01d77h                           ; e9 e9 00                    ; 0xf1c8b print.c:254
    cmp dl, 075h                              ; 80 fa 75                    ; 0xf1c8e
    jne short 01c95h                          ; 75 02                       ; 0xf1c91
    jmp short 01c7ch                          ; eb e7                       ; 0xf1c93
    cmp dl, 078h                              ; 80 fa 78                    ; 0xf1c95 print.c:257
    je short 01ca1h                           ; 74 07                       ; 0xf1c98
    cmp dl, 058h                              ; 80 fa 58                    ; 0xf1c9a
    jne near 01d77h                           ; 0f 85 d6 00                 ; 0xf1c9d
    test di, di                               ; 85 ff                       ; 0xf1ca1 print.c:259
    jne short 01ca8h                          ; 75 03                       ; 0xf1ca3
    mov di, strict word 00008h                ; bf 08 00                    ; 0xf1ca5 print.c:260
    cmp dl, 078h                              ; 80 fa 78                    ; 0xf1ca8 print.c:261
    jne short 01cb4h                          ; 75 07                       ; 0xf1cab
    mov word [bp-00eh], strict word 00061h    ; c7 46 f2 61 00              ; 0xf1cad print.c:262
    jmp short 01cb9h                          ; eb 05                       ; 0xf1cb2 print.c:263
    mov word [bp-00eh], strict word 00041h    ; c7 46 f2 41 00              ; 0xf1cb4 print.c:264
    lea ax, [di-001h]                         ; 8d 45 ff                    ; 0xf1cb9 print.c:265
    mov word [bp-00ch], ax                    ; 89 46 f4                    ; 0xf1cbc
    cmp word [bp-00ch], strict byte 00000h    ; 83 7e f4 00                 ; 0xf1cbf
    jl near 01d77h                            ; 0f 8c b0 00                 ; 0xf1cc3
    mov ax, word [bp-012h]                    ; 8b 46 ee                    ; 0xf1cc7 print.c:266
    mov cx, word [bp-00ch]                    ; 8b 4e f4                    ; 0xf1cca
    sal cx, 002h                              ; c1 e1 02                    ; 0xf1ccd
    mov dx, word [bp-010h]                    ; 8b 56 f0                    ; 0xf1cd0
    jcxz 01cdbh                               ; e3 06                       ; 0xf1cd3
    shr dx, 1                                 ; d1 ea                       ; 0xf1cd5
    rcr ax, 1                                 ; d1 d8                       ; 0xf1cd7
    loop 01cd5h                               ; e2 fa                       ; 0xf1cd9
    and ax, strict word 0000fh                ; 25 0f 00                    ; 0xf1cdb
    cmp ax, strict word 00009h                ; 3d 09 00                    ; 0xf1cde print.c:267
    jnbe short 01ceah                         ; 77 07                       ; 0xf1ce1
    mov dx, ax                                ; 89 c2                       ; 0xf1ce3
    add dx, strict byte 00030h                ; 83 c2 30                    ; 0xf1ce5
    jmp short 01cf2h                          ; eb 08                       ; 0xf1ce8
    sub ax, strict word 0000ah                ; 2d 0a 00                    ; 0xf1cea
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf1ced
    add dx, ax                                ; 01 c2                       ; 0xf1cf0
    xor dh, dh                                ; 30 f6                       ; 0xf1cf2
    mov ax, word [bp+004h]                    ; 8b 46 04                    ; 0xf1cf4
    call 018bbh                               ; e8 c1 fb                    ; 0xf1cf7
    dec word [bp-00ch]                        ; ff 4e f4                    ; 0xf1cfa print.c:268
    jmp short 01cbfh                          ; eb c0                       ; 0xf1cfd
    cmp dl, 064h                              ; 80 fa 64                    ; 0xf1cff print.c:271
    jne short 01d23h                          ; 75 1f                       ; 0xf1d02
    test byte [bp-011h], 080h                 ; f6 46 ef 80                 ; 0xf1d04 print.c:272
    je short 01d14h                           ; 74 0a                       ; 0xf1d08
    mov dx, word [bp-012h]                    ; 8b 56 ee                    ; 0xf1d0a print.c:273
    neg dx                                    ; f7 da                       ; 0xf1d0d
    mov cx, strict word 00001h                ; b9 01 00                    ; 0xf1d0f
    jmp short 01d1bh                          ; eb 07                       ; 0xf1d12 print.c:274
    xor cx, cx                                ; 31 c9                       ; 0xf1d14 print.c:275
    mov bx, di                                ; 89 fb                       ; 0xf1d16
    mov dx, word [bp-012h]                    ; 8b 56 ee                    ; 0xf1d18
    mov ax, word [bp+004h]                    ; 8b 46 04                    ; 0xf1d1b
    call 018f6h                               ; e8 d5 fb                    ; 0xf1d1e
    jmp short 01d77h                          ; eb 54                       ; 0xf1d21 print.c:277
    cmp dl, 073h                              ; 80 fa 73                    ; 0xf1d23
    jne short 01d35h                          ; 75 0d                       ; 0xf1d26
    mov cx, ds                                ; 8c d9                       ; 0xf1d28 print.c:278
    mov bx, word [bp-012h]                    ; 8b 5e ee                    ; 0xf1d2a
    mov ax, word [bp+004h]                    ; 8b 46 04                    ; 0xf1d2d
    call 01a27h                               ; e8 f4 fc                    ; 0xf1d30
    jmp short 01d77h                          ; eb 42                       ; 0xf1d33 print.c:280
    cmp dl, 053h                              ; 80 fa 53                    ; 0xf1d35
    jne short 01d5bh                          ; 75 21                       ; 0xf1d38
    mov ax, word [bp-012h]                    ; 8b 46 ee                    ; 0xf1d3a print.c:281
    mov word [bp-010h], ax                    ; 89 46 f0                    ; 0xf1d3d
    mov ax, word [bp-014h]                    ; 8b 46 ec                    ; 0xf1d40 print.c:282
    mov word [bp-014h], ax                    ; 89 46 ec                    ; 0xf1d43
    add word [bp-016h], strict byte 00002h    ; 83 46 ea 02                 ; 0xf1d46
    les bx, [bp-016h]                         ; c4 5e ea                    ; 0xf1d4a
    mov ax, word [es:bx-002h]                 ; 26 8b 47 fe                 ; 0xf1d4d
    mov word [bp-012h], ax                    ; 89 46 ee                    ; 0xf1d51
    mov bx, ax                                ; 89 c3                       ; 0xf1d54 print.c:283
    mov cx, word [bp-010h]                    ; 8b 4e f0                    ; 0xf1d56
    jmp short 01d2dh                          ; eb d2                       ; 0xf1d59
    cmp dl, 063h                              ; 80 fa 63                    ; 0xf1d5b print.c:285
    jne short 01d6ch                          ; 75 0c                       ; 0xf1d5e
    movzx dx, byte [bp-012h]                  ; 0f b6 56 ee                 ; 0xf1d60 print.c:286
    mov ax, word [bp+004h]                    ; 8b 46 04                    ; 0xf1d64
    call 018bbh                               ; e8 51 fb                    ; 0xf1d67
    jmp short 01d77h                          ; eb 0b                       ; 0xf1d6a print.c:288
    push 00161h                               ; 68 61 01                    ; 0xf1d6c print.c:289
    push strict byte 00007h                   ; 6a 07                       ; 0xf1d6f
    call 01a68h                               ; e8 f4 fc                    ; 0xf1d71
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf1d74
    xor bx, bx                                ; 31 db                       ; 0xf1d77 print.c:290
    jmp short 01d83h                          ; eb 08                       ; 0xf1d79 print.c:293
    xor dh, dh                                ; 30 f6                       ; 0xf1d7b print.c:294
    mov ax, word [bp+004h]                    ; 8b 46 04                    ; 0xf1d7d
    call 018bbh                               ; e8 38 fb                    ; 0xf1d80
    inc word [bp+006h]                        ; ff 46 06                    ; 0xf1d83 print.c:296
    jmp near 01a96h                           ; e9 0d fd                    ; 0xf1d86 print.c:297
    xor ax, ax                                ; 31 c0                       ; 0xf1d89 print.c:298
    mov word [bp-016h], ax                    ; 89 46 ea                    ; 0xf1d8b
    mov word [bp-014h], ax                    ; 89 46 ec                    ; 0xf1d8e
    test byte [bp+004h], 001h                 ; f6 46 04 01                 ; 0xf1d91 print.c:299
    je short 01d9bh                           ; 74 04                       ; 0xf1d95
    cli                                       ; fa                          ; 0xf1d97 print.c:301
    hlt                                       ; f4                          ; 0xf1d98 print.c:302
    jmp short 01d98h                          ; eb fd                       ; 0xf1d99
    lea sp, [bp-00ah]                         ; 8d 66 f6                    ; 0xf1d9b print.c:304
    pop di                                    ; 5f                          ; 0xf1d9e
    pop si                                    ; 5e                          ; 0xf1d9f
    pop dx                                    ; 5a                          ; 0xf1da0
    pop cx                                    ; 59                          ; 0xf1da1
    pop bx                                    ; 5b                          ; 0xf1da2
    pop bp                                    ; 5d                          ; 0xf1da3
    retn                                      ; c3                          ; 0xf1da4
  ; disGetNextSymbol 0xf1da5 LB 0x9077 -> off=0x0 cb=00000000000000cc uValue=00000000000f07a5 'ata_init'
ata_init:                                    ; 0xf1da5 LB 0xcc
    push si                                   ; 56                          ; 0xf1da5 ata.c:89
    push bp                                   ; 55                          ; 0xf1da6
    mov bp, sp                                ; 89 e5                       ; 0xf1da7
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf1da9 ata.c:58
    mov si, strict word 00040h                ; be 40 00                    ; 0xf1dac
    mov es, si                                ; 8e c6                       ; 0xf1daf
    mov bx, word [es:bx]                      ; 26 8b 1f                    ; 0xf1db1
    mov si, strict word 0005eh                ; be 5e 00                    ; 0xf1db4 ata.c:59
    mov dx, bx                                ; 89 da                       ; 0xf1db7
    xor al, al                                ; 30 c0                       ; 0xf1db9 ata.c:97
    jmp short 01dc1h                          ; eb 04                       ; 0xf1dbb
    cmp AL, strict byte 004h                  ; 3c 04                       ; 0xf1dbd
    jnc short 01de5h                          ; 73 24                       ; 0xf1dbf
    movzx bx, al                              ; 0f b6 d8                    ; 0xf1dc1 ata.c:98
    imul bx, bx, strict byte 00006h           ; 6b db 06                    ; 0xf1dc4
    mov es, dx                                ; 8e c2                       ; 0xf1dc7
    add bx, si                                ; 01 f3                       ; 0xf1dc9
    mov byte [es:bx+00278h], 000h             ; 26 c6 87 78 02 00           ; 0xf1dcb
    db  066h, 026h, 0c7h, 087h, 07ah, 002h, 000h, 000h, 000h, 000h
    ; mov dword [es:bx+0027ah], strict dword 000000000h ; 66 26 c7 87 7a 02 00 00 00 00; 0xf1dd1 ata.c:99
    mov byte [es:bx+00279h], 000h             ; 26 c6 87 79 02 00           ; 0xf1ddb ata.c:101
    db  0feh, 0c0h
    ; inc al                                    ; fe c0                     ; 0xf1de1 ata.c:102
    jmp short 01dbdh                          ; eb d8                       ; 0xf1de3
    xor al, al                                ; 30 c0                       ; 0xf1de5 ata.c:105
    jmp short 01dedh                          ; eb 04                       ; 0xf1de7
    cmp AL, strict byte 008h                  ; 3c 08                       ; 0xf1de9
    jnc short 01e41h                          ; 73 54                       ; 0xf1deb
    movzx bx, al                              ; 0f b6 d8                    ; 0xf1ded ata.c:106
    imul bx, bx, strict byte 0001ch           ; 6b db 1c                    ; 0xf1df0
    mov es, dx                                ; 8e c2                       ; 0xf1df3
    add bx, si                                ; 01 f3                       ; 0xf1df5
    db  066h, 026h, 0c7h, 047h, 01eh, 000h, 000h, 000h, 000h
    ; mov dword [es:bx+01eh], strict dword 000000000h ; 66 26 c7 47 1e 00 00 00 00; 0xf1df7
    mov byte [es:bx+022h], 000h               ; 26 c6 47 22 00              ; 0xf1e00 ata.c:110
    mov word [es:bx+024h], 00200h             ; 26 c7 47 24 00 02           ; 0xf1e05 ata.c:111
    mov byte [es:bx+023h], 000h               ; 26 c6 47 23 00              ; 0xf1e0b ata.c:112
    db  066h, 026h, 0c7h, 047h, 026h, 000h, 000h, 000h, 000h
    ; mov dword [es:bx+026h], strict dword 000000000h ; 66 26 c7 47 26 00 00 00 00; 0xf1e10 ata.c:113
    db  066h, 026h, 0c7h, 047h, 02ah, 000h, 000h, 000h, 000h
    ; mov dword [es:bx+02ah], strict dword 000000000h ; 66 26 c7 47 2a 00 00 00 00; 0xf1e19 ata.c:115
    db  066h, 026h, 0c7h, 047h, 02eh, 000h, 000h, 000h, 000h
    ; mov dword [es:bx+02eh], strict dword 000000000h ; 66 26 c7 47 2e 00 00 00 00; 0xf1e22 ata.c:117
    db  066h, 026h, 0c7h, 047h, 036h, 000h, 000h, 000h, 000h
    ; mov dword [es:bx+036h], strict dword 000000000h ; 66 26 c7 47 36 00 00 00 00; 0xf1e2b ata.c:119
    db  066h, 026h, 0c7h, 047h, 032h, 000h, 000h, 000h, 000h
    ; mov dword [es:bx+032h], strict dword 000000000h ; 66 26 c7 47 32 00 00 00 00; 0xf1e34
    db  0feh, 0c0h
    ; inc al                                    ; fe c0                     ; 0xf1e3d ata.c:120
    jmp short 01de9h                          ; eb a8                       ; 0xf1e3f
    xor al, al                                ; 30 c0                       ; 0xf1e41 ata.c:123
    jmp short 01e49h                          ; eb 04                       ; 0xf1e43
    cmp AL, strict byte 014h                  ; 3c 14                       ; 0xf1e45
    jnc short 01e60h                          ; 73 17                       ; 0xf1e47
    movzx bx, al                              ; 0f b6 d8                    ; 0xf1e49 ata.c:124
    mov es, dx                                ; 8e c2                       ; 0xf1e4c
    add bx, si                                ; 01 f3                       ; 0xf1e4e
    mov byte [es:bx+0024fh], 014h             ; 26 c6 87 4f 02 14           ; 0xf1e50
    mov byte [es:bx+00264h], 014h             ; 26 c6 87 64 02 14           ; 0xf1e56 ata.c:125
    db  0feh, 0c0h
    ; inc al                                    ; fe c0                     ; 0xf1e5c ata.c:126
    jmp short 01e45h                          ; eb e5                       ; 0xf1e5e
    mov es, dx                                ; 8e c2                       ; 0xf1e60 ata.c:128
    mov byte [es:si+0024eh], 000h             ; 26 c6 84 4e 02 00           ; 0xf1e62
    mov byte [es:si+00263h], 000h             ; 26 c6 84 63 02 00           ; 0xf1e68 ata.c:129
    pop bp                                    ; 5d                          ; 0xf1e6e ata.c:130
    pop si                                    ; 5e                          ; 0xf1e6f
    retn                                      ; c3                          ; 0xf1e70
  ; disGetNextSymbol 0xf1e71 LB 0x8fab -> off=0x0 cb=00000000000000dd uValue=00000000000f0871 'ata_reset'
ata_reset:                                   ; 0xf1e71 LB 0xdd
    push bp                                   ; 55                          ; 0xf1e71 ata.c:138
    mov bp, sp                                ; 89 e5                       ; 0xf1e72
    push bx                                   ; 53                          ; 0xf1e74
    push cx                                   ; 51                          ; 0xf1e75
    push dx                                   ; 52                          ; 0xf1e76
    push si                                   ; 56                          ; 0xf1e77
    push di                                   ; 57                          ; 0xf1e78
    push ax                                   ; 50                          ; 0xf1e79
    push ax                                   ; 50                          ; 0xf1e7a
    push ax                                   ; 50                          ; 0xf1e7b
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf1e7c ata.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf1e7f
    mov es, ax                                ; 8e c0                       ; 0xf1e82
    mov ax, word [es:bx]                      ; 26 8b 07                    ; 0xf1e84
    mov di, strict word 0005eh                ; bf 5e 00                    ; 0xf1e87 ata.c:59
    mov word [bp-00eh], ax                    ; 89 46 f2                    ; 0xf1e8a
    mov dx, word [bp-010h]                    ; 8b 56 f0                    ; 0xf1e8d ata.c:147
    shr dx, 1                                 ; d1 ea                       ; 0xf1e90
    mov dh, byte [bp-010h]                    ; 8a 76 f0                    ; 0xf1e92 ata.c:148
    and dh, 001h                              ; 80 e6 01                    ; 0xf1e95
    mov byte [bp-00ch], dh                    ; 88 76 f4                    ; 0xf1e98
    xor dh, dh                                ; 30 f6                       ; 0xf1e9b ata.c:150
    imul bx, dx, strict byte 00006h           ; 6b da 06                    ; 0xf1e9d
    mov es, ax                                ; 8e c0                       ; 0xf1ea0
    add bx, di                                ; 01 fb                       ; 0xf1ea2
    mov cx, word [es:bx+0027ah]               ; 26 8b 8f 7a 02              ; 0xf1ea4
    mov si, word [es:bx+0027ch]               ; 26 8b b7 7c 02              ; 0xf1ea9 ata.c:151
    lea dx, [si+006h]                         ; 8d 54 06                    ; 0xf1eae ata.c:156
    mov AL, strict byte 00eh                  ; b0 0e                       ; 0xf1eb1
    out DX, AL                                ; ee                          ; 0xf1eb3
    mov bx, 000ffh                            ; bb ff 00                    ; 0xf1eb4 ata.c:159
    dec bx                                    ; 4b                          ; 0xf1eb7 ata.c:160
    test bx, bx                               ; 85 db                       ; 0xf1eb8
    jbe short 01ec8h                          ; 76 0c                       ; 0xf1eba
    mov dx, cx                                ; 89 ca                       ; 0xf1ebc ata.c:161
    add dx, strict byte 00007h                ; 83 c2 07                    ; 0xf1ebe
    in AL, DX                                 ; ec                          ; 0xf1ec1
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf1ec2
    test AL, strict byte 080h                 ; a8 80                       ; 0xf1ec4 ata.c:162
    je short 01eb7h                           ; 74 ef                       ; 0xf1ec6
    lea dx, [si+006h]                         ; 8d 54 06                    ; 0xf1ec8 ata.c:167
    mov AL, strict byte 00ah                  ; b0 0a                       ; 0xf1ecb
    out DX, AL                                ; ee                          ; 0xf1ecd
    mov bx, strict word 0ffffh                ; bb ff ff                    ; 0xf1ece ata.c:170
    dec bx                                    ; 4b                          ; 0xf1ed1 ata.c:171
    test bx, bx                               ; 85 db                       ; 0xf1ed2
    jbe short 01eech                          ; 76 16                       ; 0xf1ed4
    mov dx, cx                                ; 89 ca                       ; 0xf1ed6 ata.c:172
    add dx, strict byte 00007h                ; 83 c2 07                    ; 0xf1ed8
    in AL, DX                                 ; ec                          ; 0xf1edb
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf1edc
    test AL, strict byte 080h                 ; a8 80                       ; 0xf1ede ata.c:173
    je short 01eech                           ; 74 0a                       ; 0xf1ee0
    mov ax, strict word 0ffffh                ; b8 ff ff                    ; 0xf1ee2 ata.c:175
    dec ax                                    ; 48                          ; 0xf1ee5 ata.c:176
    test ax, ax                               ; 85 c0                       ; 0xf1ee6
    jnbe short 01ee5h                         ; 77 fb                       ; 0xf1ee8
    jmp short 01ed1h                          ; eb e5                       ; 0xf1eea ata.c:179
    imul bx, word [bp-010h], strict byte 0001ch ; 6b 5e f0 1c               ; 0xf1eec ata.c:181
    mov es, [bp-00eh]                         ; 8e 46 f2                    ; 0xf1ef0
    add bx, di                                ; 01 fb                       ; 0xf1ef3
    cmp byte [es:bx+01eh], 000h               ; 26 80 7f 1e 00              ; 0xf1ef5
    je short 01f3eh                           ; 74 42                       ; 0xf1efa
    cmp byte [bp-00ch], 000h                  ; 80 7e f4 00                 ; 0xf1efc ata.c:184
    je short 01f07h                           ; 74 05                       ; 0xf1f00
    mov ax, 000b0h                            ; b8 b0 00                    ; 0xf1f02
    jmp short 01f0ah                          ; eb 03                       ; 0xf1f05
    mov ax, 000a0h                            ; b8 a0 00                    ; 0xf1f07
    mov dx, cx                                ; 89 ca                       ; 0xf1f0a
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf1f0c
    out DX, AL                                ; ee                          ; 0xf1f0f
    mov dx, cx                                ; 89 ca                       ; 0xf1f10 ata.c:185
    inc dx                                    ; 42                          ; 0xf1f12
    inc dx                                    ; 42                          ; 0xf1f13
    in AL, DX                                 ; ec                          ; 0xf1f14
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf1f15
    mov bx, ax                                ; 89 c3                       ; 0xf1f17
    mov dx, cx                                ; 89 ca                       ; 0xf1f19 ata.c:186
    add dx, strict byte 00003h                ; 83 c2 03                    ; 0xf1f1b
    in AL, DX                                 ; ec                          ; 0xf1f1e
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf1f1f
    cmp bl, 001h                              ; 80 fb 01                    ; 0xf1f21 ata.c:188
    jne short 01f3eh                          ; 75 18                       ; 0xf1f24
    cmp al, bl                                ; 38 d8                       ; 0xf1f26
    jne short 01f3eh                          ; 75 14                       ; 0xf1f28
    mov bx, strict word 00010h                ; bb 10 00                    ; 0xf1f2a ata.c:190
    dec bx                                    ; 4b                          ; 0xf1f2d ata.c:191
    test bx, bx                               ; 85 db                       ; 0xf1f2e
    jbe short 01f3eh                          ; 76 0c                       ; 0xf1f30
    mov dx, cx                                ; 89 ca                       ; 0xf1f32 ata.c:192
    add dx, strict byte 00007h                ; 83 c2 07                    ; 0xf1f34
    in AL, DX                                 ; ec                          ; 0xf1f37
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf1f38
    test AL, strict byte 040h                 ; a8 40                       ; 0xf1f3a ata.c:193
    je short 01f2dh                           ; 74 ef                       ; 0xf1f3c
    lea dx, [si+006h]                         ; 8d 54 06                    ; 0xf1f3e ata.c:200
    mov AL, strict byte 008h                  ; b0 08                       ; 0xf1f41
    out DX, AL                                ; ee                          ; 0xf1f43
    lea sp, [bp-00ah]                         ; 8d 66 f6                    ; 0xf1f44 ata.c:201
    pop di                                    ; 5f                          ; 0xf1f47
    pop si                                    ; 5e                          ; 0xf1f48
    pop dx                                    ; 5a                          ; 0xf1f49
    pop cx                                    ; 59                          ; 0xf1f4a
    pop bx                                    ; 5b                          ; 0xf1f4b
    pop bp                                    ; 5d                          ; 0xf1f4c
    retn                                      ; c3                          ; 0xf1f4d
  ; disGetNextSymbol 0xf1f4e LB 0x8ece -> off=0x0 cb=00000000000002e2 uValue=00000000000f094e 'ata_cmd_data_in'
ata_cmd_data_in:                             ; 0xf1f4e LB 0x2e2
    push bp                                   ; 55                          ; 0xf1f4e ata.c:215
    mov bp, sp                                ; 89 e5                       ; 0xf1f4f
    push si                                   ; 56                          ; 0xf1f51
    push di                                   ; 57                          ; 0xf1f52
    sub sp, strict byte 00012h                ; 83 ec 12                    ; 0xf1f53
    push ax                                   ; 50                          ; 0xf1f56
    push dx                                   ; 52                          ; 0xf1f57
    push bx                                   ; 53                          ; 0xf1f58
    push cx                                   ; 51                          ; 0xf1f59
    mov es, dx                                ; 8e c2                       ; 0xf1f5a ata.c:225
    mov bx, ax                                ; 89 c3                       ; 0xf1f5c
    mov al, byte [es:bx+00ch]                 ; 26 8a 47 0c                 ; 0xf1f5e
    mov byte [bp-00ah], al                    ; 88 46 f6                    ; 0xf1f62
    movzx bx, al                              ; 0f b6 d8                    ; 0xf1f65 ata.c:227
    mov ax, bx                                ; 89 d8                       ; 0xf1f68
    cwd                                       ; 99                          ; 0xf1f6a
    db  02bh, 0c2h
    ; sub ax, dx                                ; 2b c2                     ; 0xf1f6b
    sar ax, 1                                 ; d1 f8                       ; 0xf1f6d
    imul ax, ax, strict byte 00006h           ; 6b c0 06                    ; 0xf1f6f
    mov di, word [bp-018h]                    ; 8b 7e e8                    ; 0xf1f72
    add di, ax                                ; 01 c7                       ; 0xf1f75
    mov ax, word [es:di+0027ah]               ; 26 8b 85 7a 02              ; 0xf1f77
    mov word [bp-00ch], ax                    ; 89 46 f4                    ; 0xf1f7c
    mov ax, word [es:di+0027ch]               ; 26 8b 85 7c 02              ; 0xf1f7f ata.c:228
    mov word [bp-010h], ax                    ; 89 46 f0                    ; 0xf1f84
    imul bx, bx, strict byte 0001ch           ; 6b db 1c                    ; 0xf1f87 ata.c:229
    mov di, word [bp-018h]                    ; 8b 7e e8                    ; 0xf1f8a
    add di, bx                                ; 01 df                       ; 0xf1f8d
    mov al, byte [es:di+022h]                 ; 26 8a 45 22                 ; 0xf1f8f
    mov byte [bp-008h], al                    ; 88 46 f8                    ; 0xf1f93
    mov ax, word [es:di+024h]                 ; 26 8b 45 24                 ; 0xf1f96 ata.c:230
    mov word [bp-00eh], ax                    ; 89 46 f2                    ; 0xf1f9a
    test ax, ax                               ; 85 c0                       ; 0xf1f9d ata.c:231
    jne short 01fb5h                          ; 75 14                       ; 0xf1f9f
    cmp byte [bp-008h], 001h                  ; 80 7e f8 01                 ; 0xf1fa1 ata.c:233
    jne short 01faeh                          ; 75 07                       ; 0xf1fa5
    mov word [bp-00eh], 04000h                ; c7 46 f2 00 40              ; 0xf1fa7 ata.c:234
    jmp short 01fc4h                          ; eb 16                       ; 0xf1fac ata.c:235
    mov word [bp-00eh], 08000h                ; c7 46 f2 00 80              ; 0xf1fae ata.c:237
    jmp short 01fc4h                          ; eb 0f                       ; 0xf1fb3 ata.c:238
    cmp byte [bp-008h], 001h                  ; 80 7e f8 01                 ; 0xf1fb5 ata.c:240
    jne short 01fc1h                          ; 75 06                       ; 0xf1fb9
    shr word [bp-00eh], 002h                  ; c1 6e f2 02                 ; 0xf1fbb ata.c:241
    jmp short 01fc4h                          ; eb 03                       ; 0xf1fbf ata.c:242
    shr word [bp-00eh], 1                     ; d1 6e f2                    ; 0xf1fc1 ata.c:244
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf1fc4 ata.c:247
    add dx, strict byte 00007h                ; 83 c2 07                    ; 0xf1fc7
    in AL, DX                                 ; ec                          ; 0xf1fca
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf1fcb
    test AL, strict byte 080h                 ; a8 80                       ; 0xf1fcd ata.c:248
    je short 01fe0h                           ; 74 0f                       ; 0xf1fcf
    mov dx, word [bp-010h]                    ; 8b 56 f0                    ; 0xf1fd1 ata.c:252
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf1fd4
    mov AL, strict byte 008h                  ; b0 08                       ; 0xf1fd7
    out DX, AL                                ; ee                          ; 0xf1fd9
    mov dx, strict word 00001h                ; ba 01 00                    ; 0xf1fda ata.c:253
    jmp near 02227h                           ; e9 47 02                    ; 0xf1fdd
    mov es, [bp-01ah]                         ; 8e 46 e6                    ; 0xf1fe0 ata.c:256
    mov di, word [bp-018h]                    ; 8b 7e e8                    ; 0xf1fe3
    mov di, word [es:di+008h]                 ; 26 8b 7d 08                 ; 0xf1fe6
    mov bx, word [bp-018h]                    ; 8b 5e e8                    ; 0xf1fea
    mov ax, word [es:bx+00ah]                 ; 26 8b 47 0a                 ; 0xf1fed
    mov word [bp-012h], ax                    ; 89 46 ee                    ; 0xf1ff1
    mov al, byte [es:bx+016h]                 ; 26 8a 47 16                 ; 0xf1ff4 ata.c:257
    mov byte [bp-006h], al                    ; 88 46 fa                    ; 0xf1ff8
    mov ax, word [es:bx+012h]                 ; 26 8b 47 12                 ; 0xf1ffb ata.c:258
    mov word [bp-014h], ax                    ; 89 46 ec                    ; 0xf1fff
    mov bl, byte [es:bx+014h]                 ; 26 8a 5f 14                 ; 0xf2002 ata.c:259
    mov al, byte [bp-006h]                    ; 8a 46 fa                    ; 0xf2006 ata.c:262
    test al, al                               ; 84 c0                       ; 0xf2009
    jne near 020f2h                           ; 0f 85 e3 00                 ; 0xf200b
    xor bx, bx                                ; 31 db                       ; 0xf200f ata.c:263
    xor dx, dx                                ; 31 d2                       ; 0xf2011
    xor ah, ah                                ; 30 e4                       ; 0xf2013
    mov word [bp-016h], ax                    ; 89 46 ea                    ; 0xf2015
    mov si, word [bp-018h]                    ; 8b 76 e8                    ; 0xf2018
    mov cx, word [es:si]                      ; 26 8b 0c                    ; 0xf201b
    add cx, word [bp-01eh]                    ; 03 4e e2                    ; 0xf201e
    adc bx, word [es:si+002h]                 ; 26 13 5c 02                 ; 0xf2021
    adc dx, word [es:si+004h]                 ; 26 13 54 04                 ; 0xf2025
    mov ax, word [es:si+006h]                 ; 26 8b 44 06                 ; 0xf2029
    adc ax, word [bp-016h]                    ; 13 46 ea                    ; 0xf202d
    test ax, ax                               ; 85 c0                       ; 0xf2030
    jnbe short 02044h                         ; 77 10                       ; 0xf2032
    jne short 020a8h                          ; 75 72                       ; 0xf2034
    test dx, dx                               ; 85 d2                       ; 0xf2036
    jnbe short 02044h                         ; 77 0a                       ; 0xf2038
    jne short 020a8h                          ; 75 6c                       ; 0xf203a
    cmp bx, 01000h                            ; 81 fb 00 10                 ; 0xf203c
    jnbe short 02044h                         ; 77 02                       ; 0xf2040
    jne short 020a8h                          ; 75 64                       ; 0xf2042
    mov bx, si                                ; 89 f3                       ; 0xf2044 ata.c:265
    mov ax, word [es:bx+006h]                 ; 26 8b 47 06                 ; 0xf2046
    mov bx, word [es:bx+004h]                 ; 26 8b 5f 04                 ; 0xf204a
    mov cx, word [es:si+002h]                 ; 26 8b 4c 02                 ; 0xf204e
    mov dx, word [es:si]                      ; 26 8b 14                    ; 0xf2052
    mov si, strict word 00018h                ; be 18 00                    ; 0xf2055
    call 0ad60h                               ; e8 05 8d                    ; 0xf2058
    xor dh, dh                                ; 30 f6                       ; 0xf205b
    mov word [bp-016h], dx                    ; 89 56 ea                    ; 0xf205d
    mov bx, word [bp-018h]                    ; 8b 5e e8                    ; 0xf2060 ata.c:266
    mov ax, word [es:bx+006h]                 ; 26 8b 47 06                 ; 0xf2063
    mov bx, word [es:bx+004h]                 ; 26 8b 5f 04                 ; 0xf2067
    mov si, word [bp-018h]                    ; 8b 76 e8                    ; 0xf206b
    mov cx, word [es:si+002h]                 ; 26 8b 4c 02                 ; 0xf206e
    mov dx, word [es:si]                      ; 26 8b 14                    ; 0xf2072
    mov si, strict word 00020h                ; be 20 00                    ; 0xf2075
    call 0ad60h                               ; e8 e5 8c                    ; 0xf2078
    mov bx, dx                                ; 89 d3                       ; 0xf207b
    mov ax, word [bp-01eh]                    ; 8b 46 e2                    ; 0xf207d ata.c:267
    xor al, al                                ; 30 c0                       ; 0xf2080
    shr ax, 008h                              ; c1 e8 08                    ; 0xf2082
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf2085
    inc dx                                    ; 42                          ; 0xf2088
    inc dx                                    ; 42                          ; 0xf2089
    out DX, AL                                ; ee                          ; 0xf208a
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf208b ata.c:268
    add dx, strict byte 00003h                ; 83 c2 03                    ; 0xf208e
    mov al, byte [bp-016h]                    ; 8a 46 ea                    ; 0xf2091
    out DX, AL                                ; ee                          ; 0xf2094
    mov ax, bx                                ; 89 d8                       ; 0xf2095 ata.c:269
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf2097
    add dx, strict byte 00004h                ; 83 c2 04                    ; 0xf209a
    out DX, AL                                ; ee                          ; 0xf209d
    shr ax, 008h                              ; c1 e8 08                    ; 0xf209e ata.c:270
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf20a1
    add dx, strict byte 00005h                ; 83 c2 05                    ; 0xf20a4
    out DX, AL                                ; ee                          ; 0xf20a7
    mov es, [bp-01ah]                         ; 8e 46 e6                    ; 0xf20a8 ata.c:274
    mov bx, word [bp-018h]                    ; 8b 5e e8                    ; 0xf20ab
    mov ax, word [es:bx]                      ; 26 8b 07                    ; 0xf20ae
    mov byte [bp-006h], al                    ; 88 46 fa                    ; 0xf20b1
    mov ax, word [es:bx+006h]                 ; 26 8b 47 06                 ; 0xf20b4 ata.c:275
    mov bx, word [es:bx+004h]                 ; 26 8b 5f 04                 ; 0xf20b8
    mov si, word [bp-018h]                    ; 8b 76 e8                    ; 0xf20bc
    mov cx, word [es:si+002h]                 ; 26 8b 4c 02                 ; 0xf20bf
    mov dx, word [es:si]                      ; 26 8b 14                    ; 0xf20c3
    mov si, strict word 00008h                ; be 08 00                    ; 0xf20c6
    call 0ad60h                               ; e8 94 8c                    ; 0xf20c9
    mov word [bp-014h], dx                    ; 89 56 ec                    ; 0xf20cc
    mov bx, word [bp-018h]                    ; 8b 5e e8                    ; 0xf20cf ata.c:276
    mov ax, word [es:bx+006h]                 ; 26 8b 47 06                 ; 0xf20d2
    mov bx, word [es:bx+004h]                 ; 26 8b 5f 04                 ; 0xf20d6
    mov si, word [bp-018h]                    ; 8b 76 e8                    ; 0xf20da
    mov cx, word [es:si+002h]                 ; 26 8b 4c 02                 ; 0xf20dd
    mov dx, word [es:si]                      ; 26 8b 14                    ; 0xf20e1
    mov si, strict word 00018h                ; be 18 00                    ; 0xf20e4
    call 0ad60h                               ; e8 76 8c                    ; 0xf20e7
    and dx, strict byte 0000fh                ; 83 e2 0f                    ; 0xf20ea
    or dl, 040h                               ; 80 ca 40                    ; 0xf20ed
    mov bx, dx                                ; 89 d3                       ; 0xf20f0
    mov dx, word [bp-010h]                    ; 8b 56 f0                    ; 0xf20f2 ata.c:279
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf20f5
    mov AL, strict byte 00ah                  ; b0 0a                       ; 0xf20f8
    out DX, AL                                ; ee                          ; 0xf20fa
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf20fb ata.c:280
    inc dx                                    ; 42                          ; 0xf20fe
    xor al, al                                ; 30 c0                       ; 0xf20ff
    out DX, AL                                ; ee                          ; 0xf2101
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf2102 ata.c:281
    inc dx                                    ; 42                          ; 0xf2105
    inc dx                                    ; 42                          ; 0xf2106
    mov al, byte [bp-01eh]                    ; 8a 46 e2                    ; 0xf2107
    out DX, AL                                ; ee                          ; 0xf210a
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf210b ata.c:282
    add dx, strict byte 00003h                ; 83 c2 03                    ; 0xf210e
    mov al, byte [bp-006h]                    ; 8a 46 fa                    ; 0xf2111
    out DX, AL                                ; ee                          ; 0xf2114
    mov ax, word [bp-014h]                    ; 8b 46 ec                    ; 0xf2115 ata.c:283
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf2118
    add dx, strict byte 00004h                ; 83 c2 04                    ; 0xf211b
    out DX, AL                                ; ee                          ; 0xf211e
    shr ax, 008h                              ; c1 e8 08                    ; 0xf211f ata.c:284
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf2122
    add dx, strict byte 00005h                ; 83 c2 05                    ; 0xf2125
    out DX, AL                                ; ee                          ; 0xf2128
    test byte [bp-00ah], 001h                 ; f6 46 f6 01                 ; 0xf2129 ata.c:285
    je short 02134h                           ; 74 05                       ; 0xf212d
    mov ax, 000b0h                            ; b8 b0 00                    ; 0xf212f
    jmp short 02137h                          ; eb 03                       ; 0xf2132
    mov ax, 000a0h                            ; b8 a0 00                    ; 0xf2134
    movzx dx, bl                              ; 0f b6 d3                    ; 0xf2137
    or ax, dx                                 ; 09 d0                       ; 0xf213a
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf213c
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf213f
    out DX, AL                                ; ee                          ; 0xf2142
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf2143 ata.c:286
    add dx, strict byte 00007h                ; 83 c2 07                    ; 0xf2146
    mov al, byte [bp-01ch]                    ; 8a 46 e4                    ; 0xf2149
    out DX, AL                                ; ee                          ; 0xf214c
    mov ax, word [bp-01ch]                    ; 8b 46 e4                    ; 0xf214d ata.c:288
    cmp ax, 000c4h                            ; 3d c4 00                    ; 0xf2150
    je short 0215ah                           ; 74 05                       ; 0xf2153
    cmp ax, strict word 00029h                ; 3d 29 00                    ; 0xf2155
    jne short 02164h                          ; 75 0a                       ; 0xf2158
    mov bx, word [bp-01eh]                    ; 8b 5e e2                    ; 0xf215a ata.c:289
    mov word [bp-01eh], strict word 00001h    ; c7 46 e2 01 00              ; 0xf215d ata.c:290
    jmp short 02167h                          ; eb 03                       ; 0xf2162 ata.c:291
    mov bx, strict word 00001h                ; bb 01 00                    ; 0xf2164 ata.c:292
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf2167 ata.c:296
    add dx, strict byte 00007h                ; 83 c2 07                    ; 0xf216a
    in AL, DX                                 ; ec                          ; 0xf216d
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf216e
    mov dl, al                                ; 88 c2                       ; 0xf2170
    test AL, strict byte 080h                 ; a8 80                       ; 0xf2172 ata.c:297
    jne short 02167h                          ; 75 f1                       ; 0xf2174
    test AL, strict byte 001h                 ; a8 01                       ; 0xf2176 ata.c:301
    je short 02189h                           ; 74 0f                       ; 0xf2178
    mov dx, word [bp-010h]                    ; 8b 56 f0                    ; 0xf217a ata.c:304
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf217d
    mov AL, strict byte 008h                  ; b0 08                       ; 0xf2180
    out DX, AL                                ; ee                          ; 0xf2182
    mov dx, strict word 00002h                ; ba 02 00                    ; 0xf2183 ata.c:305
    jmp near 02227h                           ; e9 9e 00                    ; 0xf2186
    test dl, 008h                             ; f6 c2 08                    ; 0xf2189 ata.c:306
    jne short 0219dh                          ; 75 0f                       ; 0xf218c
    mov dx, word [bp-010h]                    ; 8b 56 f0                    ; 0xf218e ata.c:309
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf2191
    mov AL, strict byte 008h                  ; b0 08                       ; 0xf2194
    out DX, AL                                ; ee                          ; 0xf2196
    mov dx, strict word 00003h                ; ba 03 00                    ; 0xf2197 ata.c:310
    jmp near 02227h                           ; e9 8a 00                    ; 0xf219a
    sti                                       ; fb                          ; 0xf219d ata.c:315
    cmp di, 0f800h                            ; 81 ff 00 f8                 ; 0xf219e ata.c:320
    jc short 021b1h                           ; 72 0d                       ; 0xf21a2
    sub di, 00800h                            ; 81 ef 00 08                 ; 0xf21a4 ata.c:321
    mov ax, word [bp-012h]                    ; 8b 46 ee                    ; 0xf21a8
    add ax, 00080h                            ; 05 80 00                    ; 0xf21ab
    mov word [bp-012h], ax                    ; 89 46 ee                    ; 0xf21ae
    cmp byte [bp-008h], 001h                  ; 80 7e f8 01                 ; 0xf21b1 ata.c:324
    jne short 021c5h                          ; 75 0e                       ; 0xf21b5
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf21b7 ata.c:325
    mov cx, word [bp-00eh]                    ; 8b 4e f2                    ; 0xf21ba
    mov es, [bp-012h]                         ; 8e 46 ee                    ; 0xf21bd
    db  0f3h, 066h, 06dh
    ; rep insd                                  ; f3 66 6d                  ; 0xf21c0
    jmp short 021d0h                          ; eb 0b                       ; 0xf21c3 ata.c:326
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf21c5 ata.c:328
    mov cx, word [bp-00eh]                    ; 8b 4e f2                    ; 0xf21c8
    mov es, [bp-012h]                         ; 8e 46 ee                    ; 0xf21cb
    rep insw                                  ; f3 6d                       ; 0xf21ce
    mov es, [bp-01ah]                         ; 8e 46 e6                    ; 0xf21d0 ata.c:329
    mov si, word [bp-018h]                    ; 8b 76 e8                    ; 0xf21d3
    add word [es:si+018h], bx                 ; 26 01 5c 18                 ; 0xf21d6
    dec word [bp-01eh]                        ; ff 4e e2                    ; 0xf21da ata.c:330
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf21dd ata.c:332
    add dx, strict byte 00007h                ; 83 c2 07                    ; 0xf21e0
    in AL, DX                                 ; ec                          ; 0xf21e3
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf21e4
    mov dl, al                                ; 88 c2                       ; 0xf21e6
    test AL, strict byte 080h                 ; a8 80                       ; 0xf21e8 ata.c:333
    jne short 021ddh                          ; 75 f1                       ; 0xf21ea
    cmp word [bp-01eh], strict byte 00000h    ; 83 7e e2 00                 ; 0xf21ec ata.c:336
    jne short 02206h                          ; 75 14                       ; 0xf21f0
    and AL, strict byte 0c9h                  ; 24 c9                       ; 0xf21f2 ata.c:337
    cmp AL, strict byte 040h                  ; 3c 40                       ; 0xf21f4
    je short 0221ch                           ; 74 24                       ; 0xf21f6
    mov dx, word [bp-010h]                    ; 8b 56 f0                    ; 0xf21f8 ata.c:341
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf21fb
    mov AL, strict byte 008h                  ; b0 08                       ; 0xf21fe
    out DX, AL                                ; ee                          ; 0xf2200
    mov dx, strict word 00004h                ; ba 04 00                    ; 0xf2201 ata.c:342
    jmp short 02227h                          ; eb 21                       ; 0xf2204
    mov al, dl                                ; 88 d0                       ; 0xf2206 ata.c:347
    and AL, strict byte 0c9h                  ; 24 c9                       ; 0xf2208
    cmp AL, strict byte 048h                  ; 3c 48                       ; 0xf220a
    je short 0219eh                           ; 74 90                       ; 0xf220c
    mov dx, word [bp-010h]                    ; 8b 56 f0                    ; 0xf220e ata.c:351
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf2211
    mov AL, strict byte 008h                  ; b0 08                       ; 0xf2214
    out DX, AL                                ; ee                          ; 0xf2216
    mov dx, strict word 00005h                ; ba 05 00                    ; 0xf2217 ata.c:352
    jmp short 02227h                          ; eb 0b                       ; 0xf221a
    mov dx, word [bp-010h]                    ; 8b 56 f0                    ; 0xf221c ata.c:358
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf221f
    mov AL, strict byte 008h                  ; b0 08                       ; 0xf2222
    out DX, AL                                ; ee                          ; 0xf2224
    xor dx, dx                                ; 31 d2                       ; 0xf2225 ata.c:359
    mov ax, dx                                ; 89 d0                       ; 0xf2227 ata.c:360
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf2229
    pop di                                    ; 5f                          ; 0xf222c
    pop si                                    ; 5e                          ; 0xf222d
    pop bp                                    ; 5d                          ; 0xf222e
    retn                                      ; c3                          ; 0xf222f
  ; disGetNextSymbol 0xf2230 LB 0x8bec -> off=0x0 cb=0000000000000094 uValue=00000000000f0c30 'ata_signature'
ata_signature:                               ; 0xf2230 LB 0x94
    push bp                                   ; 55                          ; 0xf2230 ata.c:366
    mov bp, sp                                ; 89 e5                       ; 0xf2231
    push cx                                   ; 51                          ; 0xf2233
    sub sp, strict byte 00006h                ; 83 ec 06                    ; 0xf2234
    mov cx, ax                                ; 89 c1                       ; 0xf2237
    mov al, bl                                ; 88 d8                       ; 0xf2239
    xor bx, bx                                ; 31 db                       ; 0xf223b ata.c:368
    test al, al                               ; 84 c0                       ; 0xf223d ata.c:376
    je short 02246h                           ; 74 05                       ; 0xf223f
    mov ax, 000b0h                            ; b8 b0 00                    ; 0xf2241
    jmp short 02249h                          ; eb 03                       ; 0xf2244
    mov ax, 000a0h                            ; b8 a0 00                    ; 0xf2246
    mov dx, cx                                ; 89 ca                       ; 0xf2249
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf224b
    out DX, AL                                ; ee                          ; 0xf224e
    mov dx, cx                                ; 89 ca                       ; 0xf224f ata.c:378
    add dx, strict byte 00007h                ; 83 c2 07                    ; 0xf2251
    in AL, DX                                 ; ec                          ; 0xf2254
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf2255
    mov byte [bp-006h], al                    ; 88 46 fa                    ; 0xf2257
    test AL, strict byte 080h                 ; a8 80                       ; 0xf225a ata.c:379
    jne short 0224fh                          ; 75 f1                       ; 0xf225c
    mov dx, cx                                ; 89 ca                       ; 0xf225e ata.c:387
    inc dx                                    ; 42                          ; 0xf2260
    inc dx                                    ; 42                          ; 0xf2261
    in AL, DX                                 ; ec                          ; 0xf2262
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf2263
    mov word [bp-008h], ax                    ; 89 46 f8                    ; 0xf2265
    mov dx, cx                                ; 89 ca                       ; 0xf2268 ata.c:388
    add dx, strict byte 00003h                ; 83 c2 03                    ; 0xf226a
    in AL, DX                                 ; ec                          ; 0xf226d
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf226e
    cmp byte [bp-008h], 001h                  ; 80 7e f8 01                 ; 0xf2270 ata.c:389
    jne short 022bch                          ; 75 46                       ; 0xf2274
    cmp AL, strict byte 001h                  ; 3c 01                       ; 0xf2276
    jne short 022bch                          ; 75 42                       ; 0xf2278
    mov dx, cx                                ; 89 ca                       ; 0xf227a ata.c:390
    add dx, strict byte 00004h                ; 83 c2 04                    ; 0xf227c
    in AL, DX                                 ; ec                          ; 0xf227f
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf2280
    mov word [bp-008h], ax                    ; 89 46 f8                    ; 0xf2282
    mov al, byte [bp-008h]                    ; 8a 46 f8                    ; 0xf2285
    mov byte [bp-004h], al                    ; 88 46 fc                    ; 0xf2288
    mov dx, cx                                ; 89 ca                       ; 0xf228b ata.c:391
    add dx, strict byte 00005h                ; 83 c2 05                    ; 0xf228d
    in AL, DX                                 ; ec                          ; 0xf2290
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf2291
    mov dl, al                                ; 88 c2                       ; 0xf2293
    cmp byte [bp-008h], 014h                  ; 80 7e f8 14                 ; 0xf2295 ata.c:398
    jne short 022a4h                          ; 75 09                       ; 0xf2299
    cmp AL, strict byte 0ebh                  ; 3c eb                       ; 0xf229b
    jne short 022a4h                          ; 75 05                       ; 0xf229d
    mov bx, strict word 00003h                ; bb 03 00                    ; 0xf229f ata.c:399
    jmp short 022bch                          ; eb 18                       ; 0xf22a2 ata.c:401
    cmp byte [bp-004h], 000h                  ; 80 7e fc 00                 ; 0xf22a4
    jne short 022b9h                          ; 75 0f                       ; 0xf22a8
    test dl, dl                               ; 84 d2                       ; 0xf22aa
    jne short 022b9h                          ; 75 0b                       ; 0xf22ac
    cmp byte [bp-006h], 000h                  ; 80 7e fa 00                 ; 0xf22ae ata.c:402
    je short 022bch                           ; 74 08                       ; 0xf22b2
    mov bx, strict word 00002h                ; bb 02 00                    ; 0xf22b4 ata.c:403
    jmp short 022bch                          ; eb 03                       ; 0xf22b7 ata.c:408
    mov bx, strict word 00001h                ; bb 01 00                    ; 0xf22b9 ata.c:409
    mov ax, bx                                ; 89 d8                       ; 0xf22bc ata.c:416
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xf22be
    pop cx                                    ; 59                          ; 0xf22c1
    pop bp                                    ; 5d                          ; 0xf22c2
    retn                                      ; c3                          ; 0xf22c3
  ; disGetNextSymbol 0xf22c4 LB 0x8b58 -> off=0x0 cb=0000000000000619 uValue=00000000000f0cc4 'ata_detect'
ata_detect:                                  ; 0xf22c4 LB 0x619
    push bp                                   ; 55                          ; 0xf22c4 ata.c:418
    mov bp, sp                                ; 89 e5                       ; 0xf22c5
    push si                                   ; 56                          ; 0xf22c7
    push di                                   ; 57                          ; 0xf22c8
    sub sp, 0025eh                            ; 81 ec 5e 02                 ; 0xf22c9
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf22cd ata.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf22d0
    mov es, ax                                ; 8e c0                       ; 0xf22d3
    mov ax, word [es:bx]                      ; 26 8b 07                    ; 0xf22d5
    mov word [bp-02ch], ax                    ; 89 46 d4                    ; 0xf22d8 ata.c:59
    mov ax, 00101h                            ; b8 01 01                    ; 0xf22db ata.c:434
    call 0aae3h                               ; e8 02 88                    ; 0xf22de
    cmp ax, strict word 0ffffh                ; 3d ff ff                    ; 0xf22e1 ata.c:435
    jne short 022ffh                          ; 75 19                       ; 0xf22e4
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf22e6 ata.c:436
    mov cx, ds                                ; 8c d9                       ; 0xf22e9
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf22eb
    call 01a27h                               ; e8 36 f7                    ; 0xf22ee
    push 0017eh                               ; 68 7e 01                    ; 0xf22f1
    push strict byte 00004h                   ; 6a 04                       ; 0xf22f4
    call 01a68h                               ; e8 6f f7                    ; 0xf22f6
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf22f9
    jmp near 028d6h                           ; e9 d7 05                    ; 0xf22fc ata.c:437
    mov bx, strict word 0005eh                ; bb 5e 00                    ; 0xf22ff ata.c:441
    mov es, [bp-02ch]                         ; 8e 46 d4                    ; 0xf2302
    mov word [bp-018h], bx                    ; 89 5e e8                    ; 0xf2305
    mov [bp-02ah], es                         ; 8c 46 d6                    ; 0xf2308
    mov byte [es:bx+00278h], 000h             ; 26 c6 87 78 02 00           ; 0xf230b ata.c:444
    db  066h, 026h, 0c7h, 087h, 07ah, 002h, 0f0h, 001h, 0f0h, 003h
    ; mov dword [es:bx+0027ah], strict dword 003f001f0h ; 66 26 c7 87 7a 02 f0 01 f0 03; 0xf2311 ata.c:445
    mov byte [es:bx+00279h], 00eh             ; 26 c6 87 79 02 0e           ; 0xf231b ata.c:447
    mov byte [es:bx+0027eh], 000h             ; 26 c6 87 7e 02 00           ; 0xf2321 ata.c:450
    db  066h, 026h, 0c7h, 087h, 080h, 002h, 070h, 001h, 070h, 003h
    ; mov dword [es:bx+00280h], strict dword 003700170h ; 66 26 c7 87 80 02 70 01 70 03; 0xf2327 ata.c:451
    mov byte [es:bx+0027fh], 00fh             ; 26 c6 87 7f 02 0f           ; 0xf2331 ata.c:453
    mov byte [es:bx+00284h], 000h             ; 26 c6 87 84 02 00           ; 0xf2337 ata.c:456
    db  066h, 026h, 0c7h, 087h, 086h, 002h, 0e8h, 001h, 0e0h, 003h
    ; mov dword [es:bx+00286h], strict dword 003e001e8h ; 66 26 c7 87 86 02 e8 01 e0 03; 0xf233d ata.c:457
    mov byte [es:bx+00285h], 00ch             ; 26 c6 87 85 02 0c           ; 0xf2347 ata.c:459
    mov byte [es:bx+0028ah], 000h             ; 26 c6 87 8a 02 00           ; 0xf234d ata.c:462
    db  066h, 026h, 0c7h, 087h, 08ch, 002h, 068h, 001h, 060h, 003h
    ; mov dword [es:bx+0028ch], strict dword 003600168h ; 66 26 c7 87 8c 02 68 01 60 03; 0xf2353 ata.c:463
    mov byte [es:bx+0028bh], 00bh             ; 26 c6 87 8b 02 0b           ; 0xf235d ata.c:465
    xor al, al                                ; 30 c0                       ; 0xf2363 ata.c:472
    mov byte [bp-010h], al                    ; 88 46 f0                    ; 0xf2365
    mov byte [bp-00ch], al                    ; 88 46 f4                    ; 0xf2368
    mov byte [bp-016h], al                    ; 88 46 ea                    ; 0xf236b ata.c:474
    jmp near 02867h                           ; e9 f6 04                    ; 0xf236e
    test cl, cl                               ; 84 c9                       ; 0xf2371 ata.c:519
    jne short 023d1h                          ; 75 5c                       ; 0xf2373
    mov dx, word [bp-01ch]                    ; 8b 56 e4                    ; 0xf2375 ata.c:520
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf2378
    mov AL, strict byte 00eh                  ; b0 0e                       ; 0xf237b
    out DX, AL                                ; ee                          ; 0xf237d
    mov bx, strict word 00020h                ; bb 20 00                    ; 0xf237e ata.c:526
    dec bx                                    ; 4b                          ; 0xf2381 ata.c:527
    test bx, bx                               ; 85 db                       ; 0xf2382
    jbe short 02390h                          ; 76 0a                       ; 0xf2384
    lea dx, [si+007h]                         ; 8d 54 07                    ; 0xf2386 ata.c:528
    in AL, DX                                 ; ec                          ; 0xf2389
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf238a
    test AL, strict byte 080h                 ; a8 80                       ; 0xf238c ata.c:529
    je short 02381h                           ; 74 f1                       ; 0xf238e
    mov dx, word [bp-01ch]                    ; 8b 56 e4                    ; 0xf2390 ata.c:533
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf2393
    mov AL, strict byte 00ah                  ; b0 0a                       ; 0xf2396
    out DX, AL                                ; ee                          ; 0xf2398
    movzx di, byte [bp-00ah]                  ; 0f b6 7e f6                 ; 0xf2399 ata.c:540
    xor bx, bx                                ; 31 db                       ; 0xf239d
    mov dx, di                                ; 89 fa                       ; 0xf239f
    mov ax, si                                ; 89 f0                       ; 0xf23a1
    call 02230h                               ; e8 8a fe                    ; 0xf23a3
    movzx cx, byte [bp-016h]                  ; 0f b6 4e ea                 ; 0xf23a6
    imul bx, cx, strict byte 0001ch           ; 6b d9 1c                    ; 0xf23aa
    mov es, [bp-02ah]                         ; 8e 46 d6                    ; 0xf23ad
    add bx, word [bp-018h]                    ; 03 5e e8                    ; 0xf23b0
    mov byte [es:bx+01eh], al                 ; 26 88 47 1e                 ; 0xf23b3
    mov bx, strict word 00001h                ; bb 01 00                    ; 0xf23b7 ata.c:541
    mov dx, di                                ; 89 fa                       ; 0xf23ba
    mov ax, si                                ; 89 f0                       ; 0xf23bc
    call 02230h                               ; e8 6f fe                    ; 0xf23be
    mov bx, cx                                ; 89 cb                       ; 0xf23c1
    inc bx                                    ; 43                          ; 0xf23c3
    imul bx, bx, strict byte 0001ch           ; 6b db 1c                    ; 0xf23c4
    mov es, [bp-02ah]                         ; 8e 46 d6                    ; 0xf23c7
    add bx, word [bp-018h]                    ; 03 5e e8                    ; 0xf23ca
    mov byte [es:bx+01eh], al                 ; 26 88 47 1e                 ; 0xf23cd
    mov dx, word [bp-01ch]                    ; 8b 56 e4                    ; 0xf23d1 ata.c:545
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf23d4
    mov AL, strict byte 008h                  ; b0 08                       ; 0xf23d7
    out DX, AL                                ; ee                          ; 0xf23d9
    movzx ax, byte [bp-016h]                  ; 0f b6 46 ea                 ; 0xf23da ata.c:547
    imul ax, ax, strict byte 0001ch           ; 6b c0 1c                    ; 0xf23de
    mov es, [bp-02ah]                         ; 8e 46 d6                    ; 0xf23e1
    mov bx, word [bp-018h]                    ; 8b 5e e8                    ; 0xf23e4
    add bx, ax                                ; 01 c3                       ; 0xf23e7
    mov al, byte [es:bx+01eh]                 ; 26 8a 47 1e                 ; 0xf23e9
    mov byte [bp-008h], al                    ; 88 46 f8                    ; 0xf23ed
    cmp AL, strict byte 002h                  ; 3c 02                       ; 0xf23f0 ata.c:550
    jne near 02639h                           ; 0f 85 43 02                 ; 0xf23f2
    mov byte [es:bx+01fh], 0ffh               ; 26 c6 47 1f ff              ; 0xf23f6 ata.c:558
    mov byte [es:bx+022h], 000h               ; 26 c6 47 22 00              ; 0xf23fb ata.c:559
    lea dx, [bp-00262h]                       ; 8d 96 9e fd                 ; 0xf2400 ata.c:560
    mov bx, word [bp-018h]                    ; 8b 5e e8                    ; 0xf2404
    mov word [es:bx+008h], dx                 ; 26 89 57 08                 ; 0xf2407
    mov [es:bx+00ah], ss                      ; 26 8c 57 0a                 ; 0xf240b
    mov al, byte [bp-016h]                    ; 8a 46 ea                    ; 0xf240f ata.c:561
    mov byte [es:bx+00ch], al                 ; 26 88 47 0c                 ; 0xf2412
    mov cx, strict word 00001h                ; b9 01 00                    ; 0xf2416 ata.c:563
    mov bx, 000ech                            ; bb ec 00                    ; 0xf2419
    mov ax, word [bp-018h]                    ; 8b 46 e8                    ; 0xf241c
    mov dx, es                                ; 8c c2                       ; 0xf241f
    call 01f4eh                               ; e8 2a fb                    ; 0xf2421
    test ax, ax                               ; 85 c0                       ; 0xf2424
    je short 02433h                           ; 74 0b                       ; 0xf2426
    push 001a6h                               ; 68 a6 01                    ; 0xf2428 ata.c:564
    push strict byte 00007h                   ; 6a 07                       ; 0xf242b
    call 01a68h                               ; e8 38 f6                    ; 0xf242d
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf2430
    test byte [bp-00262h], 080h               ; f6 86 9e fd 80              ; 0xf2433 ata.c:566
    db  00fh, 095h, 0c0h
    ; setne al                                  ; 0f 95 c0                  ; 0xf2438
    xor ah, ah                                ; 30 e4                       ; 0xf243b
    mov byte [bp-014h], al                    ; 88 46 ec                    ; 0xf243d
    cmp byte [bp-00202h], 000h                ; 80 be fe fd 00              ; 0xf2440 ata.c:568
    db  00fh, 095h, 0c0h
    ; setne al                                  ; 0f 95 c0                  ; 0xf2445
    xor ah, ah                                ; 30 e4                       ; 0xf2448
    mov byte [bp-012h], al                    ; 88 46 ee                    ; 0xf244a
    mov word [bp-028h], 00200h                ; c7 46 d8 00 02              ; 0xf244d ata.c:572
    mov ax, word [bp-00260h]                  ; 8b 86 a0 fd                 ; 0xf2452 ata.c:574
    mov word [bp-01eh], ax                    ; 89 46 e2                    ; 0xf2456
    mov ax, word [bp-0025ch]                  ; 8b 86 a4 fd                 ; 0xf2459 ata.c:575
    mov word [bp-01ah], ax                    ; 89 46 e6                    ; 0xf245d
    mov ax, word [bp-00256h]                  ; 8b 86 aa fd                 ; 0xf2460 ata.c:576
    mov word [bp-024h], ax                    ; 89 46 dc                    ; 0xf2464
    mov si, word [bp-001eah]                  ; 8b b6 16 fe                 ; 0xf2467 ata.c:578
    mov ax, word [bp-001e8h]                  ; 8b 86 18 fe                 ; 0xf246b
    mov word [bp-02eh], ax                    ; 89 46 d2                    ; 0xf246f
    xor ax, ax                                ; 31 c0                       ; 0xf2472
    mov word [bp-020h], ax                    ; 89 46 e0                    ; 0xf2474
    mov word [bp-022h], ax                    ; 89 46 de                    ; 0xf2477
    cmp word [bp-02eh], 00fffh                ; 81 7e d2 ff 0f              ; 0xf247a ata.c:579
    jne short 0249fh                          ; 75 1e                       ; 0xf247f
    cmp si, strict byte 0ffffh                ; 83 fe ff                    ; 0xf2481
    jne short 0249fh                          ; 75 19                       ; 0xf2484
    mov ax, word [bp-00194h]                  ; 8b 86 6c fe                 ; 0xf2486 ata.c:580
    mov word [bp-022h], ax                    ; 89 46 de                    ; 0xf248a
    mov ax, word [bp-00196h]                  ; 8b 86 6a fe                 ; 0xf248d
    mov word [bp-020h], ax                    ; 89 46 e0                    ; 0xf2491
    mov ax, word [bp-00198h]                  ; 8b 86 68 fe                 ; 0xf2494
    mov word [bp-02eh], ax                    ; 89 46 d2                    ; 0xf2498
    mov si, word [bp-0019ah]                  ; 8b b6 66 fe                 ; 0xf249b
    mov al, byte [bp-016h]                    ; 8a 46 ea                    ; 0xf249f ata.c:581
    cmp AL, strict byte 001h                  ; 3c 01                       ; 0xf24a2
    jc short 024b2h                           ; 72 0c                       ; 0xf24a4
    jbe short 024bah                          ; 76 12                       ; 0xf24a6
    cmp AL, strict byte 003h                  ; 3c 03                       ; 0xf24a8
    je short 024c2h                           ; 74 16                       ; 0xf24aa
    cmp AL, strict byte 002h                  ; 3c 02                       ; 0xf24ac
    je short 024beh                           ; 74 0e                       ; 0xf24ae
    jmp short 024ebh                          ; eb 39                       ; 0xf24b0
    test al, al                               ; 84 c0                       ; 0xf24b2
    jne short 024ebh                          ; 75 35                       ; 0xf24b4
    mov BL, strict byte 01eh                  ; b3 1e                       ; 0xf24b6 ata.c:584
    jmp short 024c4h                          ; eb 0a                       ; 0xf24b8 ata.c:585
    mov BL, strict byte 026h                  ; b3 26                       ; 0xf24ba ata.c:587
    jmp short 024c4h                          ; eb 06                       ; 0xf24bc ata.c:588
    mov BL, strict byte 067h                  ; b3 67                       ; 0xf24be ata.c:590
    jmp short 024c4h                          ; eb 02                       ; 0xf24c0 ata.c:591
    mov BL, strict byte 070h                  ; b3 70                       ; 0xf24c2 ata.c:593
    movzx ax, bl                              ; 0f b6 c3                    ; 0xf24c4 ata.c:600
    call 017a6h                               ; e8 dc f2                    ; 0xf24c7
    mov word [bp-036h], ax                    ; 89 46 ca                    ; 0xf24ca
    mov al, bl                                ; 88 d8                       ; 0xf24cd ata.c:601
    add AL, strict byte 002h                  ; 04 02                       ; 0xf24cf
    xor ah, ah                                ; 30 e4                       ; 0xf24d1
    call 0176ah                               ; e8 94 f2                    ; 0xf24d3
    xor ah, ah                                ; 30 e4                       ; 0xf24d6
    mov word [bp-038h], ax                    ; 89 46 c8                    ; 0xf24d8
    mov al, bl                                ; 88 d8                       ; 0xf24db ata.c:602
    add AL, strict byte 007h                  ; 04 07                       ; 0xf24dd
    xor ah, ah                                ; 30 e4                       ; 0xf24df
    call 0176ah                               ; e8 86 f2                    ; 0xf24e1
    xor ah, ah                                ; 30 e4                       ; 0xf24e4
    mov word [bp-034h], ax                    ; 89 46 cc                    ; 0xf24e6
    jmp short 024fdh                          ; eb 12                       ; 0xf24e9 ata.c:604
    push word [bp-022h]                       ; ff 76 de                    ; 0xf24eb ata.c:605
    push word [bp-020h]                       ; ff 76 e0                    ; 0xf24ee
    push word [bp-02eh]                       ; ff 76 d2                    ; 0xf24f1
    push si                                   ; 56                          ; 0xf24f4
    mov dx, ss                                ; 8c d2                       ; 0xf24f5
    lea ax, [bp-038h]                         ; 8d 46 c8                    ; 0xf24f7
    call 05880h                               ; e8 83 33                    ; 0xf24fa
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf24fd ata.c:608
    mov cx, ds                                ; 8c d9                       ; 0xf2500
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf2502
    call 01a27h                               ; e8 1f f5                    ; 0xf2505
    mov ax, word [bp-034h]                    ; 8b 46 cc                    ; 0xf2508
    push ax                                   ; 50                          ; 0xf250b
    mov ax, word [bp-038h]                    ; 8b 46 c8                    ; 0xf250c
    push ax                                   ; 50                          ; 0xf250f
    mov ax, word [bp-036h]                    ; 8b 46 ca                    ; 0xf2510
    push ax                                   ; 50                          ; 0xf2513
    push word [bp-024h]                       ; ff 76 dc                    ; 0xf2514
    push word [bp-01ah]                       ; ff 76 e6                    ; 0xf2517
    push word [bp-01eh]                       ; ff 76 e2                    ; 0xf251a
    movzx ax, byte [bp-00eh]                  ; 0f b6 46 f2                 ; 0xf251d
    push ax                                   ; 50                          ; 0xf2521
    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6                 ; 0xf2522
    push ax                                   ; 50                          ; 0xf2526
    push 001cfh                               ; 68 cf 01                    ; 0xf2527
    push strict byte 00004h                   ; 6a 04                       ; 0xf252a
    call 01a68h                               ; e8 39 f5                    ; 0xf252c
    add sp, strict byte 00014h                ; 83 c4 14                    ; 0xf252f
    movzx ax, byte [bp-016h]                  ; 0f b6 46 ea                 ; 0xf2532 ata.c:610
    imul ax, ax, strict byte 0001ch           ; 6b c0 1c                    ; 0xf2536
    mov es, [bp-02ah]                         ; 8e 46 d6                    ; 0xf2539
    mov di, word [bp-018h]                    ; 8b 7e e8                    ; 0xf253c
    add di, ax                                ; 01 c7                       ; 0xf253f
    mov byte [es:di+01fh], 0ffh               ; 26 c6 45 1f ff              ; 0xf2541
    mov al, byte [bp-014h]                    ; 8a 46 ec                    ; 0xf2546 ata.c:611
    mov byte [es:di+020h], al                 ; 26 88 45 20                 ; 0xf2549
    mov al, byte [bp-012h]                    ; 8a 46 ee                    ; 0xf254d ata.c:612
    mov byte [es:di+022h], al                 ; 26 88 45 22                 ; 0xf2550
    mov ax, word [bp-028h]                    ; 8b 46 d8                    ; 0xf2554 ata.c:613
    mov word [es:di+024h], ax                 ; 26 89 45 24                 ; 0xf2557
    mov ax, word [bp-01ah]                    ; 8b 46 e6                    ; 0xf255b ata.c:614
    mov word [es:di+02ch], ax                 ; 26 89 45 2c                 ; 0xf255e
    mov ax, word [bp-01eh]                    ; 8b 46 e2                    ; 0xf2562 ata.c:615
    mov word [es:di+02eh], ax                 ; 26 89 45 2e                 ; 0xf2565
    mov ax, word [bp-024h]                    ; 8b 46 dc                    ; 0xf2569 ata.c:616
    mov word [es:di+030h], ax                 ; 26 89 45 30                 ; 0xf256c
    mov ax, word [bp-022h]                    ; 8b 46 de                    ; 0xf2570 ata.c:617
    mov word [es:di+038h], ax                 ; 26 89 45 38                 ; 0xf2573
    mov ax, word [bp-020h]                    ; 8b 46 e0                    ; 0xf2577
    mov word [es:di+036h], ax                 ; 26 89 45 36                 ; 0xf257a
    mov ax, word [bp-02eh]                    ; 8b 46 d2                    ; 0xf257e
    mov word [es:di+034h], ax                 ; 26 89 45 34                 ; 0xf2581
    mov word [es:di+032h], si                 ; 26 89 75 32                 ; 0xf2585
    lea di, [di+026h]                         ; 8d 7d 26                    ; 0xf2589 ata.c:618
    push DS                                   ; 1e                          ; 0xf258c
    push SS                                   ; 16                          ; 0xf258d
    pop DS                                    ; 1f                          ; 0xf258e
    lea si, [bp-038h]                         ; 8d 76 c8                    ; 0xf258f
    movsw                                     ; a5                          ; 0xf2592
    movsw                                     ; a5                          ; 0xf2593
    movsw                                     ; a5                          ; 0xf2594
    pop DS                                    ; 1f                          ; 0xf2595
    mov al, byte [bp-016h]                    ; 8a 46 ea                    ; 0xf2596 ata.c:619
    cmp AL, strict byte 002h                  ; 3c 02                       ; 0xf2599
    jnc near 02624h                           ; 0f 83 85 00                 ; 0xf259b
    test al, al                               ; 84 c0                       ; 0xf259f ata.c:625
    jne short 025a8h                          ; 75 05                       ; 0xf25a1
    mov bx, strict word 0003dh                ; bb 3d 00                    ; 0xf25a3 ata.c:626
    jmp short 025abh                          ; eb 03                       ; 0xf25a6 ata.c:627
    mov bx, strict word 0004dh                ; bb 4d 00                    ; 0xf25a8 ata.c:628
    mov dx, word [bp-02ch]                    ; 8b 56 d4                    ; 0xf25ab
    movzx si, byte [bp-016h]                  ; 0f b6 76 ea                 ; 0xf25ae ata.c:640
    imul si, si, strict byte 00005h           ; 6b f6 05                    ; 0xf25b2
    sal si, 002h                              ; c1 e6 02                    ; 0xf25b5
    add si, 00104h                            ; 81 c6 04 01                 ; 0xf25b8
    xor ax, ax                                ; 31 c0                       ; 0xf25bc
    mov es, ax                                ; 8e c0                       ; 0xf25be
    mov word [es:si], bx                      ; 26 89 1c                    ; 0xf25c0 ata.c:641
    mov word [es:si+002h], dx                 ; 26 89 54 02                 ; 0xf25c3
    mov es, dx                                ; 8e c2                       ; 0xf25c7 ata.c:647
    mov word [es:bx+00ch], ax                 ; 26 89 47 0c                 ; 0xf25c9
    mov word [es:bx+005h], ax                 ; 26 89 47 05                 ; 0xf25cd
    mov word [es:bx+007h], ax                 ; 26 89 47 07                 ; 0xf25d1
    mov ax, word [bp-036h]                    ; 8b 46 ca                    ; 0xf25d5 ata.c:649
    mov word [es:bx], ax                      ; 26 89 07                    ; 0xf25d8
    mov al, byte [bp-038h]                    ; 8a 46 c8                    ; 0xf25db ata.c:650
    mov byte [es:bx+002h], al                 ; 26 88 47 02                 ; 0xf25de
    mov byte [es:bx+003h], 0a0h               ; 26 c6 47 03 a0              ; 0xf25e2 ata.c:651
    mov al, byte [bp-024h]                    ; 8a 46 dc                    ; 0xf25e7 ata.c:652
    mov byte [es:bx+004h], al                 ; 26 88 47 04                 ; 0xf25ea
    mov ax, word [bp-01eh]                    ; 8b 46 e2                    ; 0xf25ee ata.c:653
    mov word [es:bx+009h], ax                 ; 26 89 47 09                 ; 0xf25f1
    mov al, byte [bp-01ah]                    ; 8a 46 e6                    ; 0xf25f5 ata.c:654
    mov byte [es:bx+00bh], al                 ; 26 88 47 0b                 ; 0xf25f8
    mov al, byte [bp-034h]                    ; 8a 46 cc                    ; 0xf25fc ata.c:655
    mov byte [es:bx+00eh], al                 ; 26 88 47 0e                 ; 0xf25ff
    xor al, al                                ; 30 c0                       ; 0xf2603 ata.c:656
    xor ah, ah                                ; 30 e4                       ; 0xf2605 ata.c:657
    jmp short 0260eh                          ; eb 05                       ; 0xf2607
    cmp ah, 00fh                              ; 80 fc 0f                    ; 0xf2609
    jnc short 0261ch                          ; 73 0e                       ; 0xf260c
    movzx si, ah                              ; 0f b6 f4                    ; 0xf260e ata.c:658
    mov es, dx                                ; 8e c2                       ; 0xf2611
    add si, bx                                ; 01 de                       ; 0xf2613
    add al, byte [es:si]                      ; 26 02 04                    ; 0xf2615
    db  0feh, 0c4h
    ; inc ah                                    ; fe c4                     ; 0xf2618
    jmp short 02609h                          ; eb ed                       ; 0xf261a
    neg al                                    ; f6 d8                       ; 0xf261c ata.c:659
    mov es, dx                                ; 8e c2                       ; 0xf261e ata.c:660
    mov byte [es:bx+00fh], al                 ; 26 88 47 0f                 ; 0xf2620
    movzx bx, byte [bp-00ch]                  ; 0f b6 5e f4                 ; 0xf2624 ata.c:664
    mov es, [bp-02ah]                         ; 8e 46 d6                    ; 0xf2628
    add bx, word [bp-018h]                    ; 03 5e e8                    ; 0xf262b
    mov al, byte [bp-016h]                    ; 8a 46 ea                    ; 0xf262e
    mov byte [es:bx+0024fh], al               ; 26 88 87 4f 02              ; 0xf2631
    inc byte [bp-00ch]                        ; fe 46 f4                    ; 0xf2636 ata.c:665
    cmp byte [bp-008h], 003h                  ; 80 7e f8 03                 ; 0xf2639 ata.c:669
    jne near 026d9h                           ; 0f 85 98 00                 ; 0xf263d
    movzx bx, byte [bp-016h]                  ; 0f b6 5e ea                 ; 0xf2641 ata.c:674
    imul bx, bx, strict byte 0001ch           ; 6b db 1c                    ; 0xf2645
    mov es, [bp-02ah]                         ; 8e 46 d6                    ; 0xf2648
    add bx, word [bp-018h]                    ; 03 5e e8                    ; 0xf264b
    mov byte [es:bx+01fh], 005h               ; 26 c6 47 1f 05              ; 0xf264e
    mov byte [es:bx+022h], 000h               ; 26 c6 47 22 00              ; 0xf2653 ata.c:675
    lea dx, [bp-00262h]                       ; 8d 96 9e fd                 ; 0xf2658 ata.c:676
    mov bx, word [bp-018h]                    ; 8b 5e e8                    ; 0xf265c
    mov word [es:bx+008h], dx                 ; 26 89 57 08                 ; 0xf265f
    mov [es:bx+00ah], ss                      ; 26 8c 57 0a                 ; 0xf2663
    mov al, byte [bp-016h]                    ; 8a 46 ea                    ; 0xf2667 ata.c:677
    mov byte [es:bx+00ch], al                 ; 26 88 47 0c                 ; 0xf266a
    mov cx, strict word 00001h                ; b9 01 00                    ; 0xf266e ata.c:679
    mov bx, 000a1h                            ; bb a1 00                    ; 0xf2671
    mov ax, word [bp-018h]                    ; 8b 46 e8                    ; 0xf2674
    mov dx, es                                ; 8c c2                       ; 0xf2677
    call 01f4eh                               ; e8 d2 f8                    ; 0xf2679
    test ax, ax                               ; 85 c0                       ; 0xf267c
    je short 0268bh                           ; 74 0b                       ; 0xf267e
    push 001f6h                               ; 68 f6 01                    ; 0xf2680 ata.c:680
    push strict byte 00007h                   ; 6a 07                       ; 0xf2683
    call 01a68h                               ; e8 e0 f3                    ; 0xf2685
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf2688
    mov cl, byte [bp-00261h]                  ; 8a 8e 9f fd                 ; 0xf268b ata.c:682
    and cl, 01fh                              ; 80 e1 1f                    ; 0xf268f
    test byte [bp-00262h], 080h               ; f6 86 9e fd 80              ; 0xf2692 ata.c:683
    db  00fh, 095h, 0c0h
    ; setne al                                  ; 0f 95 c0                  ; 0xf2697
    xor ah, ah                                ; 30 e4                       ; 0xf269a
    mov dx, ax                                ; 89 c2                       ; 0xf269c
    cmp byte [bp-00202h], 000h                ; 80 be fe fd 00              ; 0xf269e ata.c:685
    db  00fh, 095h, 0c0h
    ; setne al                                  ; 0f 95 c0                  ; 0xf26a3
    xor ah, ah                                ; 30 e4                       ; 0xf26a6
    movzx bx, byte [bp-016h]                  ; 0f b6 5e ea                 ; 0xf26a8 ata.c:691
    imul bx, bx, strict byte 0001ch           ; 6b db 1c                    ; 0xf26ac
    mov es, [bp-02ah]                         ; 8e 46 d6                    ; 0xf26af
    add bx, word [bp-018h]                    ; 03 5e e8                    ; 0xf26b2
    mov byte [es:bx+01fh], cl                 ; 26 88 4f 1f                 ; 0xf26b5
    mov byte [es:bx+020h], dl                 ; 26 88 57 20                 ; 0xf26b9 ata.c:692
    mov byte [es:bx+022h], al                 ; 26 88 47 22                 ; 0xf26bd ata.c:693
    mov word [es:bx+024h], 00800h             ; 26 c7 47 24 00 08           ; 0xf26c1 ata.c:694
    movzx bx, byte [bp-010h]                  ; 0f b6 5e f0                 ; 0xf26c7 ata.c:697
    add bx, word [bp-018h]                    ; 03 5e e8                    ; 0xf26cb
    mov al, byte [bp-016h]                    ; 8a 46 ea                    ; 0xf26ce
    mov byte [es:bx+00264h], al               ; 26 88 87 64 02              ; 0xf26d1
    inc byte [bp-010h]                        ; fe 46 f0                    ; 0xf26d6 ata.c:698
    mov al, byte [bp-008h]                    ; 8a 46 f8                    ; 0xf26d9 ata.c:707
    cmp AL, strict byte 003h                  ; 3c 03                       ; 0xf26dc
    je short 0270fh                           ; 74 2f                       ; 0xf26de
    cmp AL, strict byte 002h                  ; 3c 02                       ; 0xf26e0
    jne near 02772h                           ; 0f 85 8c 00                 ; 0xf26e2
    movzx si, byte [bp-016h]                  ; 0f b6 76 ea                 ; 0xf26e6 ata.c:709
    imul si, si, strict byte 0001ch           ; 6b f6 1c                    ; 0xf26ea
    mov es, [bp-02ah]                         ; 8e 46 d6                    ; 0xf26ed
    add si, word [bp-018h]                    ; 03 76 e8                    ; 0xf26f0
    mov ax, word [es:si+038h]                 ; 26 8b 44 38                 ; 0xf26f3
    mov bx, word [es:si+036h]                 ; 26 8b 5c 36                 ; 0xf26f7
    mov cx, word [es:si+034h]                 ; 26 8b 4c 34                 ; 0xf26fb
    mov dx, word [es:si+032h]                 ; 26 8b 54 32                 ; 0xf26ff
    mov si, strict word 0000bh                ; be 0b 00                    ; 0xf2703
    call 0ad60h                               ; e8 57 86                    ; 0xf2706
    mov word [bp-030h], dx                    ; 89 56 d0                    ; 0xf2709
    mov word [bp-026h], cx                    ; 89 4e da                    ; 0xf270c
    movzx dx, byte [bp-001c1h]                ; 0f b6 96 3f fe              ; 0xf270f ata.c:712
    sal dx, 008h                              ; c1 e2 08                    ; 0xf2714
    movzx ax, byte [bp-001c2h]                ; 0f b6 86 3e fe              ; 0xf2717
    or dx, ax                                 ; 09 c2                       ; 0xf271c
    mov byte [bp-006h], 00fh                  ; c6 46 fa 0f                 ; 0xf271e ata.c:713
    jmp short 0272dh                          ; eb 09                       ; 0xf2722
    dec byte [bp-006h]                        ; fe 4e fa                    ; 0xf2724 ata.c:716
    cmp byte [bp-006h], 000h                  ; 80 7e fa 00                 ; 0xf2727
    jbe short 0273ah                          ; 76 0d                       ; 0xf272b
    movzx cx, byte [bp-006h]                  ; 0f b6 4e fa                 ; 0xf272d
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xf2731
    sal ax, CL                                ; d3 e0                       ; 0xf2734
    test dx, ax                               ; 85 c2                       ; 0xf2736
    je short 02724h                           ; 74 ea                       ; 0xf2738
    xor di, di                                ; 31 ff                       ; 0xf273a ata.c:719
    jmp short 02743h                          ; eb 05                       ; 0xf273c
    cmp di, strict byte 00014h                ; 83 ff 14                    ; 0xf273e
    jnl short 02758h                          ; 7d 15                       ; 0xf2741
    mov si, di                                ; 89 fe                       ; 0xf2743 ata.c:720
    add si, di                                ; 01 fe                       ; 0xf2745
    mov al, byte [bp+si-0022bh]               ; 8a 82 d5 fd                 ; 0xf2747
    mov byte [bp+si-062h], al                 ; 88 42 9e                    ; 0xf274b
    mov al, byte [bp+si-0022ch]               ; 8a 82 d4 fd                 ; 0xf274e ata.c:721
    mov byte [bp+si-061h], al                 ; 88 42 9f                    ; 0xf2752
    inc di                                    ; 47                          ; 0xf2755 ata.c:722
    jmp short 0273eh                          ; eb e6                       ; 0xf2756
    mov byte [bp-03ah], 000h                  ; c6 46 c6 00                 ; 0xf2758 ata.c:725
    mov di, strict word 00027h                ; bf 27 00                    ; 0xf275c ata.c:726
    jmp short 02766h                          ; eb 05                       ; 0xf275f
    dec di                                    ; 4f                          ; 0xf2761 ata.c:731
    test di, di                               ; 85 ff                       ; 0xf2762
    jle short 02772h                          ; 7e 0c                       ; 0xf2764
    cmp byte [bp+di-062h], 020h               ; 80 7b 9e 20                 ; 0xf2766
    jne short 02772h                          ; 75 06                       ; 0xf276a
    mov byte [bp+di-062h], 000h               ; c6 43 9e 00                 ; 0xf276c
    jmp short 02761h                          ; eb ef                       ; 0xf2770
    mov al, byte [bp-008h]                    ; 8a 46 f8                    ; 0xf2772 ata.c:738
    cmp AL, strict byte 003h                  ; 3c 03                       ; 0xf2775
    je short 027d7h                           ; 74 5e                       ; 0xf2777
    cmp AL, strict byte 002h                  ; 3c 02                       ; 0xf2779
    je short 02786h                           ; 74 09                       ; 0xf277b
    cmp AL, strict byte 001h                  ; 3c 01                       ; 0xf277d
    je near 0283fh                            ; 0f 84 bc 00                 ; 0xf277f
    jmp near 0285eh                           ; e9 d8 00                    ; 0xf2783
    cmp byte [bp-00eh], 000h                  ; 80 7e f2 00                 ; 0xf2786 ata.c:741
    je short 02791h                           ; 74 05                       ; 0xf278a
    mov ax, 00221h                            ; b8 21 02                    ; 0xf278c
    jmp short 02794h                          ; eb 03                       ; 0xf278f
    mov ax, 00228h                            ; b8 28 02                    ; 0xf2791
    push ax                                   ; 50                          ; 0xf2794
    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6                 ; 0xf2795
    push ax                                   ; 50                          ; 0xf2799
    push 0022fh                               ; 68 2f 02                    ; 0xf279a
    push strict byte 00002h                   ; 6a 02                       ; 0xf279d
    call 01a68h                               ; e8 c6 f2                    ; 0xf279f
    add sp, strict byte 00008h                ; 83 c4 08                    ; 0xf27a2
    xor di, di                                ; 31 ff                       ; 0xf27a5 ata.c:742
    movzx ax, byte [bp+di-062h]               ; 0f b6 43 9e                 ; 0xf27a7 ata.c:743
    inc di                                    ; 47                          ; 0xf27ab
    test ax, ax                               ; 85 c0                       ; 0xf27ac
    je short 027beh                           ; 74 0e                       ; 0xf27ae
    push ax                                   ; 50                          ; 0xf27b0 ata.c:744
    push 0023ah                               ; 68 3a 02                    ; 0xf27b1
    push strict byte 00002h                   ; 6a 02                       ; 0xf27b4
    call 01a68h                               ; e8 af f2                    ; 0xf27b6
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf27b9
    jmp short 027a7h                          ; eb e9                       ; 0xf27bc
    push word [bp-026h]                       ; ff 76 da                    ; 0xf27be ata.c:745
    push word [bp-030h]                       ; ff 76 d0                    ; 0xf27c1
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf27c4
    push ax                                   ; 50                          ; 0xf27c8
    push 0023dh                               ; 68 3d 02                    ; 0xf27c9
    push strict byte 00002h                   ; 6a 02                       ; 0xf27cc
    call 01a68h                               ; e8 97 f2                    ; 0xf27ce
    add sp, strict byte 0000ah                ; 83 c4 0a                    ; 0xf27d1
    jmp near 0285eh                           ; e9 87 00                    ; 0xf27d4 ata.c:746
    cmp byte [bp-00eh], 000h                  ; 80 7e f2 00                 ; 0xf27d7 ata.c:748
    je short 027e2h                           ; 74 05                       ; 0xf27db
    mov ax, 00221h                            ; b8 21 02                    ; 0xf27dd
    jmp short 027e5h                          ; eb 03                       ; 0xf27e0
    mov ax, 00228h                            ; b8 28 02                    ; 0xf27e2
    push ax                                   ; 50                          ; 0xf27e5
    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6                 ; 0xf27e6
    push ax                                   ; 50                          ; 0xf27ea
    push 0022fh                               ; 68 2f 02                    ; 0xf27eb
    push strict byte 00002h                   ; 6a 02                       ; 0xf27ee
    call 01a68h                               ; e8 75 f2                    ; 0xf27f0
    add sp, strict byte 00008h                ; 83 c4 08                    ; 0xf27f3
    xor di, di                                ; 31 ff                       ; 0xf27f6 ata.c:749
    movzx ax, byte [bp+di-062h]               ; 0f b6 43 9e                 ; 0xf27f8 ata.c:750
    inc di                                    ; 47                          ; 0xf27fc
    test ax, ax                               ; 85 c0                       ; 0xf27fd
    je short 0280fh                           ; 74 0e                       ; 0xf27ff
    push ax                                   ; 50                          ; 0xf2801 ata.c:751
    push 0023ah                               ; 68 3a 02                    ; 0xf2802
    push strict byte 00002h                   ; 6a 02                       ; 0xf2805
    call 01a68h                               ; e8 5e f2                    ; 0xf2807
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf280a
    jmp short 027f8h                          ; eb e9                       ; 0xf280d
    movzx bx, byte [bp-016h]                  ; 0f b6 5e ea                 ; 0xf280f ata.c:752
    imul bx, bx, strict byte 0001ch           ; 6b db 1c                    ; 0xf2813
    mov es, [bp-02ah]                         ; 8e 46 d6                    ; 0xf2816
    add bx, word [bp-018h]                    ; 03 5e e8                    ; 0xf2819
    cmp byte [es:bx+01fh], 005h               ; 26 80 7f 1f 05              ; 0xf281c
    jne short 0282dh                          ; 75 0a                       ; 0xf2821
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf2823 ata.c:753
    push ax                                   ; 50                          ; 0xf2827
    push 0025dh                               ; 68 5d 02                    ; 0xf2828
    jmp short 02835h                          ; eb 08                       ; 0xf282b ata.c:754
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf282d ata.c:755
    push ax                                   ; 50                          ; 0xf2831
    push 00277h                               ; 68 77 02                    ; 0xf2832
    push strict byte 00002h                   ; 6a 02                       ; 0xf2835
    call 01a68h                               ; e8 2e f2                    ; 0xf2837
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf283a
    jmp short 0285eh                          ; eb 1f                       ; 0xf283d ata.c:756
    cmp byte [bp-00eh], 000h                  ; 80 7e f2 00                 ; 0xf283f ata.c:758
    je short 0284ah                           ; 74 05                       ; 0xf2843
    mov ax, 00221h                            ; b8 21 02                    ; 0xf2845
    jmp short 0284dh                          ; eb 03                       ; 0xf2848
    mov ax, 00228h                            ; b8 28 02                    ; 0xf284a
    push ax                                   ; 50                          ; 0xf284d
    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6                 ; 0xf284e
    push ax                                   ; 50                          ; 0xf2852
    push 00289h                               ; 68 89 02                    ; 0xf2853
    push strict byte 00002h                   ; 6a 02                       ; 0xf2856
    call 01a68h                               ; e8 0d f2                    ; 0xf2858
    add sp, strict byte 00008h                ; 83 c4 08                    ; 0xf285b
    inc byte [bp-016h]                        ; fe 46 ea                    ; 0xf285e ata.c:763
    cmp byte [bp-016h], 008h                  ; 80 7e ea 08                 ; 0xf2861
    jnc short 028b2h                          ; 73 4b                       ; 0xf2865
    movzx bx, byte [bp-016h]                  ; 0f b6 5e ea                 ; 0xf2867
    mov ax, bx                                ; 89 d8                       ; 0xf286b
    cwd                                       ; 99                          ; 0xf286d
    db  02bh, 0c2h
    ; sub ax, dx                                ; 2b c2                     ; 0xf286e
    sar ax, 1                                 ; d1 f8                       ; 0xf2870
    mov word [bp-032h], ax                    ; 89 46 ce                    ; 0xf2872
    mov al, byte [bp-032h]                    ; 8a 46 ce                    ; 0xf2875
    mov byte [bp-00ah], al                    ; 88 46 f6                    ; 0xf2878
    mov ax, bx                                ; 89 d8                       ; 0xf287b
    cwd                                       ; 99                          ; 0xf287d
    mov bx, strict word 00002h                ; bb 02 00                    ; 0xf287e
    idiv bx                                   ; f7 fb                       ; 0xf2881
    mov cx, dx                                ; 89 d1                       ; 0xf2883
    mov byte [bp-00eh], dl                    ; 88 56 f2                    ; 0xf2885
    movzx ax, byte [bp-032h]                  ; 0f b6 46 ce                 ; 0xf2888
    imul ax, ax, strict byte 00006h           ; 6b c0 06                    ; 0xf288c
    mov es, [bp-02ah]                         ; 8e 46 d6                    ; 0xf288f
    mov bx, word [bp-018h]                    ; 8b 5e e8                    ; 0xf2892
    add bx, ax                                ; 01 c3                       ; 0xf2895
    mov si, word [es:bx+0027ah]               ; 26 8b b7 7a 02              ; 0xf2897
    mov ax, word [es:bx+0027ch]               ; 26 8b 87 7c 02              ; 0xf289c
    mov word [bp-01ch], ax                    ; 89 46 e4                    ; 0xf28a1
    lea dx, [si+007h]                         ; 8d 54 07                    ; 0xf28a4
    in AL, DX                                 ; ec                          ; 0xf28a7
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf28a8
    cmp AL, strict byte 0ffh                  ; 3c ff                       ; 0xf28aa
    jne near 02371h                           ; 0f 85 c1 fa                 ; 0xf28ac
    jmp short 0285eh                          ; eb ac                       ; 0xf28b0
    mov al, byte [bp-00ch]                    ; 8a 46 f4                    ; 0xf28b2 ata.c:766
    mov es, [bp-02ah]                         ; 8e 46 d6                    ; 0xf28b5
    mov bx, word [bp-018h]                    ; 8b 5e e8                    ; 0xf28b8
    mov byte [es:bx+0024eh], al               ; 26 88 87 4e 02              ; 0xf28bb
    mov al, byte [bp-010h]                    ; 8a 46 f0                    ; 0xf28c0 ata.c:767
    mov byte [es:bx+00263h], al               ; 26 88 87 63 02              ; 0xf28c3
    mov bx, strict word 00075h                ; bb 75 00                    ; 0xf28c8 ata.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf28cb
    mov es, ax                                ; 8e c0                       ; 0xf28ce
    mov al, byte [bp-00ch]                    ; 8a 46 f4                    ; 0xf28d0
    mov byte [es:bx], al                      ; 26 88 07                    ; 0xf28d3
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf28d6 ata.c:780
    pop di                                    ; 5f                          ; 0xf28d9
    pop si                                    ; 5e                          ; 0xf28da
    pop bp                                    ; 5d                          ; 0xf28db
    retn                                      ; c3                          ; 0xf28dc
  ; disGetNextSymbol 0xf28dd LB 0x853f -> off=0x0 cb=00000000000002bc uValue=00000000000f12dd 'ata_cmd_data_out'
ata_cmd_data_out:                            ; 0xf28dd LB 0x2bc
    push bp                                   ; 55                          ; 0xf28dd ata.c:794
    mov bp, sp                                ; 89 e5                       ; 0xf28de
    push si                                   ; 56                          ; 0xf28e0
    push di                                   ; 57                          ; 0xf28e1
    sub sp, strict byte 00022h                ; 83 ec 22                    ; 0xf28e2
    mov di, ax                                ; 89 c7                       ; 0xf28e5
    mov word [bp-00ch], dx                    ; 89 56 f4                    ; 0xf28e7
    mov word [bp-024h], bx                    ; 89 5e dc                    ; 0xf28ea
    mov word [bp-01ah], cx                    ; 89 4e e6                    ; 0xf28ed
    mov es, dx                                ; 8e c2                       ; 0xf28f0 ata.c:806
    movzx ax, byte [es:di+00ch]               ; 26 0f b6 45 0c              ; 0xf28f2
    mov dx, ax                                ; 89 c2                       ; 0xf28f7 ata.c:807
    shr dx, 1                                 ; d1 ea                       ; 0xf28f9
    mov dh, al                                ; 88 c6                       ; 0xf28fb ata.c:808
    and dh, 001h                              ; 80 e6 01                    ; 0xf28fd
    mov byte [bp-006h], dh                    ; 88 76 fa                    ; 0xf2900
    xor dh, dh                                ; 30 f6                       ; 0xf2903 ata.c:810
    imul dx, dx, strict byte 00006h           ; 6b d2 06                    ; 0xf2905
    mov bx, di                                ; 89 fb                       ; 0xf2908
    add bx, dx                                ; 01 d3                       ; 0xf290a
    mov dx, word [es:bx+0027ah]               ; 26 8b 97 7a 02              ; 0xf290c
    mov word [bp-00ah], dx                    ; 89 56 f6                    ; 0xf2911
    mov dx, word [es:bx+0027ch]               ; 26 8b 97 7c 02              ; 0xf2914 ata.c:811
    mov word [bp-012h], dx                    ; 89 56 ee                    ; 0xf2919
    imul ax, ax, strict byte 0001ch           ; 6b c0 1c                    ; 0xf291c ata.c:812
    mov bx, di                                ; 89 fb                       ; 0xf291f
    add bx, ax                                ; 01 c3                       ; 0xf2921
    mov al, byte [es:bx+022h]                 ; 26 8a 47 22                 ; 0xf2923
    mov byte [bp-008h], al                    ; 88 46 f8                    ; 0xf2927
    cmp AL, strict byte 001h                  ; 3c 01                       ; 0xf292a ata.c:815
    jne short 02935h                          ; 75 07                       ; 0xf292c
    mov word [bp-020h], 00080h                ; c7 46 e0 80 00              ; 0xf292e ata.c:816
    jmp short 0293ah                          ; eb 05                       ; 0xf2933 ata.c:817
    mov word [bp-020h], 00100h                ; c7 46 e0 00 01              ; 0xf2935 ata.c:819
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xf293a ata.c:821
    add dx, strict byte 00007h                ; 83 c2 07                    ; 0xf293d
    in AL, DX                                 ; ec                          ; 0xf2940
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf2941
    test AL, strict byte 080h                 ; a8 80                       ; 0xf2943 ata.c:822
    je short 02956h                           ; 74 0f                       ; 0xf2945
    mov dx, word [bp-012h]                    ; 8b 56 ee                    ; 0xf2947 ata.c:825
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf294a
    mov AL, strict byte 008h                  ; b0 08                       ; 0xf294d
    out DX, AL                                ; ee                          ; 0xf294f
    mov dx, strict word 00001h                ; ba 01 00                    ; 0xf2950 ata.c:826
    jmp near 02b90h                           ; e9 3a 02                    ; 0xf2953
    mov es, [bp-00ch]                         ; 8e 46 f4                    ; 0xf2956 ata.c:829
    mov ax, word [es:di+006h]                 ; 26 8b 45 06                 ; 0xf2959
    mov word [bp-010h], ax                    ; 89 46 f0                    ; 0xf295d
    mov ax, word [es:di+004h]                 ; 26 8b 45 04                 ; 0xf2960
    mov word [bp-014h], ax                    ; 89 46 ec                    ; 0xf2964
    mov ax, word [es:di+002h]                 ; 26 8b 45 02                 ; 0xf2967
    mov word [bp-016h], ax                    ; 89 46 ea                    ; 0xf296b
    mov ax, word [es:di]                      ; 26 8b 05                    ; 0xf296e
    mov word [bp-01eh], ax                    ; 89 46 e2                    ; 0xf2971
    mov ax, word [es:di+008h]                 ; 26 8b 45 08                 ; 0xf2974 ata.c:830
    mov word [bp-00eh], ax                    ; 89 46 f2                    ; 0xf2978
    mov ax, word [es:di+00ah]                 ; 26 8b 45 0a                 ; 0xf297b
    mov word [bp-018h], ax                    ; 89 46 e8                    ; 0xf297f
    mov ax, word [es:di+016h]                 ; 26 8b 45 16                 ; 0xf2982 ata.c:831
    mov word [bp-01ch], ax                    ; 89 46 e4                    ; 0xf2986
    mov ax, word [es:di+012h]                 ; 26 8b 45 12                 ; 0xf2989 ata.c:832
    mov word [bp-026h], ax                    ; 89 46 da                    ; 0xf298d
    mov ax, word [es:di+014h]                 ; 26 8b 45 14                 ; 0xf2990 ata.c:833
    mov word [bp-022h], ax                    ; 89 46 de                    ; 0xf2994
    mov ax, word [bp-01ch]                    ; 8b 46 e4                    ; 0xf2997 ata.c:836
    test ax, ax                               ; 85 c0                       ; 0xf299a
    jne near 02a67h                           ; 0f 85 c7 00                 ; 0xf299c
    xor dx, dx                                ; 31 d2                       ; 0xf29a0 ata.c:837
    xor bx, bx                                ; 31 db                       ; 0xf29a2
    mov si, word [bp-01eh]                    ; 8b 76 e2                    ; 0xf29a4
    add si, word [bp-01ah]                    ; 03 76 e6                    ; 0xf29a7
    adc dx, word [bp-016h]                    ; 13 56 ea                    ; 0xf29aa
    adc bx, word [bp-014h]                    ; 13 5e ec                    ; 0xf29ad
    adc ax, word [bp-010h]                    ; 13 46 f0                    ; 0xf29b0
    test ax, ax                               ; 85 c0                       ; 0xf29b3
    jnbe short 029c7h                         ; 77 10                       ; 0xf29b5
    jne short 02a2ah                          ; 75 71                       ; 0xf29b7
    test bx, bx                               ; 85 db                       ; 0xf29b9
    jnbe short 029c7h                         ; 77 0a                       ; 0xf29bb
    jne short 02a2ah                          ; 75 6b                       ; 0xf29bd
    cmp dx, 01000h                            ; 81 fa 00 10                 ; 0xf29bf
    jnbe short 029c7h                         ; 77 02                       ; 0xf29c3
    jne short 02a2ah                          ; 75 63                       ; 0xf29c5
    mov ax, word [bp-010h]                    ; 8b 46 f0                    ; 0xf29c7 ata.c:839
    mov bx, word [bp-014h]                    ; 8b 5e ec                    ; 0xf29ca
    mov cx, word [bp-016h]                    ; 8b 4e ea                    ; 0xf29cd
    mov dx, word [bp-01eh]                    ; 8b 56 e2                    ; 0xf29d0
    mov si, strict word 00018h                ; be 18 00                    ; 0xf29d3
    call 0ad60h                               ; e8 87 83                    ; 0xf29d6
    xor dh, dh                                ; 30 f6                       ; 0xf29d9
    mov word [bp-01ch], dx                    ; 89 56 e4                    ; 0xf29db
    mov ax, word [bp-010h]                    ; 8b 46 f0                    ; 0xf29de ata.c:840
    mov bx, word [bp-014h]                    ; 8b 5e ec                    ; 0xf29e1
    mov cx, word [bp-016h]                    ; 8b 4e ea                    ; 0xf29e4
    mov dx, word [bp-01eh]                    ; 8b 56 e2                    ; 0xf29e7
    mov si, strict word 00020h                ; be 20 00                    ; 0xf29ea
    call 0ad60h                               ; e8 70 83                    ; 0xf29ed
    mov bx, dx                                ; 89 d3                       ; 0xf29f0
    mov ax, word [bp-01ah]                    ; 8b 46 e6                    ; 0xf29f2 ata.c:841
    xor al, al                                ; 30 c0                       ; 0xf29f5
    shr ax, 008h                              ; c1 e8 08                    ; 0xf29f7
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xf29fa
    inc dx                                    ; 42                          ; 0xf29fd
    inc dx                                    ; 42                          ; 0xf29fe
    out DX, AL                                ; ee                          ; 0xf29ff
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xf2a00 ata.c:842
    add dx, strict byte 00003h                ; 83 c2 03                    ; 0xf2a03
    mov al, byte [bp-01ch]                    ; 8a 46 e4                    ; 0xf2a06
    out DX, AL                                ; ee                          ; 0xf2a09
    mov ax, bx                                ; 89 d8                       ; 0xf2a0a ata.c:843
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xf2a0c
    add dx, strict byte 00004h                ; 83 c2 04                    ; 0xf2a0f
    out DX, AL                                ; ee                          ; 0xf2a12
    shr ax, 008h                              ; c1 e8 08                    ; 0xf2a13 ata.c:844
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xf2a16
    add dx, strict byte 00005h                ; 83 c2 05                    ; 0xf2a19
    out DX, AL                                ; ee                          ; 0xf2a1c
    xor al, al                                ; 30 c0                       ; 0xf2a1d ata.c:847
    mov byte [bp-015h], al                    ; 88 46 eb                    ; 0xf2a1f
    xor ah, ah                                ; 30 e4                       ; 0xf2a22
    mov word [bp-014h], ax                    ; 89 46 ec                    ; 0xf2a24
    mov word [bp-010h], ax                    ; 89 46 f0                    ; 0xf2a27
    mov ax, word [bp-01eh]                    ; 8b 46 e2                    ; 0xf2a2a ata.c:849
    xor ah, ah                                ; 30 e4                       ; 0xf2a2d
    mov word [bp-01ch], ax                    ; 89 46 e4                    ; 0xf2a2f
    mov ax, word [bp-010h]                    ; 8b 46 f0                    ; 0xf2a32 ata.c:850
    mov bx, word [bp-014h]                    ; 8b 5e ec                    ; 0xf2a35
    mov cx, word [bp-016h]                    ; 8b 4e ea                    ; 0xf2a38
    mov dx, word [bp-01eh]                    ; 8b 56 e2                    ; 0xf2a3b
    mov si, strict word 00008h                ; be 08 00                    ; 0xf2a3e
    call 0ad60h                               ; e8 1c 83                    ; 0xf2a41
    mov word [bp-010h], ax                    ; 89 46 f0                    ; 0xf2a44
    mov word [bp-014h], bx                    ; 89 5e ec                    ; 0xf2a47
    mov word [bp-016h], cx                    ; 89 4e ea                    ; 0xf2a4a
    mov word [bp-01eh], dx                    ; 89 56 e2                    ; 0xf2a4d
    mov word [bp-026h], dx                    ; 89 56 da                    ; 0xf2a50 ata.c:851
    mov si, strict word 00010h                ; be 10 00                    ; 0xf2a53 ata.c:852
    call 0ad60h                               ; e8 07 83                    ; 0xf2a56
    mov word [bp-01eh], dx                    ; 89 56 e2                    ; 0xf2a59
    mov ax, dx                                ; 89 d0                       ; 0xf2a5c ata.c:853
    xor ah, dh                                ; 30 f4                       ; 0xf2a5e
    and AL, strict byte 00fh                  ; 24 0f                       ; 0xf2a60
    or AL, strict byte 040h                   ; 0c 40                       ; 0xf2a62
    mov word [bp-022h], ax                    ; 89 46 de                    ; 0xf2a64
    mov dx, word [bp-012h]                    ; 8b 56 ee                    ; 0xf2a67 ata.c:856
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf2a6a
    mov AL, strict byte 00ah                  ; b0 0a                       ; 0xf2a6d
    out DX, AL                                ; ee                          ; 0xf2a6f
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xf2a70 ata.c:857
    inc dx                                    ; 42                          ; 0xf2a73
    xor al, al                                ; 30 c0                       ; 0xf2a74
    out DX, AL                                ; ee                          ; 0xf2a76
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xf2a77 ata.c:858
    inc dx                                    ; 42                          ; 0xf2a7a
    inc dx                                    ; 42                          ; 0xf2a7b
    mov al, byte [bp-01ah]                    ; 8a 46 e6                    ; 0xf2a7c
    out DX, AL                                ; ee                          ; 0xf2a7f
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xf2a80 ata.c:859
    add dx, strict byte 00003h                ; 83 c2 03                    ; 0xf2a83
    mov al, byte [bp-01ch]                    ; 8a 46 e4                    ; 0xf2a86
    out DX, AL                                ; ee                          ; 0xf2a89
    mov ax, word [bp-026h]                    ; 8b 46 da                    ; 0xf2a8a ata.c:860
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xf2a8d
    add dx, strict byte 00004h                ; 83 c2 04                    ; 0xf2a90
    out DX, AL                                ; ee                          ; 0xf2a93
    shr ax, 008h                              ; c1 e8 08                    ; 0xf2a94 ata.c:861
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xf2a97
    add dx, strict byte 00005h                ; 83 c2 05                    ; 0xf2a9a
    out DX, AL                                ; ee                          ; 0xf2a9d
    cmp byte [bp-006h], 000h                  ; 80 7e fa 00                 ; 0xf2a9e ata.c:862
    je short 02aa9h                           ; 74 05                       ; 0xf2aa2
    mov ax, 000b0h                            ; b8 b0 00                    ; 0xf2aa4
    jmp short 02aach                          ; eb 03                       ; 0xf2aa7
    mov ax, 000a0h                            ; b8 a0 00                    ; 0xf2aa9
    movzx dx, byte [bp-022h]                  ; 0f b6 56 de                 ; 0xf2aac
    or ax, dx                                 ; 09 d0                       ; 0xf2ab0
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xf2ab2
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf2ab5
    out DX, AL                                ; ee                          ; 0xf2ab8
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xf2ab9 ata.c:863
    add dx, strict byte 00007h                ; 83 c2 07                    ; 0xf2abc
    mov al, byte [bp-024h]                    ; 8a 46 dc                    ; 0xf2abf
    out DX, AL                                ; ee                          ; 0xf2ac2
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xf2ac3 ata.c:866
    add dx, strict byte 00007h                ; 83 c2 07                    ; 0xf2ac6
    in AL, DX                                 ; ec                          ; 0xf2ac9
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf2aca
    mov dl, al                                ; 88 c2                       ; 0xf2acc
    test AL, strict byte 080h                 ; a8 80                       ; 0xf2ace ata.c:867
    jne short 02ac3h                          ; 75 f1                       ; 0xf2ad0
    test AL, strict byte 001h                 ; a8 01                       ; 0xf2ad2 ata.c:871
    je short 02ae5h                           ; 74 0f                       ; 0xf2ad4
    mov dx, word [bp-012h]                    ; 8b 56 ee                    ; 0xf2ad6 ata.c:874
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf2ad9
    mov AL, strict byte 008h                  ; b0 08                       ; 0xf2adc
    out DX, AL                                ; ee                          ; 0xf2ade
    mov dx, strict word 00002h                ; ba 02 00                    ; 0xf2adf ata.c:875
    jmp near 02b90h                           ; e9 ab 00                    ; 0xf2ae2
    test dl, 008h                             ; f6 c2 08                    ; 0xf2ae5 ata.c:876
    jne short 02af9h                          ; 75 0f                       ; 0xf2ae8
    mov dx, word [bp-012h]                    ; 8b 56 ee                    ; 0xf2aea ata.c:879
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf2aed
    mov AL, strict byte 008h                  ; b0 08                       ; 0xf2af0
    out DX, AL                                ; ee                          ; 0xf2af2
    mov dx, strict word 00003h                ; ba 03 00                    ; 0xf2af3 ata.c:880
    jmp near 02b90h                           ; e9 97 00                    ; 0xf2af6
    sti                                       ; fb                          ; 0xf2af9 ata.c:885
    mov ax, word [bp-00eh]                    ; 8b 46 f2                    ; 0xf2afa ata.c:890
    cmp ax, 0f800h                            ; 3d 00 f8                    ; 0xf2afd
    jc short 02b12h                           ; 72 10                       ; 0xf2b00
    sub ax, 00800h                            ; 2d 00 08                    ; 0xf2b02 ata.c:891
    mov dx, word [bp-018h]                    ; 8b 56 e8                    ; 0xf2b05
    add dx, 00080h                            ; 81 c2 80 00                 ; 0xf2b08
    mov word [bp-00eh], ax                    ; 89 46 f2                    ; 0xf2b0c
    mov word [bp-018h], dx                    ; 89 56 e8                    ; 0xf2b0f
    cmp byte [bp-008h], 001h                  ; 80 7e f8 01                 ; 0xf2b12 ata.c:894
    jne short 02b2ah                          ; 75 12                       ; 0xf2b16
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xf2b18 ata.c:895
    mov cx, word [bp-020h]                    ; 8b 4e e0                    ; 0xf2b1b
    mov si, word [bp-00eh]                    ; 8b 76 f2                    ; 0xf2b1e
    mov es, [bp-018h]                         ; 8e 46 e8                    ; 0xf2b21
    db  0f3h, 066h, 026h, 06fh
    ; rep es outsd                              ; f3 66 26 6f               ; 0xf2b24
    jmp short 02b39h                          ; eb 0f                       ; 0xf2b28 ata.c:896
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xf2b2a ata.c:898
    mov cx, word [bp-020h]                    ; 8b 4e e0                    ; 0xf2b2d
    mov si, word [bp-00eh]                    ; 8b 76 f2                    ; 0xf2b30
    mov es, [bp-018h]                         ; 8e 46 e8                    ; 0xf2b33
    db  0f3h, 026h, 06fh
    ; rep es outsw                              ; f3 26 6f                  ; 0xf2b36
    mov word [bp-00eh], si                    ; 89 76 f2                    ; 0xf2b39
    mov es, [bp-00ch]                         ; 8e 46 f4                    ; 0xf2b3c ata.c:900
    inc word [es:di+018h]                     ; 26 ff 45 18                 ; 0xf2b3f
    dec word [bp-01ah]                        ; ff 4e e6                    ; 0xf2b43 ata.c:901
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xf2b46 ata.c:903
    add dx, strict byte 00007h                ; 83 c2 07                    ; 0xf2b49
    in AL, DX                                 ; ec                          ; 0xf2b4c
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf2b4d
    mov dl, al                                ; 88 c2                       ; 0xf2b4f
    test AL, strict byte 080h                 ; a8 80                       ; 0xf2b51 ata.c:904
    jne short 02b46h                          ; 75 f1                       ; 0xf2b53
    cmp word [bp-01ah], strict byte 00000h    ; 83 7e e6 00                 ; 0xf2b55 ata.c:907
    jne short 02b6fh                          ; 75 14                       ; 0xf2b59
    and AL, strict byte 0e9h                  ; 24 e9                       ; 0xf2b5b ata.c:908
    cmp AL, strict byte 040h                  ; 3c 40                       ; 0xf2b5d
    je short 02b85h                           ; 74 24                       ; 0xf2b5f
    mov dx, word [bp-012h]                    ; 8b 56 ee                    ; 0xf2b61 ata.c:912
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf2b64
    mov AL, strict byte 008h                  ; b0 08                       ; 0xf2b67
    out DX, AL                                ; ee                          ; 0xf2b69
    mov dx, strict word 00006h                ; ba 06 00                    ; 0xf2b6a ata.c:913
    jmp short 02b90h                          ; eb 21                       ; 0xf2b6d
    mov al, dl                                ; 88 d0                       ; 0xf2b6f ata.c:918
    and AL, strict byte 0c9h                  ; 24 c9                       ; 0xf2b71
    cmp AL, strict byte 048h                  ; 3c 48                       ; 0xf2b73
    je short 02afah                           ; 74 83                       ; 0xf2b75
    mov dx, word [bp-012h]                    ; 8b 56 ee                    ; 0xf2b77 ata.c:922
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf2b7a
    mov AL, strict byte 008h                  ; b0 08                       ; 0xf2b7d
    out DX, AL                                ; ee                          ; 0xf2b7f
    mov dx, strict word 00007h                ; ba 07 00                    ; 0xf2b80 ata.c:923
    jmp short 02b90h                          ; eb 0b                       ; 0xf2b83
    mov dx, word [bp-012h]                    ; 8b 56 ee                    ; 0xf2b85 ata.c:929
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf2b88
    mov AL, strict byte 008h                  ; b0 08                       ; 0xf2b8b
    out DX, AL                                ; ee                          ; 0xf2b8d
    xor dx, dx                                ; 31 d2                       ; 0xf2b8e ata.c:930
    mov ax, dx                                ; 89 d0                       ; 0xf2b90 ata.c:931
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf2b92
    pop di                                    ; 5f                          ; 0xf2b95
    pop si                                    ; 5e                          ; 0xf2b96
    pop bp                                    ; 5d                          ; 0xf2b97
    retn                                      ; c3                          ; 0xf2b98
  ; disGetNextSymbol 0xf2b99 LB 0x8283 -> off=0x0 cb=00000000000000b5 uValue=00000000000f1599 'ata_read_sectors'
ata_read_sectors:                            ; 0xf2b99 LB 0xb5
    push bp                                   ; 55                          ; 0xf2b99 ata.c:941
    mov bp, sp                                ; 89 e5                       ; 0xf2b9a
    push si                                   ; 56                          ; 0xf2b9c
    push di                                   ; 57                          ; 0xf2b9d
    sub sp, strict byte 00008h                ; 83 ec 08                    ; 0xf2b9e
    mov si, word [bp+004h]                    ; 8b 76 04                    ; 0xf2ba1
    mov es, [bp+006h]                         ; 8e 46 06                    ; 0xf2ba4 ata.c:947
    mov al, byte [es:si+00ch]                 ; 26 8a 44 0c                 ; 0xf2ba7
    mov cx, word [es:si+00eh]                 ; 26 8b 4c 0e                 ; 0xf2bab ata.c:948
    mov dx, cx                                ; 89 ca                       ; 0xf2baf
    sal dx, 009h                              ; c1 e2 09                    ; 0xf2bb1
    cmp word [es:si+016h], strict byte 00000h ; 26 83 7c 16 00              ; 0xf2bb4 ata.c:950
    je short 02bdah                           ; 74 1f                       ; 0xf2bb9
    xor ah, ah                                ; 30 e4                       ; 0xf2bbb ata.c:952
    imul ax, ax, strict byte 0001ch           ; 6b c0 1c                    ; 0xf2bbd
    mov [bp-00ah], es                         ; 8c 46 f6                    ; 0xf2bc0
    mov di, si                                ; 89 f7                       ; 0xf2bc3
    add di, ax                                ; 01 c7                       ; 0xf2bc5
    mov word [es:di+024h], dx                 ; 26 89 55 24                 ; 0xf2bc7
    mov bx, 000c4h                            ; bb c4 00                    ; 0xf2bcb ata.c:954
    mov ax, si                                ; 89 f0                       ; 0xf2bce
    mov dx, es                                ; 8c c2                       ; 0xf2bd0
    call 01f4eh                               ; e8 79 f3                    ; 0xf2bd2
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf2bd5 ata.c:955
    jmp short 02c3fh                          ; eb 65                       ; 0xf2bd8 ata.c:956
    xor bx, bx                                ; 31 db                       ; 0xf2bda ata.c:958
    mov word [bp-00ah], bx                    ; 89 5e f6                    ; 0xf2bdc
    mov word [bp-00ch], bx                    ; 89 5e f4                    ; 0xf2bdf
    mov di, word [es:si]                      ; 26 8b 3c                    ; 0xf2be2
    add di, cx                                ; 01 cf                       ; 0xf2be5
    mov word [bp-008h], di                    ; 89 7e f8                    ; 0xf2be7
    mov di, word [es:si+002h]                 ; 26 8b 7c 02                 ; 0xf2bea
    adc di, bx                                ; 11 df                       ; 0xf2bee
    mov word [bp-006h], di                    ; 89 7e fa                    ; 0xf2bf0
    mov bx, word [es:si+004h]                 ; 26 8b 5c 04                 ; 0xf2bf3
    adc bx, word [bp-00ah]                    ; 13 5e f6                    ; 0xf2bf7
    mov di, word [es:si+006h]                 ; 26 8b 7c 06                 ; 0xf2bfa
    adc di, word [bp-00ch]                    ; 13 7e f4                    ; 0xf2bfe
    test di, di                               ; 85 ff                       ; 0xf2c01
    jnbe short 02c16h                         ; 77 11                       ; 0xf2c03
    jne short 02c22h                          ; 75 1b                       ; 0xf2c05
    test bx, bx                               ; 85 db                       ; 0xf2c07
    jnbe short 02c16h                         ; 77 0b                       ; 0xf2c09
    jne short 02c22h                          ; 75 15                       ; 0xf2c0b
    cmp word [bp-006h], 01000h                ; 81 7e fa 00 10              ; 0xf2c0d
    jnbe short 02c16h                         ; 77 02                       ; 0xf2c12
    jne short 02c22h                          ; 75 0c                       ; 0xf2c14
    mov bx, strict word 00024h                ; bb 24 00                    ; 0xf2c16 ata.c:960
    mov ax, si                                ; 89 f0                       ; 0xf2c19
    mov dx, es                                ; 8c c2                       ; 0xf2c1b
    call 01f4eh                               ; e8 2e f3                    ; 0xf2c1d
    jmp short 02c45h                          ; eb 23                       ; 0xf2c20 ata.c:961
    xor ah, ah                                ; 30 e4                       ; 0xf2c22 ata.c:962
    imul ax, ax, strict byte 0001ch           ; 6b c0 1c                    ; 0xf2c24
    mov [bp-006h], es                         ; 8c 46 fa                    ; 0xf2c27
    mov di, si                                ; 89 f7                       ; 0xf2c2a
    add di, ax                                ; 01 c7                       ; 0xf2c2c
    mov word [es:di+024h], dx                 ; 26 89 55 24                 ; 0xf2c2e
    mov bx, 000c4h                            ; bb c4 00                    ; 0xf2c32 ata.c:964
    mov ax, si                                ; 89 f0                       ; 0xf2c35
    mov dx, es                                ; 8c c2                       ; 0xf2c37
    call 01f4eh                               ; e8 12 f3                    ; 0xf2c39
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xf2c3c ata.c:965
    mov word [es:di+024h], 00200h             ; 26 c7 45 24 00 02           ; 0xf2c3f
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf2c45 ata.c:969
    pop di                                    ; 5f                          ; 0xf2c48
    pop si                                    ; 5e                          ; 0xf2c49
    pop bp                                    ; 5d                          ; 0xf2c4a
    retn 00004h                               ; c2 04 00                    ; 0xf2c4b
  ; disGetNextSymbol 0xf2c4e LB 0x81ce -> off=0x0 cb=000000000000005b uValue=00000000000f164e 'ata_write_sectors'
ata_write_sectors:                           ; 0xf2c4e LB 0x5b
    push bp                                   ; 55                          ; 0xf2c4e ata.c:978
    mov bp, sp                                ; 89 e5                       ; 0xf2c4f
    push si                                   ; 56                          ; 0xf2c51
    push di                                   ; 57                          ; 0xf2c52
    push ax                                   ; 50                          ; 0xf2c53
    les si, [bp+004h]                         ; c4 76 04                    ; 0xf2c54
    mov cx, word [es:si+00eh]                 ; 26 8b 4c 0e                 ; 0xf2c57 ata.c:982
    cmp word [es:si+016h], strict byte 00000h ; 26 83 7c 16 00              ; 0xf2c5b ata.c:984
    je short 02c6eh                           ; 74 0c                       ; 0xf2c60
    mov bx, strict word 00030h                ; bb 30 00                    ; 0xf2c62 ata.c:986
    mov ax, si                                ; 89 f0                       ; 0xf2c65
    mov dx, es                                ; 8c c2                       ; 0xf2c67
    call 028ddh                               ; e8 71 fc                    ; 0xf2c69
    jmp short 02ca0h                          ; eb 32                       ; 0xf2c6c
    xor ax, ax                                ; 31 c0                       ; 0xf2c6e ata.c:989
    xor bx, bx                                ; 31 db                       ; 0xf2c70
    xor dx, dx                                ; 31 d2                       ; 0xf2c72
    mov di, word [es:si]                      ; 26 8b 3c                    ; 0xf2c74
    add di, cx                                ; 01 cf                       ; 0xf2c77
    mov word [bp-006h], di                    ; 89 7e fa                    ; 0xf2c79
    adc ax, word [es:si+002h]                 ; 26 13 44 02                 ; 0xf2c7c
    adc bx, word [es:si+004h]                 ; 26 13 5c 04                 ; 0xf2c80
    adc dx, word [es:si+006h]                 ; 26 13 54 06                 ; 0xf2c84
    test dx, dx                               ; 85 d2                       ; 0xf2c88
    jnbe short 02c9bh                         ; 77 0f                       ; 0xf2c8a
    jne short 02c62h                          ; 75 d4                       ; 0xf2c8c
    test bx, bx                               ; 85 db                       ; 0xf2c8e
    jnbe short 02c9bh                         ; 77 09                       ; 0xf2c90
    jne short 02c62h                          ; 75 ce                       ; 0xf2c92
    cmp ax, 01000h                            ; 3d 00 10                    ; 0xf2c94
    jnbe short 02c9bh                         ; 77 02                       ; 0xf2c97
    jne short 02c62h                          ; 75 c7                       ; 0xf2c99
    mov bx, strict word 00034h                ; bb 34 00                    ; 0xf2c9b ata.c:990
    jmp short 02c65h                          ; eb c5                       ; 0xf2c9e
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf2ca0 ata.c:994
    pop di                                    ; 5f                          ; 0xf2ca3
    pop si                                    ; 5e                          ; 0xf2ca4
    pop bp                                    ; 5d                          ; 0xf2ca5
    retn 00004h                               ; c2 04 00                    ; 0xf2ca6
  ; disGetNextSymbol 0xf2ca9 LB 0x8173 -> off=0x0 cb=000000000000023f uValue=00000000000f16a9 'ata_cmd_packet'
ata_cmd_packet:                              ; 0xf2ca9 LB 0x23f
    push bp                                   ; 55                          ; 0xf2ca9 ata.c:1006
    mov bp, sp                                ; 89 e5                       ; 0xf2caa
    push si                                   ; 56                          ; 0xf2cac
    push di                                   ; 57                          ; 0xf2cad
    sub sp, strict byte 00012h                ; 83 ec 12                    ; 0xf2cae
    mov byte [bp-006h], dl                    ; 88 56 fa                    ; 0xf2cb1
    mov di, bx                                ; 89 df                       ; 0xf2cb4
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf2cb6 ata.c:58
    mov dx, strict word 00040h                ; ba 40 00                    ; 0xf2cb9
    mov es, dx                                ; 8e c2                       ; 0xf2cbc
    mov dx, word [es:bx]                      ; 26 8b 17                    ; 0xf2cbe
    mov bx, strict word 0005eh                ; bb 5e 00                    ; 0xf2cc1 ata.c:59
    mov word [bp-010h], dx                    ; 89 56 f0                    ; 0xf2cc4
    mov dx, ax                                ; 89 c2                       ; 0xf2cc7 ata.c:1018
    shr dx, 1                                 ; d1 ea                       ; 0xf2cc9
    mov word [bp-016h], dx                    ; 89 56 ea                    ; 0xf2ccb
    mov dl, byte [bp-016h]                    ; 8a 56 ea                    ; 0xf2cce
    mov dh, al                                ; 88 c6                       ; 0xf2cd1 ata.c:1019
    and dh, 001h                              ; 80 e6 01                    ; 0xf2cd3
    mov byte [bp-00ah], dh                    ; 88 76 f6                    ; 0xf2cd6
    cmp byte [bp+008h], 002h                  ; 80 7e 08 02                 ; 0xf2cd9 ata.c:1022
    jne short 02cfeh                          ; 75 1f                       ; 0xf2cdd
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf2cdf ata.c:1023
    mov cx, ds                                ; 8c d9                       ; 0xf2ce2
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf2ce4
    call 01a27h                               ; e8 3d ed                    ; 0xf2ce7
    push 002a3h                               ; 68 a3 02                    ; 0xf2cea
    push 002b2h                               ; 68 b2 02                    ; 0xf2ced
    push strict byte 00004h                   ; 6a 04                       ; 0xf2cf0
    call 01a68h                               ; e8 73 ed                    ; 0xf2cf2
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf2cf5
    mov dx, strict word 00001h                ; ba 01 00                    ; 0xf2cf8 ata.c:1024
    jmp near 02eddh                           ; e9 df 01                    ; 0xf2cfb
    xor dh, dh                                ; 30 f6                       ; 0xf2cfe ata.c:1027
    imul dx, dx, strict byte 00006h           ; 6b d2 06                    ; 0xf2d00
    mov es, [bp-010h]                         ; 8e 46 f0                    ; 0xf2d03
    mov si, bx                                ; 89 de                       ; 0xf2d06
    add si, dx                                ; 01 d6                       ; 0xf2d08
    mov dx, word [es:si+0027ah]               ; 26 8b 94 7a 02              ; 0xf2d0a
    mov word [bp-00ch], dx                    ; 89 56 f4                    ; 0xf2d0f
    mov dx, word [es:si+0027ch]               ; 26 8b 94 7c 02              ; 0xf2d12 ata.c:1028
    mov word [bp-00eh], dx                    ; 89 56 f2                    ; 0xf2d17
    imul ax, ax, strict byte 0001ch           ; 6b c0 1c                    ; 0xf2d1a ata.c:1029
    mov si, bx                                ; 89 de                       ; 0xf2d1d
    add si, ax                                ; 01 c6                       ; 0xf2d1f
    mov al, byte [es:si+022h]                 ; 26 8a 44 22                 ; 0xf2d21
    mov byte [bp-008h], al                    ; 88 46 f8                    ; 0xf2d25
    xor ax, ax                                ; 31 c0                       ; 0xf2d28 ata.c:1030
    mov word [bp-014h], ax                    ; 89 46 ec                    ; 0xf2d2a
    mov word [bp-012h], ax                    ; 89 46 ee                    ; 0xf2d2d
    mov al, byte [bp-006h]                    ; 8a 46 fa                    ; 0xf2d30 ata.c:1032
    cmp AL, strict byte 00ch                  ; 3c 0c                       ; 0xf2d33
    jnc short 02d3dh                          ; 73 06                       ; 0xf2d35
    mov byte [bp-006h], 00ch                  ; c6 46 fa 0c                 ; 0xf2d37 ata.c:1033
    jmp short 02d43h                          ; eb 06                       ; 0xf2d3b
    jbe short 02d43h                          ; 76 04                       ; 0xf2d3d ata.c:1034
    mov byte [bp-006h], 010h                  ; c6 46 fa 10                 ; 0xf2d3f ata.c:1035
    shr byte [bp-006h], 1                     ; d0 6e fa                    ; 0xf2d43 ata.c:1036
    mov es, [bp-010h]                         ; 8e 46 f0                    ; 0xf2d46 ata.c:1040
    db  066h, 026h, 0c7h, 047h, 018h, 000h, 000h, 000h, 000h
    ; mov dword [es:bx+018h], strict dword 000000000h ; 66 26 c7 47 18 00 00 00 00; 0xf2d49
    mov word [es:bx+01ch], strict word 00000h ; 26 c7 47 1c 00 00           ; 0xf2d52 ata.c:1041
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf2d58 ata.c:1043
    add dx, strict byte 00007h                ; 83 c2 07                    ; 0xf2d5b
    in AL, DX                                 ; ec                          ; 0xf2d5e
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf2d5f
    test AL, strict byte 080h                 ; a8 80                       ; 0xf2d61 ata.c:1044
    je short 02d6bh                           ; 74 06                       ; 0xf2d63
    mov dx, strict word 00002h                ; ba 02 00                    ; 0xf2d65 ata.c:1045
    jmp near 02eddh                           ; e9 72 01                    ; 0xf2d68
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf2d6b ata.c:1047
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf2d6e
    mov AL, strict byte 00ah                  ; b0 0a                       ; 0xf2d71
    out DX, AL                                ; ee                          ; 0xf2d73
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf2d74 ata.c:1051
    add dx, strict byte 00004h                ; 83 c2 04                    ; 0xf2d77
    mov AL, strict byte 0f0h                  ; b0 f0                       ; 0xf2d7a
    out DX, AL                                ; ee                          ; 0xf2d7c
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf2d7d ata.c:1052
    add dx, strict byte 00005h                ; 83 c2 05                    ; 0xf2d80
    mov AL, strict byte 0ffh                  ; b0 ff                       ; 0xf2d83
    out DX, AL                                ; ee                          ; 0xf2d85
    cmp byte [bp-00ah], 000h                  ; 80 7e f6 00                 ; 0xf2d86 ata.c:1053
    je short 02d91h                           ; 74 05                       ; 0xf2d8a
    mov ax, 000b0h                            ; b8 b0 00                    ; 0xf2d8c
    jmp short 02d94h                          ; eb 03                       ; 0xf2d8f
    mov ax, 000a0h                            ; b8 a0 00                    ; 0xf2d91
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf2d94
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf2d97
    out DX, AL                                ; ee                          ; 0xf2d9a
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf2d9b ata.c:1054
    add dx, strict byte 00007h                ; 83 c2 07                    ; 0xf2d9e
    mov AL, strict byte 0a0h                  ; b0 a0                       ; 0xf2da1
    out DX, AL                                ; ee                          ; 0xf2da3
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf2da4 ata.c:1058
    add dx, strict byte 00007h                ; 83 c2 07                    ; 0xf2da7
    in AL, DX                                 ; ec                          ; 0xf2daa
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf2dab
    mov dl, al                                ; 88 c2                       ; 0xf2dad
    test AL, strict byte 080h                 ; a8 80                       ; 0xf2daf ata.c:1059
    jne short 02da4h                          ; 75 f1                       ; 0xf2db1
    test AL, strict byte 001h                 ; a8 01                       ; 0xf2db3 ata.c:1062
    je short 02dc6h                           ; 74 0f                       ; 0xf2db5
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf2db7 ata.c:1065
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf2dba
    mov AL, strict byte 008h                  ; b0 08                       ; 0xf2dbd
    out DX, AL                                ; ee                          ; 0xf2dbf
    mov dx, strict word 00003h                ; ba 03 00                    ; 0xf2dc0 ata.c:1066
    jmp near 02eddh                           ; e9 17 01                    ; 0xf2dc3
    test dl, 008h                             ; f6 c2 08                    ; 0xf2dc6 ata.c:1067
    jne short 02ddah                          ; 75 0f                       ; 0xf2dc9
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf2dcb ata.c:1070
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf2dce
    mov AL, strict byte 008h                  ; b0 08                       ; 0xf2dd1
    out DX, AL                                ; ee                          ; 0xf2dd3
    mov dx, strict word 00004h                ; ba 04 00                    ; 0xf2dd4 ata.c:1071
    jmp near 02eddh                           ; e9 03 01                    ; 0xf2dd7
    sti                                       ; fb                          ; 0xf2dda ata.c:1074
    mov ax, di                                ; 89 f8                       ; 0xf2ddb ata.c:1078
    shr ax, 004h                              ; c1 e8 04                    ; 0xf2ddd
    add ax, cx                                ; 01 c8                       ; 0xf2de0
    mov si, di                                ; 89 fe                       ; 0xf2de2
    and si, strict byte 0000fh                ; 83 e6 0f                    ; 0xf2de4
    movzx cx, byte [bp-006h]                  ; 0f b6 4e fa                 ; 0xf2de7 ata.c:1083
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf2deb
    mov es, ax                                ; 8e c0                       ; 0xf2dee
    db  0f3h, 026h, 06fh
    ; rep es outsw                              ; f3 26 6f                  ; 0xf2df0
    cmp byte [bp+008h], 000h                  ; 80 7e 08 00                 ; 0xf2df3 ata.c:1085
    jne short 02e04h                          ; 75 0b                       ; 0xf2df7
    add dx, strict byte 00007h                ; 83 c2 07                    ; 0xf2df9 ata.c:1086
    in AL, DX                                 ; ec                          ; 0xf2dfc
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf2dfd
    mov dl, al                                ; 88 c2                       ; 0xf2dff
    jmp near 02ebeh                           ; e9 ba 00                    ; 0xf2e01 ata.c:1088
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf2e04 ata.c:1092
    add dx, strict byte 00007h                ; 83 c2 07                    ; 0xf2e07
    in AL, DX                                 ; ec                          ; 0xf2e0a
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf2e0b
    mov dl, al                                ; 88 c2                       ; 0xf2e0d
    test AL, strict byte 080h                 ; a8 80                       ; 0xf2e0f ata.c:1093
    jne short 02e04h                          ; 75 f1                       ; 0xf2e11
    test AL, strict byte 088h                 ; a8 88                       ; 0xf2e13 ata.c:1098
    je near 02ebeh                            ; 0f 84 a5 00                 ; 0xf2e15
    test AL, strict byte 001h                 ; a8 01                       ; 0xf2e19 ata.c:1101
    je short 02e28h                           ; 74 0b                       ; 0xf2e1b
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf2e1d ata.c:1104
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf2e20
    mov AL, strict byte 008h                  ; b0 08                       ; 0xf2e23
    out DX, AL                                ; ee                          ; 0xf2e25
    jmp short 02dc0h                          ; eb 98                       ; 0xf2e26
    mov al, dl                                ; 88 d0                       ; 0xf2e28 ata.c:1109
    and AL, strict byte 0c9h                  ; 24 c9                       ; 0xf2e2a
    cmp AL, strict byte 048h                  ; 3c 48                       ; 0xf2e2c
    je short 02e3bh                           ; 74 0b                       ; 0xf2e2e
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf2e30 ata.c:1113
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf2e33
    mov AL, strict byte 008h                  ; b0 08                       ; 0xf2e36
    out DX, AL                                ; ee                          ; 0xf2e38
    jmp short 02dd4h                          ; eb 99                       ; 0xf2e39
    mov ax, word [bp+00ah]                    ; 8b 46 0a                    ; 0xf2e3b ata.c:1119
    shr ax, 004h                              ; c1 e8 04                    ; 0xf2e3e
    mov dx, word [bp+00ch]                    ; 8b 56 0c                    ; 0xf2e41
    add dx, ax                                ; 01 c2                       ; 0xf2e44
    mov ax, word [bp+00ah]                    ; 8b 46 0a                    ; 0xf2e46
    and ax, strict word 0000fh                ; 25 0f 00                    ; 0xf2e49
    mov word [bp+00ah], ax                    ; 89 46 0a                    ; 0xf2e4c
    mov word [bp+00ch], dx                    ; 89 56 0c                    ; 0xf2e4f
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf2e52 ata.c:1124
    add dx, strict byte 00005h                ; 83 c2 05                    ; 0xf2e55
    in AL, DX                                 ; ec                          ; 0xf2e58
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf2e59
    mov cx, ax                                ; 89 c1                       ; 0xf2e5b
    sal cx, 008h                              ; c1 e1 08                    ; 0xf2e5d
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf2e60
    add dx, strict byte 00004h                ; 83 c2 04                    ; 0xf2e63
    in AL, DX                                 ; ec                          ; 0xf2e66
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf2e67
    add cx, ax                                ; 01 c1                       ; 0xf2e69
    mov si, cx                                ; 89 ce                       ; 0xf2e6b ata.c:1127
    mov al, byte [bp-008h]                    ; 8a 46 f8                    ; 0xf2e6d ata.c:1133
    test cl, 003h                             ; f6 c1 03                    ; 0xf2e70 ata.c:1134
    je short 02e77h                           ; 74 02                       ; 0xf2e73
    xor al, al                                ; 30 c0                       ; 0xf2e75 ata.c:1135
    test cl, 001h                             ; f6 c1 01                    ; 0xf2e77 ata.c:1138
    je short 02e7dh                           ; 74 01                       ; 0xf2e7a
    inc cx                                    ; 41                          ; 0xf2e7c ata.c:1139
    cmp AL, strict byte 001h                  ; 3c 01                       ; 0xf2e7d ata.c:1143
    jne short 02e86h                          ; 75 05                       ; 0xf2e7f
    shr cx, 002h                              ; c1 e9 02                    ; 0xf2e81 ata.c:1144
    jmp short 02e88h                          ; eb 02                       ; 0xf2e84 ata.c:1145
    shr cx, 1                                 ; d1 e9                       ; 0xf2e86 ata.c:1148
    cmp AL, strict byte 001h                  ; 3c 01                       ; 0xf2e88 ata.c:1152
    jne short 02e97h                          ; 75 0b                       ; 0xf2e8a
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf2e8c ata.c:1153
    les di, [bp+00ah]                         ; c4 7e 0a                    ; 0xf2e8f
    db  0f3h, 066h, 06dh
    ; rep insd                                  ; f3 66 6d                  ; 0xf2e92
    jmp short 02e9fh                          ; eb 08                       ; 0xf2e95 ata.c:1154
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf2e97 ata.c:1157
    les di, [bp+00ah]                         ; c4 7e 0a                    ; 0xf2e9a
    rep insw                                  ; f3 6d                       ; 0xf2e9d
    add word [bp+00ah], si                    ; 01 76 0a                    ; 0xf2e9f ata.c:1162
    xor ax, ax                                ; 31 c0                       ; 0xf2ea2 ata.c:1165
    add word [bp-014h], si                    ; 01 76 ec                    ; 0xf2ea4
    adc word [bp-012h], ax                    ; 11 46 ee                    ; 0xf2ea7
    mov ax, word [bp-014h]                    ; 8b 46 ec                    ; 0xf2eaa ata.c:1166
    mov es, [bp-010h]                         ; 8e 46 f0                    ; 0xf2ead
    mov word [es:bx+01ah], ax                 ; 26 89 47 1a                 ; 0xf2eb0
    mov ax, word [bp-012h]                    ; 8b 46 ee                    ; 0xf2eb4
    mov word [es:bx+01ch], ax                 ; 26 89 47 1c                 ; 0xf2eb7
    jmp near 02e04h                           ; e9 46 ff                    ; 0xf2ebb ata.c:1167
    mov al, dl                                ; 88 d0                       ; 0xf2ebe ata.c:1171
    and AL, strict byte 0e9h                  ; 24 e9                       ; 0xf2ec0
    cmp AL, strict byte 040h                  ; 3c 40                       ; 0xf2ec2
    je short 02ed2h                           ; 74 0c                       ; 0xf2ec4
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf2ec6 ata.c:1175
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf2ec9
    mov AL, strict byte 008h                  ; b0 08                       ; 0xf2ecc
    out DX, AL                                ; ee                          ; 0xf2ece
    jmp near 02dd4h                           ; e9 02 ff                    ; 0xf2ecf
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf2ed2 ata.c:1180
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf2ed5
    mov AL, strict byte 008h                  ; b0 08                       ; 0xf2ed8
    out DX, AL                                ; ee                          ; 0xf2eda
    xor dx, dx                                ; 31 d2                       ; 0xf2edb ata.c:1181
    mov ax, dx                                ; 89 d0                       ; 0xf2edd ata.c:1182
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf2edf
    pop di                                    ; 5f                          ; 0xf2ee2
    pop si                                    ; 5e                          ; 0xf2ee3
    pop bp                                    ; 5d                          ; 0xf2ee4
    retn 0000ah                               ; c2 0a 00                    ; 0xf2ee5
  ; disGetNextSymbol 0xf2ee8 LB 0x7f34 -> off=0x0 cb=000000000000007a uValue=00000000000f18e8 'ata_soft_reset'
ata_soft_reset:                              ; 0xf2ee8 LB 0x7a
    push bp                                   ; 55                          ; 0xf2ee8 ata.c:1190
    mov bp, sp                                ; 89 e5                       ; 0xf2ee9
    push bx                                   ; 53                          ; 0xf2eeb
    push cx                                   ; 51                          ; 0xf2eec
    push dx                                   ; 52                          ; 0xf2eed
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf2eee ata.c:58
    mov dx, strict word 00040h                ; ba 40 00                    ; 0xf2ef1
    mov es, dx                                ; 8e c2                       ; 0xf2ef4
    mov es, [es:bx]                           ; 26 8e 07                    ; 0xf2ef6
    mov dx, ax                                ; 89 c2                       ; 0xf2ef9 ata.c:1199
    shr dx, 1                                 ; d1 ea                       ; 0xf2efb
    mov ah, al                                ; 88 c4                       ; 0xf2efd ata.c:1200
    and ah, 001h                              ; 80 e4 01                    ; 0xf2eff
    movzx bx, dl                              ; 0f b6 da                    ; 0xf2f02 ata.c:1202
    imul bx, bx, strict byte 00006h           ; 6b db 06                    ; 0xf2f05
    add bx, strict byte 0005eh                ; 83 c3 5e                    ; 0xf2f08
    mov cx, word [es:bx+0027ah]               ; 26 8b 8f 7a 02              ; 0xf2f0b
    mov bx, word [es:bx+0027ch]               ; 26 8b 9f 7c 02              ; 0xf2f10 ata.c:1203
    lea dx, [bx+006h]                         ; 8d 57 06                    ; 0xf2f15 ata.c:1206
    mov AL, strict byte 00ah                  ; b0 0a                       ; 0xf2f18
    out DX, AL                                ; ee                          ; 0xf2f1a
    test ah, ah                               ; 84 e4                       ; 0xf2f1b ata.c:1207
    je short 02f24h                           ; 74 05                       ; 0xf2f1d
    mov ax, 000b0h                            ; b8 b0 00                    ; 0xf2f1f
    jmp short 02f27h                          ; eb 03                       ; 0xf2f22
    mov ax, 000a0h                            ; b8 a0 00                    ; 0xf2f24
    mov dx, cx                                ; 89 ca                       ; 0xf2f27
    add dx, strict byte 00006h                ; 83 c2 06                    ; 0xf2f29
    out DX, AL                                ; ee                          ; 0xf2f2c
    mov dx, cx                                ; 89 ca                       ; 0xf2f2d ata.c:1208
    add dx, strict byte 00007h                ; 83 c2 07                    ; 0xf2f2f
    mov AL, strict byte 008h                  ; b0 08                       ; 0xf2f32
    out DX, AL                                ; ee                          ; 0xf2f34
    mov dx, cx                                ; 89 ca                       ; 0xf2f35 ata.c:1212
    add dx, strict byte 00007h                ; 83 c2 07                    ; 0xf2f37
    in AL, DX                                 ; ec                          ; 0xf2f3a
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf2f3b
    test AL, strict byte 080h                 ; a8 80                       ; 0xf2f3d ata.c:1213
    jne short 02f35h                          ; 75 f4                       ; 0xf2f3f
    and AL, strict byte 0e9h                  ; 24 e9                       ; 0xf2f41 ata.c:1217
    cmp AL, strict byte 040h                  ; 3c 40                       ; 0xf2f43
    je short 02f52h                           ; 74 0b                       ; 0xf2f45
    lea dx, [bx+006h]                         ; 8d 57 06                    ; 0xf2f47 ata.c:1221
    mov AL, strict byte 008h                  ; b0 08                       ; 0xf2f4a
    out DX, AL                                ; ee                          ; 0xf2f4c
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xf2f4d ata.c:1222
    jmp short 02f5ah                          ; eb 08                       ; 0xf2f50
    lea dx, [bx+006h]                         ; 8d 57 06                    ; 0xf2f52 ata.c:1226
    mov AL, strict byte 008h                  ; b0 08                       ; 0xf2f55
    out DX, AL                                ; ee                          ; 0xf2f57
    xor ax, ax                                ; 31 c0                       ; 0xf2f58 ata.c:1227
    lea sp, [bp-006h]                         ; 8d 66 fa                    ; 0xf2f5a ata.c:1228
    pop dx                                    ; 5a                          ; 0xf2f5d
    pop cx                                    ; 59                          ; 0xf2f5e
    pop bx                                    ; 5b                          ; 0xf2f5f
    pop bp                                    ; 5d                          ; 0xf2f60
    retn                                      ; c3                          ; 0xf2f61
  ; disGetNextSymbol 0xf2f62 LB 0x7eba -> off=0x0 cb=000000000000002a uValue=00000000000f1962 'set_diskette_current_cyl'
set_diskette_current_cyl:                    ; 0xf2f62 LB 0x2a
    push bp                                   ; 55                          ; 0xf2f62 floppy.c:81
    mov bp, sp                                ; 89 e5                       ; 0xf2f63
    push bx                                   ; 53                          ; 0xf2f65
    mov dh, al                                ; 88 c6                       ; 0xf2f66
    cmp AL, strict byte 001h                  ; 3c 01                       ; 0xf2f68 floppy.c:83
    jbe short 02f77h                          ; 76 0b                       ; 0xf2f6a
    push 002d2h                               ; 68 d2 02                    ; 0xf2f6c floppy.c:84
    push strict byte 00007h                   ; 6a 07                       ; 0xf2f6f
    call 01a68h                               ; e8 f4 ea                    ; 0xf2f71
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf2f74
    movzx bx, dh                              ; 0f b6 de                    ; 0xf2f77 floppy.c:85
    add bx, 00094h                            ; 81 c3 94 00                 ; 0xf2f7a
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf2f7e floppy.c:53
    mov es, ax                                ; 8e c0                       ; 0xf2f81
    mov byte [es:bx], dl                      ; 26 88 17                    ; 0xf2f83
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xf2f86 floppy.c:86
    pop bx                                    ; 5b                          ; 0xf2f89
    pop bp                                    ; 5d                          ; 0xf2f8a
    retn                                      ; c3                          ; 0xf2f8b
  ; disGetNextSymbol 0xf2f8c LB 0x7e90 -> off=0x0 cb=0000000000000023 uValue=00000000000f198c 'floppy_wait_for_interrupt'
floppy_wait_for_interrupt:                   ; 0xf2f8c LB 0x23
    push bp                                   ; 55                          ; 0xf2f8c floppy.c:106
    mov bp, sp                                ; 89 e5                       ; 0xf2f8d
    push bx                                   ; 53                          ; 0xf2f8f
    cli                                       ; fa                          ; 0xf2f90 floppy.c:108
    mov bx, strict word 0003eh                ; bb 3e 00                    ; 0xf2f91 floppy.c:48
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf2f94
    mov es, ax                                ; 8e c0                       ; 0xf2f97
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf2f99
    test AL, strict byte 080h                 ; a8 80                       ; 0xf2f9c floppy.c:112
    je short 02fa4h                           ; 74 04                       ; 0xf2f9e
    and AL, strict byte 080h                  ; 24 80                       ; 0xf2fa0 floppy.c:113
    jmp short 02fa9h                          ; eb 05                       ; 0xf2fa2
    sti                                       ; fb                          ; 0xf2fa4 floppy.c:114
    hlt                                       ; f4                          ; 0xf2fa5
    cli                                       ; fa                          ; 0xf2fa6
    jmp short 02f91h                          ; eb e8                       ; 0xf2fa7 floppy.c:115
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xf2fa9 floppy.c:116
    pop bx                                    ; 5b                          ; 0xf2fac
    pop bp                                    ; 5d                          ; 0xf2fad
    retn                                      ; c3                          ; 0xf2fae
  ; disGetNextSymbol 0xf2faf LB 0x7e6d -> off=0x0 cb=0000000000000038 uValue=00000000000f19af 'floppy_wait_for_interrupt_or_timeout'
floppy_wait_for_interrupt_or_timeout:        ; 0xf2faf LB 0x38
    push bp                                   ; 55                          ; 0xf2faf floppy.c:126
    mov bp, sp                                ; 89 e5                       ; 0xf2fb0
    push bx                                   ; 53                          ; 0xf2fb2
    cli                                       ; fa                          ; 0xf2fb3 floppy.c:128
    mov bx, strict word 00040h                ; bb 40 00                    ; 0xf2fb4 floppy.c:48
    mov es, bx                                ; 8e c3                       ; 0xf2fb7
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf2fb9
    test al, al                               ; 84 c0                       ; 0xf2fbc floppy.c:132
    jne short 02fc3h                          ; 75 03                       ; 0xf2fbe
    sti                                       ; fb                          ; 0xf2fc0 floppy.c:133
    jmp short 02fe1h                          ; eb 1e                       ; 0xf2fc1 floppy.c:134
    mov bx, strict word 0003eh                ; bb 3e 00                    ; 0xf2fc3 floppy.c:48
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf2fc6
    mov es, ax                                ; 8e c0                       ; 0xf2fc9
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf2fcb
    test AL, strict byte 080h                 ; a8 80                       ; 0xf2fce floppy.c:138
    je short 02fdch                           ; 74 0a                       ; 0xf2fd0
    mov ah, al                                ; 88 c4                       ; 0xf2fd2 floppy.c:139
    and ah, 07fh                              ; 80 e4 7f                    ; 0xf2fd4
    mov byte [es:bx], ah                      ; 26 88 27                    ; 0xf2fd7 floppy.c:53
    jmp short 02fe1h                          ; eb 05                       ; 0xf2fda floppy.c:140
    sti                                       ; fb                          ; 0xf2fdc floppy.c:142
    hlt                                       ; f4                          ; 0xf2fdd
    cli                                       ; fa                          ; 0xf2fde
    jmp short 02fb4h                          ; eb d3                       ; 0xf2fdf floppy.c:143
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xf2fe1 floppy.c:144
    pop bx                                    ; 5b                          ; 0xf2fe4
    pop bp                                    ; 5d                          ; 0xf2fe5
    retn                                      ; c3                          ; 0xf2fe6
  ; disGetNextSymbol 0xf2fe7 LB 0x7e35 -> off=0x0 cb=0000000000000042 uValue=00000000000f19e7 'floppy_reset_controller'
floppy_reset_controller:                     ; 0xf2fe7 LB 0x42
    push bp                                   ; 55                          ; 0xf2fe7 floppy.c:148
    mov bp, sp                                ; 89 e5                       ; 0xf2fe8
    push bx                                   ; 53                          ; 0xf2fea
    push cx                                   ; 51                          ; 0xf2feb
    push dx                                   ; 52                          ; 0xf2fec
    mov cx, ax                                ; 89 c1                       ; 0xf2fed
    mov dx, 003f2h                            ; ba f2 03                    ; 0xf2fef floppy.c:153
    in AL, DX                                 ; ec                          ; 0xf2ff2
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf2ff3
    mov bx, ax                                ; 89 c3                       ; 0xf2ff5
    movzx ax, bl                              ; 0f b6 c3                    ; 0xf2ff7 floppy.c:154
    and AL, strict byte 0fbh                  ; 24 fb                       ; 0xf2ffa
    out DX, AL                                ; ee                          ; 0xf2ffc
    mov al, bl                                ; 88 d8                       ; 0xf2ffd floppy.c:155
    or AL, strict byte 004h                   ; 0c 04                       ; 0xf2fff
    out DX, AL                                ; ee                          ; 0xf3001
    mov dx, 003f4h                            ; ba f4 03                    ; 0xf3002 floppy.c:159
    in AL, DX                                 ; ec                          ; 0xf3005
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf3006
    and AL, strict byte 0c0h                  ; 24 c0                       ; 0xf3008 floppy.c:160
    cmp AL, strict byte 080h                  ; 3c 80                       ; 0xf300a
    jne short 03002h                          ; 75 f4                       ; 0xf300c
    mov bx, cx                                ; 89 cb                       ; 0xf300e floppy.c:163
    add bx, 00090h                            ; 81 c3 90 00                 ; 0xf3010
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf3014 floppy.c:48
    mov es, ax                                ; 8e c0                       ; 0xf3017
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf3019
    and AL, strict byte 0efh                  ; 24 ef                       ; 0xf301c floppy.c:164
    mov byte [es:bx], al                      ; 26 88 07                    ; 0xf301e floppy.c:53
    lea sp, [bp-006h]                         ; 8d 66 fa                    ; 0xf3021 floppy.c:167
    pop dx                                    ; 5a                          ; 0xf3024
    pop cx                                    ; 59                          ; 0xf3025
    pop bx                                    ; 5b                          ; 0xf3026
    pop bp                                    ; 5d                          ; 0xf3027
    retn                                      ; c3                          ; 0xf3028
  ; disGetNextSymbol 0xf3029 LB 0x7df3 -> off=0x0 cb=0000000000000074 uValue=00000000000f1a29 'floppy_prepare_controller'
floppy_prepare_controller:                   ; 0xf3029 LB 0x74
    push bp                                   ; 55                          ; 0xf3029 floppy.c:169
    mov bp, sp                                ; 89 e5                       ; 0xf302a
    push bx                                   ; 53                          ; 0xf302c
    push cx                                   ; 51                          ; 0xf302d
    push dx                                   ; 52                          ; 0xf302e
    push ax                                   ; 50                          ; 0xf302f
    mov cx, ax                                ; 89 c1                       ; 0xf3030
    mov bx, strict word 0003eh                ; bb 3e 00                    ; 0xf3032 floppy.c:48
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf3035
    mov es, ax                                ; 8e c0                       ; 0xf3038
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf303a
    and AL, strict byte 07fh                  ; 24 7f                       ; 0xf303d floppy.c:175
    mov byte [es:bx], al                      ; 26 88 07                    ; 0xf303f floppy.c:53
    mov dx, 003f2h                            ; ba f2 03                    ; 0xf3042 floppy.c:179
    in AL, DX                                 ; ec                          ; 0xf3045
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf3046
    and AL, strict byte 004h                  ; 24 04                       ; 0xf3048
    mov byte [bp-008h], al                    ; 88 46 f8                    ; 0xf304a
    test cx, cx                               ; 85 c9                       ; 0xf304d floppy.c:180
    je short 03055h                           ; 74 04                       ; 0xf304f
    mov AL, strict byte 020h                  ; b0 20                       ; 0xf3051 floppy.c:181
    jmp short 03057h                          ; eb 02                       ; 0xf3053 floppy.c:182
    mov AL, strict byte 010h                  ; b0 10                       ; 0xf3055 floppy.c:183
    or AL, strict byte 00ch                   ; 0c 0c                       ; 0xf3057 floppy.c:184
    or al, cl                                 ; 08 c8                       ; 0xf3059 floppy.c:185
    mov dx, 003f2h                            ; ba f2 03                    ; 0xf305b floppy.c:186
    out DX, AL                                ; ee                          ; 0xf305e
    mov bx, strict word 00040h                ; bb 40 00                    ; 0xf305f floppy.c:53
    mov es, bx                                ; 8e c3                       ; 0xf3062
    mov byte [es:bx], 025h                    ; 26 c6 07 25                 ; 0xf3064
    mov bx, 0008bh                            ; bb 8b 00                    ; 0xf3068 floppy.c:48
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf306b
    shr al, 006h                              ; c0 e8 06                    ; 0xf306e floppy.c:193
    mov dx, 003f7h                            ; ba f7 03                    ; 0xf3071 floppy.c:194
    out DX, AL                                ; ee                          ; 0xf3074
    mov dx, 003f4h                            ; ba f4 03                    ; 0xf3075 floppy.c:198
    in AL, DX                                 ; ec                          ; 0xf3078
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf3079
    and AL, strict byte 0c0h                  ; 24 c0                       ; 0xf307b floppy.c:199
    cmp AL, strict byte 080h                  ; 3c 80                       ; 0xf307d
    jne short 03075h                          ; 75 f4                       ; 0xf307f
    cmp byte [bp-008h], 000h                  ; 80 7e f8 00                 ; 0xf3081 floppy.c:201
    jne short 03095h                          ; 75 0e                       ; 0xf3085
    call 02f8ch                               ; e8 02 ff                    ; 0xf3087 floppy.c:212
    mov bx, strict word 0003eh                ; bb 3e 00                    ; 0xf308a floppy.c:53
    mov dx, strict word 00040h                ; ba 40 00                    ; 0xf308d
    mov es, dx                                ; 8e c2                       ; 0xf3090
    mov byte [es:bx], al                      ; 26 88 07                    ; 0xf3092
    lea sp, [bp-006h]                         ; 8d 66 fa                    ; 0xf3095 floppy.c:216
    pop dx                                    ; 5a                          ; 0xf3098
    pop cx                                    ; 59                          ; 0xf3099
    pop bx                                    ; 5b                          ; 0xf309a
    pop bp                                    ; 5d                          ; 0xf309b
    retn                                      ; c3                          ; 0xf309c
  ; disGetNextSymbol 0xf309d LB 0x7d7f -> off=0x0 cb=0000000000000049 uValue=00000000000f1a9d 'floppy_media_known'
floppy_media_known:                          ; 0xf309d LB 0x49
    push bx                                   ; 53                          ; 0xf309d floppy.c:218
    push dx                                   ; 52                          ; 0xf309e
    push bp                                   ; 55                          ; 0xf309f
    mov bp, sp                                ; 89 e5                       ; 0xf30a0
    mov bx, strict word 0003eh                ; bb 3e 00                    ; 0xf30a2 floppy.c:48
    mov dx, strict word 00040h                ; ba 40 00                    ; 0xf30a5
    mov es, dx                                ; 8e c2                       ; 0xf30a8
    mov bh, byte [es:bx]                      ; 26 8a 3f                    ; 0xf30aa
    mov bl, bh                                ; 88 fb                       ; 0xf30ad floppy.c:49
    test ax, ax                               ; 85 c0                       ; 0xf30af floppy.c:224
    je short 030b5h                           ; 74 02                       ; 0xf30b1
    shr bl, 1                                 ; d0 eb                       ; 0xf30b3 floppy.c:225
    and bl, 001h                              ; 80 e3 01                    ; 0xf30b5 floppy.c:226
    jne short 030beh                          ; 75 04                       ; 0xf30b8 floppy.c:227
    xor bh, bh                                ; 30 ff                       ; 0xf30ba floppy.c:228
    jmp short 030e0h                          ; eb 22                       ; 0xf30bc
    mov bx, 00090h                            ; bb 90 00                    ; 0xf30be floppy.c:230
    test ax, ax                               ; 85 c0                       ; 0xf30c1 floppy.c:231
    je short 030c8h                           ; 74 03                       ; 0xf30c3
    mov bx, 00091h                            ; bb 91 00                    ; 0xf30c5 floppy.c:232
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf30c8 floppy.c:48
    mov es, ax                                ; 8e c0                       ; 0xf30cb
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf30cd
    xor ah, ah                                ; 30 e4                       ; 0xf30d0 floppy.c:235
    sar ax, 004h                              ; c1 f8 04                    ; 0xf30d2
    and AL, strict byte 001h                  ; 24 01                       ; 0xf30d5
    jne short 030ddh                          ; 75 04                       ; 0xf30d7 floppy.c:236
    xor bx, bx                                ; 31 db                       ; 0xf30d9 floppy.c:237
    jmp short 030e0h                          ; eb 03                       ; 0xf30db
    mov bx, strict word 00001h                ; bb 01 00                    ; 0xf30dd floppy.c:240
    mov ax, bx                                ; 89 d8                       ; 0xf30e0 floppy.c:241
    pop bp                                    ; 5d                          ; 0xf30e2
    pop dx                                    ; 5a                          ; 0xf30e3
    pop bx                                    ; 5b                          ; 0xf30e4
    retn                                      ; c3                          ; 0xf30e5
  ; disGetNextSymbol 0xf30e6 LB 0x7d36 -> off=0x0 cb=000000000000004e uValue=00000000000f1ae6 'floppy_read_id'
floppy_read_id:                              ; 0xf30e6 LB 0x4e
    push bp                                   ; 55                          ; 0xf30e6 floppy.c:243
    mov bp, sp                                ; 89 e5                       ; 0xf30e7
    push bx                                   ; 53                          ; 0xf30e9
    push dx                                   ; 52                          ; 0xf30ea
    push si                                   ; 56                          ; 0xf30eb
    mov bx, ax                                ; 89 c3                       ; 0xf30ec
    call 03029h                               ; e8 38 ff                    ; 0xf30ee floppy.c:250
    mov AL, strict byte 04ah                  ; b0 4a                       ; 0xf30f1 floppy.c:253
    mov dx, 003f5h                            ; ba f5 03                    ; 0xf30f3
    out DX, AL                                ; ee                          ; 0xf30f6
    mov al, bl                                ; 88 d8                       ; 0xf30f7 floppy.c:254
    out DX, AL                                ; ee                          ; 0xf30f9
    call 02f8ch                               ; e8 8f fe                    ; 0xf30fa floppy.c:269
    xor bx, bx                                ; 31 db                       ; 0xf30fd floppy.c:273
    jmp short 03106h                          ; eb 05                       ; 0xf30ff
    cmp bx, strict byte 00007h                ; 83 fb 07                    ; 0xf3101
    jnl short 0311ah                          ; 7d 14                       ; 0xf3104
    mov dx, 003f5h                            ; ba f5 03                    ; 0xf3106 floppy.c:274
    in AL, DX                                 ; ec                          ; 0xf3109
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf310a
    lea si, [bx+042h]                         ; 8d 77 42                    ; 0xf310c
    mov dx, strict word 00040h                ; ba 40 00                    ; 0xf310f floppy.c:53
    mov es, dx                                ; 8e c2                       ; 0xf3112
    mov byte [es:si], al                      ; 26 88 04                    ; 0xf3114
    inc bx                                    ; 43                          ; 0xf3117 floppy.c:274
    jmp short 03101h                          ; eb e7                       ; 0xf3118
    mov bx, strict word 00042h                ; bb 42 00                    ; 0xf311a floppy.c:48
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf311d
    mov es, ax                                ; 8e c0                       ; 0xf3120
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf3122
    test AL, strict byte 0c0h                 ; a8 c0                       ; 0xf3125 floppy.c:49
    db  00fh, 094h, 0c0h
    ; sete al                                   ; 0f 94 c0                  ; 0xf3127
    xor ah, ah                                ; 30 e4                       ; 0xf312a
    lea sp, [bp-006h]                         ; 8d 66 fa                    ; 0xf312c floppy.c:280
    pop si                                    ; 5e                          ; 0xf312f
    pop dx                                    ; 5a                          ; 0xf3130
    pop bx                                    ; 5b                          ; 0xf3131
    pop bp                                    ; 5d                          ; 0xf3132
    retn                                      ; c3                          ; 0xf3133
  ; disGetNextSymbol 0xf3134 LB 0x7ce8 -> off=0x0 cb=0000000000000041 uValue=00000000000f1b34 'floppy_drive_recal'
floppy_drive_recal:                          ; 0xf3134 LB 0x41
    push bp                                   ; 55                          ; 0xf3134 floppy.c:282
    mov bp, sp                                ; 89 e5                       ; 0xf3135
    push bx                                   ; 53                          ; 0xf3137
    push dx                                   ; 52                          ; 0xf3138
    push si                                   ; 56                          ; 0xf3139
    mov bx, ax                                ; 89 c3                       ; 0xf313a
    call 03029h                               ; e8 ea fe                    ; 0xf313c floppy.c:287
    mov AL, strict byte 007h                  ; b0 07                       ; 0xf313f floppy.c:290
    mov dx, 003f5h                            ; ba f5 03                    ; 0xf3141
    out DX, AL                                ; ee                          ; 0xf3144
    mov al, bl                                ; 88 d8                       ; 0xf3145 floppy.c:291
    out DX, AL                                ; ee                          ; 0xf3147
    call 02f8ch                               ; e8 41 fe                    ; 0xf3148 floppy.c:310
    test bx, bx                               ; 85 db                       ; 0xf314b floppy.c:314
    je short 03156h                           ; 74 07                       ; 0xf314d
    or AL, strict byte 002h                   ; 0c 02                       ; 0xf314f floppy.c:315
    mov bx, 00095h                            ; bb 95 00                    ; 0xf3151 floppy.c:316
    jmp short 0315bh                          ; eb 05                       ; 0xf3154 floppy.c:317
    or AL, strict byte 001h                   ; 0c 01                       ; 0xf3156 floppy.c:318
    mov bx, 00094h                            ; bb 94 00                    ; 0xf3158 floppy.c:319
    mov si, strict word 0003eh                ; be 3e 00                    ; 0xf315b floppy.c:53
    mov dx, strict word 00040h                ; ba 40 00                    ; 0xf315e
    mov es, dx                                ; 8e c2                       ; 0xf3161
    mov byte [es:si], al                      ; 26 88 04                    ; 0xf3163
    mov byte [es:bx], 000h                    ; 26 c6 07 00                 ; 0xf3166 floppy.c:53
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xf316a floppy.c:325
    lea sp, [bp-006h]                         ; 8d 66 fa                    ; 0xf316d
    pop si                                    ; 5e                          ; 0xf3170
    pop dx                                    ; 5a                          ; 0xf3171
    pop bx                                    ; 5b                          ; 0xf3172
    pop bp                                    ; 5d                          ; 0xf3173
    retn                                      ; c3                          ; 0xf3174
  ; disGetNextSymbol 0xf3175 LB 0x7ca7 -> off=0x0 cb=00000000000000e4 uValue=00000000000f1b75 'floppy_media_sense'
floppy_media_sense:                          ; 0xf3175 LB 0xe4
    push bp                                   ; 55                          ; 0xf3175 floppy.c:328
    mov bp, sp                                ; 89 e5                       ; 0xf3176
    push bx                                   ; 53                          ; 0xf3178
    push cx                                   ; 51                          ; 0xf3179
    push dx                                   ; 52                          ; 0xf317a
    push si                                   ; 56                          ; 0xf317b
    mov bx, ax                                ; 89 c3                       ; 0xf317c
    call 03134h                               ; e8 b3 ff                    ; 0xf317e floppy.c:334
    test ax, ax                               ; 85 c0                       ; 0xf3181
    jne short 0318ah                          ; 75 05                       ; 0xf3183
    xor dx, dx                                ; 31 d2                       ; 0xf3185 floppy.c:335
    jmp near 0324eh                           ; e9 c4 00                    ; 0xf3187
    mov ax, strict word 00010h                ; b8 10 00                    ; 0xf318a floppy.c:370
    call 0176ah                               ; e8 da e5                    ; 0xf318d
    test bx, bx                               ; 85 db                       ; 0xf3190 floppy.c:371
    jne short 0319bh                          ; 75 07                       ; 0xf3192
    mov dl, al                                ; 88 c2                       ; 0xf3194 floppy.c:372
    shr dl, 004h                              ; c0 ea 04                    ; 0xf3196
    jmp short 031a0h                          ; eb 05                       ; 0xf3199 floppy.c:373
    mov dl, al                                ; 88 c2                       ; 0xf319b floppy.c:374
    and dl, 00fh                              ; 80 e2 0f                    ; 0xf319d
    cmp dl, 001h                              ; 80 fa 01                    ; 0xf31a0 floppy.c:375
    jne short 031aeh                          ; 75 09                       ; 0xf31a3
    xor dl, dl                                ; 30 d2                       ; 0xf31a5 floppy.c:377
    mov DH, strict byte 015h                  ; b6 15                       ; 0xf31a7 floppy.c:378
    mov cx, strict word 00001h                ; b9 01 00                    ; 0xf31a9 floppy.c:379
    jmp short 031ech                          ; eb 3e                       ; 0xf31ac floppy.c:381
    cmp dl, 002h                              ; 80 fa 02                    ; 0xf31ae
    jne short 031b9h                          ; 75 06                       ; 0xf31b1
    xor dl, dl                                ; 30 d2                       ; 0xf31b3 floppy.c:383
    mov DH, strict byte 035h                  ; b6 35                       ; 0xf31b5 floppy.c:384
    jmp short 031a9h                          ; eb f0                       ; 0xf31b7
    cmp dl, 003h                              ; 80 fa 03                    ; 0xf31b9 floppy.c:387
    jne short 031c4h                          ; 75 06                       ; 0xf31bc
    xor dl, dl                                ; 30 d2                       ; 0xf31be floppy.c:389
    mov DH, strict byte 017h                  ; b6 17                       ; 0xf31c0 floppy.c:390
    jmp short 031a9h                          ; eb e5                       ; 0xf31c2
    cmp dl, 004h                              ; 80 fa 04                    ; 0xf31c4 floppy.c:393
    jne short 031cfh                          ; 75 06                       ; 0xf31c7
    xor dl, dl                                ; 30 d2                       ; 0xf31c9 floppy.c:395
    mov DH, strict byte 017h                  ; b6 17                       ; 0xf31cb floppy.c:396
    jmp short 031a9h                          ; eb da                       ; 0xf31cd
    cmp dl, 005h                              ; 80 fa 05                    ; 0xf31cf floppy.c:399
    jne short 031dah                          ; 75 06                       ; 0xf31d2
    mov DL, strict byte 0cch                  ; b2 cc                       ; 0xf31d4 floppy.c:401
    mov DH, strict byte 0d7h                  ; b6 d7                       ; 0xf31d6 floppy.c:402
    jmp short 031a9h                          ; eb cf                       ; 0xf31d8
    cmp dl, 00eh                              ; 80 fa 0e                    ; 0xf31da floppy.c:406
    je short 031e4h                           ; 74 05                       ; 0xf31dd
    cmp dl, 00fh                              ; 80 fa 0f                    ; 0xf31df
    jne short 031e6h                          ; 75 02                       ; 0xf31e2
    jmp short 031d4h                          ; eb ee                       ; 0xf31e4
    xor dl, dl                                ; 30 d2                       ; 0xf31e6 floppy.c:414
    xor dh, dh                                ; 30 f6                       ; 0xf31e8 floppy.c:415
    xor cx, cx                                ; 31 c9                       ; 0xf31ea floppy.c:416
    mov si, 0008bh                            ; be 8b 00                    ; 0xf31ec floppy.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf31ef
    mov es, ax                                ; 8e c0                       ; 0xf31f2
    mov byte [es:si], dl                      ; 26 88 14                    ; 0xf31f4
    mov ax, bx                                ; 89 d8                       ; 0xf31f7 floppy.c:420
    call 030e6h                               ; e8 ea fe                    ; 0xf31f9
    test ax, ax                               ; 85 c0                       ; 0xf31fc
    jne short 03232h                          ; 75 32                       ; 0xf31fe
    mov al, dl                                ; 88 d0                       ; 0xf3200 floppy.c:421
    and AL, strict byte 0c0h                  ; 24 c0                       ; 0xf3202
    cmp AL, strict byte 080h                  ; 3c 80                       ; 0xf3204
    je short 03232h                           ; 74 2a                       ; 0xf3206
    mov al, dl                                ; 88 d0                       ; 0xf3208 floppy.c:425
    and AL, strict byte 0c0h                  ; 24 c0                       ; 0xf320a
    cmp AL, strict byte 0c0h                  ; 3c c0                       ; 0xf320c
    je short 0321fh                           ; 74 0f                       ; 0xf320e
    mov ah, dl                                ; 88 d4                       ; 0xf3210
    and ah, 03fh                              ; 80 e4 3f                    ; 0xf3212
    cmp AL, strict byte 040h                  ; 3c 40                       ; 0xf3215
    je short 0322bh                           ; 74 12                       ; 0xf3217
    test al, al                               ; 84 c0                       ; 0xf3219
    je short 03224h                           ; 74 07                       ; 0xf321b
    jmp short 031ech                          ; eb cd                       ; 0xf321d
    and dl, 03fh                              ; 80 e2 3f                    ; 0xf321f floppy.c:427
    jmp short 031ech                          ; eb c8                       ; 0xf3222 floppy.c:428
    mov dl, ah                                ; 88 e2                       ; 0xf3224 floppy.c:430
    or dl, 040h                               ; 80 ca 40                    ; 0xf3226
    jmp short 031ech                          ; eb c1                       ; 0xf3229 floppy.c:431
    mov dl, ah                                ; 88 e2                       ; 0xf322b floppy.c:433
    or dl, 080h                               ; 80 ca 80                    ; 0xf322d
    jmp short 031ech                          ; eb ba                       ; 0xf3230 floppy.c:437
    test bx, bx                               ; 85 db                       ; 0xf3232 floppy.c:439
    db  00fh, 095h, 0c0h
    ; setne al                                  ; 0f 95 c0                  ; 0xf3234
    movzx bx, al                              ; 0f b6 d8                    ; 0xf3237
    add bx, 00090h                            ; 81 c3 90 00                 ; 0xf323a
    mov si, 0008bh                            ; be 8b 00                    ; 0xf323e floppy.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf3241
    mov es, ax                                ; 8e c0                       ; 0xf3244
    mov byte [es:si], dl                      ; 26 88 14                    ; 0xf3246
    mov byte [es:bx], dh                      ; 26 88 37                    ; 0xf3249 floppy.c:53
    mov dx, cx                                ; 89 ca                       ; 0xf324c floppy.c:446
    mov ax, dx                                ; 89 d0                       ; 0xf324e floppy.c:447
    lea sp, [bp-008h]                         ; 8d 66 f8                    ; 0xf3250
    pop si                                    ; 5e                          ; 0xf3253
    pop dx                                    ; 5a                          ; 0xf3254
    pop cx                                    ; 59                          ; 0xf3255
    pop bx                                    ; 5b                          ; 0xf3256
    pop bp                                    ; 5d                          ; 0xf3257
    retn                                      ; c3                          ; 0xf3258
  ; disGetNextSymbol 0xf3259 LB 0x7bc3 -> off=0x0 cb=0000000000000024 uValue=00000000000f1c59 'floppy_drive_exists'
floppy_drive_exists:                         ; 0xf3259 LB 0x24
    push bp                                   ; 55                          ; 0xf3259 floppy.c:450
    mov bp, sp                                ; 89 e5                       ; 0xf325a
    push dx                                   ; 52                          ; 0xf325c
    mov dx, ax                                ; 89 c2                       ; 0xf325d
    mov ax, strict word 00010h                ; b8 10 00                    ; 0xf325f floppy.c:456
    call 0176ah                               ; e8 05 e5                    ; 0xf3262
    test dx, dx                               ; 85 d2                       ; 0xf3265 floppy.c:457
    jne short 0326eh                          ; 75 05                       ; 0xf3267
    shr al, 004h                              ; c0 e8 04                    ; 0xf3269 floppy.c:458
    jmp short 03270h                          ; eb 02                       ; 0xf326c floppy.c:459
    and AL, strict byte 00fh                  ; 24 0f                       ; 0xf326e floppy.c:460
    test al, al                               ; 84 c0                       ; 0xf3270 floppy.c:461
    db  00fh, 095h, 0c0h
    ; setne al                                  ; 0f 95 c0                  ; 0xf3272
    xor ah, ah                                ; 30 e4                       ; 0xf3275
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xf3277 floppy.c:462
    pop dx                                    ; 5a                          ; 0xf327a
    pop bp                                    ; 5d                          ; 0xf327b
    retn                                      ; c3                          ; 0xf327c
  ; disGetNextSymbol 0xf327d LB 0x7b9f -> off=0x23 cb=0000000000000984 uValue=00000000000f1ca0 'int13_diskette_function'
    db  018h, 017h, 016h, 015h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 001h, 03ch, 0e0h, 032h, 05dh
    db  033h, 07dh, 033h, 07dh, 033h, 07dh, 033h, 0f8h, 036h, 0b6h, 038h, 0a6h, 039h, 0e8h, 039h, 01ch
    db  03ah, 08eh, 03ah
int13_diskette_function:                     ; 0xf32a0 LB 0x984
    push bp                                   ; 55                          ; 0xf32a0 floppy.c:477
    mov bp, sp                                ; 89 e5                       ; 0xf32a1
    sub sp, strict byte 0000ch                ; 83 ec 0c                    ; 0xf32a3
    or byte [bp+01dh], 002h                   ; 80 4e 1d 02                 ; 0xf32a6 floppy.c:488
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf32aa floppy.c:490
    shr ax, 008h                              ; c1 e8 08                    ; 0xf32ad
    cmp ax, strict word 00018h                ; 3d 18 00                    ; 0xf32b0
    jnbe near 03c01h                          ; 0f 87 4a 09                 ; 0xf32b3
    push CS                                   ; 0e                          ; 0xf32b7
    pop ES                                    ; 07                          ; 0xf32b8
    mov cx, strict word 0000ch                ; b9 0c 00                    ; 0xf32b9
    mov di, 0327dh                            ; bf 7d 32                    ; 0xf32bc
    repne scasb                               ; f2 ae                       ; 0xf32bf
    sal cx, 1                                 ; d1 e1                       ; 0xf32c1
    mov di, cx                                ; 89 cf                       ; 0xf32c3
    mov di, word [cs:di+03288h]               ; 2e 8b bd 88 32              ; 0xf32c5
    mov dx, word [bp+016h]                    ; 8b 56 16                    ; 0xf32ca
    xor dh, dh                                ; 30 f6                       ; 0xf32cd
    mov ah, byte [bp+00eh]                    ; 8a 66 0e                    ; 0xf32cf
    mov cx, word [bp+01ch]                    ; 8b 4e 1c                    ; 0xf32d2
    or cl, 001h                               ; 80 c9 01                    ; 0xf32d5
    mov si, dx                                ; 89 d6                       ; 0xf32d8
    or si, 00100h                             ; 81 ce 00 01                 ; 0xf32da
    jmp di                                    ; ff e7                       ; 0xf32de
    mov bl, byte [bp+00eh]                    ; 8a 5e 0e                    ; 0xf32e0 floppy.c:493
    cmp bl, 001h                              ; 80 fb 01                    ; 0xf32e3 floppy.c:494
    jbe short 03302h                          ; 76 1a                       ; 0xf32e6
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf32e8 floppy.c:495
    xor ah, ah                                ; 30 e4                       ; 0xf32eb
    or ah, 001h                               ; 80 cc 01                    ; 0xf32ed
    mov word [bp+016h], ax                    ; 89 46 16                    ; 0xf32f0
    mov bx, strict word 00041h                ; bb 41 00                    ; 0xf32f3 floppy.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf32f6
    mov es, ax                                ; 8e c0                       ; 0xf32f9
    mov byte [es:bx], 001h                    ; 26 c6 07 01                 ; 0xf32fb
    jmp near 03aeeh                           ; e9 ec 07                    ; 0xf32ff
    mov ax, strict word 00010h                ; b8 10 00                    ; 0xf3302 floppy.c:501
    call 0176ah                               ; e8 62 e4                    ; 0xf3305
    test bl, bl                               ; 84 db                       ; 0xf3308 floppy.c:502
    jne short 03313h                          ; 75 07                       ; 0xf330a
    mov dl, al                                ; 88 c2                       ; 0xf330c floppy.c:503
    shr dl, 004h                              ; c0 ea 04                    ; 0xf330e
    jmp short 03318h                          ; eb 05                       ; 0xf3311 floppy.c:504
    mov dl, al                                ; 88 c2                       ; 0xf3313 floppy.c:505
    and dl, 00fh                              ; 80 e2 0f                    ; 0xf3315
    test dl, dl                               ; 84 d2                       ; 0xf3318 floppy.c:506
    jne short 03336h                          ; 75 1a                       ; 0xf331a
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf331c floppy.c:507
    xor ah, ah                                ; 30 e4                       ; 0xf331f
    or ah, 080h                               ; 80 cc 80                    ; 0xf3321
    mov word [bp+016h], ax                    ; 89 46 16                    ; 0xf3324
    mov bx, strict word 00041h                ; bb 41 00                    ; 0xf3327 floppy.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf332a
    mov es, ax                                ; 8e c0                       ; 0xf332d
    mov byte [es:bx], 080h                    ; 26 c6 07 80                 ; 0xf332f
    jmp near 03aeeh                           ; e9 b8 07                    ; 0xf3333
    mov si, strict word 0003eh                ; be 3e 00                    ; 0xf3336 floppy.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf3339
    mov es, ax                                ; 8e c0                       ; 0xf333c
    mov byte [es:si], 000h                    ; 26 c6 04 00                 ; 0xf333e
    xor al, al                                ; 30 c0                       ; 0xf3342 floppy.c:516
    mov byte [bp+017h], al                    ; 88 46 17                    ; 0xf3344
    mov si, strict word 00041h                ; be 41 00                    ; 0xf3347 floppy.c:53
    mov byte [es:si], al                      ; 26 88 04                    ; 0xf334a
    and byte [bp+01ch], 0feh                  ; 80 66 1c fe                 ; 0xf334d floppy.c:518
    movzx ax, bl                              ; 0f b6 c3                    ; 0xf3351 floppy.c:519
    xor dx, dx                                ; 31 d2                       ; 0xf3354
    call 02f62h                               ; e8 09 fc                    ; 0xf3356
    mov sp, bp                                ; 89 ec                       ; 0xf3359 floppy.c:520
    pop bp                                    ; 5d                          ; 0xf335b
    retn                                      ; c3                          ; 0xf335c
    and byte [bp+01ch], 0feh                  ; 80 66 1c fe                 ; 0xf335d floppy.c:523
    mov bx, 00441h                            ; bb 41 04                    ; 0xf3361 floppy.c:48
    xor ax, ax                                ; 31 c0                       ; 0xf3364
    mov es, ax                                ; 8e c0                       ; 0xf3366
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf3368
    movzx bx, al                              ; 0f b6 d8                    ; 0xf336b floppy.c:525
    sal bx, 008h                              ; c1 e3 08                    ; 0xf336e
    or dx, bx                                 ; 09 da                       ; 0xf3371
    mov word [bp+016h], dx                    ; 89 56 16                    ; 0xf3373
    test al, al                               ; 84 c0                       ; 0xf3376 floppy.c:526
    je short 03359h                           ; 74 df                       ; 0xf3378
    jmp near 03aeeh                           ; e9 71 07                    ; 0xf337a
    mov bh, byte [bp+016h]                    ; 8a 7e 16                    ; 0xf337d floppy.c:534
    mov ax, word [bp+014h]                    ; 8b 46 14                    ; 0xf3380 floppy.c:535
    shr ax, 008h                              ; c1 e8 08                    ; 0xf3383
    mov byte [bp-002h], al                    ; 88 46 fe                    ; 0xf3386
    mov al, byte [bp+014h]                    ; 8a 46 14                    ; 0xf3389 floppy.c:536
    mov byte [bp-006h], al                    ; 88 46 fa                    ; 0xf338c
    mov ax, word [bp+012h]                    ; 8b 46 12                    ; 0xf338f floppy.c:537
    shr ax, 008h                              ; c1 e8 08                    ; 0xf3392
    mov byte [bp-004h], al                    ; 88 46 fc                    ; 0xf3395
    mov bl, byte [bp+00eh]                    ; 8a 5e 0e                    ; 0xf3398 floppy.c:538
    cmp bl, 001h                              ; 80 fb 01                    ; 0xf339b floppy.c:540
    jnbe short 033adh                         ; 77 0d                       ; 0xf339e
    cmp AL, strict byte 001h                  ; 3c 01                       ; 0xf33a0
    jnbe short 033adh                         ; 77 09                       ; 0xf33a2
    test bh, bh                               ; 84 ff                       ; 0xf33a4
    je short 033adh                           ; 74 05                       ; 0xf33a6
    cmp bh, 048h                              ; 80 ff 48                    ; 0xf33a8
    jbe short 033e0h                          ; 76 33                       ; 0xf33ab
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf33ad floppy.c:542
    mov cx, ds                                ; 8c d9                       ; 0xf33b0
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf33b2
    call 01a27h                               ; e8 6f e6                    ; 0xf33b5
    push 002f7h                               ; 68 f7 02                    ; 0xf33b8
    push 0030fh                               ; 68 0f 03                    ; 0xf33bb
    push strict byte 00004h                   ; 6a 04                       ; 0xf33be
    call 01a68h                               ; e8 a5 e6                    ; 0xf33c0
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf33c3
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf33c6 floppy.c:543
    xor ah, ah                                ; 30 e4                       ; 0xf33c9
    or ah, 001h                               ; 80 cc 01                    ; 0xf33cb
    mov word [bp+016h], ax                    ; 89 46 16                    ; 0xf33ce
    mov bx, strict word 00041h                ; bb 41 00                    ; 0xf33d1 floppy.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf33d4
    mov es, ax                                ; 8e c0                       ; 0xf33d7
    mov byte [es:bx], 001h                    ; 26 c6 07 01                 ; 0xf33d9
    jmp near 0346bh                           ; e9 8b 00                    ; 0xf33dd
    movzx ax, bl                              ; 0f b6 c3                    ; 0xf33e0 floppy.c:545
    call 03259h                               ; e8 73 fe                    ; 0xf33e3
    test ax, ax                               ; 85 c0                       ; 0xf33e6
    je near 03502h                            ; 0f 84 16 01                 ; 0xf33e8
    movzx cx, bl                              ; 0f b6 cb                    ; 0xf33ec floppy.c:561
    mov ax, cx                                ; 89 c8                       ; 0xf33ef
    call 0309dh                               ; e8 a9 fc                    ; 0xf33f1
    test ax, ax                               ; 85 c0                       ; 0xf33f4
    jne short 0341ah                          ; 75 22                       ; 0xf33f6
    mov ax, cx                                ; 89 c8                       ; 0xf33f8 floppy.c:562
    call 03175h                               ; e8 78 fd                    ; 0xf33fa
    test ax, ax                               ; 85 c0                       ; 0xf33fd
    jne short 0341ah                          ; 75 19                       ; 0xf33ff
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf3401 floppy.c:564
    xor ah, ah                                ; 30 e4                       ; 0xf3404
    or ah, 00ch                               ; 80 cc 0c                    ; 0xf3406
    mov word [bp+016h], ax                    ; 89 46 16                    ; 0xf3409
    mov bx, strict word 00041h                ; bb 41 00                    ; 0xf340c floppy.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf340f
    mov es, ax                                ; 8e c0                       ; 0xf3412
    mov byte [es:bx], 00ch                    ; 26 c6 07 0c                 ; 0xf3414
    jmp short 0346bh                          ; eb 51                       ; 0xf3418
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf341a floppy.c:572
    shr ax, 008h                              ; c1 e8 08                    ; 0xf341d
    cmp ax, strict word 00002h                ; 3d 02 00                    ; 0xf3420
    jne near 035b6h                           ; 0f 85 8f 01                 ; 0xf3423
    mov dx, word [bp+006h]                    ; 8b 56 06                    ; 0xf3427 floppy.c:583
    shr dx, 00ch                              ; c1 ea 0c                    ; 0xf342a
    mov ah, dl                                ; 88 d4                       ; 0xf342d
    mov cx, word [bp+006h]                    ; 8b 4e 06                    ; 0xf342f floppy.c:584
    sal cx, 004h                              ; c1 e1 04                    ; 0xf3432
    mov si, word [bp+010h]                    ; 8b 76 10                    ; 0xf3435 floppy.c:585
    add si, cx                                ; 01 ce                       ; 0xf3438
    mov word [bp-008h], si                    ; 89 76 f8                    ; 0xf343a
    cmp cx, si                                ; 39 f1                       ; 0xf343d floppy.c:587
    jbe short 03443h                          ; 76 02                       ; 0xf343f
    db  0feh, 0c4h
    ; inc ah                                    ; fe c4                     ; 0xf3441 floppy.c:589
    movzx cx, bh                              ; 0f b6 cf                    ; 0xf3443 floppy.c:591
    sal cx, 009h                              ; c1 e1 09                    ; 0xf3446
    dec cx                                    ; 49                          ; 0xf3449
    mov dx, word [bp-008h]                    ; 8b 56 f8                    ; 0xf344a floppy.c:594
    add dx, cx                                ; 01 ca                       ; 0xf344d
    cmp dx, word [bp-008h]                    ; 3b 56 f8                    ; 0xf344f floppy.c:595
    jnc short 03472h                          ; 73 1e                       ; 0xf3452
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf3454 floppy.c:596
    xor ah, ah                                ; 30 e4                       ; 0xf3457
    or ah, 009h                               ; 80 cc 09                    ; 0xf3459
    mov word [bp+016h], ax                    ; 89 46 16                    ; 0xf345c
    mov bx, strict word 00041h                ; bb 41 00                    ; 0xf345f floppy.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf3462
    mov es, ax                                ; 8e c0                       ; 0xf3465
    mov byte [es:bx], 009h                    ; 26 c6 07 09                 ; 0xf3467
    mov byte [bp+016h], 000h                  ; c6 46 16 00                 ; 0xf346b
    jmp near 03aeeh                           ; e9 7c 06                    ; 0xf346f
    mov AL, strict byte 006h                  ; b0 06                       ; 0xf3472 floppy.c:604
    mov dx, strict word 0000ah                ; ba 0a 00                    ; 0xf3474
    out DX, AL                                ; ee                          ; 0xf3477
    xor al, al                                ; 30 c0                       ; 0xf3478 floppy.c:607
    mov dx, strict word 0000ch                ; ba 0c 00                    ; 0xf347a
    out DX, AL                                ; ee                          ; 0xf347d
    mov al, byte [bp-008h]                    ; 8a 46 f8                    ; 0xf347e floppy.c:608
    mov dx, strict word 00004h                ; ba 04 00                    ; 0xf3481
    out DX, AL                                ; ee                          ; 0xf3484
    mov dx, word [bp-008h]                    ; 8b 56 f8                    ; 0xf3485 floppy.c:609
    shr dx, 008h                              ; c1 ea 08                    ; 0xf3488
    mov al, dl                                ; 88 d0                       ; 0xf348b
    mov dx, strict word 00004h                ; ba 04 00                    ; 0xf348d
    out DX, AL                                ; ee                          ; 0xf3490
    xor al, al                                ; 30 c0                       ; 0xf3491 floppy.c:611
    mov dx, strict word 0000ch                ; ba 0c 00                    ; 0xf3493
    out DX, AL                                ; ee                          ; 0xf3496
    mov al, cl                                ; 88 c8                       ; 0xf3497 floppy.c:612
    mov dx, strict word 00005h                ; ba 05 00                    ; 0xf3499
    out DX, AL                                ; ee                          ; 0xf349c
    shr cx, 008h                              ; c1 e9 08                    ; 0xf349d floppy.c:613
    mov al, cl                                ; 88 c8                       ; 0xf34a0
    out DX, AL                                ; ee                          ; 0xf34a2
    mov AL, strict byte 046h                  ; b0 46                       ; 0xf34a3 floppy.c:621
    mov dx, strict word 0000bh                ; ba 0b 00                    ; 0xf34a5
    out DX, AL                                ; ee                          ; 0xf34a8
    mov al, ah                                ; 88 e0                       ; 0xf34a9 floppy.c:625
    mov dx, 00081h                            ; ba 81 00                    ; 0xf34ab
    out DX, AL                                ; ee                          ; 0xf34ae
    mov AL, strict byte 002h                  ; b0 02                       ; 0xf34af floppy.c:628
    mov dx, strict word 0000ah                ; ba 0a 00                    ; 0xf34b1
    out DX, AL                                ; ee                          ; 0xf34b4
    movzx cx, bl                              ; 0f b6 cb                    ; 0xf34b5 floppy.c:633
    mov ax, cx                                ; 89 c8                       ; 0xf34b8
    call 03029h                               ; e8 6c fb                    ; 0xf34ba
    mov AL, strict byte 0e6h                  ; b0 e6                       ; 0xf34bd floppy.c:636
    mov dx, 003f5h                            ; ba f5 03                    ; 0xf34bf
    out DX, AL                                ; ee                          ; 0xf34c2
    movzx dx, byte [bp-004h]                  ; 0f b6 56 fc                 ; 0xf34c3 floppy.c:637
    sal dx, 002h                              ; c1 e2 02                    ; 0xf34c7
    movzx ax, bl                              ; 0f b6 c3                    ; 0xf34ca
    or ax, dx                                 ; 09 d0                       ; 0xf34cd
    mov dx, 003f5h                            ; ba f5 03                    ; 0xf34cf
    out DX, AL                                ; ee                          ; 0xf34d2
    mov al, byte [bp-002h]                    ; 8a 46 fe                    ; 0xf34d3 floppy.c:638
    out DX, AL                                ; ee                          ; 0xf34d6
    mov al, byte [bp-004h]                    ; 8a 46 fc                    ; 0xf34d7 floppy.c:639
    out DX, AL                                ; ee                          ; 0xf34da
    mov al, byte [bp-006h]                    ; 8a 46 fa                    ; 0xf34db floppy.c:640
    out DX, AL                                ; ee                          ; 0xf34de
    mov AL, strict byte 002h                  ; b0 02                       ; 0xf34df floppy.c:641
    out DX, AL                                ; ee                          ; 0xf34e1
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf34e2 floppy.c:642
    movzx dx, bh                              ; 0f b6 d7                    ; 0xf34e6
    add ax, dx                                ; 01 d0                       ; 0xf34e9
    dec ax                                    ; 48                          ; 0xf34eb
    mov dx, 003f5h                            ; ba f5 03                    ; 0xf34ec
    out DX, AL                                ; ee                          ; 0xf34ef
    xor al, al                                ; 30 c0                       ; 0xf34f0 floppy.c:643
    out DX, AL                                ; ee                          ; 0xf34f2
    mov AL, strict byte 0ffh                  ; b0 ff                       ; 0xf34f3 floppy.c:644
    out DX, AL                                ; ee                          ; 0xf34f5
    call 02fafh                               ; e8 b6 fa                    ; 0xf34f6 floppy.c:676
    test al, al                               ; 84 c0                       ; 0xf34f9 floppy.c:677
    jne short 0351ch                          ; 75 1f                       ; 0xf34fb
    mov ax, cx                                ; 89 c8                       ; 0xf34fd floppy.c:679
    call 02fe7h                               ; e8 e5 fa                    ; 0xf34ff
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf3502 floppy.c:78
    xor ah, ah                                ; 30 e4                       ; 0xf3505
    or ah, 080h                               ; 80 cc 80                    ; 0xf3507
    mov word [bp+016h], ax                    ; 89 46 16                    ; 0xf350a
    mov bx, strict word 00041h                ; bb 41 00                    ; 0xf350d
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf3510
    mov es, ax                                ; 8e c0                       ; 0xf3513
    mov byte [es:bx], 080h                    ; 26 c6 07 80                 ; 0xf3515
    jmp near 0346bh                           ; e9 4f ff                    ; 0xf3519
    mov dx, 003f4h                            ; ba f4 03                    ; 0xf351c floppy.c:689
    in AL, DX                                 ; ec                          ; 0xf351f
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf3520
    and AL, strict byte 0c0h                  ; 24 c0                       ; 0xf3522 floppy.c:690
    cmp AL, strict byte 0c0h                  ; 3c c0                       ; 0xf3524
    je short 03536h                           ; 74 0e                       ; 0xf3526
    push 002f7h                               ; 68 f7 02                    ; 0xf3528 floppy.c:691
    push 0032ah                               ; 68 2a 03                    ; 0xf352b
    push strict byte 00007h                   ; 6a 07                       ; 0xf352e
    call 01a68h                               ; e8 35 e5                    ; 0xf3530
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf3533
    xor cx, cx                                ; 31 c9                       ; 0xf3536 floppy.c:694
    jmp short 0353fh                          ; eb 05                       ; 0xf3538
    cmp cx, strict byte 00007h                ; 83 f9 07                    ; 0xf353a
    jnl short 03555h                          ; 7d 16                       ; 0xf353d
    mov dx, 003f5h                            ; ba f5 03                    ; 0xf353f floppy.c:695
    in AL, DX                                 ; ec                          ; 0xf3542
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf3543
    mov si, cx                                ; 89 ce                       ; 0xf3545
    add si, strict byte 00042h                ; 83 c6 42                    ; 0xf3547
    mov dx, strict word 00040h                ; ba 40 00                    ; 0xf354a floppy.c:53
    mov es, dx                                ; 8e c2                       ; 0xf354d
    mov byte [es:si], al                      ; 26 88 04                    ; 0xf354f
    inc cx                                    ; 41                          ; 0xf3552 floppy.c:695
    jmp short 0353ah                          ; eb e5                       ; 0xf3553
    mov si, strict word 00042h                ; be 42 00                    ; 0xf3555 floppy.c:48
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf3558
    mov es, ax                                ; 8e c0                       ; 0xf355b
    mov al, byte [es:si]                      ; 26 8a 04                    ; 0xf355d
    test AL, strict byte 0c0h                 ; a8 c0                       ; 0xf3560 floppy.c:49
    je short 03584h                           ; 74 20                       ; 0xf3562
    movzx ax, bl                              ; 0f b6 c3                    ; 0xf3564 floppy.c:699
    call 02fe7h                               ; e8 7d fa                    ; 0xf3567
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf356a floppy.c:700
    xor ah, ah                                ; 30 e4                       ; 0xf356d
    or ah, 020h                               ; 80 cc 20                    ; 0xf356f
    mov word [bp+016h], ax                    ; 89 46 16                    ; 0xf3572
    mov bx, strict word 00041h                ; bb 41 00                    ; 0xf3575 floppy.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf3578
    mov es, ax                                ; 8e c0                       ; 0xf357b
    mov byte [es:bx], 020h                    ; 26 c6 07 20                 ; 0xf357d
    jmp near 0346bh                           ; e9 e7 fe                    ; 0xf3581
    movzx ax, bh                              ; 0f b6 c7                    ; 0xf3584 floppy.c:708
    sal ax, 009h                              ; c1 e0 09                    ; 0xf3587
    cwd                                       ; 99                          ; 0xf358a
    db  02bh, 0c2h
    ; sub ax, dx                                ; 2b c2                     ; 0xf358b
    sar ax, 1                                 ; d1 f8                       ; 0xf358d
    mov si, word [bp+010h]                    ; 8b 76 10                    ; 0xf358f
    mov dx, word [bp+006h]                    ; 8b 56 06                    ; 0xf3592
    mov di, si                                ; 89 f7                       ; 0xf3595
    mov cx, ax                                ; 89 c1                       ; 0xf3597
    mov es, dx                                ; 8e c2                       ; 0xf3599
    push DS                                   ; 1e                          ; 0xf359b
    mov ds, dx                                ; 8e da                       ; 0xf359c
    rep movsw                                 ; f3 a5                       ; 0xf359e
    pop DS                                    ; 1f                          ; 0xf35a0
    movzx dx, byte [bp-002h]                  ; 0f b6 56 fe                 ; 0xf35a1 floppy.c:712
    movzx ax, bl                              ; 0f b6 c3                    ; 0xf35a5
    call 02f62h                               ; e8 b7 f9                    ; 0xf35a8
    mov byte [bp+017h], 000h                  ; c6 46 17 00                 ; 0xf35ab floppy.c:714
    and byte [bp+01ch], 0feh                  ; 80 66 1c fe                 ; 0xf35af floppy.c:715
    jmp near 03359h                           ; e9 a3 fd                    ; 0xf35b3 floppy.c:716
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf35b6 floppy.c:717
    shr ax, 008h                              ; c1 e8 08                    ; 0xf35b9
    cmp ax, strict word 00003h                ; 3d 03 00                    ; 0xf35bc
    jne near 036e3h                           ; 0f 85 20 01                 ; 0xf35bf
    mov cx, word [bp+006h]                    ; 8b 4e 06                    ; 0xf35c3 floppy.c:728
    shr cx, 00ch                              ; c1 e9 0c                    ; 0xf35c6
    mov ah, cl                                ; 88 cc                       ; 0xf35c9
    mov dx, word [bp+006h]                    ; 8b 56 06                    ; 0xf35cb floppy.c:729
    sal dx, 004h                              ; c1 e2 04                    ; 0xf35ce
    mov si, word [bp+010h]                    ; 8b 76 10                    ; 0xf35d1 floppy.c:730
    add si, dx                                ; 01 d6                       ; 0xf35d4
    mov word [bp-008h], si                    ; 89 76 f8                    ; 0xf35d6
    cmp dx, si                                ; 39 f2                       ; 0xf35d9 floppy.c:732
    jbe short 035dfh                          ; 76 02                       ; 0xf35db
    db  0feh, 0c4h
    ; inc ah                                    ; fe c4                     ; 0xf35dd floppy.c:734
    movzx cx, bh                              ; 0f b6 cf                    ; 0xf35df floppy.c:736
    sal cx, 009h                              ; c1 e1 09                    ; 0xf35e2
    dec cx                                    ; 49                          ; 0xf35e5
    mov dx, word [bp-008h]                    ; 8b 56 f8                    ; 0xf35e6 floppy.c:739
    add dx, cx                                ; 01 ca                       ; 0xf35e9
    cmp dx, word [bp-008h]                    ; 3b 56 f8                    ; 0xf35eb floppy.c:740
    jc near 03454h                            ; 0f 82 62 fe                 ; 0xf35ee
    mov AL, strict byte 006h                  ; b0 06                       ; 0xf35f2 floppy.c:749
    mov dx, strict word 0000ah                ; ba 0a 00                    ; 0xf35f4
    out DX, AL                                ; ee                          ; 0xf35f7
    xor al, al                                ; 30 c0                       ; 0xf35f8 floppy.c:751
    mov dx, strict word 0000ch                ; ba 0c 00                    ; 0xf35fa
    out DX, AL                                ; ee                          ; 0xf35fd
    mov al, byte [bp-008h]                    ; 8a 46 f8                    ; 0xf35fe floppy.c:752
    mov dx, strict word 00004h                ; ba 04 00                    ; 0xf3601
    out DX, AL                                ; ee                          ; 0xf3604
    mov dx, word [bp-008h]                    ; 8b 56 f8                    ; 0xf3605 floppy.c:753
    shr dx, 008h                              ; c1 ea 08                    ; 0xf3608
    mov al, dl                                ; 88 d0                       ; 0xf360b
    mov dx, strict word 00004h                ; ba 04 00                    ; 0xf360d
    out DX, AL                                ; ee                          ; 0xf3610
    xor al, al                                ; 30 c0                       ; 0xf3611 floppy.c:754
    mov dx, strict word 0000ch                ; ba 0c 00                    ; 0xf3613
    out DX, AL                                ; ee                          ; 0xf3616
    mov al, cl                                ; 88 c8                       ; 0xf3617 floppy.c:755
    mov dx, strict word 00005h                ; ba 05 00                    ; 0xf3619
    out DX, AL                                ; ee                          ; 0xf361c
    shr cx, 008h                              ; c1 e9 08                    ; 0xf361d floppy.c:756
    mov al, cl                                ; 88 c8                       ; 0xf3620
    out DX, AL                                ; ee                          ; 0xf3622
    mov AL, strict byte 04ah                  ; b0 4a                       ; 0xf3623 floppy.c:763
    mov dx, strict word 0000bh                ; ba 0b 00                    ; 0xf3625
    out DX, AL                                ; ee                          ; 0xf3628
    mov al, ah                                ; 88 e0                       ; 0xf3629 floppy.c:766
    mov dx, 00081h                            ; ba 81 00                    ; 0xf362b
    out DX, AL                                ; ee                          ; 0xf362e
    mov AL, strict byte 002h                  ; b0 02                       ; 0xf362f floppy.c:769
    mov dx, strict word 0000ah                ; ba 0a 00                    ; 0xf3631
    out DX, AL                                ; ee                          ; 0xf3634
    movzx cx, bl                              ; 0f b6 cb                    ; 0xf3635 floppy.c:774
    mov ax, cx                                ; 89 c8                       ; 0xf3638
    call 03029h                               ; e8 ec f9                    ; 0xf363a
    mov AL, strict byte 0c5h                  ; b0 c5                       ; 0xf363d floppy.c:777
    mov dx, 003f5h                            ; ba f5 03                    ; 0xf363f
    out DX, AL                                ; ee                          ; 0xf3642
    movzx dx, byte [bp-004h]                  ; 0f b6 56 fc                 ; 0xf3643 floppy.c:778
    sal dx, 002h                              ; c1 e2 02                    ; 0xf3647
    movzx ax, bl                              ; 0f b6 c3                    ; 0xf364a
    or ax, dx                                 ; 09 d0                       ; 0xf364d
    mov dx, 003f5h                            ; ba f5 03                    ; 0xf364f
    out DX, AL                                ; ee                          ; 0xf3652
    mov al, byte [bp-002h]                    ; 8a 46 fe                    ; 0xf3653 floppy.c:779
    out DX, AL                                ; ee                          ; 0xf3656
    mov al, byte [bp-004h]                    ; 8a 46 fc                    ; 0xf3657 floppy.c:780
    out DX, AL                                ; ee                          ; 0xf365a
    mov al, byte [bp-006h]                    ; 8a 46 fa                    ; 0xf365b floppy.c:781
    out DX, AL                                ; ee                          ; 0xf365e
    mov AL, strict byte 002h                  ; b0 02                       ; 0xf365f floppy.c:782
    out DX, AL                                ; ee                          ; 0xf3661
    movzx dx, byte [bp-006h]                  ; 0f b6 56 fa                 ; 0xf3662 floppy.c:783
    movzx ax, bh                              ; 0f b6 c7                    ; 0xf3666
    add ax, dx                                ; 01 d0                       ; 0xf3669
    dec ax                                    ; 48                          ; 0xf366b
    mov dx, 003f5h                            ; ba f5 03                    ; 0xf366c
    out DX, AL                                ; ee                          ; 0xf366f
    xor al, al                                ; 30 c0                       ; 0xf3670 floppy.c:784
    out DX, AL                                ; ee                          ; 0xf3672
    mov AL, strict byte 0ffh                  ; b0 ff                       ; 0xf3673 floppy.c:785
    out DX, AL                                ; ee                          ; 0xf3675
    call 02fafh                               ; e8 36 f9                    ; 0xf3676 floppy.c:814
    test al, al                               ; 84 c0                       ; 0xf3679 floppy.c:815
    je near 034fdh                            ; 0f 84 7e fe                 ; 0xf367b
    mov dx, 003f4h                            ; ba f4 03                    ; 0xf367f floppy.c:826
    in AL, DX                                 ; ec                          ; 0xf3682
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf3683
    and AL, strict byte 0c0h                  ; 24 c0                       ; 0xf3685 floppy.c:827
    cmp AL, strict byte 0c0h                  ; 3c c0                       ; 0xf3687
    je short 03699h                           ; 74 0e                       ; 0xf3689
    push 002f7h                               ; 68 f7 02                    ; 0xf368b floppy.c:828
    push 0032ah                               ; 68 2a 03                    ; 0xf368e
    push strict byte 00007h                   ; 6a 07                       ; 0xf3691
    call 01a68h                               ; e8 d2 e3                    ; 0xf3693
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf3696
    xor cx, cx                                ; 31 c9                       ; 0xf3699 floppy.c:831
    jmp short 036a2h                          ; eb 05                       ; 0xf369b
    cmp cx, strict byte 00007h                ; 83 f9 07                    ; 0xf369d
    jnl short 036b8h                          ; 7d 16                       ; 0xf36a0
    mov dx, 003f5h                            ; ba f5 03                    ; 0xf36a2 floppy.c:832
    in AL, DX                                 ; ec                          ; 0xf36a5
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf36a6
    mov si, cx                                ; 89 ce                       ; 0xf36a8
    add si, strict byte 00042h                ; 83 c6 42                    ; 0xf36aa
    mov dx, strict word 00040h                ; ba 40 00                    ; 0xf36ad floppy.c:53
    mov es, dx                                ; 8e c2                       ; 0xf36b0
    mov byte [es:si], al                      ; 26 88 04                    ; 0xf36b2
    inc cx                                    ; 41                          ; 0xf36b5 floppy.c:832
    jmp short 0369dh                          ; eb e5                       ; 0xf36b6
    mov si, strict word 00042h                ; be 42 00                    ; 0xf36b8 floppy.c:48
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf36bb
    mov es, ax                                ; 8e c0                       ; 0xf36be
    mov al, byte [es:si]                      ; 26 8a 04                    ; 0xf36c0
    test AL, strict byte 0c0h                 ; a8 c0                       ; 0xf36c3 floppy.c:49
    je near 035a1h                            ; 0f 84 d8 fe                 ; 0xf36c5
    mov bx, strict word 00043h                ; bb 43 00                    ; 0xf36c9 floppy.c:48
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf36cc
    test AL, strict byte 002h                 ; a8 02                       ; 0xf36cf floppy.c:49
    je short 036dbh                           ; 74 08                       ; 0xf36d1
    mov word [bp+016h], 00300h                ; c7 46 16 00 03              ; 0xf36d3 floppy.c:839
    jmp near 03aeeh                           ; e9 13 04                    ; 0xf36d8
    mov word [bp+016h], 00100h                ; c7 46 16 00 01              ; 0xf36db floppy.c:842
    jmp near 03aeeh                           ; e9 0b 04                    ; 0xf36e0 floppy.c:843
    movzx dx, byte [bp-002h]                  ; 0f b6 56 fe                 ; 0xf36e3 floppy.c:858
    movzx ax, bl                              ; 0f b6 c3                    ; 0xf36e7
    call 02f62h                               ; e8 75 f8                    ; 0xf36ea
    and byte [bp+01ch], 0feh                  ; 80 66 1c fe                 ; 0xf36ed floppy.c:860
    mov byte [bp+017h], 000h                  ; c6 46 17 00                 ; 0xf36f1 floppy.c:861
    jmp near 03359h                           ; e9 61 fc                    ; 0xf36f5 floppy.c:862
    mov bh, byte [bp+016h]                    ; 8a 7e 16                    ; 0xf36f8 floppy.c:869
    mov ax, word [bp+014h]                    ; 8b 46 14                    ; 0xf36fb floppy.c:870
    shr ax, 008h                              ; c1 e8 08                    ; 0xf36fe
    mov byte [bp-002h], al                    ; 88 46 fe                    ; 0xf3701
    mov dx, word [bp+012h]                    ; 8b 56 12                    ; 0xf3704 floppy.c:871
    shr dx, 008h                              ; c1 ea 08                    ; 0xf3707
    mov byte [bp-004h], dl                    ; 88 56 fc                    ; 0xf370a
    mov bl, byte [bp+00eh]                    ; 8a 5e 0e                    ; 0xf370d floppy.c:872
    cmp bl, 001h                              ; 80 fb 01                    ; 0xf3710 floppy.c:874
    jnbe short 03727h                         ; 77 12                       ; 0xf3713
    cmp dl, 001h                              ; 80 fa 01                    ; 0xf3715
    jnbe short 03727h                         ; 77 0d                       ; 0xf3718
    cmp AL, strict byte 04fh                  ; 3c 4f                       ; 0xf371a
    jnbe short 03727h                         ; 77 09                       ; 0xf371c
    test bh, bh                               ; 84 ff                       ; 0xf371e
    je short 03727h                           ; 74 05                       ; 0xf3720
    cmp bh, 012h                              ; 80 ff 12                    ; 0xf3722
    jbe short 03742h                          ; 76 1b                       ; 0xf3725
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf3727 floppy.c:876
    xor ah, ah                                ; 30 e4                       ; 0xf372a
    or ah, 001h                               ; 80 cc 01                    ; 0xf372c
    mov word [bp+016h], ax                    ; 89 46 16                    ; 0xf372f
    mov si, strict word 00041h                ; be 41 00                    ; 0xf3732 floppy.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf3735
    mov es, ax                                ; 8e c0                       ; 0xf3738
    mov byte [es:si], 001h                    ; 26 c6 04 01                 ; 0xf373a
    or byte [bp+01ch], 001h                   ; 80 4e 1c 01                 ; 0xf373e floppy.c:878
    movzx ax, bl                              ; 0f b6 c3                    ; 0xf3742 floppy.c:882
    call 03259h                               ; e8 11 fb                    ; 0xf3745
    test ax, ax                               ; 85 c0                       ; 0xf3748
    jne short 03766h                          ; 75 1a                       ; 0xf374a
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf374c floppy.c:883
    xor ah, ah                                ; 30 e4                       ; 0xf374f
    or ah, 080h                               ; 80 cc 80                    ; 0xf3751
    mov word [bp+016h], ax                    ; 89 46 16                    ; 0xf3754
    mov bx, strict word 00041h                ; bb 41 00                    ; 0xf3757 floppy.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf375a
    mov es, ax                                ; 8e c0                       ; 0xf375d
    mov byte [es:bx], 080h                    ; 26 c6 07 80                 ; 0xf375f
    jmp near 03aeeh                           ; e9 88 03                    ; 0xf3763
    movzx cx, bl                              ; 0f b6 cb                    ; 0xf3766 floppy.c:890
    mov ax, cx                                ; 89 c8                       ; 0xf3769
    call 0309dh                               ; e8 2f f9                    ; 0xf376b
    test ax, ax                               ; 85 c0                       ; 0xf376e
    jne short 0377dh                          ; 75 0b                       ; 0xf3770
    mov ax, cx                                ; 89 c8                       ; 0xf3772 floppy.c:891
    call 03175h                               ; e8 fe f9                    ; 0xf3774
    test ax, ax                               ; 85 c0                       ; 0xf3777
    je near 03401h                            ; 0f 84 84 fc                 ; 0xf3779
    mov dx, word [bp+006h]                    ; 8b 56 06                    ; 0xf377d floppy.c:902
    shr dx, 00ch                              ; c1 ea 0c                    ; 0xf3780
    mov ah, dl                                ; 88 d4                       ; 0xf3783
    mov cx, word [bp+006h]                    ; 8b 4e 06                    ; 0xf3785 floppy.c:903
    sal cx, 004h                              ; c1 e1 04                    ; 0xf3788
    mov si, word [bp+010h]                    ; 8b 76 10                    ; 0xf378b floppy.c:904
    add si, cx                                ; 01 ce                       ; 0xf378e
    mov word [bp-008h], si                    ; 89 76 f8                    ; 0xf3790
    cmp cx, si                                ; 39 f1                       ; 0xf3793 floppy.c:906
    jbe short 03799h                          ; 76 02                       ; 0xf3795
    db  0feh, 0c4h
    ; inc ah                                    ; fe c4                     ; 0xf3797 floppy.c:908
    movzx cx, bh                              ; 0f b6 cf                    ; 0xf3799 floppy.c:910
    sal cx, 002h                              ; c1 e1 02                    ; 0xf379c
    dec cx                                    ; 49                          ; 0xf379f
    mov dx, word [bp-008h]                    ; 8b 56 f8                    ; 0xf37a0 floppy.c:913
    add dx, cx                                ; 01 ca                       ; 0xf37a3
    cmp dx, word [bp-008h]                    ; 3b 56 f8                    ; 0xf37a5 floppy.c:914
    jc near 03454h                            ; 0f 82 a8 fc                 ; 0xf37a8
    mov AL, strict byte 006h                  ; b0 06                       ; 0xf37ac floppy.c:922
    mov dx, strict word 0000ah                ; ba 0a 00                    ; 0xf37ae
    out DX, AL                                ; ee                          ; 0xf37b1
    xor al, al                                ; 30 c0                       ; 0xf37b2 floppy.c:923
    mov dx, strict word 0000ch                ; ba 0c 00                    ; 0xf37b4
    out DX, AL                                ; ee                          ; 0xf37b7
    mov al, byte [bp-008h]                    ; 8a 46 f8                    ; 0xf37b8 floppy.c:924
    mov dx, strict word 00004h                ; ba 04 00                    ; 0xf37bb
    out DX, AL                                ; ee                          ; 0xf37be
    mov dx, word [bp-008h]                    ; 8b 56 f8                    ; 0xf37bf floppy.c:925
    shr dx, 008h                              ; c1 ea 08                    ; 0xf37c2
    mov al, dl                                ; 88 d0                       ; 0xf37c5
    mov dx, strict word 00004h                ; ba 04 00                    ; 0xf37c7
    out DX, AL                                ; ee                          ; 0xf37ca
    xor al, al                                ; 30 c0                       ; 0xf37cb floppy.c:926
    mov dx, strict word 0000ch                ; ba 0c 00                    ; 0xf37cd
    out DX, AL                                ; ee                          ; 0xf37d0
    mov al, cl                                ; 88 c8                       ; 0xf37d1 floppy.c:927
    mov dx, strict word 00005h                ; ba 05 00                    ; 0xf37d3
    out DX, AL                                ; ee                          ; 0xf37d6
    shr cx, 008h                              ; c1 e9 08                    ; 0xf37d7 floppy.c:928
    mov al, cl                                ; 88 c8                       ; 0xf37da
    out DX, AL                                ; ee                          ; 0xf37dc
    mov AL, strict byte 04ah                  ; b0 4a                       ; 0xf37dd floppy.c:931
    mov dx, strict word 0000bh                ; ba 0b 00                    ; 0xf37df
    out DX, AL                                ; ee                          ; 0xf37e2
    mov al, ah                                ; 88 e0                       ; 0xf37e3 floppy.c:933
    mov dx, 00081h                            ; ba 81 00                    ; 0xf37e5
    out DX, AL                                ; ee                          ; 0xf37e8
    mov AL, strict byte 002h                  ; b0 02                       ; 0xf37e9 floppy.c:934
    mov dx, strict word 0000ah                ; ba 0a 00                    ; 0xf37eb
    out DX, AL                                ; ee                          ; 0xf37ee
    movzx cx, bl                              ; 0f b6 cb                    ; 0xf37ef floppy.c:937
    mov ax, cx                                ; 89 c8                       ; 0xf37f2
    call 03029h                               ; e8 32 f8                    ; 0xf37f4
    mov AL, strict byte 00fh                  ; b0 0f                       ; 0xf37f7 floppy.c:940
    mov dx, 003f5h                            ; ba f5 03                    ; 0xf37f9
    out DX, AL                                ; ee                          ; 0xf37fc
    movzx dx, byte [bp-004h]                  ; 0f b6 56 fc                 ; 0xf37fd floppy.c:941
    sal dx, 002h                              ; c1 e2 02                    ; 0xf3801
    movzx ax, bl                              ; 0f b6 c3                    ; 0xf3804
    or dx, ax                                 ; 09 c2                       ; 0xf3807
    mov word [bp-00ah], dx                    ; 89 56 f6                    ; 0xf3809
    mov al, byte [bp-00ah]                    ; 8a 46 f6                    ; 0xf380c
    mov dx, 003f5h                            ; ba f5 03                    ; 0xf380f
    out DX, AL                                ; ee                          ; 0xf3812
    mov al, byte [bp-002h]                    ; 8a 46 fe                    ; 0xf3813 floppy.c:942
    out DX, AL                                ; ee                          ; 0xf3816
    mov AL, strict byte 04dh                  ; b0 4d                       ; 0xf3817 floppy.c:945
    out DX, AL                                ; ee                          ; 0xf3819
    mov al, byte [bp-00ah]                    ; 8a 46 f6                    ; 0xf381a floppy.c:946
    out DX, AL                                ; ee                          ; 0xf381d
    mov AL, strict byte 002h                  ; b0 02                       ; 0xf381e floppy.c:947
    out DX, AL                                ; ee                          ; 0xf3820
    mov al, bh                                ; 88 f8                       ; 0xf3821 floppy.c:948
    out DX, AL                                ; ee                          ; 0xf3823
    xor al, bh                                ; 30 f8                       ; 0xf3824 floppy.c:949
    out DX, AL                                ; ee                          ; 0xf3826
    mov AL, strict byte 0f6h                  ; b0 f6                       ; 0xf3827 floppy.c:950
    out DX, AL                                ; ee                          ; 0xf3829
    call 02fafh                               ; e8 82 f7                    ; 0xf382a floppy.c:978
    test al, al                               ; 84 c0                       ; 0xf382d floppy.c:979
    jne short 03839h                          ; 75 08                       ; 0xf382f
    mov ax, cx                                ; 89 c8                       ; 0xf3831 floppy.c:980
    call 02fe7h                               ; e8 b1 f7                    ; 0xf3833
    jmp near 0374ch                           ; e9 13 ff                    ; 0xf3836 floppy.c:78
    mov dx, 003f4h                            ; ba f4 03                    ; 0xf3839 floppy.c:989
    in AL, DX                                 ; ec                          ; 0xf383c
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf383d
    and AL, strict byte 0c0h                  ; 24 c0                       ; 0xf383f floppy.c:990
    cmp AL, strict byte 0c0h                  ; 3c c0                       ; 0xf3841
    je short 03853h                           ; 74 0e                       ; 0xf3843
    push 002f7h                               ; 68 f7 02                    ; 0xf3845 floppy.c:991
    push 0032ah                               ; 68 2a 03                    ; 0xf3848
    push strict byte 00007h                   ; 6a 07                       ; 0xf384b
    call 01a68h                               ; e8 18 e2                    ; 0xf384d
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf3850
    xor cx, cx                                ; 31 c9                       ; 0xf3853 floppy.c:994
    jmp short 0385ch                          ; eb 05                       ; 0xf3855
    cmp cx, strict byte 00007h                ; 83 f9 07                    ; 0xf3857
    jnl short 03872h                          ; 7d 16                       ; 0xf385a
    mov dx, 003f5h                            ; ba f5 03                    ; 0xf385c floppy.c:995
    in AL, DX                                 ; ec                          ; 0xf385f
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf3860
    mov si, cx                                ; 89 ce                       ; 0xf3862
    add si, strict byte 00042h                ; 83 c6 42                    ; 0xf3864
    mov dx, strict word 00040h                ; ba 40 00                    ; 0xf3867 floppy.c:53
    mov es, dx                                ; 8e c2                       ; 0xf386a
    mov byte [es:si], al                      ; 26 88 04                    ; 0xf386c
    inc cx                                    ; 41                          ; 0xf386f floppy.c:995
    jmp short 03857h                          ; eb e5                       ; 0xf3870
    mov si, strict word 00042h                ; be 42 00                    ; 0xf3872 floppy.c:48
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf3875
    mov es, ax                                ; 8e c0                       ; 0xf3878
    mov al, byte [es:si]                      ; 26 8a 04                    ; 0xf387a
    test AL, strict byte 0c0h                 ; a8 c0                       ; 0xf387d floppy.c:49
    je short 0389bh                           ; 74 1a                       ; 0xf387f
    mov si, strict word 00043h                ; be 43 00                    ; 0xf3881 floppy.c:48
    mov al, byte [es:si]                      ; 26 8a 04                    ; 0xf3884
    test AL, strict byte 002h                 ; a8 02                       ; 0xf3887 floppy.c:49
    jne near 036d3h                           ; 0f 85 46 fe                 ; 0xf3889
    push 002f7h                               ; 68 f7 02                    ; 0xf388d floppy.c:1006
    push 0033eh                               ; 68 3e 03                    ; 0xf3890
    push strict byte 00007h                   ; 6a 07                       ; 0xf3893
    call 01a68h                               ; e8 d0 e1                    ; 0xf3895
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf3898
    mov byte [bp+017h], 000h                  ; c6 46 17 00                 ; 0xf389b floppy.c:1010
    mov si, strict word 00041h                ; be 41 00                    ; 0xf389f floppy.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf38a2
    mov es, ax                                ; 8e c0                       ; 0xf38a5
    mov byte [es:si], 000h                    ; 26 c6 04 00                 ; 0xf38a7
    movzx ax, bl                              ; 0f b6 c3                    ; 0xf38ab floppy.c:1012
    xor dx, dx                                ; 31 d2                       ; 0xf38ae
    call 02f62h                               ; e8 af f6                    ; 0xf38b0
    jmp near 035afh                           ; e9 f9 fc                    ; 0xf38b3
    mov bl, ah                                ; 88 e3                       ; 0xf38b6 floppy.c:1019
    cmp ah, 001h                              ; 80 fc 01                    ; 0xf38b8 floppy.c:1021
    jbe short 038dah                          ; 76 1d                       ; 0xf38bb
    xor ax, ax                                ; 31 c0                       ; 0xf38bd floppy.c:1022
    mov word [bp+016h], ax                    ; 89 46 16                    ; 0xf38bf
    mov word [bp+010h], ax                    ; 89 46 10                    ; 0xf38c2 floppy.c:1023
    mov word [bp+014h], ax                    ; 89 46 14                    ; 0xf38c5 floppy.c:1024
    mov word [bp+012h], ax                    ; 89 46 12                    ; 0xf38c8 floppy.c:1025
    mov word [bp+006h], ax                    ; 89 46 06                    ; 0xf38cb floppy.c:1026
    mov word [bp+008h], ax                    ; 89 46 08                    ; 0xf38ce floppy.c:1027
    movzx ax, bh                              ; 0f b6 c7                    ; 0xf38d1 floppy.c:1028
    mov word [bp+012h], ax                    ; 89 46 12                    ; 0xf38d4
    jmp near 039fch                           ; e9 22 01                    ; 0xf38d7
    mov ax, strict word 00010h                ; b8 10 00                    ; 0xf38da floppy.c:1029
    call 0176ah                               ; e8 8a de                    ; 0xf38dd
    mov dl, al                                ; 88 c2                       ; 0xf38e0
    xor bh, bh                                ; 30 ff                       ; 0xf38e2 floppy.c:1035
    test AL, strict byte 0f0h                 ; a8 f0                       ; 0xf38e4 floppy.c:1036
    je short 038eah                           ; 74 02                       ; 0xf38e6
    mov BH, strict byte 001h                  ; b7 01                       ; 0xf38e8 floppy.c:1037
    test dl, 00fh                             ; f6 c2 0f                    ; 0xf38ea floppy.c:1038
    je short 038f1h                           ; 74 02                       ; 0xf38ed
    db  0feh, 0c7h
    ; inc bh                                    ; fe c7                     ; 0xf38ef floppy.c:1039
    test bl, bl                               ; 84 db                       ; 0xf38f1 floppy.c:1041
    jne short 038fah                          ; 75 05                       ; 0xf38f3
    shr dl, 004h                              ; c0 ea 04                    ; 0xf38f5 floppy.c:1042
    jmp short 038fdh                          ; eb 03                       ; 0xf38f8 floppy.c:1043
    and dl, 00fh                              ; 80 e2 0f                    ; 0xf38fa floppy.c:1044
    mov byte [bp+011h], 000h                  ; c6 46 11 00                 ; 0xf38fd floppy.c:1047
    movzx ax, dl                              ; 0f b6 c2                    ; 0xf3901
    mov word [bp+010h], ax                    ; 89 46 10                    ; 0xf3904
    mov word [bp+016h], strict word 00000h    ; c7 46 16 00 00              ; 0xf3907 floppy.c:1048
    mov cx, word [bp+012h]                    ; 8b 4e 12                    ; 0xf390c floppy.c:1050
    xor cl, cl                                ; 30 c9                       ; 0xf390f
    movzx ax, bh                              ; 0f b6 c7                    ; 0xf3911
    or cx, ax                                 ; 09 c1                       ; 0xf3914
    mov word [bp+012h], cx                    ; 89 4e 12                    ; 0xf3916
    mov ax, cx                                ; 89 c8                       ; 0xf3919 floppy.c:1051
    xor ah, ch                                ; 30 ec                       ; 0xf391b
    or ah, 001h                               ; 80 cc 01                    ; 0xf391d
    mov word [bp+012h], ax                    ; 89 46 12                    ; 0xf3920
    cmp dl, 003h                              ; 80 fa 03                    ; 0xf3923 floppy.c:1053
    jc short 0393dh                           ; 72 15                       ; 0xf3926
    jbe short 03964h                          ; 76 3a                       ; 0xf3928
    cmp dl, 005h                              ; 80 fa 05                    ; 0xf392a
    jc short 0396bh                           ; 72 3c                       ; 0xf392d
    jbe short 03972h                          ; 76 41                       ; 0xf392f
    cmp dl, 00fh                              ; 80 fa 0f                    ; 0xf3931
    je short 03980h                           ; 74 4a                       ; 0xf3934
    cmp dl, 00eh                              ; 80 fa 0e                    ; 0xf3936
    je short 03979h                           ; 74 3e                       ; 0xf3939
    jmp short 03987h                          ; eb 4a                       ; 0xf393b
    cmp dl, 002h                              ; 80 fa 02                    ; 0xf393d
    je short 0395dh                           ; 74 1b                       ; 0xf3940
    cmp dl, 001h                              ; 80 fa 01                    ; 0xf3942
    je short 03956h                           ; 74 0f                       ; 0xf3945
    test dl, dl                               ; 84 d2                       ; 0xf3947
    jne short 03987h                          ; 75 3c                       ; 0xf3949
    mov word [bp+014h], strict word 00000h    ; c7 46 14 00 00              ; 0xf394b floppy.c:1055
    mov byte [bp+013h], 000h                  ; c6 46 13 00                 ; 0xf3950 floppy.c:1056
    jmp short 03995h                          ; eb 3f                       ; 0xf3954 floppy.c:1057
    mov word [bp+014h], 02709h                ; c7 46 14 09 27              ; 0xf3956 floppy.c:1060
    jmp short 03995h                          ; eb 38                       ; 0xf395b floppy.c:1061
    mov word [bp+014h], 04f0fh                ; c7 46 14 0f 4f              ; 0xf395d floppy.c:1064
    jmp short 03995h                          ; eb 31                       ; 0xf3962 floppy.c:1065
    mov word [bp+014h], 04f09h                ; c7 46 14 09 4f              ; 0xf3964 floppy.c:1068
    jmp short 03995h                          ; eb 2a                       ; 0xf3969 floppy.c:1069
    mov word [bp+014h], 04f12h                ; c7 46 14 12 4f              ; 0xf396b floppy.c:1072
    jmp short 03995h                          ; eb 23                       ; 0xf3970 floppy.c:1073
    mov word [bp+014h], 04f24h                ; c7 46 14 24 4f              ; 0xf3972 floppy.c:1076
    jmp short 03995h                          ; eb 1c                       ; 0xf3977 floppy.c:1077
    mov word [bp+014h], 0fe3fh                ; c7 46 14 3f fe              ; 0xf3979 floppy.c:1080
    jmp short 03995h                          ; eb 15                       ; 0xf397e floppy.c:1081
    mov word [bp+014h], 0feffh                ; c7 46 14 ff fe              ; 0xf3980 floppy.c:1084
    jmp short 03995h                          ; eb 0e                       ; 0xf3985 floppy.c:1085
    push 002f7h                               ; 68 f7 02                    ; 0xf3987 floppy.c:1089
    push 0034fh                               ; 68 4f 03                    ; 0xf398a
    push strict byte 00007h                   ; 6a 07                       ; 0xf398d
    call 01a68h                               ; e8 d6 e0                    ; 0xf398f
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf3992
    mov word [bp+006h], 0f000h                ; c7 46 06 00 f0              ; 0xf3995 floppy.c:1093
    movzx ax, dl                              ; 0f b6 c2                    ; 0xf399a floppy.c:1094
    call 03c24h                               ; e8 84 02                    ; 0xf399d
    mov word [bp+008h], ax                    ; 89 46 08                    ; 0xf39a0
    jmp near 035afh                           ; e9 09 fc                    ; 0xf39a3
    mov bl, ah                                ; 88 e3                       ; 0xf39a6 floppy.c:1101
    cmp ah, 001h                              ; 80 fc 01                    ; 0xf39a8 floppy.c:1102
    jbe short 039b2h                          ; 76 05                       ; 0xf39ab
    mov word [bp+016h], dx                    ; 89 56 16                    ; 0xf39ad floppy.c:1103
    jmp short 039fch                          ; eb 4a                       ; 0xf39b0
    mov ax, strict word 00010h                ; b8 10 00                    ; 0xf39b2 floppy.c:1109
    call 0176ah                               ; e8 b2 dd                    ; 0xf39b5
    test bl, bl                               ; 84 db                       ; 0xf39b8 floppy.c:1110
    jne short 039c3h                          ; 75 07                       ; 0xf39ba
    mov dl, al                                ; 88 c2                       ; 0xf39bc floppy.c:1111
    shr dl, 004h                              ; c0 ea 04                    ; 0xf39be
    jmp short 039c8h                          ; eb 05                       ; 0xf39c1 floppy.c:1112
    mov dl, al                                ; 88 c2                       ; 0xf39c3 floppy.c:1113
    and dl, 00fh                              ; 80 e2 0f                    ; 0xf39c5
    and byte [bp+01ch], 0feh                  ; 80 66 1c fe                 ; 0xf39c8 floppy.c:1114
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf39cc
    xor ah, ah                                ; 30 e4                       ; 0xf39cf
    test dl, dl                               ; 84 d2                       ; 0xf39d1 floppy.c:1115
    je short 039e2h                           ; 74 0d                       ; 0xf39d3
    cmp dl, 001h                              ; 80 fa 01                    ; 0xf39d5 floppy.c:1116
    jbe short 039dfh                          ; 76 05                       ; 0xf39d8
    or ah, 002h                               ; 80 cc 02                    ; 0xf39da floppy.c:1118
    jmp short 039e2h                          ; eb 03                       ; 0xf39dd floppy.c:1119
    or ah, 001h                               ; 80 cc 01                    ; 0xf39df floppy.c:1120
    mov word [bp+016h], ax                    ; 89 46 16                    ; 0xf39e2
    jmp near 03359h                           ; e9 71 f9                    ; 0xf39e5 floppy.c:1123
    cmp ah, 001h                              ; 80 fc 01                    ; 0xf39e8 floppy.c:1128
    jbe short 03a02h                          ; 76 15                       ; 0xf39eb
    mov word [bp+016h], si                    ; 89 76 16                    ; 0xf39ed floppy.c:1129
    mov bx, strict word 00041h                ; bb 41 00                    ; 0xf39f0 floppy.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf39f3
    mov es, ax                                ; 8e c0                       ; 0xf39f6
    mov byte [es:bx], 001h                    ; 26 c6 07 01                 ; 0xf39f8
    mov word [bp+01ch], cx                    ; 89 4e 1c                    ; 0xf39fc
    jmp near 03359h                           ; e9 57 f9                    ; 0xf39ff
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf3a02 floppy.c:1135
    xor ah, ah                                ; 30 e4                       ; 0xf3a05
    or ah, 006h                               ; 80 cc 06                    ; 0xf3a07
    mov word [bp+016h], ax                    ; 89 46 16                    ; 0xf3a0a
    mov bx, strict word 00041h                ; bb 41 00                    ; 0xf3a0d floppy.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf3a10
    mov es, ax                                ; 8e c0                       ; 0xf3a13
    mov byte [es:bx], 006h                    ; 26 c6 07 06                 ; 0xf3a15
    jmp near 03aeeh                           ; e9 d2 00                    ; 0xf3a19
    mov bl, ah                                ; 88 e3                       ; 0xf3a1c floppy.c:1144
    mov dl, byte [bp+016h]                    ; 8a 56 16                    ; 0xf3a1e floppy.c:1152
    cmp ah, 001h                              ; 80 fc 01                    ; 0xf3a21 floppy.c:1156
    jnbe short 039edh                         ; 77 c7                       ; 0xf3a24
    movzx ax, bl                              ; 0f b6 c3                    ; 0xf3a26 floppy.c:1164
    call 03259h                               ; e8 2d f8                    ; 0xf3a29
    test ax, ax                               ; 85 c0                       ; 0xf3a2c
    je near 0374ch                            ; 0f 84 1a fd                 ; 0xf3a2e
    test bl, bl                               ; 84 db                       ; 0xf3a32 floppy.c:1172
    db  00fh, 095h, 0c0h
    ; setne al                                  ; 0f 95 c0                  ; 0xf3a34
    movzx bx, al                              ; 0f b6 d8                    ; 0xf3a37
    add bx, 00090h                            ; 81 c3 90 00                 ; 0xf3a3a
    mov word [bp-008h], bx                    ; 89 5e f8                    ; 0xf3a3e
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf3a41 floppy.c:48
    mov es, ax                                ; 8e c0                       ; 0xf3a44
    mov bl, byte [es:bx]                      ; 26 8a 1f                    ; 0xf3a46
    and bl, 00fh                              ; 80 e3 0f                    ; 0xf3a49 floppy.c:1176
    cmp dl, 002h                              ; 80 fa 02                    ; 0xf3a4c floppy.c:1178
    jc short 03a60h                           ; 72 0f                       ; 0xf3a4f
    jbe short 03a6dh                          ; 76 1a                       ; 0xf3a51
    cmp dl, 004h                              ; 80 fa 04                    ; 0xf3a53
    je short 03a68h                           ; 74 10                       ; 0xf3a56
    cmp dl, 003h                              ; 80 fa 03                    ; 0xf3a58
    je short 03a72h                           ; 74 15                       ; 0xf3a5b
    jmp near 032e8h                           ; e9 88 f8                    ; 0xf3a5d
    cmp dl, 001h                              ; 80 fa 01                    ; 0xf3a60
    je short 03a68h                           ; 74 03                       ; 0xf3a63
    jmp near 032e8h                           ; e9 80 f8                    ; 0xf3a65
    or bl, 090h                               ; 80 cb 90                    ; 0xf3a68 floppy.c:1181
    jmp short 03a75h                          ; eb 08                       ; 0xf3a6b floppy.c:1182
    or bl, 070h                               ; 80 cb 70                    ; 0xf3a6d floppy.c:1185
    jmp short 03a75h                          ; eb 03                       ; 0xf3a70 floppy.c:1186
    or bl, 010h                               ; 80 cb 10                    ; 0xf3a72 floppy.c:1189
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf3a75 floppy.c:53
    mov es, ax                                ; 8e c0                       ; 0xf3a78
    mov si, word [bp-008h]                    ; 8b 76 f8                    ; 0xf3a7a
    mov byte [es:si], bl                      ; 26 88 1c                    ; 0xf3a7d
    xor al, al                                ; 30 c0                       ; 0xf3a80 floppy.c:1208
    mov byte [bp+017h], al                    ; 88 46 17                    ; 0xf3a82
    mov bx, strict word 00041h                ; bb 41 00                    ; 0xf3a85 floppy.c:53
    mov byte [es:bx], al                      ; 26 88 07                    ; 0xf3a88
    jmp near 035afh                           ; e9 21 fb                    ; 0xf3a8b
    mov bl, ah                                ; 88 e3                       ; 0xf3a8e floppy.c:1218
    mov dl, byte [bp+014h]                    ; 8a 56 14                    ; 0xf3a90 floppy.c:1220
    mov bh, dl                                ; 88 d7                       ; 0xf3a93 floppy.c:1221
    and bh, 03fh                              ; 80 e7 3f                    ; 0xf3a95
    xor dh, dh                                ; 30 f6                       ; 0xf3a98 floppy.c:1222
    sar dx, 006h                              ; c1 fa 06                    ; 0xf3a9a
    sal dx, 008h                              ; c1 e2 08                    ; 0xf3a9d
    mov word [bp-00ch], dx                    ; 89 56 f4                    ; 0xf3aa0
    mov dx, word [bp+014h]                    ; 8b 56 14                    ; 0xf3aa3
    shr dx, 008h                              ; c1 ea 08                    ; 0xf3aa6
    add dx, word [bp-00ch]                    ; 03 56 f4                    ; 0xf3aa9
    mov byte [bp-002h], dl                    ; 88 56 fe                    ; 0xf3aac
    cmp ah, 001h                              ; 80 fc 01                    ; 0xf3aaf floppy.c:1227
    jnbe near 039edh                          ; 0f 87 37 ff                 ; 0xf3ab2
    movzx ax, bl                              ; 0f b6 c3                    ; 0xf3ab6 floppy.c:1235
    call 03259h                               ; e8 9d f7                    ; 0xf3ab9
    test ax, ax                               ; 85 c0                       ; 0xf3abc
    je near 0374ch                            ; 0f 84 8a fc                 ; 0xf3abe
    movzx cx, bl                              ; 0f b6 cb                    ; 0xf3ac2 floppy.c:1243
    mov ax, cx                                ; 89 c8                       ; 0xf3ac5
    call 0309dh                               ; e8 d3 f5                    ; 0xf3ac7
    test ax, ax                               ; 85 c0                       ; 0xf3aca
    jne short 03af5h                          ; 75 27                       ; 0xf3acc
    mov ax, cx                                ; 89 c8                       ; 0xf3ace floppy.c:1244
    call 03175h                               ; e8 a2 f6                    ; 0xf3ad0
    test ax, ax                               ; 85 c0                       ; 0xf3ad3
    jne short 03af5h                          ; 75 1e                       ; 0xf3ad5
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf3ad7 floppy.c:1245
    xor ah, ah                                ; 30 e4                       ; 0xf3ada
    or ah, 00ch                               ; 80 cc 0c                    ; 0xf3adc
    mov word [bp+016h], ax                    ; 89 46 16                    ; 0xf3adf
    mov bx, strict word 00041h                ; bb 41 00                    ; 0xf3ae2 floppy.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf3ae5
    mov es, ax                                ; 8e c0                       ; 0xf3ae8
    mov byte [es:bx], 00ch                    ; 26 c6 07 0c                 ; 0xf3aea
    or byte [bp+01ch], 001h                   ; 80 4e 1c 01                 ; 0xf3aee
    jmp near 03359h                           ; e9 64 f8                    ; 0xf3af2
    mov ax, strict word 00010h                ; b8 10 00                    ; 0xf3af5 floppy.c:1253
    call 0176ah                               ; e8 6f dc                    ; 0xf3af8
    test bl, bl                               ; 84 db                       ; 0xf3afb floppy.c:1254
    jne short 03b06h                          ; 75 07                       ; 0xf3afd
    mov dl, al                                ; 88 c2                       ; 0xf3aff floppy.c:1255
    shr dl, 004h                              ; c0 ea 04                    ; 0xf3b01
    jmp short 03b0bh                          ; eb 05                       ; 0xf3b04 floppy.c:1256
    mov dl, al                                ; 88 c2                       ; 0xf3b06 floppy.c:1257
    and dl, 00fh                              ; 80 e2 0f                    ; 0xf3b08
    test bl, bl                               ; 84 db                       ; 0xf3b0b floppy.c:1260
    db  00fh, 095h, 0c0h
    ; setne al                                  ; 0f 95 c0                  ; 0xf3b0d
    movzx si, al                              ; 0f b6 f0                    ; 0xf3b10
    add si, 00090h                            ; 81 c6 90 00                 ; 0xf3b13
    mov word [bp-008h], si                    ; 89 76 f8                    ; 0xf3b17
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf3b1a floppy.c:48
    mov es, ax                                ; 8e c0                       ; 0xf3b1d
    mov bl, byte [es:si]                      ; 26 8a 1c                    ; 0xf3b1f
    and bl, 00fh                              ; 80 e3 0f                    ; 0xf3b22 floppy.c:49
    cmp dl, 003h                              ; 80 fa 03                    ; 0xf3b25 floppy.c:1266
    jc short 03b47h                           ; 72 1d                       ; 0xf3b28
    mov al, bl                                ; 88 d8                       ; 0xf3b2a
    or AL, strict byte 090h                   ; 0c 90                       ; 0xf3b2c
    cmp dl, 003h                              ; 80 fa 03                    ; 0xf3b2e
    jbe short 03b88h                          ; 76 55                       ; 0xf3b31
    mov ah, bl                                ; 88 dc                       ; 0xf3b33
    or ah, 010h                               ; 80 cc 10                    ; 0xf3b35
    cmp dl, 005h                              ; 80 fa 05                    ; 0xf3b38
    je near 03badh                            ; 0f 84 6e 00                 ; 0xf3b3b
    cmp dl, 004h                              ; 80 fa 04                    ; 0xf3b3f
    je short 03b97h                           ; 74 53                       ; 0xf3b42
    jmp near 03bc9h                           ; e9 82 00                    ; 0xf3b44
    cmp dl, 002h                              ; 80 fa 02                    ; 0xf3b47
    je short 03b68h                           ; 74 1c                       ; 0xf3b4a
    cmp dl, 001h                              ; 80 fa 01                    ; 0xf3b4c
    jne near 03bc9h                           ; 0f 85 76 00                 ; 0xf3b4f
    cmp byte [bp-002h], 027h                  ; 80 7e fe 27                 ; 0xf3b53 floppy.c:1268
    jne near 03bc9h                           ; 0f 85 6e 00                 ; 0xf3b57
    cmp bh, 009h                              ; 80 ff 09                    ; 0xf3b5b
    jne near 03bc9h                           ; 0f 85 67 00                 ; 0xf3b5e
    or bl, 090h                               ; 80 cb 90                    ; 0xf3b62 floppy.c:1269
    jmp near 03bc9h                           ; e9 61 00                    ; 0xf3b65 floppy.c:1271
    cmp byte [bp-002h], 027h                  ; 80 7e fe 27                 ; 0xf3b68 floppy.c:1273
    jne short 03b78h                          ; 75 0a                       ; 0xf3b6c
    cmp bh, 009h                              ; 80 ff 09                    ; 0xf3b6e
    jne short 03b78h                          ; 75 05                       ; 0xf3b71
    or bl, 070h                               ; 80 cb 70                    ; 0xf3b73 floppy.c:1274
    jmp short 03bc9h                          ; eb 51                       ; 0xf3b76 floppy.c:1275
    cmp byte [bp-002h], 04fh                  ; 80 7e fe 4f                 ; 0xf3b78
    jne short 03bc9h                          ; 75 4b                       ; 0xf3b7c
    cmp bh, 00fh                              ; 80 ff 0f                    ; 0xf3b7e
    jne short 03bc9h                          ; 75 46                       ; 0xf3b81
    or bl, 010h                               ; 80 cb 10                    ; 0xf3b83 floppy.c:1276
    jmp short 03bc9h                          ; eb 41                       ; 0xf3b86 floppy.c:1278
    cmp byte [bp-002h], 04fh                  ; 80 7e fe 4f                 ; 0xf3b88 floppy.c:1280
    jne short 03bc9h                          ; 75 3b                       ; 0xf3b8c
    cmp bh, 009h                              ; 80 ff 09                    ; 0xf3b8e
    jne short 03bc9h                          ; 75 36                       ; 0xf3b91
    mov bl, al                                ; 88 c3                       ; 0xf3b93 floppy.c:1281
    jmp short 03bc9h                          ; eb 32                       ; 0xf3b95 floppy.c:1283
    cmp byte [bp-002h], 04fh                  ; 80 7e fe 4f                 ; 0xf3b97 floppy.c:1285
    jne short 03bc9h                          ; 75 2c                       ; 0xf3b9b
    cmp bh, 009h                              ; 80 ff 09                    ; 0xf3b9d floppy.c:1286
    jne short 03ba4h                          ; 75 02                       ; 0xf3ba0
    jmp short 03b93h                          ; eb ef                       ; 0xf3ba2
    cmp bh, 012h                              ; 80 ff 12                    ; 0xf3ba4 floppy.c:1287
    jne short 03bc9h                          ; 75 20                       ; 0xf3ba7
    mov bl, ah                                ; 88 e3                       ; 0xf3ba9 floppy.c:1289
    jmp short 03bc9h                          ; eb 1c                       ; 0xf3bab floppy.c:1292
    cmp byte [bp-002h], 04fh                  ; 80 7e fe 4f                 ; 0xf3bad floppy.c:1294
    jne short 03bc9h                          ; 75 16                       ; 0xf3bb1
    cmp bh, 009h                              ; 80 ff 09                    ; 0xf3bb3 floppy.c:1295
    jne short 03bbah                          ; 75 02                       ; 0xf3bb6
    jmp short 03b93h                          ; eb d9                       ; 0xf3bb8
    cmp bh, 012h                              ; 80 ff 12                    ; 0xf3bba floppy.c:1296
    jne short 03bc1h                          ; 75 02                       ; 0xf3bbd
    jmp short 03ba9h                          ; eb e8                       ; 0xf3bbf
    cmp bh, 024h                              ; 80 ff 24                    ; 0xf3bc1 floppy.c:1298
    jne short 03bc9h                          ; 75 03                       ; 0xf3bc4
    or bl, 0d0h                               ; 80 cb d0                    ; 0xf3bc6 floppy.c:1300
    movzx ax, bl                              ; 0f b6 c3                    ; 0xf3bc9 floppy.c:1309
    sar ax, 004h                              ; c1 f8 04                    ; 0xf3bcc
    test AL, strict byte 001h                 ; a8 01                       ; 0xf3bcf
    je near 03ad7h                            ; 0f 84 02 ff                 ; 0xf3bd1
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf3bd5 floppy.c:53
    mov es, ax                                ; 8e c0                       ; 0xf3bd8
    mov si, word [bp-008h]                    ; 8b 76 f8                    ; 0xf3bda
    mov byte [es:si], bl                      ; 26 88 1c                    ; 0xf3bdd
    mov word [bp+006h], 0f000h                ; c7 46 06 00 f0              ; 0xf3be0 floppy.c:1322
    movzx ax, dl                              ; 0f b6 c2                    ; 0xf3be5 floppy.c:1323
    call 03c24h                               ; e8 39 00                    ; 0xf3be8
    mov word [bp+008h], ax                    ; 89 46 08                    ; 0xf3beb
    mov byte [bp+017h], 000h                  ; c6 46 17 00                 ; 0xf3bee floppy.c:1326
    mov bx, strict word 00041h                ; bb 41 00                    ; 0xf3bf2 floppy.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf3bf5
    mov es, ax                                ; 8e c0                       ; 0xf3bf8
    mov byte [es:bx], 000h                    ; 26 c6 07 00                 ; 0xf3bfa
    jmp near 035afh                           ; e9 ae f9                    ; 0xf3bfe
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf3c01 floppy.c:1332
    mov cx, ds                                ; 8c d9                       ; 0xf3c04
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf3c06
    call 01a27h                               ; e8 1b de                    ; 0xf3c09
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf3c0c
    shr ax, 008h                              ; c1 e8 08                    ; 0xf3c0f
    push ax                                   ; 50                          ; 0xf3c12
    push 002f7h                               ; 68 f7 02                    ; 0xf3c13
    push 00364h                               ; 68 64 03                    ; 0xf3c16
    push strict byte 00004h                   ; 6a 04                       ; 0xf3c19
    call 01a68h                               ; e8 4a de                    ; 0xf3c1b
    add sp, strict byte 00008h                ; 83 c4 08                    ; 0xf3c1e
    jmp near 032e8h                           ; e9 c4 f6                    ; 0xf3c21 floppy.c:78
  ; disGetNextSymbol 0xf3c24 LB 0x71f8 -> off=0x0 cb=000000000000002f uValue=00000000000f2624 'get_floppy_dpt'
get_floppy_dpt:                              ; 0xf3c24 LB 0x2f
    push bx                                   ; 53                          ; 0xf3c24 floppyt.c:104
    push dx                                   ; 52                          ; 0xf3c25
    push bp                                   ; 55                          ; 0xf3c26
    mov bp, sp                                ; 89 e5                       ; 0xf3c27
    mov dl, al                                ; 88 c2                       ; 0xf3c29
    xor ax, ax                                ; 31 c0                       ; 0xf3c2b floppyt.c:108
    jmp short 03c35h                          ; eb 06                       ; 0xf3c2d
    inc ax                                    ; 40                          ; 0xf3c2f floppyt.c:110
    cmp ax, strict word 00007h                ; 3d 07 00                    ; 0xf3c30
    jnc short 03c4ch                          ; 73 17                       ; 0xf3c33
    mov bx, ax                                ; 89 c3                       ; 0xf3c35
    add bx, ax                                ; 01 c3                       ; 0xf3c37
    cmp dl, byte [word bx+0005bh]             ; 3a 97 5b 00                 ; 0xf3c39
    jne short 03c2fh                          ; 75 f0                       ; 0xf3c3d
    movzx ax, byte [word bx+0005ch]           ; 0f b6 87 5c 00              ; 0xf3c3f
    imul ax, ax, strict byte 0000dh           ; 6b c0 0d                    ; 0xf3c44
    add ax, strict word 00000h                ; 05 00 00                    ; 0xf3c47
    jmp short 03c4fh                          ; eb 03                       ; 0xf3c4a
    mov ax, strict word 00041h                ; b8 41 00                    ; 0xf3c4c floppyt.c:113
    pop bp                                    ; 5d                          ; 0xf3c4f floppyt.c:114
    pop dx                                    ; 5a                          ; 0xf3c50
    pop bx                                    ; 5b                          ; 0xf3c51
    retn                                      ; c3                          ; 0xf3c52
  ; disGetNextSymbol 0xf3c53 LB 0x71c9 -> off=0x0 cb=0000000000000007 uValue=00000000000f2653 'dummy_soft_reset'
dummy_soft_reset:                            ; 0xf3c53 LB 0x7
    push bp                                   ; 55                          ; 0xf3c53 eltorito.c:137
    mov bp, sp                                ; 89 e5                       ; 0xf3c54
    xor ax, ax                                ; 31 c0                       ; 0xf3c56 eltorito.c:140
    pop bp                                    ; 5d                          ; 0xf3c58
    retn                                      ; c3                          ; 0xf3c59
  ; disGetNextSymbol 0xf3c5a LB 0x71c2 -> off=0x0 cb=000000000000003b uValue=00000000000f265a 'cdemu_bounce_buf_alloc'
cdemu_bounce_buf_alloc:                      ; 0xf3c5a LB 0x3b
    push bx                                   ; 53                          ; 0xf3c5a eltorito.c:169
    push cx                                   ; 51                          ; 0xf3c5b
    push dx                                   ; 52                          ; 0xf3c5c
    push di                                   ; 57                          ; 0xf3c5d
    push bp                                   ; 55                          ; 0xf3c5e
    mov bp, sp                                ; 89 e5                       ; 0xf3c5f
    mov di, 00413h                            ; bf 13 04                    ; 0xf3c61 eltorito.c:58
    xor ax, ax                                ; 31 c0                       ; 0xf3c64
    mov es, ax                                ; 8e c0                       ; 0xf3c66
    mov ax, word [es:di]                      ; 26 8b 05                    ; 0xf3c68
    test ax, ax                               ; 85 c0                       ; 0xf3c6b eltorito.c:175
    je short 03c8fh                           ; 74 20                       ; 0xf3c6d
    dec ax                                    ; 48                          ; 0xf3c6f eltorito.c:176
    dec ax                                    ; 48                          ; 0xf3c70
    mov bx, ax                                ; 89 c3                       ; 0xf3c71
    xor dx, dx                                ; 31 d2                       ; 0xf3c73 eltorito.c:179
    mov cx, strict word 0000ah                ; b9 0a 00                    ; 0xf3c75
    sal ax, 1                                 ; d1 e0                       ; 0xf3c78
    rcl dx, 1                                 ; d1 d2                       ; 0xf3c7a
    loop 03c78h                               ; e2 fa                       ; 0xf3c7c
    mov di, dx                                ; 89 d7                       ; 0xf3c7e
    mov cx, strict word 00004h                ; b9 04 00                    ; 0xf3c80
    shr di, 1                                 ; d1 ef                       ; 0xf3c83
    rcr ax, 1                                 ; d1 d8                       ; 0xf3c85
    loop 03c83h                               ; e2 fa                       ; 0xf3c87
    mov di, 00413h                            ; bf 13 04                    ; 0xf3c89 eltorito.c:63
    mov word [es:di], bx                      ; 26 89 1d                    ; 0xf3c8c
    pop bp                                    ; 5d                          ; 0xf3c8f eltorito.c:184
    pop di                                    ; 5f                          ; 0xf3c90
    pop dx                                    ; 5a                          ; 0xf3c91
    pop cx                                    ; 59                          ; 0xf3c92
    pop bx                                    ; 5b                          ; 0xf3c93
    retn                                      ; c3                          ; 0xf3c94
  ; disGetNextSymbol 0xf3c95 LB 0x7187 -> off=0x0 cb=0000000000000017 uValue=00000000000f2695 'cdemu_init'
cdemu_init:                                  ; 0xf3c95 LB 0x17
    push bp                                   ; 55                          ; 0xf3c95 eltorito.c:186
    mov bp, sp                                ; 89 e5                       ; 0xf3c96
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf3c98 eltorito.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf3c9b
    mov es, ax                                ; 8e c0                       ; 0xf3c9e
    mov es, [es:bx]                           ; 26 8e 07                    ; 0xf3ca0
    mov bx, 00316h                            ; bb 16 03                    ; 0xf3ca3 eltorito.c:190
    mov byte [es:bx], 000h                    ; 26 c6 07 00                 ; 0xf3ca6 eltorito.c:193
    pop bp                                    ; 5d                          ; 0xf3caa eltorito.c:194
    retn                                      ; c3                          ; 0xf3cab
  ; disGetNextSymbol 0xf3cac LB 0x7170 -> off=0x0 cb=0000000000000016 uValue=00000000000f26ac 'cdemu_isactive'
cdemu_isactive:                              ; 0xf3cac LB 0x16
    push bp                                   ; 55                          ; 0xf3cac eltorito.c:196
    mov bp, sp                                ; 89 e5                       ; 0xf3cad
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf3caf eltorito.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf3cb2
    mov es, ax                                ; 8e c0                       ; 0xf3cb5
    mov es, [es:bx]                           ; 26 8e 07                    ; 0xf3cb7
    mov bx, 00316h                            ; bb 16 03                    ; 0xf3cba eltorito.c:48
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf3cbd
    pop bp                                    ; 5d                          ; 0xf3cc0 eltorito.c:202
    retn                                      ; c3                          ; 0xf3cc1
  ; disGetNextSymbol 0xf3cc2 LB 0x715a -> off=0x0 cb=0000000000000016 uValue=00000000000f26c2 'cdemu_emulated_drive'
cdemu_emulated_drive:                        ; 0xf3cc2 LB 0x16
    push bp                                   ; 55                          ; 0xf3cc2 eltorito.c:204
    mov bp, sp                                ; 89 e5                       ; 0xf3cc3
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf3cc5 eltorito.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf3cc8
    mov es, ax                                ; 8e c0                       ; 0xf3ccb
    mov es, [es:bx]                           ; 26 8e 07                    ; 0xf3ccd
    mov bx, 00318h                            ; bb 18 03                    ; 0xf3cd0 eltorito.c:48
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf3cd3
    pop bp                                    ; 5d                          ; 0xf3cd6 eltorito.c:210
    retn                                      ; c3                          ; 0xf3cd7
  ; disGetNextSymbol 0xf3cd8 LB 0x7144 -> off=0x0 cb=000000000000017a uValue=00000000000f26d8 'int13_eltorito'
int13_eltorito:                              ; 0xf3cd8 LB 0x17a
    push bp                                   ; 55                          ; 0xf3cd8 eltorito.c:216
    mov bp, sp                                ; 89 e5                       ; 0xf3cd9
    push si                                   ; 56                          ; 0xf3cdb
    push di                                   ; 57                          ; 0xf3cdc
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf3cdd eltorito.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf3ce0
    mov es, ax                                ; 8e c0                       ; 0xf3ce3
    mov di, word [es:bx]                      ; 26 8b 3f                    ; 0xf3ce5
    mov bx, 00316h                            ; bb 16 03                    ; 0xf3ce8 eltorito.c:222
    mov si, word [bp+016h]                    ; 8b 76 16                    ; 0xf3ceb eltorito.c:228
    shr si, 008h                              ; c1 ee 08                    ; 0xf3cee
    cmp si, strict byte 0004bh                ; 83 fe 4b                    ; 0xf3cf1
    jc short 03d00h                           ; 72 0a                       ; 0xf3cf4
    jbe short 03d26h                          ; 76 2e                       ; 0xf3cf6
    cmp si, strict byte 0004dh                ; 83 fe 4d                    ; 0xf3cf8
    jbe short 03d07h                          ; 76 0a                       ; 0xf3cfb
    jmp near 03e18h                           ; e9 18 01                    ; 0xf3cfd
    cmp si, strict byte 0004ah                ; 83 fe 4a                    ; 0xf3d00
    jne near 03e18h                           ; 0f 85 11 01                 ; 0xf3d03
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf3d07 eltorito.c:234
    mov cx, ds                                ; 8c d9                       ; 0xf3d0a
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf3d0c
    call 01a27h                               ; e8 15 dd                    ; 0xf3d0f
    push word [bp+016h]                       ; ff 76 16                    ; 0xf3d12
    push 0037eh                               ; 68 7e 03                    ; 0xf3d15
    push 0038dh                               ; 68 8d 03                    ; 0xf3d18
    push strict byte 00004h                   ; 6a 04                       ; 0xf3d1b
    call 01a68h                               ; e8 48 dd                    ; 0xf3d1d
    add sp, strict byte 00008h                ; 83 c4 08                    ; 0xf3d20
    jmp near 03e33h                           ; e9 0d 01                    ; 0xf3d23 eltorito.c:235
    mov es, [bp+004h]                         ; 8e 46 04                    ; 0xf3d26 eltorito.c:51
    mov si, word [bp+00ah]                    ; 8b 76 0a                    ; 0xf3d29
    mov byte [es:si], 013h                    ; 26 c6 04 13                 ; 0xf3d2c
    inc si                                    ; 46                          ; 0xf3d30 eltorito.c:242
    mov ax, es                                ; 8c c0                       ; 0xf3d31 eltorito.c:51
    mov es, di                                ; 8e c7                       ; 0xf3d33
    mov dl, byte [es:bx+001h]                 ; 26 8a 57 01                 ; 0xf3d35
    mov es, ax                                ; 8e c0                       ; 0xf3d39 eltorito.c:53
    mov byte [es:si], dl                      ; 26 88 14                    ; 0xf3d3b
    mov si, word [bp+00ah]                    ; 8b 76 0a                    ; 0xf3d3e eltorito.c:243
    inc si                                    ; 46                          ; 0xf3d41
    inc si                                    ; 46                          ; 0xf3d42
    mov es, di                                ; 8e c7                       ; 0xf3d43 eltorito.c:51
    mov dl, byte [es:bx+002h]                 ; 26 8a 57 02                 ; 0xf3d45
    mov es, ax                                ; 8e c0                       ; 0xf3d49 eltorito.c:53
    mov byte [es:si], dl                      ; 26 88 14                    ; 0xf3d4b
    mov si, word [bp+00ah]                    ; 8b 76 0a                    ; 0xf3d4e eltorito.c:244
    add si, strict byte 00003h                ; 83 c6 03                    ; 0xf3d51
    mov es, di                                ; 8e c7                       ; 0xf3d54 eltorito.c:51
    mov dl, byte [es:bx+003h]                 ; 26 8a 57 03                 ; 0xf3d56
    mov es, ax                                ; 8e c0                       ; 0xf3d5a eltorito.c:53
    mov byte [es:si], dl                      ; 26 88 14                    ; 0xf3d5c
    mov si, word [bp+00ah]                    ; 8b 76 0a                    ; 0xf3d5f eltorito.c:245
    add si, strict byte 00004h                ; 83 c6 04                    ; 0xf3d62
    mov es, di                                ; 8e c7                       ; 0xf3d65 eltorito.c:71
    mov dx, word [es:bx+008h]                 ; 26 8b 57 08                 ; 0xf3d67
    mov cx, word [es:bx+00ah]                 ; 26 8b 4f 0a                 ; 0xf3d6b
    mov es, ax                                ; 8e c0                       ; 0xf3d6f eltorito.c:73
    mov word [es:si], dx                      ; 26 89 14                    ; 0xf3d71
    mov word [es:si+002h], cx                 ; 26 89 4c 02                 ; 0xf3d74
    mov si, word [bp+00ah]                    ; 8b 76 0a                    ; 0xf3d78 eltorito.c:246
    add si, strict byte 00008h                ; 83 c6 08                    ; 0xf3d7b
    mov es, di                                ; 8e c7                       ; 0xf3d7e eltorito.c:61
    mov dx, word [es:bx+004h]                 ; 26 8b 57 04                 ; 0xf3d80
    mov es, ax                                ; 8e c0                       ; 0xf3d84 eltorito.c:63
    mov word [es:si], dx                      ; 26 89 14                    ; 0xf3d86
    mov si, word [bp+00ah]                    ; 8b 76 0a                    ; 0xf3d89 eltorito.c:247
    add si, strict byte 0000ah                ; 83 c6 0a                    ; 0xf3d8c
    mov es, di                                ; 8e c7                       ; 0xf3d8f eltorito.c:61
    mov dx, word [es:bx+006h]                 ; 26 8b 57 06                 ; 0xf3d91
    mov es, ax                                ; 8e c0                       ; 0xf3d95 eltorito.c:63
    mov word [es:si], dx                      ; 26 89 14                    ; 0xf3d97
    mov si, word [bp+00ah]                    ; 8b 76 0a                    ; 0xf3d9a eltorito.c:248
    add si, strict byte 0000ch                ; 83 c6 0c                    ; 0xf3d9d
    mov es, di                                ; 8e c7                       ; 0xf3da0 eltorito.c:61
    mov dx, word [es:bx+00ch]                 ; 26 8b 57 0c                 ; 0xf3da2
    mov es, ax                                ; 8e c0                       ; 0xf3da6 eltorito.c:63
    mov word [es:si], dx                      ; 26 89 14                    ; 0xf3da8
    mov si, word [bp+00ah]                    ; 8b 76 0a                    ; 0xf3dab eltorito.c:249
    add si, strict byte 0000eh                ; 83 c6 0e                    ; 0xf3dae
    mov es, di                                ; 8e c7                       ; 0xf3db1 eltorito.c:61
    mov dx, word [es:bx+00eh]                 ; 26 8b 57 0e                 ; 0xf3db3
    mov es, ax                                ; 8e c0                       ; 0xf3db7 eltorito.c:63
    mov word [es:si], dx                      ; 26 89 14                    ; 0xf3db9
    mov si, word [bp+00ah]                    ; 8b 76 0a                    ; 0xf3dbc eltorito.c:250
    add si, strict byte 00010h                ; 83 c6 10                    ; 0xf3dbf
    mov es, di                                ; 8e c7                       ; 0xf3dc2 eltorito.c:51
    mov dl, byte [es:bx+012h]                 ; 26 8a 57 12                 ; 0xf3dc4
    mov es, ax                                ; 8e c0                       ; 0xf3dc8 eltorito.c:53
    mov byte [es:si], dl                      ; 26 88 14                    ; 0xf3dca
    mov si, word [bp+00ah]                    ; 8b 76 0a                    ; 0xf3dcd eltorito.c:251
    add si, strict byte 00011h                ; 83 c6 11                    ; 0xf3dd0
    mov es, di                                ; 8e c7                       ; 0xf3dd3 eltorito.c:51
    mov dl, byte [es:bx+014h]                 ; 26 8a 57 14                 ; 0xf3dd5
    mov es, ax                                ; 8e c0                       ; 0xf3dd9 eltorito.c:53
    mov byte [es:si], dl                      ; 26 88 14                    ; 0xf3ddb
    mov si, word [bp+00ah]                    ; 8b 76 0a                    ; 0xf3dde eltorito.c:252
    add si, strict byte 00012h                ; 83 c6 12                    ; 0xf3de1
    mov dx, ax                                ; 89 c2                       ; 0xf3de4 eltorito.c:51
    mov es, di                                ; 8e c7                       ; 0xf3de6
    mov al, byte [es:bx+010h]                 ; 26 8a 47 10                 ; 0xf3de8
    mov es, dx                                ; 8e c2                       ; 0xf3dec eltorito.c:53
    mov byte [es:si], al                      ; 26 88 04                    ; 0xf3dee
    test byte [bp+016h], 0ffh                 ; f6 46 16 ff                 ; 0xf3df1 eltorito.c:255
    jne short 03dfdh                          ; 75 06                       ; 0xf3df5
    mov es, di                                ; 8e c7                       ; 0xf3df7 eltorito.c:257
    mov byte [es:bx], 000h                    ; 26 c6 07 00                 ; 0xf3df9
    mov byte [bp+017h], 000h                  ; c6 46 17 00                 ; 0xf3dfd eltorito.c:260
    mov bx, strict word 00074h                ; bb 74 00                    ; 0xf3e01
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf3e04
    mov es, ax                                ; 8e c0                       ; 0xf3e07
    mov byte [es:bx], 000h                    ; 26 c6 07 00                 ; 0xf3e09
    and byte [bp+01ch], 0feh                  ; 80 66 1c fe                 ; 0xf3e0d
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf3e11
    pop di                                    ; 5f                          ; 0xf3e14
    pop si                                    ; 5e                          ; 0xf3e15
    pop bp                                    ; 5d                          ; 0xf3e16
    retn                                      ; c3                          ; 0xf3e17
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf3e18 eltorito.c:264
    mov cx, ds                                ; 8c d9                       ; 0xf3e1b
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf3e1d
    call 01a27h                               ; e8 04 dc                    ; 0xf3e20
    mov bx, word [bp+016h]                    ; 8b 5e 16                    ; 0xf3e23
    shr bx, 008h                              ; c1 eb 08                    ; 0xf3e26
    push bx                                   ; 53                          ; 0xf3e29
    push 0037eh                               ; 68 7e 03                    ; 0xf3e2a
    push 003b5h                               ; 68 b5 03                    ; 0xf3e2d
    jmp near 03d1bh                           ; e9 e8 fe                    ; 0xf3e30
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf3e33 eltorito.c:270
    xor ah, ah                                ; 30 e4                       ; 0xf3e36
    or ah, 001h                               ; 80 cc 01                    ; 0xf3e38
    mov word [bp+016h], ax                    ; 89 46 16                    ; 0xf3e3b
    shr ax, 008h                              ; c1 e8 08                    ; 0xf3e3e eltorito.c:271
    mov bx, strict word 00074h                ; bb 74 00                    ; 0xf3e41 eltorito.c:53
    mov dx, strict word 00040h                ; ba 40 00                    ; 0xf3e44
    mov es, dx                                ; 8e c2                       ; 0xf3e47
    mov byte [es:bx], al                      ; 26 88 07                    ; 0xf3e49
    or byte [bp+01ch], 001h                   ; 80 4e 1c 01                 ; 0xf3e4c eltorito.c:272
    jmp short 03e11h                          ; eb bf                       ; 0xf3e50 eltorito.c:273
  ; disGetNextSymbol 0xf3e52 LB 0x6fca -> off=0x0 cb=0000000000000032 uValue=00000000000f2852 'device_is_cdrom'
device_is_cdrom:                             ; 0xf3e52 LB 0x32
    push bx                                   ; 53                          ; 0xf3e52 eltorito.c:288
    push dx                                   ; 52                          ; 0xf3e53
    push bp                                   ; 55                          ; 0xf3e54
    mov bp, sp                                ; 89 e5                       ; 0xf3e55
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf3e57 eltorito.c:58
    mov dx, strict word 00040h                ; ba 40 00                    ; 0xf3e5a
    mov es, dx                                ; 8e c2                       ; 0xf3e5d
    mov bx, word [es:bx]                      ; 26 8b 1f                    ; 0xf3e5f
    cmp AL, strict byte 014h                  ; 3c 14                       ; 0xf3e62 eltorito.c:294
    jc short 03e6ah                           ; 72 04                       ; 0xf3e64
    xor ax, ax                                ; 31 c0                       ; 0xf3e66 eltorito.c:295
    jmp short 03e80h                          ; eb 16                       ; 0xf3e68
    xor ah, ah                                ; 30 e4                       ; 0xf3e6a eltorito.c:300
    imul ax, ax, strict byte 0001ch           ; 6b c0 1c                    ; 0xf3e6c
    mov es, bx                                ; 8e c3                       ; 0xf3e6f
    mov bx, ax                                ; 89 c3                       ; 0xf3e71
    add bx, strict byte 0005eh                ; 83 c3 5e                    ; 0xf3e73
    cmp byte [es:bx+01fh], 005h               ; 26 80 7f 1f 05              ; 0xf3e76
    jne short 03e66h                          ; 75 e9                       ; 0xf3e7b
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xf3e7d eltorito.c:301
    pop bp                                    ; 5d                          ; 0xf3e80 eltorito.c:304
    pop dx                                    ; 5a                          ; 0xf3e81
    pop bx                                    ; 5b                          ; 0xf3e82
    retn                                      ; c3                          ; 0xf3e83
  ; disGetNextSymbol 0xf3e84 LB 0x6f98 -> off=0x0 cb=000000000000007f uValue=00000000000f2884 'cdrom_read'
cdrom_read:                                  ; 0xf3e84 LB 0x7f
    push bp                                   ; 55                          ; 0xf3e84 eltorito.c:306
    mov bp, sp                                ; 89 e5                       ; 0xf3e85
    push si                                   ; 56                          ; 0xf3e87
    sub sp, strict byte 0000eh                ; 83 ec 0e                    ; 0xf3e88
    mov byte [bp-004h], al                    ; 88 46 fc                    ; 0xf3e8b
    mov ax, bx                                ; 89 d8                       ; 0xf3e8e
    mov si, cx                                ; 89 ce                       ; 0xf3e90
    mov cx, dx                                ; 89 d1                       ; 0xf3e92
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf3e94 eltorito.c:58
    mov dx, strict word 00040h                ; ba 40 00                    ; 0xf3e97
    mov es, dx                                ; 8e c2                       ; 0xf3e9a
    mov es, [es:bx]                           ; 26 8e 07                    ; 0xf3e9c
    mov bx, strict word 0005eh                ; bb 5e 00                    ; 0xf3e9f eltorito.c:310
    mov word [bp-010h], strict word 00028h    ; c7 46 f0 28 00              ; 0xf3ea2 eltorito.c:312
    mov dx, si                                ; 89 f2                       ; 0xf3ea7 eltorito.c:313
    xchg ah, al                               ; 86 c4                       ; 0xf3ea9
    xchg dh, dl                               ; 86 d6                       ; 0xf3eab
    xchg dx, ax                               ; 92                          ; 0xf3ead
    mov word [bp-00eh], ax                    ; 89 46 f2                    ; 0xf3eae
    mov word [bp-00ch], dx                    ; 89 56 f4                    ; 0xf3eb1
    mov ax, cx                                ; 89 c8                       ; 0xf3eb4 eltorito.c:314
    xchg ah, al                               ; 86 c4                       ; 0xf3eb6
    mov word [bp-009h], ax                    ; 89 46 f7                    ; 0xf3eb8
    mov word [es:bx+00eh], cx                 ; 26 89 4f 0e                 ; 0xf3ebb eltorito.c:316
    mov word [es:bx+010h], 00800h             ; 26 c7 47 10 00 08           ; 0xf3ebf eltorito.c:317
    movzx bx, byte [bp-004h]                  ; 0f b6 5e fc                 ; 0xf3ec5 eltorito.c:319
    imul bx, bx, strict byte 0001ch           ; 6b db 1c                    ; 0xf3ec9
    add bx, strict byte 0005eh                ; 83 c3 5e                    ; 0xf3ecc
    movzx si, byte [es:bx+01eh]               ; 26 0f b6 77 1e              ; 0xf3ecf
    add si, si                                ; 01 f6                       ; 0xf3ed4
    push dword [bp+004h]                      ; 66 ff 76 04                 ; 0xf3ed6
    push strict byte 00001h                   ; 6a 01                       ; 0xf3eda
    mov ax, cx                                ; 89 c8                       ; 0xf3edc
    xor dx, dx                                ; 31 d2                       ; 0xf3ede
    mov cx, strict word 0000bh                ; b9 0b 00                    ; 0xf3ee0
    sal ax, 1                                 ; d1 e0                       ; 0xf3ee3
    rcl dx, 1                                 ; d1 d2                       ; 0xf3ee5
    loop 03ee3h                               ; e2 fa                       ; 0xf3ee7
    push dx                                   ; 52                          ; 0xf3ee9
    push ax                                   ; 50                          ; 0xf3eea
    movzx ax, byte [bp-004h]                  ; 0f b6 46 fc                 ; 0xf3eeb
    mov cx, ss                                ; 8c d1                       ; 0xf3eef
    lea bx, [bp-010h]                         ; 8d 5e f0                    ; 0xf3ef1
    mov dx, strict word 0000ch                ; ba 0c 00                    ; 0xf3ef4
    call word [word si+0006ah]                ; ff 94 6a 00                 ; 0xf3ef7
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xf3efb eltorito.c:320
    pop si                                    ; 5e                          ; 0xf3efe
    pop bp                                    ; 5d                          ; 0xf3eff
    retn 00004h                               ; c2 04 00                    ; 0xf3f00
  ; disGetNextSymbol 0xf3f03 LB 0x6f19 -> off=0x0 cb=0000000000000167 uValue=00000000000f2903 'cdemu_read'
cdemu_read:                                  ; 0xf3f03 LB 0x167
    push bp                                   ; 55                          ; 0xf3f03 eltorito.c:322
    mov bp, sp                                ; 89 e5                       ; 0xf3f04
    push si                                   ; 56                          ; 0xf3f06
    push di                                   ; 57                          ; 0xf3f07
    sub sp, strict byte 0001ch                ; 83 ec 1c                    ; 0xf3f08
    mov byte [bp-006h], al                    ; 88 46 fa                    ; 0xf3f0b
    mov word [bp-01eh], bx                    ; 89 5e e2                    ; 0xf3f0e
    mov di, dx                                ; 89 d7                       ; 0xf3f11
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf3f13 eltorito.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf3f16
    mov es, ax                                ; 8e c0                       ; 0xf3f19
    mov ax, word [es:bx]                      ; 26 8b 07                    ; 0xf3f1b
    mov bx, 00316h                            ; bb 16 03                    ; 0xf3f1e eltorito.c:326
    mov es, ax                                ; 8e c0                       ; 0xf3f21
    mov si, bx                                ; 89 de                       ; 0xf3f23
    mov word [bp-008h], ax                    ; 89 46 f8                    ; 0xf3f25
    mov ax, word [es:bx+008h]                 ; 26 8b 47 08                 ; 0xf3f28 eltorito.c:327
    mov word [bp-018h], ax                    ; 89 46 e8                    ; 0xf3f2c
    mov ax, word [es:bx+00ah]                 ; 26 8b 47 0a                 ; 0xf3f2f
    mov word [bp-014h], ax                    ; 89 46 ec                    ; 0xf3f33
    mov ax, word [bp+004h]                    ; 8b 46 04                    ; 0xf3f36 eltorito.c:330
    mov word [bp-00eh], ax                    ; 89 46 f2                    ; 0xf3f39
    mov ax, word [bp+006h]                    ; 8b 46 06                    ; 0xf3f3c
    mov word [bp-01ah], ax                    ; 89 46 e6                    ; 0xf3f3f
    mov ax, word [bp-01eh]                    ; 8b 46 e2                    ; 0xf3f42 eltorito.c:335
    mov dx, cx                                ; 89 ca                       ; 0xf3f45
    shr dx, 1                                 ; d1 ea                       ; 0xf3f47
    rcr ax, 1                                 ; d1 d8                       ; 0xf3f49
    shr dx, 1                                 ; d1 ea                       ; 0xf3f4b
    rcr ax, 1                                 ; d1 d8                       ; 0xf3f4d
    mov word [bp-00ch], ax                    ; 89 46 f4                    ; 0xf3f4f
    mov word [bp-00ah], dx                    ; 89 56 f6                    ; 0xf3f52
    mov ax, word [bp-01eh]                    ; 8b 46 e2                    ; 0xf3f55 eltorito.c:336
    and ax, strict word 00003h                ; 25 03 00                    ; 0xf3f58
    mov word [bp-016h], ax                    ; 89 46 ea                    ; 0xf3f5b
    test ax, ax                               ; 85 c0                       ; 0xf3f5e eltorito.c:339
    je short 03fd2h                           ; 74 70                       ; 0xf3f60
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf3f62 eltorito.c:341
    sub ax, word [bp-016h]                    ; 2b 46 ea                    ; 0xf3f65
    cmp di, ax                                ; 39 c7                       ; 0xf3f68
    jnc short 03f71h                          ; 73 05                       ; 0xf3f6a
    mov word [bp-01ch], di                    ; 89 7e e4                    ; 0xf3f6c
    jmp short 03f74h                          ; eb 03                       ; 0xf3f6f
    mov word [bp-01ch], ax                    ; 89 46 e4                    ; 0xf3f71
    mov es, [bp-008h]                         ; 8e 46 f8                    ; 0xf3f74 eltorito.c:343
    db  066h, 026h, 0ffh, 074h, 016h
    ; push dword [es:si+016h]                   ; 66 26 ff 74 16            ; 0xf3f77
    mov bx, word [bp-018h]                    ; 8b 5e e8                    ; 0xf3f7c
    add bx, word [bp-00ch]                    ; 03 5e f4                    ; 0xf3f7f
    mov cx, word [bp-014h]                    ; 8b 4e ec                    ; 0xf3f82
    adc cx, word [bp-00ah]                    ; 13 4e f6                    ; 0xf3f85
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf3f88
    mov dx, strict word 00001h                ; ba 01 00                    ; 0xf3f8c
    call 03e84h                               ; e8 f2 fe                    ; 0xf3f8f
    mov word [bp-012h], ax                    ; 89 46 ee                    ; 0xf3f92
    test ax, ax                               ; 85 c0                       ; 0xf3f95 eltorito.c:344
    jne near 04061h                           ; 0f 85 c6 00                 ; 0xf3f97
    mov ax, word [bp-01ch]                    ; 8b 46 e4                    ; 0xf3f9b eltorito.c:345
    sal ax, 009h                              ; c1 e0 09                    ; 0xf3f9e
    mov word [bp-020h], ax                    ; 89 46 e0                    ; 0xf3fa1
    push ax                                   ; 50                          ; 0xf3fa4
    mov ax, word [bp-016h]                    ; 8b 46 ea                    ; 0xf3fa5
    sal ax, 009h                              ; c1 e0 09                    ; 0xf3fa8
    mov es, [bp-008h]                         ; 8e 46 f8                    ; 0xf3fab
    mov bx, word [es:si+016h]                 ; 26 8b 5c 16                 ; 0xf3fae
    mov cx, word [es:si+018h]                 ; 26 8b 4c 18                 ; 0xf3fb2
    add bx, ax                                ; 01 c3                       ; 0xf3fb6
    mov ax, word [bp-00eh]                    ; 8b 46 f2                    ; 0xf3fb8
    mov dx, word [bp-01ah]                    ; 8b 56 e6                    ; 0xf3fbb
    call 0ad90h                               ; e8 cf 6d                    ; 0xf3fbe
    mov ax, word [bp-020h]                    ; 8b 46 e0                    ; 0xf3fc1 eltorito.c:348
    add word [bp-00eh], ax                    ; 01 46 f2                    ; 0xf3fc4
    sub di, word [bp-01ch]                    ; 2b 7e e4                    ; 0xf3fc7 eltorito.c:349
    add word [bp-00ch], strict byte 00001h    ; 83 46 f4 01                 ; 0xf3fca eltorito.c:350
    adc word [bp-00ah], strict byte 00000h    ; 83 56 f6 00                 ; 0xf3fce
    mov ax, di                                ; 89 f8                       ; 0xf3fd2 eltorito.c:354
    shr ax, 002h                              ; c1 e8 02                    ; 0xf3fd4
    mov word [bp-010h], ax                    ; 89 46 f0                    ; 0xf3fd7
    test ax, ax                               ; 85 c0                       ; 0xf3fda
    je short 0401dh                           ; 74 3f                       ; 0xf3fdc
    push word [bp-01ah]                       ; ff 76 e6                    ; 0xf3fde eltorito.c:358
    push word [bp-00eh]                       ; ff 76 f2                    ; 0xf3fe1
    mov bx, word [bp-018h]                    ; 8b 5e e8                    ; 0xf3fe4
    add bx, word [bp-00ch]                    ; 03 5e f4                    ; 0xf3fe7
    mov cx, word [bp-014h]                    ; 8b 4e ec                    ; 0xf3fea
    adc cx, word [bp-00ah]                    ; 13 4e f6                    ; 0xf3fed
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf3ff0
    mov dx, word [bp-010h]                    ; 8b 56 f0                    ; 0xf3ff4
    call 03e84h                               ; e8 8a fe                    ; 0xf3ff7
    mov word [bp-012h], ax                    ; 89 46 ee                    ; 0xf3ffa
    test ax, ax                               ; 85 c0                       ; 0xf3ffd eltorito.c:359
    jne short 04061h                          ; 75 60                       ; 0xf3fff
    mov ax, word [bp-010h]                    ; 8b 46 f0                    ; 0xf4001 eltorito.c:360
    sal ax, 00bh                              ; c1 e0 0b                    ; 0xf4004
    add word [bp-00eh], ax                    ; 01 46 f2                    ; 0xf4007
    mov ax, word [bp-010h]                    ; 8b 46 f0                    ; 0xf400a eltorito.c:362
    sal ax, 002h                              ; c1 e0 02                    ; 0xf400d
    sub di, ax                                ; 29 c7                       ; 0xf4010
    xor ax, ax                                ; 31 c0                       ; 0xf4012 eltorito.c:363
    mov dx, word [bp-010h]                    ; 8b 56 f0                    ; 0xf4014
    add word [bp-00ch], dx                    ; 01 56 f4                    ; 0xf4017
    adc word [bp-00ah], ax                    ; 11 46 f6                    ; 0xf401a
    test di, di                               ; 85 ff                       ; 0xf401d eltorito.c:367
    je short 0405eh                           ; 74 3d                       ; 0xf401f
    mov es, [bp-008h]                         ; 8e 46 f8                    ; 0xf4021 eltorito.c:369
    db  066h, 026h, 0ffh, 074h, 016h
    ; push dword [es:si+016h]                   ; 66 26 ff 74 16            ; 0xf4024
    mov bx, word [bp-018h]                    ; 8b 5e e8                    ; 0xf4029
    add bx, word [bp-00ch]                    ; 03 5e f4                    ; 0xf402c
    mov cx, word [bp-014h]                    ; 8b 4e ec                    ; 0xf402f
    adc cx, word [bp-00ah]                    ; 13 4e f6                    ; 0xf4032
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf4035
    mov dx, strict word 00001h                ; ba 01 00                    ; 0xf4039
    call 03e84h                               ; e8 45 fe                    ; 0xf403c
    mov word [bp-012h], ax                    ; 89 46 ee                    ; 0xf403f
    test ax, ax                               ; 85 c0                       ; 0xf4042 eltorito.c:370
    jne short 04061h                          ; 75 1b                       ; 0xf4044
    sal di, 009h                              ; c1 e7 09                    ; 0xf4046 eltorito.c:371
    push di                                   ; 57                          ; 0xf4049
    mov es, [bp-008h]                         ; 8e 46 f8                    ; 0xf404a
    mov bx, word [es:si+016h]                 ; 26 8b 5c 16                 ; 0xf404d
    mov cx, word [es:si+018h]                 ; 26 8b 4c 18                 ; 0xf4051
    mov ax, word [bp-00eh]                    ; 8b 46 f2                    ; 0xf4055
    mov dx, word [bp-01ah]                    ; 8b 56 e6                    ; 0xf4058
    call 0ad90h                               ; e8 32 6d                    ; 0xf405b
    mov ax, word [bp-012h]                    ; 8b 46 ee                    ; 0xf405e eltorito.c:376
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf4061 eltorito.c:377
    pop di                                    ; 5f                          ; 0xf4064
    pop si                                    ; 5e                          ; 0xf4065
    pop bp                                    ; 5d                          ; 0xf4066
    retn 00004h                               ; c2 04 00                    ; 0xf4067
  ; disGetNextSymbol 0xf406a LB 0x6db2 -> off=0x0 cb=00000000000002ba uValue=00000000000f2a6a 'cdrom_boot'
cdrom_boot:                                  ; 0xf406a LB 0x2ba
    push bp                                   ; 55                          ; 0xf406a eltorito.c:387
    mov bp, sp                                ; 89 e5                       ; 0xf406b
    push bx                                   ; 53                          ; 0xf406d
    push cx                                   ; 51                          ; 0xf406e
    push dx                                   ; 52                          ; 0xf406f
    push si                                   ; 56                          ; 0xf4070
    push di                                   ; 57                          ; 0xf4071
    sub sp, 00808h                            ; 81 ec 08 08                 ; 0xf4072
    mov si, strict word 0000eh                ; be 0e 00                    ; 0xf4076 eltorito.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf4079
    mov es, ax                                ; 8e c0                       ; 0xf407c
    mov ax, word [es:si]                      ; 26 8b 04                    ; 0xf407e
    mov word [bp-012h], ax                    ; 89 46 ee                    ; 0xf4081 eltorito.c:59
    mov si, 00316h                            ; be 16 03                    ; 0xf4084 eltorito.c:399
    mov word [bp-010h], ax                    ; 89 46 f0                    ; 0xf4087
    mov byte [bp-00ch], 000h                  ; c6 46 f4 00                 ; 0xf408a eltorito.c:403
    jmp short 04099h                          ; eb 09                       ; 0xf408e
    inc byte [bp-00ch]                        ; fe 46 f4                    ; 0xf4090 eltorito.c:406
    cmp byte [bp-00ch], 014h                  ; 80 7e f4 14                 ; 0xf4093
    jnc short 040a4h                          ; 73 0b                       ; 0xf4097
    movzx ax, byte [bp-00ch]                  ; 0f b6 46 f4                 ; 0xf4099
    call 03e52h                               ; e8 b2 fd                    ; 0xf409d
    test ax, ax                               ; 85 c0                       ; 0xf40a0
    je short 04090h                           ; 74 ec                       ; 0xf40a2
    cmp byte [bp-00ch], 014h                  ; 80 7e f4 14                 ; 0xf40a4 eltorito.c:409
    jc short 040b0h                           ; 72 06                       ; 0xf40a8
    mov ax, strict word 00002h                ; b8 02 00                    ; 0xf40aa eltorito.c:410
    jmp near 0431ah                           ; e9 6a 02                    ; 0xf40ad
    mov byte [bp-00eh], 000h                  ; c6 46 f2 00                 ; 0xf40b0 eltorito.c:413
    jmp short 040bfh                          ; eb 09                       ; 0xf40b4
    inc byte [bp-00eh]                        ; fe 46 f2                    ; 0xf40b6 eltorito.c:418
    cmp byte [bp-00eh], 004h                  ; 80 7e f2 04                 ; 0xf40b9
    jnbe short 040d8h                         ; 77 19                       ; 0xf40bd
    lea dx, [bp-00812h]                       ; 8d 96 ee f7                 ; 0xf40bf
    push SS                                   ; 16                          ; 0xf40c3
    push dx                                   ; 52                          ; 0xf40c4
    movzx ax, byte [bp-00ch]                  ; 0f b6 46 f4                 ; 0xf40c5
    mov dx, strict word 00001h                ; ba 01 00                    ; 0xf40c9
    mov bx, strict word 00011h                ; bb 11 00                    ; 0xf40cc
    xor cx, cx                                ; 31 c9                       ; 0xf40cf
    call 03e84h                               ; e8 b0 fd                    ; 0xf40d1
    test ax, ax                               ; 85 c0                       ; 0xf40d4
    jne short 040b6h                          ; 75 de                       ; 0xf40d6
    test ax, ax                               ; 85 c0                       ; 0xf40d8 eltorito.c:419
    je short 040e2h                           ; 74 06                       ; 0xf40da
    mov ax, strict word 00003h                ; b8 03 00                    ; 0xf40dc eltorito.c:420
    jmp near 0431ah                           ; e9 38 02                    ; 0xf40df
    cmp byte [bp-00812h], 000h                ; 80 be ee f7 00              ; 0xf40e2 eltorito.c:423
    je short 040efh                           ; 74 06                       ; 0xf40e7
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf40e9 eltorito.c:424
    jmp near 0431ah                           ; e9 2b 02                    ; 0xf40ec
    xor di, di                                ; 31 ff                       ; 0xf40ef eltorito.c:426
    jmp short 040f9h                          ; eb 06                       ; 0xf40f1
    inc di                                    ; 47                          ; 0xf40f3 eltorito.c:428
    cmp di, strict byte 00005h                ; 83 ff 05                    ; 0xf40f4
    jnc short 04109h                          ; 73 10                       ; 0xf40f7
    mov al, byte [bp+di-00811h]               ; 8a 83 ef f7                 ; 0xf40f9
    cmp al, byte [di+00e1eh]                  ; 3a 85 1e 0e                 ; 0xf40fd
    je short 040f3h                           ; 74 f0                       ; 0xf4101
    mov ax, strict word 00005h                ; b8 05 00                    ; 0xf4103
    jmp near 0431ah                           ; e9 11 02                    ; 0xf4106
    xor di, di                                ; 31 ff                       ; 0xf4109 eltorito.c:430
    jmp short 04113h                          ; eb 06                       ; 0xf410b
    inc di                                    ; 47                          ; 0xf410d eltorito.c:432
    cmp di, strict byte 00017h                ; 83 ff 17                    ; 0xf410e
    jnc short 04123h                          ; 73 10                       ; 0xf4111
    mov al, byte [bp+di-0080bh]               ; 8a 83 f5 f7                 ; 0xf4113
    cmp al, byte [di+00e24h]                  ; 3a 85 24 0e                 ; 0xf4117
    je short 0410dh                           ; 74 f0                       ; 0xf411b
    mov ax, strict word 00006h                ; b8 06 00                    ; 0xf411d
    jmp near 0431ah                           ; e9 f7 01                    ; 0xf4120
    mov bx, word [bp-007cbh]                  ; 8b 9e 35 f8                 ; 0xf4123 eltorito.c:435
    mov cx, word [bp-007c9h]                  ; 8b 8e 37 f8                 ; 0xf4127
    lea dx, [bp-00812h]                       ; 8d 96 ee f7                 ; 0xf412b eltorito.c:439
    push SS                                   ; 16                          ; 0xf412f
    push dx                                   ; 52                          ; 0xf4130
    movzx ax, byte [bp-00ch]                  ; 0f b6 46 f4                 ; 0xf4131
    mov dx, strict word 00001h                ; ba 01 00                    ; 0xf4135
    call 03e84h                               ; e8 49 fd                    ; 0xf4138
    test ax, ax                               ; 85 c0                       ; 0xf413b eltorito.c:440
    je short 04145h                           ; 74 06                       ; 0xf413d
    mov ax, strict word 00007h                ; b8 07 00                    ; 0xf413f eltorito.c:441
    jmp near 0431ah                           ; e9 d5 01                    ; 0xf4142
    cmp byte [bp-00812h], 001h                ; 80 be ee f7 01              ; 0xf4145 eltorito.c:446
    je short 04152h                           ; 74 06                       ; 0xf414a
    mov ax, strict word 00008h                ; b8 08 00                    ; 0xf414c eltorito.c:447
    jmp near 0431ah                           ; e9 c8 01                    ; 0xf414f
    cmp byte [bp-00811h], 000h                ; 80 be ef f7 00              ; 0xf4152 eltorito.c:448
    je short 0415fh                           ; 74 06                       ; 0xf4157
    mov ax, strict word 00009h                ; b8 09 00                    ; 0xf4159 eltorito.c:449
    jmp near 0431ah                           ; e9 bb 01                    ; 0xf415c
    cmp byte [bp-007f4h], 055h                ; 80 be 0c f8 55              ; 0xf415f eltorito.c:450
    je short 0416ch                           ; 74 06                       ; 0xf4164
    mov ax, strict word 0000ah                ; b8 0a 00                    ; 0xf4166 eltorito.c:451
    jmp near 0431ah                           ; e9 ae 01                    ; 0xf4169
    cmp byte [bp-007f3h], 0aah                ; 80 be 0d f8 aa              ; 0xf416c eltorito.c:452
    jne short 04166h                          ; 75 f3                       ; 0xf4171
    cmp byte [bp-007f2h], 088h                ; 80 be 0e f8 88              ; 0xf4173 eltorito.c:453
    je short 04180h                           ; 74 06                       ; 0xf4178
    mov ax, strict word 0000bh                ; b8 0b 00                    ; 0xf417a eltorito.c:457
    jmp near 0431ah                           ; e9 9a 01                    ; 0xf417d
    mov al, byte [bp-007f1h]                  ; 8a 86 0f f8                 ; 0xf4180 eltorito.c:459
    mov es, [bp-010h]                         ; 8e 46 f0                    ; 0xf4184
    mov byte [es:si+001h], al                 ; 26 88 44 01                 ; 0xf4187
    cmp byte [bp-007f1h], 000h                ; 80 be 0f f8 00              ; 0xf418b eltorito.c:460
    jne short 04199h                          ; 75 07                       ; 0xf4190
    mov byte [es:si+002h], 0e0h               ; 26 c6 44 02 e0              ; 0xf4192 eltorito.c:463
    jmp short 041ach                          ; eb 13                       ; 0xf4197 eltorito.c:465
    cmp byte [bp-007f1h], 004h                ; 80 be 0f f8 04              ; 0xf4199
    jnc short 041a7h                          ; 73 07                       ; 0xf419e
    mov byte [es:si+002h], 000h               ; 26 c6 44 02 00              ; 0xf41a0 eltorito.c:466
    jmp short 041ach                          ; eb 05                       ; 0xf41a5 eltorito.c:467
    mov byte [es:si+002h], 080h               ; 26 c6 44 02 80              ; 0xf41a7 eltorito.c:468
    movzx di, byte [bp-00ch]                  ; 0f b6 7e f4                 ; 0xf41ac eltorito.c:470
    mov ax, di                                ; 89 f8                       ; 0xf41b0
    cwd                                       ; 99                          ; 0xf41b2
    db  02bh, 0c2h
    ; sub ax, dx                                ; 2b c2                     ; 0xf41b3
    sar ax, 1                                 ; d1 f8                       ; 0xf41b5
    mov es, [bp-010h]                         ; 8e 46 f0                    ; 0xf41b7
    mov byte [es:si+003h], al                 ; 26 88 44 03                 ; 0xf41ba
    mov ax, di                                ; 89 f8                       ; 0xf41be eltorito.c:471
    cwd                                       ; 99                          ; 0xf41c0
    mov bx, strict word 00002h                ; bb 02 00                    ; 0xf41c1
    idiv bx                                   ; f7 fb                       ; 0xf41c4
    mov word [es:si+004h], dx                 ; 26 89 54 04                 ; 0xf41c6
    mov di, word [bp-007f0h]                  ; 8b be 10 f8                 ; 0xf41ca eltorito.c:473
    test di, di                               ; 85 ff                       ; 0xf41ce eltorito.c:474
    jne short 041d5h                          ; 75 03                       ; 0xf41d0
    mov di, 007c0h                            ; bf c0 07                    ; 0xf41d2 eltorito.c:475
    mov es, [bp-010h]                         ; 8e 46 f0                    ; 0xf41d5 eltorito.c:477
    mov word [es:si+00ch], di                 ; 26 89 7c 0c                 ; 0xf41d8
    mov word [es:si+006h], strict word 00000h ; 26 c7 44 06 00 00           ; 0xf41dc eltorito.c:478
    mov dx, word [bp-007ech]                  ; 8b 96 14 f8                 ; 0xf41e2 eltorito.c:480
    mov word [es:si+00eh], dx                 ; 26 89 54 0e                 ; 0xf41e6 eltorito.c:481
    test dx, dx                               ; 85 d2                       ; 0xf41ea eltorito.c:486
    je short 041f4h                           ; 74 06                       ; 0xf41ec
    cmp dx, 00400h                            ; 81 fa 00 04                 ; 0xf41ee
    jbe short 041fah                          ; 76 06                       ; 0xf41f2
    mov ax, strict word 0000ch                ; b8 0c 00                    ; 0xf41f4 eltorito.c:487
    jmp near 0431ah                           ; e9 20 01                    ; 0xf41f7
    mov ax, word [bp-007eah]                  ; 8b 86 16 f8                 ; 0xf41fa eltorito.c:489
    mov bx, word [bp-007e8h]                  ; 8b 9e 18 f8                 ; 0xf41fe
    mov word [es:si+008h], ax                 ; 26 89 44 08                 ; 0xf4202 eltorito.c:490
    mov word [es:si+00ah], bx                 ; 26 89 5c 0a                 ; 0xf4206
    call 03c5ah                               ; e8 4d fa                    ; 0xf420a eltorito.c:496
    mov es, [bp-010h]                         ; 8e 46 f0                    ; 0xf420d
    mov word [es:si+016h], strict word 00000h ; 26 c7 44 16 00 00           ; 0xf4210
    mov word [es:si+018h], ax                 ; 26 89 44 18                 ; 0xf4216
    mov ax, word [es:si+016h]                 ; 26 8b 44 16                 ; 0xf421a eltorito.c:497
    mov bx, word [es:si+018h]                 ; 26 8b 5c 18                 ; 0xf421e
    test bx, bx                               ; 85 db                       ; 0xf4222
    jne short 04230h                          ; 75 0a                       ; 0xf4224
    test ax, ax                               ; 85 c0                       ; 0xf4226
    jne short 04230h                          ; 75 06                       ; 0xf4228
    mov ax, strict word 0000dh                ; b8 0d 00                    ; 0xf422a eltorito.c:498
    jmp near 0431ah                           ; e9 ea 00                    ; 0xf422d
    push di                                   ; 57                          ; 0xf4230 eltorito.c:501
    push strict byte 00000h                   ; 6a 00                       ; 0xf4231
    movzx ax, byte [bp-00ch]                  ; 0f b6 46 f4                 ; 0xf4233
    xor bx, bx                                ; 31 db                       ; 0xf4237
    xor cx, cx                                ; 31 c9                       ; 0xf4239
    call 03f03h                               ; e8 c5 fc                    ; 0xf423b
    test ax, ax                               ; 85 c0                       ; 0xf423e eltorito.c:502
    je short 04248h                           ; 74 06                       ; 0xf4240
    mov ax, strict word 0000eh                ; b8 0e 00                    ; 0xf4242 eltorito.c:503
    jmp near 0431ah                           ; e9 d2 00                    ; 0xf4245
    mov es, [bp-010h]                         ; 8e 46 f0                    ; 0xf4248 eltorito.c:508
    mov al, byte [es:si+001h]                 ; 26 8a 44 01                 ; 0xf424b
    cmp AL, strict byte 002h                  ; 3c 02                       ; 0xf424f
    jc short 0425fh                           ; 72 0c                       ; 0xf4251
    jbe short 04277h                          ; 76 22                       ; 0xf4253
    cmp AL, strict byte 004h                  ; 3c 04                       ; 0xf4255
    je short 0428dh                           ; 74 34                       ; 0xf4257
    cmp AL, strict byte 003h                  ; 3c 03                       ; 0xf4259
    je short 04282h                           ; 74 25                       ; 0xf425b
    jmp short 042d1h                          ; eb 72                       ; 0xf425d
    cmp AL, strict byte 001h                  ; 3c 01                       ; 0xf425f
    jne short 042d1h                          ; 75 6e                       ; 0xf4261
    mov es, [bp-010h]                         ; 8e 46 f0                    ; 0xf4263 eltorito.c:510
    db  066h, 026h, 0c7h, 044h, 012h, 050h, 000h, 00fh, 000h
    ; mov dword [es:si+012h], strict dword 0000f0050h ; 66 26 c7 44 12 50 00 0f 00; 0xf4266
    mov word [es:si+010h], strict word 00002h ; 26 c7 44 10 02 00           ; 0xf426f eltorito.c:512
    jmp short 042d1h                          ; eb 5a                       ; 0xf4275 eltorito.c:513
    db  066h, 026h, 0c7h, 044h, 012h, 050h, 000h, 012h, 000h
    ; mov dword [es:si+012h], strict dword 000120050h ; 66 26 c7 44 12 50 00 12 00; 0xf4277 eltorito.c:515
    jmp short 0426fh                          ; eb ed                       ; 0xf4280
    db  066h, 026h, 0c7h, 044h, 012h, 050h, 000h, 024h, 000h
    ; mov dword [es:si+012h], strict dword 000240050h ; 66 26 c7 44 12 50 00 24 00; 0xf4282 eltorito.c:520
    jmp short 0426fh                          ; eb e2                       ; 0xf428b
    mov bx, 001c4h                            ; bb c4 01                    ; 0xf428d eltorito.c:48
    mov es, di                                ; 8e c7                       ; 0xf4290
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf4292
    and AL, strict byte 03fh                  ; 24 3f                       ; 0xf4295 eltorito.c:49
    xor ah, ah                                ; 30 e4                       ; 0xf4297
    mov es, [bp-010h]                         ; 8e 46 f0                    ; 0xf4299
    mov word [es:si+014h], ax                 ; 26 89 44 14                 ; 0xf429c
    mov es, di                                ; 8e c7                       ; 0xf42a0 eltorito.c:48
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf42a2
    and ax, 000c0h                            ; 25 c0 00                    ; 0xf42a5 eltorito.c:49
    mov dx, ax                                ; 89 c2                       ; 0xf42a8
    sal dx, 002h                              ; c1 e2 02                    ; 0xf42aa
    mov bx, 001c5h                            ; bb c5 01                    ; 0xf42ad eltorito.c:48
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf42b0
    xor ah, ah                                ; 30 e4                       ; 0xf42b3 eltorito.c:49
    add ax, dx                                ; 01 d0                       ; 0xf42b5
    inc ax                                    ; 40                          ; 0xf42b7
    mov es, [bp-010h]                         ; 8e 46 f0                    ; 0xf42b8
    mov word [es:si+012h], ax                 ; 26 89 44 12                 ; 0xf42bb
    mov bx, 001c3h                            ; bb c3 01                    ; 0xf42bf eltorito.c:48
    mov es, di                                ; 8e c7                       ; 0xf42c2
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf42c4
    xor ah, ah                                ; 30 e4                       ; 0xf42c7 eltorito.c:49
    inc ax                                    ; 40                          ; 0xf42c9
    mov es, [bp-010h]                         ; 8e 46 f0                    ; 0xf42ca
    mov word [es:si+010h], ax                 ; 26 89 44 10                 ; 0xf42cd
    mov es, [bp-010h]                         ; 8e 46 f0                    ; 0xf42d1 eltorito.c:533
    cmp byte [es:si+001h], 000h               ; 26 80 7c 01 00              ; 0xf42d4
    je short 04301h                           ; 74 26                       ; 0xf42d9
    cmp byte [es:si+002h], 000h               ; 26 80 7c 02 00              ; 0xf42db eltorito.c:535
    jne short 042f3h                          ; 75 11                       ; 0xf42e0
    mov bx, strict word 00010h                ; bb 10 00                    ; 0xf42e2 eltorito.c:48
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf42e5
    mov es, ax                                ; 8e c0                       ; 0xf42e8
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf42ea
    or AL, strict byte 041h                   ; 0c 41                       ; 0xf42ed eltorito.c:49
    mov di, bx                                ; 89 df                       ; 0xf42ef eltorito.c:53
    jmp short 042feh                          ; eb 0b                       ; 0xf42f1 eltorito.c:537
    mov di, 002ach                            ; bf ac 02                    ; 0xf42f3 eltorito.c:48
    mov es, [bp-012h]                         ; 8e 46 ee                    ; 0xf42f6
    mov al, byte [es:di]                      ; 26 8a 05                    ; 0xf42f9
    db  0feh, 0c0h
    ; inc al                                    ; fe c0                     ; 0xf42fc eltorito.c:49
    mov byte [es:di], al                      ; 26 88 05                    ; 0xf42fe eltorito.c:53
    mov es, [bp-010h]                         ; 8e 46 f0                    ; 0xf4301 eltorito.c:542
    cmp byte [es:si+001h], 000h               ; 26 80 7c 01 00              ; 0xf4304
    je short 0430fh                           ; 74 04                       ; 0xf4309
    mov byte [es:si], 001h                    ; 26 c6 04 01                 ; 0xf430b eltorito.c:543
    mov es, [bp-010h]                         ; 8e 46 f0                    ; 0xf430f eltorito.c:546
    movzx ax, byte [es:si+002h]               ; 26 0f b6 44 02              ; 0xf4312
    sal ax, 008h                              ; c1 e0 08                    ; 0xf4317
    lea sp, [bp-00ah]                         ; 8d 66 f6                    ; 0xf431a eltorito.c:547
    pop di                                    ; 5f                          ; 0xf431d
    pop si                                    ; 5e                          ; 0xf431e
    pop dx                                    ; 5a                          ; 0xf431f
    pop cx                                    ; 59                          ; 0xf4320
    pop bx                                    ; 5b                          ; 0xf4321
    pop bp                                    ; 5d                          ; 0xf4322
    retn                                      ; c3                          ; 0xf4323
  ; disGetNextSymbol 0xf4324 LB 0x6af8 -> off=0x59 cb=00000000000003eb uValue=00000000000f2d7d 'int13_cdemu'
    db  050h, 04eh, 049h, 048h, 047h, 046h, 045h, 044h, 043h, 042h, 041h, 018h, 016h, 015h, 014h, 011h
    db  010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 04bh, 047h, 026h
    db  044h, 071h, 044h, 095h, 044h, 066h, 044h, 095h, 044h, 066h, 044h, 086h, 045h, 04bh, 044h, 04bh
    db  047h, 04bh, 047h, 04bh, 044h, 04bh, 044h, 04bh, 044h, 04bh, 044h, 04bh, 044h, 02dh, 046h, 04bh
    db  044h, 04bh, 047h, 036h, 046h, 049h, 046h, 04bh, 047h, 049h, 046h, 04bh, 047h, 04bh, 047h, 049h
    db  046h, 00eh, 047h, 04bh, 047h, 04bh, 047h, 04bh, 047h
int13_cdemu:                                 ; 0xf437d LB 0x3eb
    push bp                                   ; 55                          ; 0xf437d eltorito.c:557
    mov bp, sp                                ; 89 e5                       ; 0xf437e
    push si                                   ; 56                          ; 0xf4380
    push di                                   ; 57                          ; 0xf4381
    sub sp, strict byte 00018h                ; 83 ec 18                    ; 0xf4382
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf4385 eltorito.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf4388
    mov es, ax                                ; 8e c0                       ; 0xf438b
    mov ax, word [es:bx]                      ; 26 8b 07                    ; 0xf438d
    mov si, 00316h                            ; be 16 03                    ; 0xf4390 eltorito.c:572
    mov dx, ax                                ; 89 c2                       ; 0xf4393
    mov bx, si                                ; 89 f3                       ; 0xf4395
    mov word [bp-008h], ax                    ; 89 46 f8                    ; 0xf4397
    mov word [bp-00ch], strict word 0005eh    ; c7 46 f4 5e 00              ; 0xf439a eltorito.c:573
    mov word [bp-00ah], ax                    ; 89 46 f6                    ; 0xf439f
    mov es, ax                                ; 8e c0                       ; 0xf43a2 eltorito.c:580
    mov al, byte [es:si+003h]                 ; 26 8a 44 03                 ; 0xf43a4
    add al, al                                ; 00 c0                       ; 0xf43a8
    mov byte [bp-006h], al                    ; 88 46 fa                    ; 0xf43aa
    mov al, byte [es:si+004h]                 ; 26 8a 44 04                 ; 0xf43ad eltorito.c:581
    add byte [bp-006h], al                    ; 00 46 fa                    ; 0xf43b1
    mov di, strict word 00074h                ; bf 74 00                    ; 0xf43b4 eltorito.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf43b7
    mov es, ax                                ; 8e c0                       ; 0xf43ba
    mov byte [es:di], 000h                    ; 26 c6 05 00                 ; 0xf43bc
    mov es, dx                                ; 8e c2                       ; 0xf43c0 eltorito.c:586
    cmp byte [es:si], 000h                    ; 26 80 3c 00                 ; 0xf43c2
    je short 043d6h                           ; 74 0e                       ; 0xf43c6
    movzx dx, byte [es:si+002h]               ; 26 0f b6 54 02              ; 0xf43c8
    mov ax, word [bp+012h]                    ; 8b 46 12                    ; 0xf43cd
    xor ah, ah                                ; 30 e4                       ; 0xf43d0
    cmp dx, ax                                ; 39 c2                       ; 0xf43d2
    je short 043ffh                           ; 74 29                       ; 0xf43d4
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf43d6 eltorito.c:587
    mov cx, ds                                ; 8c d9                       ; 0xf43d9
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf43db
    call 01a27h                               ; e8 46 d6                    ; 0xf43de
    mov ax, word [bp+012h]                    ; 8b 46 12                    ; 0xf43e1
    xor ah, ah                                ; 30 e4                       ; 0xf43e4
    push ax                                   ; 50                          ; 0xf43e6
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf43e7
    shr ax, 008h                              ; c1 e8 08                    ; 0xf43ea
    push ax                                   ; 50                          ; 0xf43ed
    push 003ceh                               ; 68 ce 03                    ; 0xf43ee
    push 003dah                               ; 68 da 03                    ; 0xf43f1
    push strict byte 00004h                   ; 6a 04                       ; 0xf43f4
    call 01a68h                               ; e8 6f d6                    ; 0xf43f6
    add sp, strict byte 0000ah                ; 83 c4 0a                    ; 0xf43f9
    jmp near 04728h                           ; e9 29 03                    ; 0xf43fc eltorito.c:588
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf43ff eltorito.c:591
    shr ax, 008h                              ; c1 e8 08                    ; 0xf4402
    cmp ax, strict word 00050h                ; 3d 50 00                    ; 0xf4405
    jnbe near 0474bh                          ; 0f 87 3f 03                 ; 0xf4408
    push CS                                   ; 0e                          ; 0xf440c
    pop ES                                    ; 07                          ; 0xf440d
    mov cx, strict word 0001eh                ; b9 1e 00                    ; 0xf440e
    mov di, 04324h                            ; bf 24 43                    ; 0xf4411
    repne scasb                               ; f2 ae                       ; 0xf4414
    sal cx, 1                                 ; d1 e1                       ; 0xf4416
    mov di, cx                                ; 89 cf                       ; 0xf4418
    mov dx, word [cs:di+04341h]               ; 2e 8b 95 41 43              ; 0xf441a
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf441f
    xor ah, ah                                ; 30 e4                       ; 0xf4422
    jmp dx                                    ; ff e2                       ; 0xf4424
    movzx bx, byte [bp-006h]                  ; 0f b6 5e fa                 ; 0xf4426 eltorito.c:594
    imul bx, bx, strict byte 0001ch           ; 6b db 1c                    ; 0xf442a
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf442d
    add bx, word [bp-00ch]                    ; 03 5e f4                    ; 0xf4430
    movzx bx, byte [es:bx+01eh]               ; 26 0f b6 5f 1e              ; 0xf4433
    add bx, bx                                ; 01 db                       ; 0xf4438
    cmp word [word bx+0006ah], strict byte 00000h ; 83 bf 6a 00 00          ; 0xf443a
    je near 0444bh                            ; 0f 84 08 00                 ; 0xf443f
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf4443 eltorito.c:596
    call word [word bx+00076h]                ; ff 97 76 00                 ; 0xf4447
    mov byte [bp+017h], 000h                  ; c6 46 17 00                 ; 0xf444b eltorito.c:598
    mov bx, strict word 00074h                ; bb 74 00                    ; 0xf444f
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf4452
    mov es, ax                                ; 8e c0                       ; 0xf4455
    mov byte [es:bx], 000h                    ; 26 c6 07 00                 ; 0xf4457
    and byte [bp+01ch], 0feh                  ; 80 66 1c fe                 ; 0xf445b
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf445f
    pop di                                    ; 5f                          ; 0xf4462
    pop si                                    ; 5e                          ; 0xf4463
    pop bp                                    ; 5d                          ; 0xf4464
    retn                                      ; c3                          ; 0xf4465
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf4466 eltorito.c:614
    xor ah, ah                                ; 30 e4                       ; 0xf4469
    or ah, 003h                               ; 80 cc 03                    ; 0xf446b
    jmp near 04730h                           ; e9 bf 02                    ; 0xf446e eltorito.c:615
    mov bx, strict word 00074h                ; bb 74 00                    ; 0xf4471 eltorito.c:48
    mov dx, strict word 00040h                ; ba 40 00                    ; 0xf4474
    mov es, dx                                ; 8e c2                       ; 0xf4477
    mov dl, byte [es:bx]                      ; 26 8a 17                    ; 0xf4479
    movzx bx, dl                              ; 0f b6 da                    ; 0xf447c eltorito.c:620
    sal bx, 008h                              ; c1 e3 08                    ; 0xf447f
    or ax, bx                                 ; 09 d8                       ; 0xf4482
    mov word [bp+016h], ax                    ; 89 46 16                    ; 0xf4484
    mov bx, strict word 00074h                ; bb 74 00                    ; 0xf4487 eltorito.c:53
    mov byte [es:bx], 000h                    ; 26 c6 07 00                 ; 0xf448a
    test dl, dl                               ; 84 d2                       ; 0xf448e eltorito.c:624
    je short 0444fh                           ; 74 bd                       ; 0xf4490
    jmp near 04744h                           ; e9 af 02                    ; 0xf4492 eltorito.c:625
    mov es, [bp-008h]                         ; 8e 46 f8                    ; 0xf4495 eltorito.c:632
    mov si, word [es:bx+014h]                 ; 26 8b 77 14                 ; 0xf4498
    mov ax, word [es:bx+012h]                 ; 26 8b 47 12                 ; 0xf449c eltorito.c:633
    mov cx, word [es:bx+010h]                 ; 26 8b 4f 10                 ; 0xf44a0 eltorito.c:634
    mov dx, word [bp+014h]                    ; 8b 56 14                    ; 0xf44a4 eltorito.c:636
    and dx, strict byte 0003fh                ; 83 e2 3f                    ; 0xf44a7
    mov word [bp-018h], dx                    ; 89 56 e8                    ; 0xf44aa
    mov bx, word [bp+014h]                    ; 8b 5e 14                    ; 0xf44ad eltorito.c:637
    and bx, 000c0h                            ; 81 e3 c0 00                 ; 0xf44b0
    sal bx, 002h                              ; c1 e3 02                    ; 0xf44b4
    mov dx, word [bp+014h]                    ; 8b 56 14                    ; 0xf44b7
    shr dx, 008h                              ; c1 ea 08                    ; 0xf44ba
    or dx, bx                                 ; 09 da                       ; 0xf44bd
    mov bx, word [bp+012h]                    ; 8b 5e 12                    ; 0xf44bf eltorito.c:638
    shr bx, 008h                              ; c1 eb 08                    ; 0xf44c2
    mov word [bp-014h], bx                    ; 89 5e ec                    ; 0xf44c5
    mov di, word [bp+016h]                    ; 8b 7e 16                    ; 0xf44c8 eltorito.c:639
    and di, 000ffh                            ; 81 e7 ff 00                 ; 0xf44cb
    jne short 044d4h                          ; 75 03                       ; 0xf44cf eltorito.c:647
    jmp near 0444bh                           ; e9 77 ff                    ; 0xf44d1 eltorito.c:648
    cmp si, word [bp-018h]                    ; 3b 76 e8                    ; 0xf44d4 eltorito.c:651
    jc near 04728h                            ; 0f 82 4d 02                 ; 0xf44d7
    cmp dx, ax                                ; 39 c2                       ; 0xf44db
    jnc near 04728h                           ; 0f 83 47 02                 ; 0xf44dd
    cmp cx, bx                                ; 39 d9                       ; 0xf44e1
    jbe near 04728h                           ; 0f 86 41 02                 ; 0xf44e3
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf44e7 eltorito.c:658
    shr ax, 008h                              ; c1 e8 08                    ; 0xf44ea
    cmp ax, strict word 00004h                ; 3d 04 00                    ; 0xf44ed
    jne short 044f5h                          ; 75 03                       ; 0xf44f0
    jmp near 0444bh                           ; e9 56 ff                    ; 0xf44f2 eltorito.c:659
    mov ax, word [bp+010h]                    ; 8b 46 10                    ; 0xf44f5 eltorito.c:661
    shr ax, 004h                              ; c1 e8 04                    ; 0xf44f8
    mov bx, word [bp+006h]                    ; 8b 5e 06                    ; 0xf44fb
    add bx, ax                                ; 01 c3                       ; 0xf44fe
    mov word [bp-010h], bx                    ; 89 5e f0                    ; 0xf4500
    mov ax, word [bp+010h]                    ; 8b 46 10                    ; 0xf4503 eltorito.c:662
    and ax, strict word 0000fh                ; 25 0f 00                    ; 0xf4506
    mov word [bp-00eh], ax                    ; 89 46 f2                    ; 0xf4509
    mov ax, dx                                ; 89 d0                       ; 0xf450c eltorito.c:665
    xor dx, dx                                ; 31 d2                       ; 0xf450e
    mov bx, cx                                ; 89 cb                       ; 0xf4510
    xor cx, cx                                ; 31 c9                       ; 0xf4512
    call 0ace0h                               ; e8 c9 67                    ; 0xf4514
    xor bx, bx                                ; 31 db                       ; 0xf4517
    add ax, word [bp-014h]                    ; 03 46 ec                    ; 0xf4519
    adc dx, bx                                ; 11 da                       ; 0xf451c
    mov bx, si                                ; 89 f3                       ; 0xf451e
    xor cx, cx                                ; 31 c9                       ; 0xf4520
    call 0ace0h                               ; e8 bb 67                    ; 0xf4522
    mov bx, word [bp-018h]                    ; 8b 5e e8                    ; 0xf4525
    dec bx                                    ; 4b                          ; 0xf4528
    xor cx, cx                                ; 31 c9                       ; 0xf4529
    add bx, ax                                ; 01 c3                       ; 0xf452b
    adc cx, dx                                ; 11 d1                       ; 0xf452d
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf452f eltorito.c:668
    xor al, al                                ; 30 c0                       ; 0xf4532
    or ax, di                                 ; 09 f8                       ; 0xf4534
    mov word [bp+016h], ax                    ; 89 46 16                    ; 0xf4536
    push word [bp-010h]                       ; ff 76 f0                    ; 0xf4539 eltorito.c:670
    push word [bp-00eh]                       ; ff 76 f2                    ; 0xf453c
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf453f
    mov dx, di                                ; 89 fa                       ; 0xf4543
    call 03f03h                               ; e8 bb f9                    ; 0xf4545
    mov dx, ax                                ; 89 c2                       ; 0xf4548
    test al, al                               ; 84 c0                       ; 0xf454a eltorito.c:671
    je near 0444bh                            ; 0f 84 fb fe                 ; 0xf454c
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf4550 eltorito.c:672
    mov cx, ds                                ; 8c d9                       ; 0xf4553
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf4555
    call 01a27h                               ; e8 cc d4                    ; 0xf4558
    movzx ax, dl                              ; 0f b6 c2                    ; 0xf455b
    push ax                                   ; 50                          ; 0xf455e
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf455f
    shr ax, 008h                              ; c1 e8 08                    ; 0xf4562
    push ax                                   ; 50                          ; 0xf4565
    push 003ceh                               ; 68 ce 03                    ; 0xf4566
    push 00410h                               ; 68 10 04                    ; 0xf4569
    push strict byte 00004h                   ; 6a 04                       ; 0xf456c
    call 01a68h                               ; e8 f7 d4                    ; 0xf456e
    add sp, strict byte 0000ah                ; 83 c4 0a                    ; 0xf4571
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf4574 eltorito.c:673
    xor ah, ah                                ; 30 e4                       ; 0xf4577
    or ah, 002h                               ; 80 cc 02                    ; 0xf4579
    mov word [bp+016h], ax                    ; 89 46 16                    ; 0xf457c
    mov byte [bp+016h], 000h                  ; c6 46 16 00                 ; 0xf457f eltorito.c:674
    jmp near 04733h                           ; e9 ad 01                    ; 0xf4583 eltorito.c:675
    mov es, [bp-008h]                         ; 8e 46 f8                    ; 0xf4586 eltorito.c:682
    mov si, word [es:bx+014h]                 ; 26 8b 77 14                 ; 0xf4589
    mov ax, word [es:bx+012h]                 ; 26 8b 47 12                 ; 0xf458d eltorito.c:683
    dec ax                                    ; 48                          ; 0xf4591
    mov cx, word [es:bx+010h]                 ; 26 8b 4f 10                 ; 0xf4592 eltorito.c:684
    dec cx                                    ; 49                          ; 0xf4596
    mov byte [bp+016h], 000h                  ; c6 46 16 00                 ; 0xf4597 eltorito.c:686
    mov dx, word [bp+010h]                    ; 8b 56 10                    ; 0xf459b eltorito.c:687
    xor dl, dl                                ; 30 d2                       ; 0xf459e
    mov di, word [bp+014h]                    ; 8b 7e 14                    ; 0xf45a0 eltorito.c:688
    and di, 000ffh                            ; 81 e7 ff 00                 ; 0xf45a3
    mov word [bp-01ch], di                    ; 89 7e e4                    ; 0xf45a7
    mov di, ax                                ; 89 c7                       ; 0xf45aa
    and di, 000ffh                            ; 81 e7 ff 00                 ; 0xf45ac
    sal di, 008h                              ; c1 e7 08                    ; 0xf45b0
    mov word [bp-01ah], di                    ; 89 7e e6                    ; 0xf45b3
    mov di, word [bp-01ch]                    ; 8b 7e e4                    ; 0xf45b6
    or di, word [bp-01ah]                     ; 0b 7e e6                    ; 0xf45b9
    mov word [bp+014h], di                    ; 89 7e 14                    ; 0xf45bc
    shr ax, 002h                              ; c1 e8 02                    ; 0xf45bf eltorito.c:689
    xor ah, ah                                ; 30 e4                       ; 0xf45c2
    and AL, strict byte 0c0h                  ; 24 c0                       ; 0xf45c4
    and si, strict byte 0003fh                ; 83 e6 3f                    ; 0xf45c6
    or si, ax                                 ; 09 c6                       ; 0xf45c9
    mov ax, di                                ; 89 f8                       ; 0xf45cb
    xor al, al                                ; 30 c0                       ; 0xf45cd
    or ax, si                                 ; 09 f0                       ; 0xf45cf
    mov word [bp+014h], ax                    ; 89 46 14                    ; 0xf45d1
    mov ax, word [bp+012h]                    ; 8b 46 12                    ; 0xf45d4 eltorito.c:690
    xor ah, ah                                ; 30 e4                       ; 0xf45d7
    sal cx, 008h                              ; c1 e1 08                    ; 0xf45d9
    or ax, cx                                 ; 09 c8                       ; 0xf45dc
    mov word [bp+012h], ax                    ; 89 46 12                    ; 0xf45de
    xor al, al                                ; 30 c0                       ; 0xf45e1 eltorito.c:691
    or AL, strict byte 002h                   ; 0c 02                       ; 0xf45e3
    mov word [bp+012h], ax                    ; 89 46 12                    ; 0xf45e5
    mov al, byte [es:bx+001h]                 ; 26 8a 47 01                 ; 0xf45e8 eltorito.c:694
    mov word [bp+010h], dx                    ; 89 56 10                    ; 0xf45ec
    cmp AL, strict byte 003h                  ; 3c 03                       ; 0xf45ef
    je short 0460fh                           ; 74 1c                       ; 0xf45f1
    cmp AL, strict byte 002h                  ; 3c 02                       ; 0xf45f3
    je short 04607h                           ; 74 10                       ; 0xf45f5
    cmp AL, strict byte 001h                  ; 3c 01                       ; 0xf45f7
    jne short 04614h                          ; 75 19                       ; 0xf45f9
    mov ax, word [bp+010h]                    ; 8b 46 10                    ; 0xf45fb eltorito.c:695
    xor al, al                                ; 30 c0                       ; 0xf45fe
    or AL, strict byte 002h                   ; 0c 02                       ; 0xf4600
    mov word [bp+010h], ax                    ; 89 46 10                    ; 0xf4602
    jmp short 04614h                          ; eb 0d                       ; 0xf4605
    or dl, 004h                               ; 80 ca 04                    ; 0xf4607 eltorito.c:696
    mov word [bp+010h], dx                    ; 89 56 10                    ; 0xf460a
    jmp short 04614h                          ; eb 05                       ; 0xf460d
    or dl, 005h                               ; 80 ca 05                    ; 0xf460f eltorito.c:697
    jmp short 0460ah                          ; eb f6                       ; 0xf4612
    mov es, [bp-008h]                         ; 8e 46 f8                    ; 0xf4614 eltorito.c:701
    cmp byte [es:bx+001h], 004h               ; 26 80 7f 01 04              ; 0xf4617
    jnc near 0444bh                           ; 0f 83 2b fe                 ; 0xf461c
    mov word [bp+008h], 0efc7h                ; c7 46 08 c7 ef              ; 0xf4620 eltorito.c:702
    mov word [bp+006h], 0f000h                ; c7 46 06 00 f0              ; 0xf4625 eltorito.c:703
    jmp near 0444bh                           ; e9 1e fe                    ; 0xf462a eltorito.c:705
    or ah, 003h                               ; 80 cc 03                    ; 0xf462d eltorito.c:710
    mov word [bp+016h], ax                    ; 89 46 16                    ; 0xf4630
    jmp near 0444fh                           ; e9 19 fe                    ; 0xf4633 eltorito.c:711
    mov word [bp+010h], 0aa55h                ; c7 46 10 55 aa              ; 0xf4636 eltorito.c:715
    or ah, 030h                               ; 80 cc 30                    ; 0xf463b eltorito.c:716
    mov word [bp+016h], ax                    ; 89 46 16                    ; 0xf463e
    mov word [bp+014h], strict word 00007h    ; c7 46 14 07 00              ; 0xf4641 eltorito.c:717
    jmp near 0444fh                           ; e9 06 fe                    ; 0xf4646 eltorito.c:718
    mov bx, word [bp+00ah]                    ; 8b 5e 0a                    ; 0xf4649 eltorito.c:726
    mov es, [bp+004h]                         ; 8e 46 04                    ; 0xf464c
    mov si, bx                                ; 89 de                       ; 0xf464f
    mov [bp-012h], es                         ; 8c 46 ee                    ; 0xf4651
    mov dx, word [es:bx+002h]                 ; 26 8b 57 02                 ; 0xf4654 eltorito.c:728
    mov ax, word [es:bx+006h]                 ; 26 8b 47 06                 ; 0xf4658 eltorito.c:729
    mov word [bp-010h], ax                    ; 89 46 f0                    ; 0xf465c
    mov ax, word [es:bx+004h]                 ; 26 8b 47 04                 ; 0xf465f eltorito.c:730
    mov word [bp-00eh], ax                    ; 89 46 f2                    ; 0xf4663
    mov ax, word [es:bx+00ch]                 ; 26 8b 47 0c                 ; 0xf4666 eltorito.c:733
    mov cx, word [es:bx+00eh]                 ; 26 8b 4f 0e                 ; 0xf466a
    or ax, cx                                 ; 09 c8                       ; 0xf466e eltorito.c:734
    je short 0468ah                           ; 74 18                       ; 0xf4670
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf4672 eltorito.c:735
    shr ax, 008h                              ; c1 e8 08                    ; 0xf4675
    push ax                                   ; 50                          ; 0xf4678
    push 003ceh                               ; 68 ce 03                    ; 0xf4679
    push 00431h                               ; 68 31 04                    ; 0xf467c
    push strict byte 00007h                   ; 6a 07                       ; 0xf467f
    call 01a68h                               ; e8 e4 d3                    ; 0xf4681
    add sp, strict byte 00008h                ; 83 c4 08                    ; 0xf4684
    jmp near 04728h                           ; e9 9e 00                    ; 0xf4687 eltorito.c:736
    mov es, [bp-012h]                         ; 8e 46 ee                    ; 0xf468a eltorito.c:740
    mov ax, word [es:si+008h]                 ; 26 8b 44 08                 ; 0xf468d
    mov cx, word [es:si+00ah]                 ; 26 8b 4c 0a                 ; 0xf4691
    mov di, word [bp+016h]                    ; 8b 7e 16                    ; 0xf4695 eltorito.c:743
    shr di, 008h                              ; c1 ef 08                    ; 0xf4698
    cmp di, strict byte 00044h                ; 83 ff 44                    ; 0xf469b
    je near 0444bh                            ; 0f 84 a9 fd                 ; 0xf469e
    cmp di, strict byte 00047h                ; 83 ff 47                    ; 0xf46a2
    jne short 046aah                          ; 75 03                       ; 0xf46a5
    jmp near 0444bh                           ; e9 a1 fd                    ; 0xf46a7 eltorito.c:744
    push word [bp-010h]                       ; ff 76 f0                    ; 0xf46aa eltorito.c:749
    push word [bp-00eh]                       ; ff 76 f2                    ; 0xf46ad
    movzx bx, byte [bp-006h]                  ; 0f b6 5e fa                 ; 0xf46b0
    mov word [bp-01ah], bx                    ; 89 5e e6                    ; 0xf46b4
    mov bx, ax                                ; 89 c3                       ; 0xf46b7
    mov ax, word [bp-01ah]                    ; 8b 46 e6                    ; 0xf46b9
    call 03f03h                               ; e8 44 f8                    ; 0xf46bc
    mov word [bp-016h], ax                    ; 89 46 ea                    ; 0xf46bf
    les bx, [bp-00ch]                         ; c4 5e f4                    ; 0xf46c2 eltorito.c:750
    mov ax, word [es:bx+01ah]                 ; 26 8b 47 1a                 ; 0xf46c5
    mov dx, word [es:bx+01ch]                 ; 26 8b 57 1c                 ; 0xf46c9
    mov cx, strict word 00009h                ; b9 09 00                    ; 0xf46cd
    shr dx, 1                                 ; d1 ea                       ; 0xf46d0
    rcr ax, 1                                 ; d1 d8                       ; 0xf46d2
    loop 046d0h                               ; e2 fa                       ; 0xf46d4
    mov es, [bp-012h]                         ; 8e 46 ee                    ; 0xf46d6 eltorito.c:751
    mov word [es:si+002h], ax                 ; 26 89 44 02                 ; 0xf46d9
    cmp byte [bp-016h], 000h                  ; 80 7e ea 00                 ; 0xf46dd eltorito.c:753
    je near 0444bh                            ; 0f 84 66 fd                 ; 0xf46e1
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf46e5 eltorito.c:754
    mov cx, ds                                ; 8c d9                       ; 0xf46e8
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf46ea
    call 01a27h                               ; e8 37 d3                    ; 0xf46ed
    movzx ax, byte [bp-016h]                  ; 0f b6 46 ea                 ; 0xf46f0
    push ax                                   ; 50                          ; 0xf46f4
    push di                                   ; 57                          ; 0xf46f5
    push 003ceh                               ; 68 ce 03                    ; 0xf46f6
    push 0045ah                               ; 68 5a 04                    ; 0xf46f9
    push strict byte 00004h                   ; 6a 04                       ; 0xf46fc
    call 01a68h                               ; e8 67 d3                    ; 0xf46fe
    add sp, strict byte 0000ah                ; 83 c4 0a                    ; 0xf4701
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf4704 eltorito.c:755
    xor ah, ah                                ; 30 e4                       ; 0xf4707
    or ah, 00ch                               ; 80 cc 0c                    ; 0xf4709
    jmp short 04730h                          ; eb 22                       ; 0xf470c
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf470e eltorito.c:763
    push ax                                   ; 50                          ; 0xf4712
    mov ax, word [bp+00ah]                    ; 8b 46 0a                    ; 0xf4713
    mov dx, word [bp+004h]                    ; 8b 56 04                    ; 0xf4716
    mov bx, word [bp-00ch]                    ; 8b 5e f4                    ; 0xf4719
    mov cx, word [bp-00ah]                    ; 8b 4e f6                    ; 0xf471c
    call 05933h                               ; e8 11 12                    ; 0xf471f
    test ax, ax                               ; 85 c0                       ; 0xf4722
    je near 0444bh                            ; 0f 84 23 fd                 ; 0xf4724
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf4728 eltorito.c:764
    xor ah, ah                                ; 30 e4                       ; 0xf472b
    or ah, 001h                               ; 80 cc 01                    ; 0xf472d
    mov word [bp+016h], ax                    ; 89 46 16                    ; 0xf4730
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf4733
    shr ax, 008h                              ; c1 e8 08                    ; 0xf4736
    mov bx, strict word 00074h                ; bb 74 00                    ; 0xf4739
    mov dx, strict word 00040h                ; ba 40 00                    ; 0xf473c
    mov es, dx                                ; 8e c2                       ; 0xf473f
    mov byte [es:bx], al                      ; 26 88 07                    ; 0xf4741
    or byte [bp+01ch], 001h                   ; 80 4e 1c 01                 ; 0xf4744
    jmp near 0445fh                           ; e9 14 fd                    ; 0xf4748
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf474b eltorito.c:780
    mov cx, ds                                ; 8c d9                       ; 0xf474e
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf4750
    call 01a27h                               ; e8 d1 d2                    ; 0xf4753
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf4756
    shr ax, 008h                              ; c1 e8 08                    ; 0xf4759
    push ax                                   ; 50                          ; 0xf475c
    push 003ceh                               ; 68 ce 03                    ; 0xf475d
    push 0047ch                               ; 68 7c 04                    ; 0xf4760
    push strict byte 00004h                   ; 6a 04                       ; 0xf4763
    jmp near 04681h                           ; e9 19 ff                    ; 0xf4765
  ; disGetNextSymbol 0xf4768 LB 0x66b4 -> off=0x59 cb=0000000000000301 uValue=00000000000f31c1 'int13_cdrom'
    db  050h, 04eh, 049h, 048h, 047h, 046h, 045h, 044h, 043h, 042h, 041h, 018h, 016h, 015h, 014h, 011h
    db  010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 0a5h, 04ah, 009h
    db  04ah, 066h, 048h, 0a5h, 04ah, 05bh, 048h, 0a5h, 04ah, 05bh, 048h, 0a5h, 04ah, 009h, 04ah, 0a5h
    db  04ah, 0a5h, 04ah, 009h, 04ah, 009h, 04ah, 009h, 04ah, 009h, 04ah, 009h, 04ah, 08ch, 048h, 009h
    db  04ah, 0a5h, 04ah, 092h, 048h, 0a5h, 048h, 05bh, 048h, 0a5h, 048h, 06dh, 049h, 024h, 04ah, 0a5h
    db  048h, 047h, 04ah, 07fh, 04ah, 087h, 04ah, 0a5h, 04ah
int13_cdrom:                                 ; 0xf47c1 LB 0x301
    push bp                                   ; 55                          ; 0xf47c1 eltorito.c:805
    mov bp, sp                                ; 89 e5                       ; 0xf47c2
    push si                                   ; 56                          ; 0xf47c4
    push di                                   ; 57                          ; 0xf47c5
    sub sp, strict byte 0000eh                ; 83 ec 0e                    ; 0xf47c6
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf47c9 eltorito.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf47cc
    mov es, ax                                ; 8e c0                       ; 0xf47cf
    mov ax, word [es:bx]                      ; 26 8b 07                    ; 0xf47d1
    mov si, strict word 0005eh                ; be 5e 00                    ; 0xf47d4 eltorito.c:814
    mov word [bp-006h], ax                    ; 89 46 fa                    ; 0xf47d7
    mov bx, strict word 00074h                ; bb 74 00                    ; 0xf47da eltorito.c:53
    mov byte [es:bx], 000h                    ; 26 c6 07 00                 ; 0xf47dd
    mov ax, word [bp+010h]                    ; 8b 46 10                    ; 0xf47e1 eltorito.c:821
    xor ah, ah                                ; 30 e4                       ; 0xf47e4
    cmp ax, 000e0h                            ; 3d e0 00                    ; 0xf47e6
    jc short 047f0h                           ; 72 05                       ; 0xf47e9
    cmp ax, 000f4h                            ; 3d f4 00                    ; 0xf47eb
    jc short 0480eh                           ; 72 1e                       ; 0xf47ee
    mov ax, word [bp+010h]                    ; 8b 46 10                    ; 0xf47f0 eltorito.c:822
    xor ah, ah                                ; 30 e4                       ; 0xf47f3
    push ax                                   ; 50                          ; 0xf47f5
    mov ax, word [bp+018h]                    ; 8b 46 18                    ; 0xf47f6
    shr ax, 008h                              ; c1 e8 08                    ; 0xf47f9
    push ax                                   ; 50                          ; 0xf47fc
    push 004ach                               ; 68 ac 04                    ; 0xf47fd
    push 004b8h                               ; 68 b8 04                    ; 0xf4800
    push strict byte 00004h                   ; 6a 04                       ; 0xf4803
    call 01a68h                               ; e8 60 d2                    ; 0xf4805
    add sp, strict byte 0000ah                ; 83 c4 0a                    ; 0xf4808
    jmp near 04a5dh                           ; e9 4f 02                    ; 0xf480b eltorito.c:823
    mov ax, word [bp+010h]                    ; 8b 46 10                    ; 0xf480e eltorito.c:827
    xor ah, ah                                ; 30 e4                       ; 0xf4811
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xf4813
    mov bx, si                                ; 89 f3                       ; 0xf4816
    add bx, ax                                ; 01 c3                       ; 0xf4818
    mov dl, byte [es:bx+00184h]               ; 26 8a 97 84 01              ; 0xf481a
    cmp dl, 014h                              ; 80 fa 14                    ; 0xf481f eltorito.c:830
    jc short 04834h                           ; 72 10                       ; 0xf4822
    push ax                                   ; 50                          ; 0xf4824 eltorito.c:831
    mov ax, word [bp+018h]                    ; 8b 46 18                    ; 0xf4825
    shr ax, 008h                              ; c1 e8 08                    ; 0xf4828
    push ax                                   ; 50                          ; 0xf482b
    push 004ach                               ; 68 ac 04                    ; 0xf482c
    push 004e3h                               ; 68 e3 04                    ; 0xf482f
    jmp short 04803h                          ; eb cf                       ; 0xf4832
    mov ax, word [bp+018h]                    ; 8b 46 18                    ; 0xf4834 eltorito.c:835
    shr ax, 008h                              ; c1 e8 08                    ; 0xf4837
    cmp ax, strict word 00050h                ; 3d 50 00                    ; 0xf483a
    jnbe near 04aa5h                          ; 0f 87 64 02                 ; 0xf483d
    push CS                                   ; 0e                          ; 0xf4841
    pop ES                                    ; 07                          ; 0xf4842
    mov cx, strict word 0001eh                ; b9 1e 00                    ; 0xf4843
    mov di, 04768h                            ; bf 68 47                    ; 0xf4846
    repne scasb                               ; f2 ae                       ; 0xf4849
    sal cx, 1                                 ; d1 e1                       ; 0xf484b
    mov di, cx                                ; 89 cf                       ; 0xf484d
    mov bx, word [cs:di+04785h]               ; 2e 8b 9d 85 47              ; 0xf484f
    mov ax, word [bp+018h]                    ; 8b 46 18                    ; 0xf4854
    xor ah, ah                                ; 30 e4                       ; 0xf4857
    jmp bx                                    ; ff e3                       ; 0xf4859
    mov ax, word [bp+018h]                    ; 8b 46 18                    ; 0xf485b eltorito.c:853
    xor ah, ah                                ; 30 e4                       ; 0xf485e
    or ah, 003h                               ; 80 cc 03                    ; 0xf4860
    jmp near 04a65h                           ; e9 ff 01                    ; 0xf4863
    mov bx, strict word 00074h                ; bb 74 00                    ; 0xf4866 eltorito.c:48
    mov dx, strict word 00040h                ; ba 40 00                    ; 0xf4869
    mov es, dx                                ; 8e c2                       ; 0xf486c
    mov dl, byte [es:bx]                      ; 26 8a 17                    ; 0xf486e
    movzx bx, dl                              ; 0f b6 da                    ; 0xf4871 eltorito.c:859
    sal bx, 008h                              ; c1 e3 08                    ; 0xf4874
    or ax, bx                                 ; 09 d8                       ; 0xf4877
    mov word [bp+018h], ax                    ; 89 46 18                    ; 0xf4879
    mov bx, strict word 00074h                ; bb 74 00                    ; 0xf487c eltorito.c:53
    mov byte [es:bx], 000h                    ; 26 c6 07 00                 ; 0xf487f
    test dl, dl                               ; 84 d2                       ; 0xf4883 eltorito.c:863
    je near 04a0dh                            ; 0f 84 84 01                 ; 0xf4885
    jmp near 04a79h                           ; e9 ed 01                    ; 0xf4889 eltorito.c:864
    or ah, 002h                               ; 80 cc 02                    ; 0xf488c eltorito.c:870
    jmp near 04a65h                           ; e9 d3 01                    ; 0xf488f
    mov word [bp+012h], 0aa55h                ; c7 46 12 55 aa              ; 0xf4892 eltorito.c:875
    or ah, 030h                               ; 80 cc 30                    ; 0xf4897 eltorito.c:876
    mov word [bp+018h], ax                    ; 89 46 18                    ; 0xf489a
    mov word [bp+016h], strict word 00007h    ; c7 46 16 07 00              ; 0xf489d eltorito.c:877
    jmp near 04a0dh                           ; e9 68 01                    ; 0xf48a2 eltorito.c:878
    mov bx, word [bp+00ch]                    ; 8b 5e 0c                    ; 0xf48a5 eltorito.c:886
    mov es, [bp+006h]                         ; 8e 46 06                    ; 0xf48a8
    mov di, bx                                ; 89 df                       ; 0xf48ab
    mov [bp-00ah], es                         ; 8c 46 f6                    ; 0xf48ad
    mov ax, word [es:bx+002h]                 ; 26 8b 47 02                 ; 0xf48b0 eltorito.c:888
    mov word [bp-00ch], ax                    ; 89 46 f4                    ; 0xf48b4
    mov ax, word [es:bx+006h]                 ; 26 8b 47 06                 ; 0xf48b7 eltorito.c:889
    mov word [bp-00eh], ax                    ; 89 46 f2                    ; 0xf48bb
    mov ax, word [es:bx+004h]                 ; 26 8b 47 04                 ; 0xf48be eltorito.c:890
    mov word [bp-010h], ax                    ; 89 46 f0                    ; 0xf48c2
    mov ax, word [es:bx+00ch]                 ; 26 8b 47 0c                 ; 0xf48c5 eltorito.c:893
    mov cx, word [es:bx+00eh]                 ; 26 8b 4f 0e                 ; 0xf48c9
    or ax, cx                                 ; 09 c8                       ; 0xf48cd eltorito.c:894
    je short 048e9h                           ; 74 18                       ; 0xf48cf
    mov ax, word [bp+018h]                    ; 8b 46 18                    ; 0xf48d1 eltorito.c:895
    shr ax, 008h                              ; c1 e8 08                    ; 0xf48d4
    push ax                                   ; 50                          ; 0xf48d7
    push 004ach                               ; 68 ac 04                    ; 0xf48d8
    push 00431h                               ; 68 31 04                    ; 0xf48db
    push strict byte 00007h                   ; 6a 07                       ; 0xf48de
    call 01a68h                               ; e8 85 d1                    ; 0xf48e0
    add sp, strict byte 00008h                ; 83 c4 08                    ; 0xf48e3
    jmp near 04a5dh                           ; e9 74 01                    ; 0xf48e6 eltorito.c:896
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf48e9 eltorito.c:900
    mov ax, word [es:di+008h]                 ; 26 8b 45 08                 ; 0xf48ec
    mov cx, word [es:di+00ah]                 ; 26 8b 4d 0a                 ; 0xf48f0
    mov bx, word [bp+018h]                    ; 8b 5e 18                    ; 0xf48f4 eltorito.c:903
    shr bx, 008h                              ; c1 eb 08                    ; 0xf48f7
    mov word [bp-008h], bx                    ; 89 5e f8                    ; 0xf48fa
    cmp bx, strict byte 00044h                ; 83 fb 44                    ; 0xf48fd
    je near 04a09h                            ; 0f 84 05 01                 ; 0xf4900
    cmp bx, strict byte 00047h                ; 83 fb 47                    ; 0xf4904
    je near 04a09h                            ; 0f 84 fe 00                 ; 0xf4907
    push dword [bp-010h]                      ; 66 ff 76 f0                 ; 0xf490b eltorito.c:909
    xor dh, dh                                ; 30 f6                       ; 0xf490f
    mov word [bp-012h], dx                    ; 89 56 ee                    ; 0xf4911
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf4914
    mov bx, ax                                ; 89 c3                       ; 0xf4917
    mov ax, word [bp-012h]                    ; 8b 46 ee                    ; 0xf4919
    call 03e84h                               ; e8 65 f5                    ; 0xf491c
    mov dx, ax                                ; 89 c2                       ; 0xf491f
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xf4921 eltorito.c:910
    mov ax, word [es:si+01ah]                 ; 26 8b 44 1a                 ; 0xf4924
    mov bx, word [es:si+01ch]                 ; 26 8b 5c 1c                 ; 0xf4928
    mov cx, strict word 0000bh                ; b9 0b 00                    ; 0xf492c
    shr bx, 1                                 ; d1 eb                       ; 0xf492f
    rcr ax, 1                                 ; d1 d8                       ; 0xf4931
    loop 0492fh                               ; e2 fa                       ; 0xf4933
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf4935 eltorito.c:911
    mov word [es:di+002h], ax                 ; 26 89 45 02                 ; 0xf4938
    test dl, dl                               ; 84 d2                       ; 0xf493c eltorito.c:913
    je near 04a09h                            ; 0f 84 c7 00                 ; 0xf493e
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf4942 eltorito.c:914
    mov cx, ds                                ; 8c d9                       ; 0xf4945
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf4947
    call 01a27h                               ; e8 da d0                    ; 0xf494a
    movzx ax, dl                              ; 0f b6 c2                    ; 0xf494d
    push ax                                   ; 50                          ; 0xf4950
    push word [bp-008h]                       ; ff 76 f8                    ; 0xf4951
    push 004ach                               ; 68 ac 04                    ; 0xf4954
    push 0045ah                               ; 68 5a 04                    ; 0xf4957
    push strict byte 00004h                   ; 6a 04                       ; 0xf495a
    call 01a68h                               ; e8 09 d1                    ; 0xf495c
    add sp, strict byte 0000ah                ; 83 c4 0a                    ; 0xf495f
    mov ax, word [bp+018h]                    ; 8b 46 18                    ; 0xf4962 eltorito.c:915
    xor ah, ah                                ; 30 e4                       ; 0xf4965
    or ah, 00ch                               ; 80 cc 0c                    ; 0xf4967
    jmp near 04a65h                           ; e9 f8 00                    ; 0xf496a
    cmp ax, strict word 00002h                ; 3d 02 00                    ; 0xf496d eltorito.c:923
    jnbe near 04a5dh                          ; 0f 87 e9 00                 ; 0xf4970
    movzx bx, dl                              ; 0f b6 da                    ; 0xf4974 eltorito.c:926
    imul bx, bx, strict byte 0001ch           ; 6b db 1c                    ; 0xf4977
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xf497a
    add bx, si                                ; 01 f3                       ; 0xf497d
    mov bl, byte [es:bx+021h]                 ; 26 8a 5f 21                 ; 0xf497f
    cmp ax, strict word 00002h                ; 3d 02 00                    ; 0xf4983 eltorito.c:928
    je short 049fah                           ; 74 72                       ; 0xf4986
    cmp ax, strict word 00001h                ; 3d 01 00                    ; 0xf4988
    je short 049c8h                           ; 74 3b                       ; 0xf498b
    test ax, ax                               ; 85 c0                       ; 0xf498d
    jne near 04a09h                           ; 0f 85 76 00                 ; 0xf498f
    cmp bl, 0ffh                              ; 80 fb ff                    ; 0xf4993 eltorito.c:930
    jne short 049aah                          ; 75 12                       ; 0xf4996
    mov ax, word [bp+018h]                    ; 8b 46 18                    ; 0xf4998 eltorito.c:931
    xor ah, ah                                ; 30 e4                       ; 0xf499b
    or ah, 0b4h                               ; 80 cc b4                    ; 0xf499d
    mov word [bp+018h], ax                    ; 89 46 18                    ; 0xf49a0
    xor al, al                                ; 30 c0                       ; 0xf49a3 eltorito.c:932
    or AL, strict byte 001h                   ; 0c 01                       ; 0xf49a5
    jmp near 04a65h                           ; e9 bb 00                    ; 0xf49a7
    movzx ax, dl                              ; 0f b6 c2                    ; 0xf49aa eltorito.c:934
    imul ax, ax, strict byte 0001ch           ; 6b c0 1c                    ; 0xf49ad
    db  0feh, 0c3h
    ; inc bl                                    ; fe c3                     ; 0xf49b0 eltorito.c:935
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xf49b2
    add si, ax                                ; 01 c6                       ; 0xf49b5
    mov byte [es:si+021h], bl                 ; 26 88 5c 21                 ; 0xf49b7
    mov ax, word [bp+018h]                    ; 8b 46 18                    ; 0xf49bb eltorito.c:936
    xor al, al                                ; 30 c0                       ; 0xf49be
    or AL, strict byte 001h                   ; 0c 01                       ; 0xf49c0
    mov word [bp+018h], ax                    ; 89 46 18                    ; 0xf49c2
    jmp near 04a09h                           ; e9 41 00                    ; 0xf49c5 eltorito.c:937
    test bl, bl                               ; 84 db                       ; 0xf49c8 eltorito.c:939
    jne short 049d8h                          ; 75 0c                       ; 0xf49ca
    or ah, 0b0h                               ; 80 cc b0                    ; 0xf49cc eltorito.c:940
    mov word [bp+018h], ax                    ; 89 46 18                    ; 0xf49cf
    mov byte [bp+018h], bl                    ; 88 5e 18                    ; 0xf49d2 eltorito.c:941
    jmp near 04a68h                           ; e9 90 00                    ; 0xf49d5 eltorito.c:942
    movzx ax, dl                              ; 0f b6 c2                    ; 0xf49d8 eltorito.c:943
    imul ax, ax, strict byte 0001ch           ; 6b c0 1c                    ; 0xf49db
    db  0feh, 0cbh
    ; dec bl                                    ; fe cb                     ; 0xf49de eltorito.c:944
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xf49e0
    add si, ax                                ; 01 c6                       ; 0xf49e3
    mov byte [es:si+021h], bl                 ; 26 88 5c 21                 ; 0xf49e5
    test bl, bl                               ; 84 db                       ; 0xf49e9 eltorito.c:945
    db  00fh, 095h, 0c0h
    ; setne al                                  ; 0f 95 c0                  ; 0xf49eb
    movzx dx, al                              ; 0f b6 d0                    ; 0xf49ee
    mov ax, word [bp+018h]                    ; 8b 46 18                    ; 0xf49f1
    xor al, al                                ; 30 c0                       ; 0xf49f4
    or ax, dx                                 ; 09 d0                       ; 0xf49f6
    jmp short 049c2h                          ; eb c8                       ; 0xf49f8
    test bl, bl                               ; 84 db                       ; 0xf49fa eltorito.c:948
    db  00fh, 095h, 0c0h
    ; setne al                                  ; 0f 95 c0                  ; 0xf49fc
    xor ah, ah                                ; 30 e4                       ; 0xf49ff
    mov dx, word [bp+018h]                    ; 8b 56 18                    ; 0xf4a01
    mov dl, al                                ; 88 c2                       ; 0xf4a04
    mov word [bp+018h], dx                    ; 89 56 18                    ; 0xf4a06
    mov byte [bp+019h], 000h                  ; c6 46 19 00                 ; 0xf4a09 eltorito.c:951
    mov bx, strict word 00074h                ; bb 74 00                    ; 0xf4a0d
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf4a10
    mov es, ax                                ; 8e c0                       ; 0xf4a13
    mov byte [es:bx], 000h                    ; 26 c6 07 00                 ; 0xf4a15
    and byte [bp+01eh], 0feh                  ; 80 66 1e fe                 ; 0xf4a19
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf4a1d
    pop di                                    ; 5f                          ; 0xf4a20
    pop si                                    ; 5e                          ; 0xf4a21
    pop bp                                    ; 5d                          ; 0xf4a22
    retn                                      ; c3                          ; 0xf4a23
    movzx bx, dl                              ; 0f b6 da                    ; 0xf4a24 eltorito.c:955
    imul bx, bx, strict byte 0001ch           ; 6b db 1c                    ; 0xf4a27
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xf4a2a
    add bx, si                                ; 01 f3                       ; 0xf4a2d
    mov bl, byte [es:bx+021h]                 ; 26 8a 5f 21                 ; 0xf4a2f
    test bl, bl                               ; 84 db                       ; 0xf4a33 eltorito.c:957
    je short 04a3ch                           ; 74 05                       ; 0xf4a35
    or ah, 0b1h                               ; 80 cc b1                    ; 0xf4a37 eltorito.c:958
    jmp short 04a65h                          ; eb 29                       ; 0xf4a3a
    test dh, dh                               ; 84 f6                       ; 0xf4a3c eltorito.c:980
    je short 04a09h                           ; 74 c9                       ; 0xf4a3e
    mov ax, word [bp+018h]                    ; 8b 46 18                    ; 0xf4a40 eltorito.c:981
    xor ah, ah                                ; 30 e4                       ; 0xf4a43
    jmp short 04a37h                          ; eb f0                       ; 0xf4a45
    movzx ax, dl                              ; 0f b6 c2                    ; 0xf4a47 eltorito.c:989
    push ax                                   ; 50                          ; 0xf4a4a
    mov ax, word [bp+00ch]                    ; 8b 46 0c                    ; 0xf4a4b
    mov dx, word [bp+006h]                    ; 8b 56 06                    ; 0xf4a4e
    mov bx, si                                ; 89 f3                       ; 0xf4a51
    mov cx, word [bp-006h]                    ; 8b 4e fa                    ; 0xf4a53
    call 05933h                               ; e8 da 0e                    ; 0xf4a56
    test ax, ax                               ; 85 c0                       ; 0xf4a59
    je short 04a09h                           ; 74 ac                       ; 0xf4a5b
    mov ax, word [bp+018h]                    ; 8b 46 18                    ; 0xf4a5d eltorito.c:990
    xor ah, ah                                ; 30 e4                       ; 0xf4a60
    or ah, 001h                               ; 80 cc 01                    ; 0xf4a62
    mov word [bp+018h], ax                    ; 89 46 18                    ; 0xf4a65
    mov ax, word [bp+018h]                    ; 8b 46 18                    ; 0xf4a68
    shr ax, 008h                              ; c1 e8 08                    ; 0xf4a6b
    mov bx, strict word 00074h                ; bb 74 00                    ; 0xf4a6e
    mov dx, strict word 00040h                ; ba 40 00                    ; 0xf4a71
    mov es, dx                                ; 8e c2                       ; 0xf4a74
    mov byte [es:bx], al                      ; 26 88 07                    ; 0xf4a76
    or byte [bp+01eh], 001h                   ; 80 4e 1e 01                 ; 0xf4a79
    jmp short 04a1dh                          ; eb 9e                       ; 0xf4a7d
    or ah, 006h                               ; 80 cc 06                    ; 0xf4a7f eltorito.c:997
    mov word [bp+018h], ax                    ; 89 46 18                    ; 0xf4a82
    jmp short 04a79h                          ; eb f2                       ; 0xf4a85 eltorito.c:998
    cmp ax, strict word 00006h                ; 3d 06 00                    ; 0xf4a87 eltorito.c:1003
    je near 04a09h                            ; 0f 84 7b ff                 ; 0xf4a8a
    cmp ax, strict word 00001h                ; 3d 01 00                    ; 0xf4a8e
    jc short 04a5dh                           ; 72 ca                       ; 0xf4a91
    jbe near 04a09h                           ; 0f 86 72 ff                 ; 0xf4a93
    cmp ax, strict word 00003h                ; 3d 03 00                    ; 0xf4a97
    jc short 04a5dh                           ; 72 c1                       ; 0xf4a9a
    cmp ax, strict word 00004h                ; 3d 04 00                    ; 0xf4a9c
    jbe near 04a09h                           ; 0f 86 66 ff                 ; 0xf4a9f
    jmp short 04a5dh                          ; eb b8                       ; 0xf4aa3 eltorito.c:1011
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf4aa5 eltorito.c:1024
    mov cx, ds                                ; 8c d9                       ; 0xf4aa8
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf4aaa
    call 01a27h                               ; e8 77 cf                    ; 0xf4aad
    mov ax, word [bp+018h]                    ; 8b 46 18                    ; 0xf4ab0
    shr ax, 008h                              ; c1 e8 08                    ; 0xf4ab3
    push ax                                   ; 50                          ; 0xf4ab6
    push 004ach                               ; 68 ac 04                    ; 0xf4ab7
    push 003b5h                               ; 68 b5 03                    ; 0xf4aba
    push strict byte 00004h                   ; 6a 04                       ; 0xf4abd
    jmp near 048e0h                           ; e9 1e fe                    ; 0xf4abf
  ; disGetNextSymbol 0xf4ac2 LB 0x635a -> off=0x0 cb=000000000000004b uValue=00000000000f34c2 'print_boot_device'
print_boot_device:                           ; 0xf4ac2 LB 0x4b
    push bp                                   ; 55                          ; 0xf4ac2 boot.c:119
    mov bp, sp                                ; 89 e5                       ; 0xf4ac3
    push cx                                   ; 51                          ; 0xf4ac5
    test al, al                               ; 84 c0                       ; 0xf4ac6 boot.c:127
    je short 04acfh                           ; 74 05                       ; 0xf4ac8
    mov dx, strict word 00002h                ; ba 02 00                    ; 0xf4aca
    jmp short 04ae9h                          ; eb 1a                       ; 0xf4acd boot.c:128
    test dl, dl                               ; 84 d2                       ; 0xf4acf
    je short 04ad8h                           ; 74 05                       ; 0xf4ad1
    mov dx, strict word 00003h                ; ba 03 00                    ; 0xf4ad3
    jmp short 04ae9h                          ; eb 11                       ; 0xf4ad6 boot.c:129
    test bl, 080h                             ; f6 c3 80                    ; 0xf4ad8
    jne short 04ae1h                          ; 75 04                       ; 0xf4adb
    xor dh, dh                                ; 30 f6                       ; 0xf4add
    jmp short 04ae9h                          ; eb 08                       ; 0xf4adf boot.c:130
    test bl, 080h                             ; f6 c3 80                    ; 0xf4ae1
    je short 04b07h                           ; 74 21                       ; 0xf4ae4
    mov dx, strict word 00001h                ; ba 01 00                    ; 0xf4ae6
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf4ae9 boot.c:133
    mov cx, ds                                ; 8c d9                       ; 0xf4aec
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf4aee
    call 01a27h                               ; e8 33 cf                    ; 0xf4af1
    imul dx, dx, strict byte 0000ah           ; 6b d2 0a                    ; 0xf4af4
    add dx, 00e3ch                            ; 81 c2 3c 0e                 ; 0xf4af7
    push dx                                   ; 52                          ; 0xf4afb
    push 00516h                               ; 68 16 05                    ; 0xf4afc
    push strict byte 00004h                   ; 6a 04                       ; 0xf4aff
    call 01a68h                               ; e8 64 cf                    ; 0xf4b01
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf4b04
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xf4b07 boot.c:134
    pop cx                                    ; 59                          ; 0xf4b0a
    pop bp                                    ; 5d                          ; 0xf4b0b
    retn                                      ; c3                          ; 0xf4b0c
  ; disGetNextSymbol 0xf4b0d LB 0x630f -> off=0x0 cb=00000000000000bf uValue=00000000000f350d 'print_boot_failure'
print_boot_failure:                          ; 0xf4b0d LB 0xbf
    push bp                                   ; 55                          ; 0xf4b0d boot.c:141
    mov bp, sp                                ; 89 e5                       ; 0xf4b0e
    push si                                   ; 56                          ; 0xf4b10
    mov dh, cl                                ; 88 ce                       ; 0xf4b11
    mov ah, bl                                ; 88 dc                       ; 0xf4b13 boot.c:144
    and ah, 07fh                              ; 80 e4 7f                    ; 0xf4b15
    movzx si, ah                              ; 0f b6 f4                    ; 0xf4b18
    test al, al                               ; 84 c0                       ; 0xf4b1b boot.c:152
    je short 04b3ah                           ; 74 1b                       ; 0xf4b1d
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf4b1f boot.c:153
    mov cx, ds                                ; 8c d9                       ; 0xf4b22
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf4b24
    call 01a27h                               ; e8 fd ce                    ; 0xf4b27
    push 00e50h                               ; 68 50 0e                    ; 0xf4b2a
    push 0052ah                               ; 68 2a 05                    ; 0xf4b2d
    push strict byte 00004h                   ; 6a 04                       ; 0xf4b30
    call 01a68h                               ; e8 33 cf                    ; 0xf4b32
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf4b35
    jmp short 04b7eh                          ; eb 44                       ; 0xf4b38 boot.c:154
    test dl, dl                               ; 84 d2                       ; 0xf4b3a
    je short 04b4eh                           ; 74 10                       ; 0xf4b3c
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf4b3e boot.c:155
    mov cx, ds                                ; 8c d9                       ; 0xf4b41
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf4b43
    call 01a27h                               ; e8 de ce                    ; 0xf4b46
    push 00e5ah                               ; 68 5a 0e                    ; 0xf4b49
    jmp short 04b2dh                          ; eb df                       ; 0xf4b4c
    test bl, 080h                             ; f6 c3 80                    ; 0xf4b4e boot.c:156
    je short 04b64h                           ; 74 11                       ; 0xf4b51
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf4b53 boot.c:157
    mov cx, ds                                ; 8c d9                       ; 0xf4b56
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf4b58
    call 01a27h                               ; e8 c9 ce                    ; 0xf4b5b
    push si                                   ; 56                          ; 0xf4b5e
    push 00e46h                               ; 68 46 0e                    ; 0xf4b5f
    jmp short 04b73h                          ; eb 0f                       ; 0xf4b62 boot.c:158
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf4b64 boot.c:159
    mov cx, ds                                ; 8c d9                       ; 0xf4b67
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf4b69
    call 01a27h                               ; e8 b8 ce                    ; 0xf4b6c
    push si                                   ; 56                          ; 0xf4b6f
    push 00e3ch                               ; 68 3c 0e                    ; 0xf4b70
    push 0053fh                               ; 68 3f 05                    ; 0xf4b73
    push strict byte 00004h                   ; 6a 04                       ; 0xf4b76
    call 01a68h                               ; e8 ed ce                    ; 0xf4b78
    add sp, strict byte 00008h                ; 83 c4 08                    ; 0xf4b7b
    cmp byte [bp+004h], 001h                  ; 80 7e 04 01                 ; 0xf4b7e boot.c:161
    jne short 04bc4h                          ; 75 40                       ; 0xf4b82
    test dh, dh                               ; 84 f6                       ; 0xf4b84 boot.c:162
    jne short 04b98h                          ; 75 10                       ; 0xf4b86
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf4b88 boot.c:163
    mov cx, ds                                ; 8c d9                       ; 0xf4b8b
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf4b8d
    call 01a27h                               ; e8 94 ce                    ; 0xf4b90
    push 00557h                               ; 68 57 05                    ; 0xf4b93
    jmp short 04ba6h                          ; eb 0e                       ; 0xf4b96 boot.c:164
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf4b98 boot.c:165
    mov cx, ds                                ; 8c d9                       ; 0xf4b9b
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf4b9d
    call 01a27h                               ; e8 84 ce                    ; 0xf4ba0
    push 00572h                               ; 68 72 05                    ; 0xf4ba3
    push strict byte 00006h                   ; 6a 06                       ; 0xf4ba6
    call 01a68h                               ; e8 bd ce                    ; 0xf4ba8
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf4bab
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf4bae boot.c:166
    mov cx, ds                                ; 8c d9                       ; 0xf4bb1
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf4bb3
    call 01a27h                               ; e8 6e ce                    ; 0xf4bb6
    push 00598h                               ; 68 98 05                    ; 0xf4bb9
    push strict byte 00006h                   ; 6a 06                       ; 0xf4bbc
    call 01a68h                               ; e8 a7 ce                    ; 0xf4bbe
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf4bc1
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xf4bc4 boot.c:168
    pop si                                    ; 5e                          ; 0xf4bc7
    pop bp                                    ; 5d                          ; 0xf4bc8
    retn 00002h                               ; c2 02 00                    ; 0xf4bc9
  ; disGetNextSymbol 0xf4bcc LB 0x6250 -> off=0x0 cb=0000000000000027 uValue=00000000000f35cc 'print_cdromboot_failure'
print_cdromboot_failure:                     ; 0xf4bcc LB 0x27
    push bp                                   ; 55                          ; 0xf4bcc boot.c:174
    mov bp, sp                                ; 89 e5                       ; 0xf4bcd
    push bx                                   ; 53                          ; 0xf4bcf
    push cx                                   ; 51                          ; 0xf4bd0
    push dx                                   ; 52                          ; 0xf4bd1
    mov dx, ax                                ; 89 c2                       ; 0xf4bd2
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf4bd4 boot.c:176
    mov cx, ds                                ; 8c d9                       ; 0xf4bd7
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf4bd9
    call 01a27h                               ; e8 48 ce                    ; 0xf4bdc
    push dx                                   ; 52                          ; 0xf4bdf
    push 005c5h                               ; 68 c5 05                    ; 0xf4be0
    push strict byte 00004h                   ; 6a 04                       ; 0xf4be3
    call 01a68h                               ; e8 80 ce                    ; 0xf4be5
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf4be8
    lea sp, [bp-006h]                         ; 8d 66 fa                    ; 0xf4beb boot.c:178
    pop dx                                    ; 5a                          ; 0xf4bee
    pop cx                                    ; 59                          ; 0xf4bef
    pop bx                                    ; 5b                          ; 0xf4bf0
    pop bp                                    ; 5d                          ; 0xf4bf1
    retn                                      ; c3                          ; 0xf4bf2
  ; disGetNextSymbol 0xf4bf3 LB 0x6229 -> off=0x0 cb=0000000000000245 uValue=00000000000f35f3 'int19_function'
int19_function:                              ; 0xf4bf3 LB 0x245
    push bp                                   ; 55                          ; 0xf4bf3 boot.c:181
    mov bp, sp                                ; 89 e5                       ; 0xf4bf4
    push si                                   ; 56                          ; 0xf4bf6
    push di                                   ; 57                          ; 0xf4bf7
    sub sp, strict byte 0000eh                ; 83 ec 0e                    ; 0xf4bf8
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf4bfb boot.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf4bfe
    mov es, ax                                ; 8e c0                       ; 0xf4c01
    mov bx, word [es:bx]                      ; 26 8b 1f                    ; 0xf4c03
    mov word [bp-00eh], bx                    ; 89 5e f2                    ; 0xf4c06 boot.c:59
    mov byte [bp-006h], 000h                  ; c6 46 fa 00                 ; 0xf4c09 boot.c:192
    mov ax, strict word 0003dh                ; b8 3d 00                    ; 0xf4c0d boot.c:215
    call 0176ah                               ; e8 57 cb                    ; 0xf4c10
    movzx dx, al                              ; 0f b6 d0                    ; 0xf4c13
    mov ax, strict word 00038h                ; b8 38 00                    ; 0xf4c16 boot.c:216
    call 0176ah                               ; e8 4e cb                    ; 0xf4c19
    and AL, strict byte 0f0h                  ; 24 f0                       ; 0xf4c1c
    xor ah, ah                                ; 30 e4                       ; 0xf4c1e
    sal ax, 004h                              ; c1 e0 04                    ; 0xf4c20
    or dx, ax                                 ; 09 c2                       ; 0xf4c23
    mov ax, strict word 0003ch                ; b8 3c 00                    ; 0xf4c25 boot.c:217
    call 0176ah                               ; e8 3f cb                    ; 0xf4c28
    and AL, strict byte 00fh                  ; 24 0f                       ; 0xf4c2b
    xor ah, ah                                ; 30 e4                       ; 0xf4c2d
    sal ax, 00ch                              ; c1 e0 0c                    ; 0xf4c2f
    or dx, ax                                 ; 09 c2                       ; 0xf4c32
    mov di, 00331h                            ; bf 31 03                    ; 0xf4c34 boot.c:48
    mov es, bx                                ; 8e c3                       ; 0xf4c37
    mov al, byte [es:di]                      ; 26 8a 05                    ; 0xf4c39
    test al, al                               ; 84 c0                       ; 0xf4c3c boot.c:49
    je short 04c43h                           ; 74 03                       ; 0xf4c3e
    movzx dx, al                              ; 0f b6 d0                    ; 0xf4c40 boot.c:49
    cmp byte [bp+004h], 001h                  ; 80 7e 04 01                 ; 0xf4c43 boot.c:221
    jne short 04c59h                          ; 75 10                       ; 0xf4c47
    mov ax, strict word 0003ch                ; b8 3c 00                    ; 0xf4c49 boot.c:222
    call 0176ah                               ; e8 1b cb                    ; 0xf4c4c
    and AL, strict byte 0f0h                  ; 24 f0                       ; 0xf4c4f
    xor ah, ah                                ; 30 e4                       ; 0xf4c51
    sar ax, 004h                              ; c1 f8 04                    ; 0xf4c53
    call 07b25h                               ; e8 cc 2e                    ; 0xf4c56
    cmp byte [bp+004h], 002h                  ; 80 7e 04 02                 ; 0xf4c59 boot.c:224
    jne short 04c62h                          ; 75 03                       ; 0xf4c5d
    shr dx, 004h                              ; c1 ea 04                    ; 0xf4c5f
    cmp byte [bp+004h], 003h                  ; 80 7e 04 03                 ; 0xf4c62 boot.c:225
    jne short 04c6bh                          ; 75 03                       ; 0xf4c66
    shr dx, 008h                              ; c1 ea 08                    ; 0xf4c68
    cmp byte [bp+004h], 004h                  ; 80 7e 04 04                 ; 0xf4c6b boot.c:226
    jne short 04c74h                          ; 75 03                       ; 0xf4c6f
    shr dx, 00ch                              ; c1 ea 0c                    ; 0xf4c71
    cmp dx, strict byte 00010h                ; 83 fa 10                    ; 0xf4c74 boot.c:227
    jnc short 04c7dh                          ; 73 04                       ; 0xf4c77
    mov byte [bp-006h], 001h                  ; c6 46 fa 01                 ; 0xf4c79
    xor al, al                                ; 30 c0                       ; 0xf4c7d boot.c:228
    mov byte [bp-008h], al                    ; 88 46 f8                    ; 0xf4c7f
    mov byte [bp-00ah], al                    ; 88 46 f6                    ; 0xf4c82
    mov byte [bp-00ch], al                    ; 88 46 f4                    ; 0xf4c85 boot.c:229
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf4c88 boot.c:230
    mov cx, ds                                ; 8c d9                       ; 0xf4c8b
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf4c8d
    call 01a27h                               ; e8 94 cd                    ; 0xf4c90
    push dx                                   ; 52                          ; 0xf4c93
    movzx ax, byte [bp+004h]                  ; 0f b6 46 04                 ; 0xf4c94
    push ax                                   ; 50                          ; 0xf4c98
    push 005e5h                               ; 68 e5 05                    ; 0xf4c99
    push strict byte 00004h                   ; 6a 04                       ; 0xf4c9c
    call 01a68h                               ; e8 c7 cd                    ; 0xf4c9e
    add sp, strict byte 00008h                ; 83 c4 08                    ; 0xf4ca1
    and dx, strict byte 0000fh                ; 83 e2 0f                    ; 0xf4ca4 boot.c:232
    cmp dx, strict byte 00002h                ; 83 fa 02                    ; 0xf4ca7
    jc short 04cbah                           ; 72 0e                       ; 0xf4caa
    jbe short 04cc9h                          ; 76 1b                       ; 0xf4cac
    cmp dx, strict byte 00004h                ; 83 fa 04                    ; 0xf4cae
    je short 04ce6h                           ; 74 33                       ; 0xf4cb1
    cmp dx, strict byte 00003h                ; 83 fa 03                    ; 0xf4cb3
    je short 04cdch                           ; 74 24                       ; 0xf4cb6
    jmp short 04d13h                          ; eb 59                       ; 0xf4cb8
    cmp dx, strict byte 00001h                ; 83 fa 01                    ; 0xf4cba
    jne short 04d13h                          ; 75 54                       ; 0xf4cbd
    xor al, al                                ; 30 c0                       ; 0xf4cbf boot.c:234
    mov byte [bp-008h], al                    ; 88 46 f8                    ; 0xf4cc1
    mov byte [bp-00ah], al                    ; 88 46 f6                    ; 0xf4cc4 boot.c:235
    jmp short 04d29h                          ; eb 60                       ; 0xf4cc7 boot.c:236
    mov bx, 00330h                            ; bb 30 03                    ; 0xf4cc9 boot.c:48
    mov es, [bp-00eh]                         ; 8e 46 f2                    ; 0xf4ccc
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf4ccf
    add AL, strict byte 080h                  ; 04 80                       ; 0xf4cd2 boot.c:242
    mov byte [bp-008h], al                    ; 88 46 f8                    ; 0xf4cd4
    mov byte [bp-00ah], dh                    ; 88 76 f6                    ; 0xf4cd7 boot.c:243
    jmp short 04d29h                          ; eb 4d                       ; 0xf4cda boot.c:244
    mov byte [bp-008h], 000h                  ; c6 46 f8 00                 ; 0xf4cdc boot.c:247
    mov byte [bp-00ah], 001h                  ; c6 46 f6 01                 ; 0xf4ce0 boot.c:248
    jmp short 04cf0h                          ; eb 0a                       ; 0xf4ce4 boot.c:249
    mov byte [bp-00ch], 001h                  ; c6 46 f4 01                 ; 0xf4ce6 boot.c:250
    cmp byte [bp-00ah], 000h                  ; 80 7e f6 00                 ; 0xf4cea boot.c:266
    je short 04d29h                           ; 74 39                       ; 0xf4cee
    call 0406ah                               ; e8 77 f3                    ; 0xf4cf0 boot.c:267
    mov dx, ax                                ; 89 c2                       ; 0xf4cf3
    test AL, strict byte 0ffh                 ; a8 ff                       ; 0xf4cf5 boot.c:270
    je short 04d1ah                           ; 74 21                       ; 0xf4cf7
    call 04bcch                               ; e8 d0 fe                    ; 0xf4cf9 boot.c:271
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf4cfc boot.c:272
    push ax                                   ; 50                          ; 0xf4d00
    movzx bx, byte [bp-008h]                  ; 0f b6 5e f8                 ; 0xf4d01
    movzx dx, byte [bp-00ch]                  ; 0f b6 56 f4                 ; 0xf4d05
    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6                 ; 0xf4d09
    mov cx, strict word 00001h                ; b9 01 00                    ; 0xf4d0d
    call 04b0dh                               ; e8 fa fd                    ; 0xf4d10
    xor ax, ax                                ; 31 c0                       ; 0xf4d13
    xor dx, dx                                ; 31 d2                       ; 0xf4d15
    jmp near 04e31h                           ; e9 17 01                    ; 0xf4d17
    mov bx, 00322h                            ; bb 22 03                    ; 0xf4d1a boot.c:58
    mov es, [bp-00eh]                         ; 8e 46 f2                    ; 0xf4d1d
    mov si, word [es:bx]                      ; 26 8b 37                    ; 0xf4d20
    shr dx, 008h                              ; c1 ea 08                    ; 0xf4d23 boot.c:277
    mov byte [bp-008h], dl                    ; 88 56 f8                    ; 0xf4d26
    cmp byte [bp-00ch], 001h                  ; 80 7e f4 01                 ; 0xf4d29 boot.c:283
    jne near 04da5h                           ; 0f 85 74 00                 ; 0xf4d2d
    xor si, si                                ; 31 f6                       ; 0xf4d31 boot.c:286
    mov ax, 0e200h                            ; b8 00 e2                    ; 0xf4d33
    mov es, ax                                ; 8e c0                       ; 0xf4d36
    cmp word [es:si], 0aa55h                  ; 26 81 3c 55 aa              ; 0xf4d38 boot.c:287
    jne short 04cfch                          ; 75 bd                       ; 0xf4d3d
    mov di, ax                                ; 89 c7                       ; 0xf4d3f boot.c:293
    mov si, word [es:si+01ah]                 ; 26 8b 74 1a                 ; 0xf4d41
    cmp word [es:si+002h], 0506eh             ; 26 81 7c 02 6e 50           ; 0xf4d45 boot.c:294
    jne short 04cfch                          ; 75 af                       ; 0xf4d4b
    cmp word [es:si], 05024h                  ; 26 81 3c 24 50              ; 0xf4d4d
    jne short 04cfch                          ; 75 a8                       ; 0xf4d52
    mov bx, word [es:si+00eh]                 ; 26 8b 5c 0e                 ; 0xf4d54 boot.c:296
    mov dx, word [es:bx]                      ; 26 8b 17                    ; 0xf4d58
    mov ax, word [es:bx+002h]                 ; 26 8b 47 02                 ; 0xf4d5b
    cmp ax, 06568h                            ; 3d 68 65                    ; 0xf4d5f boot.c:297
    jne short 04d83h                          ; 75 1f                       ; 0xf4d62
    cmp dx, 07445h                            ; 81 fa 45 74                 ; 0xf4d64
    jne short 04d83h                          ; 75 19                       ; 0xf4d68
    movzx bx, byte [bp-008h]                  ; 0f b6 5e f8                 ; 0xf4d6a boot.c:299
    movzx dx, byte [bp-00ch]                  ; 0f b6 56 f4                 ; 0xf4d6e
    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6                 ; 0xf4d72
    call 04ac2h                               ; e8 49 fd                    ; 0xf4d76
    mov word [bp-012h], strict word 00006h    ; c7 46 ee 06 00              ; 0xf4d79 boot.c:300
    mov word [bp-010h], di                    ; 89 7e f0                    ; 0xf4d7e
    jmp short 04d9fh                          ; eb 1c                       ; 0xf4d81 boot.c:303
    movzx bx, byte [bp-008h]                  ; 0f b6 5e f8                 ; 0xf4d83 boot.c:306
    movzx dx, byte [bp-00ch]                  ; 0f b6 56 f4                 ; 0xf4d87
    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6                 ; 0xf4d8b
    call 04ac2h                               ; e8 30 fd                    ; 0xf4d8f
    sti                                       ; fb                          ; 0xf4d92 boot.c:307
    mov word [bp-010h], di                    ; 89 7e f0                    ; 0xf4d93 boot.c:308
    mov es, di                                ; 8e c7                       ; 0xf4d96
    mov ax, word [es:si+01ah]                 ; 26 8b 44 1a                 ; 0xf4d98
    mov word [bp-012h], ax                    ; 89 46 ee                    ; 0xf4d9c
    call far [bp-012h]                        ; ff 5e ee                    ; 0xf4d9f boot.c:309
    jmp near 04cfch                           ; e9 57 ff                    ; 0xf4da2 boot.c:312
    cmp byte [bp-00ah], 000h                  ; 80 7e f6 00                 ; 0xf4da5 boot.c:320
    jne short 04dd1h                          ; 75 26                       ; 0xf4da9
    cmp byte [bp-00ch], 000h                  ; 80 7e f4 00                 ; 0xf4dab
    jne short 04dd1h                          ; 75 20                       ; 0xf4daf
    mov si, 007c0h                            ; be c0 07                    ; 0xf4db1 boot.c:321
    mov es, si                                ; 8e c6                       ; 0xf4db4 boot.c:323
    mov dl, byte [bp-008h]                    ; 8a 56 f8                    ; 0xf4db6
    mov ax, 00201h                            ; b8 01 02                    ; 0xf4db9
    mov DH, strict byte 000h                  ; b6 00                       ; 0xf4dbc
    mov cx, strict word 00001h                ; b9 01 00                    ; 0xf4dbe
    db  033h, 0dbh
    ; xor bx, bx                                ; 33 db                     ; 0xf4dc1
    int 013h                                  ; cd 13                       ; 0xf4dc3
    mov ax, strict word 00000h                ; b8 00 00                    ; 0xf4dc5
    sbb ax, strict byte 00000h                ; 83 d8 00                    ; 0xf4dc8
    test ax, ax                               ; 85 c0                       ; 0xf4dcb boot.c:324
    jne near 04cfch                           ; 0f 85 2b ff                 ; 0xf4dcd
    cmp byte [bp-008h], 000h                  ; 80 7e f8 00                 ; 0xf4dd1 boot.c:339
    db  00fh, 094h, 0c0h
    ; sete al                                   ; 0f 94 c0                  ; 0xf4dd5
    cmp byte [bp-00ah], 000h                  ; 80 7e f6 00                 ; 0xf4dd8 boot.c:344
    je short 04de0h                           ; 74 02                       ; 0xf4ddc
    mov AL, strict byte 001h                  ; b0 01                       ; 0xf4dde boot.c:345
    xor bx, bx                                ; 31 db                       ; 0xf4de0 boot.c:58
    mov es, si                                ; 8e c6                       ; 0xf4de2
    mov dx, word [es:bx]                      ; 26 8b 17                    ; 0xf4de4
    mov bx, strict word 00004h                ; bb 04 00                    ; 0xf4de7 boot.c:58
    mov bx, word [es:bx]                      ; 26 8b 1f                    ; 0xf4dea
    cmp dx, bx                                ; 39 da                       ; 0xf4ded boot.c:59
    je short 04e00h                           ; 74 0f                       ; 0xf4def
    test al, al                               ; 84 c0                       ; 0xf4df1
    jne short 04e16h                          ; 75 21                       ; 0xf4df3
    mov bx, 001feh                            ; bb fe 01                    ; 0xf4df5 boot.c:58
    mov ax, word [es:bx]                      ; 26 8b 07                    ; 0xf4df8
    cmp ax, 0aa55h                            ; 3d 55 aa                    ; 0xf4dfb boot.c:59
    je short 04e16h                           ; 74 16                       ; 0xf4dfe
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf4e00 boot.c:351
    push ax                                   ; 50                          ; 0xf4e04
    movzx bx, byte [bp-008h]                  ; 0f b6 5e f8                 ; 0xf4e05
    movzx dx, byte [bp-00ch]                  ; 0f b6 56 f4                 ; 0xf4e09
    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6                 ; 0xf4e0d
    xor cx, cx                                ; 31 c9                       ; 0xf4e11
    jmp near 04d10h                           ; e9 fa fe                    ; 0xf4e13
    movzx bx, byte [bp-008h]                  ; 0f b6 5e f8                 ; 0xf4e16 boot.c:357
    movzx dx, byte [bp-00ch]                  ; 0f b6 56 f4                 ; 0xf4e1a
    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6                 ; 0xf4e1e
    call 04ac2h                               ; e8 9d fc                    ; 0xf4e22
    movzx bx, byte [bp-008h]                  ; 0f b6 5e f8                 ; 0xf4e25 boot.c:363
    xor dx, dx                                ; 31 d2                       ; 0xf4e29
    xor ax, ax                                ; 31 c0                       ; 0xf4e2b
    add ax, si                                ; 01 f0                       ; 0xf4e2d
    adc dx, bx                                ; 11 da                       ; 0xf4e2f
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf4e31 boot.c:364
    pop di                                    ; 5f                          ; 0xf4e34
    pop si                                    ; 5e                          ; 0xf4e35
    pop bp                                    ; 5d                          ; 0xf4e36
    retn                                      ; c3                          ; 0xf4e37
  ; disGetNextSymbol 0xf4e38 LB 0x5fe4 -> off=0x0 cb=0000000000000013 uValue=00000000000f3838 'keyboard_panic'
keyboard_panic:                              ; 0xf4e38 LB 0x13
    push bp                                   ; 55                          ; 0xf4e38 keyboard.c:204
    mov bp, sp                                ; 89 e5                       ; 0xf4e39
    push ax                                   ; 50                          ; 0xf4e3b keyboard.c:209
    push 00604h                               ; 68 04 06                    ; 0xf4e3c
    push strict byte 00007h                   ; 6a 07                       ; 0xf4e3f
    call 01a68h                               ; e8 24 cc                    ; 0xf4e41
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf4e44
    mov sp, bp                                ; 89 ec                       ; 0xf4e47 keyboard.c:210
    pop bp                                    ; 5d                          ; 0xf4e49
    retn                                      ; c3                          ; 0xf4e4a
  ; disGetNextSymbol 0xf4e4b LB 0x5fd1 -> off=0x0 cb=000000000000026a uValue=00000000000f384b 'keyboard_init'
keyboard_init:                               ; 0xf4e4b LB 0x26a
    push bp                                   ; 55                          ; 0xf4e4b keyboard.c:218
    mov bp, sp                                ; 89 e5                       ; 0xf4e4c
    mov AL, strict byte 0aah                  ; b0 aa                       ; 0xf4e4e keyboard.c:224
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf4e50
    out DX, AL                                ; ee                          ; 0xf4e53
    mov bx, strict word 0ffffh                ; bb ff ff                    ; 0xf4e54 keyboard.c:227
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf4e57 keyboard.c:228
    in AL, DX                                 ; ec                          ; 0xf4e5a
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf4e5b
    test AL, strict byte 002h                 ; a8 02                       ; 0xf4e5d
    je short 04e6eh                           ; 74 0d                       ; 0xf4e5f
    dec bx                                    ; 4b                          ; 0xf4e61
    test bx, bx                               ; 85 db                       ; 0xf4e62
    jbe short 04e6eh                          ; 76 08                       ; 0xf4e64
    xor al, al                                ; 30 c0                       ; 0xf4e66
    mov dx, 00080h                            ; ba 80 00                    ; 0xf4e68
    out DX, AL                                ; ee                          ; 0xf4e6b
    jmp short 04e57h                          ; eb e9                       ; 0xf4e6c
    test bx, bx                               ; 85 db                       ; 0xf4e6e keyboard.c:229
    jne short 04e77h                          ; 75 05                       ; 0xf4e70
    xor ax, ax                                ; 31 c0                       ; 0xf4e72
    call 04e38h                               ; e8 c1 ff                    ; 0xf4e74
    mov bx, strict word 0ffffh                ; bb ff ff                    ; 0xf4e77 keyboard.c:232
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf4e7a keyboard.c:233
    in AL, DX                                 ; ec                          ; 0xf4e7d
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf4e7e
    test AL, strict byte 001h                 ; a8 01                       ; 0xf4e80
    jne short 04e91h                          ; 75 0d                       ; 0xf4e82
    dec bx                                    ; 4b                          ; 0xf4e84
    test bx, bx                               ; 85 db                       ; 0xf4e85
    jbe short 04e91h                          ; 76 08                       ; 0xf4e87
    mov AL, strict byte 001h                  ; b0 01                       ; 0xf4e89
    mov dx, 00080h                            ; ba 80 00                    ; 0xf4e8b
    out DX, AL                                ; ee                          ; 0xf4e8e
    jmp short 04e7ah                          ; eb e9                       ; 0xf4e8f
    test bx, bx                               ; 85 db                       ; 0xf4e91 keyboard.c:234
    jne short 04e9bh                          ; 75 06                       ; 0xf4e93
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xf4e95
    call 04e38h                               ; e8 9d ff                    ; 0xf4e98
    mov dx, strict word 00060h                ; ba 60 00                    ; 0xf4e9b keyboard.c:237
    in AL, DX                                 ; ec                          ; 0xf4e9e
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf4e9f
    cmp ax, strict word 00055h                ; 3d 55 00                    ; 0xf4ea1
    je short 04each                           ; 74 06                       ; 0xf4ea4
    mov ax, 003dfh                            ; b8 df 03                    ; 0xf4ea6 keyboard.c:238
    call 04e38h                               ; e8 8c ff                    ; 0xf4ea9
    mov AL, strict byte 0abh                  ; b0 ab                       ; 0xf4eac keyboard.c:242
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf4eae
    out DX, AL                                ; ee                          ; 0xf4eb1
    mov bx, strict word 0ffffh                ; bb ff ff                    ; 0xf4eb2 keyboard.c:245
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf4eb5 keyboard.c:246
    in AL, DX                                 ; ec                          ; 0xf4eb8
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf4eb9
    test AL, strict byte 002h                 ; a8 02                       ; 0xf4ebb
    je short 04ecch                           ; 74 0d                       ; 0xf4ebd
    dec bx                                    ; 4b                          ; 0xf4ebf
    test bx, bx                               ; 85 db                       ; 0xf4ec0
    jbe short 04ecch                          ; 76 08                       ; 0xf4ec2
    mov AL, strict byte 010h                  ; b0 10                       ; 0xf4ec4
    mov dx, 00080h                            ; ba 80 00                    ; 0xf4ec6
    out DX, AL                                ; ee                          ; 0xf4ec9
    jmp short 04eb5h                          ; eb e9                       ; 0xf4eca
    test bx, bx                               ; 85 db                       ; 0xf4ecc keyboard.c:247
    jne short 04ed6h                          ; 75 06                       ; 0xf4ece
    mov ax, strict word 0000ah                ; b8 0a 00                    ; 0xf4ed0
    call 04e38h                               ; e8 62 ff                    ; 0xf4ed3
    mov bx, strict word 0ffffh                ; bb ff ff                    ; 0xf4ed6 keyboard.c:250
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf4ed9 keyboard.c:251
    in AL, DX                                 ; ec                          ; 0xf4edc
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf4edd
    test AL, strict byte 001h                 ; a8 01                       ; 0xf4edf
    jne short 04ef0h                          ; 75 0d                       ; 0xf4ee1
    dec bx                                    ; 4b                          ; 0xf4ee3
    test bx, bx                               ; 85 db                       ; 0xf4ee4
    jbe short 04ef0h                          ; 76 08                       ; 0xf4ee6
    mov AL, strict byte 011h                  ; b0 11                       ; 0xf4ee8
    mov dx, 00080h                            ; ba 80 00                    ; 0xf4eea
    out DX, AL                                ; ee                          ; 0xf4eed
    jmp short 04ed9h                          ; eb e9                       ; 0xf4eee
    test bx, bx                               ; 85 db                       ; 0xf4ef0 keyboard.c:252
    jne short 04efah                          ; 75 06                       ; 0xf4ef2
    mov ax, strict word 0000bh                ; b8 0b 00                    ; 0xf4ef4
    call 04e38h                               ; e8 3e ff                    ; 0xf4ef7
    mov dx, strict word 00060h                ; ba 60 00                    ; 0xf4efa keyboard.c:256
    in AL, DX                                 ; ec                          ; 0xf4efd
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf4efe
    test ax, ax                               ; 85 c0                       ; 0xf4f00
    je short 04f0ah                           ; 74 06                       ; 0xf4f02
    mov ax, 003e0h                            ; b8 e0 03                    ; 0xf4f04 keyboard.c:257
    call 04e38h                               ; e8 2e ff                    ; 0xf4f07
    mov AL, strict byte 0ffh                  ; b0 ff                       ; 0xf4f0a keyboard.c:263
    mov dx, strict word 00060h                ; ba 60 00                    ; 0xf4f0c
    out DX, AL                                ; ee                          ; 0xf4f0f
    mov bx, strict word 0ffffh                ; bb ff ff                    ; 0xf4f10 keyboard.c:266
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf4f13 keyboard.c:267
    in AL, DX                                 ; ec                          ; 0xf4f16
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf4f17
    test AL, strict byte 002h                 ; a8 02                       ; 0xf4f19
    je short 04f2ah                           ; 74 0d                       ; 0xf4f1b
    dec bx                                    ; 4b                          ; 0xf4f1d
    test bx, bx                               ; 85 db                       ; 0xf4f1e
    jbe short 04f2ah                          ; 76 08                       ; 0xf4f20
    mov AL, strict byte 020h                  ; b0 20                       ; 0xf4f22
    mov dx, 00080h                            ; ba 80 00                    ; 0xf4f24
    out DX, AL                                ; ee                          ; 0xf4f27
    jmp short 04f13h                          ; eb e9                       ; 0xf4f28
    test bx, bx                               ; 85 db                       ; 0xf4f2a keyboard.c:268
    jne short 04f34h                          ; 75 06                       ; 0xf4f2c
    mov ax, strict word 00014h                ; b8 14 00                    ; 0xf4f2e
    call 04e38h                               ; e8 04 ff                    ; 0xf4f31
    mov bx, strict word 0ffffh                ; bb ff ff                    ; 0xf4f34 keyboard.c:271
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf4f37 keyboard.c:272
    in AL, DX                                 ; ec                          ; 0xf4f3a
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf4f3b
    test AL, strict byte 001h                 ; a8 01                       ; 0xf4f3d
    jne short 04f4eh                          ; 75 0d                       ; 0xf4f3f
    dec bx                                    ; 4b                          ; 0xf4f41
    test bx, bx                               ; 85 db                       ; 0xf4f42
    jbe short 04f4eh                          ; 76 08                       ; 0xf4f44
    mov AL, strict byte 021h                  ; b0 21                       ; 0xf4f46
    mov dx, 00080h                            ; ba 80 00                    ; 0xf4f48
    out DX, AL                                ; ee                          ; 0xf4f4b
    jmp short 04f37h                          ; eb e9                       ; 0xf4f4c
    test bx, bx                               ; 85 db                       ; 0xf4f4e keyboard.c:273
    jne short 04f58h                          ; 75 06                       ; 0xf4f50
    mov ax, strict word 00015h                ; b8 15 00                    ; 0xf4f52
    call 04e38h                               ; e8 e0 fe                    ; 0xf4f55
    mov dx, strict word 00060h                ; ba 60 00                    ; 0xf4f58 keyboard.c:276
    in AL, DX                                 ; ec                          ; 0xf4f5b
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf4f5c
    cmp ax, 000fah                            ; 3d fa 00                    ; 0xf4f5e
    je short 04f69h                           ; 74 06                       ; 0xf4f61
    mov ax, 003e1h                            ; b8 e1 03                    ; 0xf4f63 keyboard.c:277
    call 04e38h                               ; e8 cf fe                    ; 0xf4f66
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf4f69 keyboard.c:281
    in AL, DX                                 ; ec                          ; 0xf4f6c
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf4f6d
    test AL, strict byte 001h                 ; a8 01                       ; 0xf4f6f
    jne short 04f7bh                          ; 75 08                       ; 0xf4f71
    mov AL, strict byte 031h                  ; b0 31                       ; 0xf4f73
    mov dx, 00080h                            ; ba 80 00                    ; 0xf4f75
    out DX, AL                                ; ee                          ; 0xf4f78
    jmp short 04f69h                          ; eb ee                       ; 0xf4f79
    mov dx, strict word 00060h                ; ba 60 00                    ; 0xf4f7b keyboard.c:283
    in AL, DX                                 ; ec                          ; 0xf4f7e
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf4f7f
    cmp ax, 000aah                            ; 3d aa 00                    ; 0xf4f81
    je short 04f94h                           ; 74 0e                       ; 0xf4f84
    in AL, DX                                 ; ec                          ; 0xf4f86
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf4f87
    cmp ax, 000aah                            ; 3d aa 00                    ; 0xf4f89
    je short 04f94h                           ; 74 06                       ; 0xf4f8c
    mov ax, 003e2h                            ; b8 e2 03                    ; 0xf4f8e keyboard.c:284
    call 04e38h                               ; e8 a4 fe                    ; 0xf4f91
    mov AL, strict byte 0f5h                  ; b0 f5                       ; 0xf4f94 keyboard.c:288
    mov dx, strict word 00060h                ; ba 60 00                    ; 0xf4f96
    out DX, AL                                ; ee                          ; 0xf4f99
    mov bx, strict word 0ffffh                ; bb ff ff                    ; 0xf4f9a keyboard.c:291
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf4f9d keyboard.c:292
    in AL, DX                                 ; ec                          ; 0xf4fa0
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf4fa1
    test AL, strict byte 002h                 ; a8 02                       ; 0xf4fa3
    je short 04fb4h                           ; 74 0d                       ; 0xf4fa5
    dec bx                                    ; 4b                          ; 0xf4fa7
    test bx, bx                               ; 85 db                       ; 0xf4fa8
    jbe short 04fb4h                          ; 76 08                       ; 0xf4faa
    mov AL, strict byte 040h                  ; b0 40                       ; 0xf4fac
    mov dx, 00080h                            ; ba 80 00                    ; 0xf4fae
    out DX, AL                                ; ee                          ; 0xf4fb1
    jmp short 04f9dh                          ; eb e9                       ; 0xf4fb2
    test bx, bx                               ; 85 db                       ; 0xf4fb4 keyboard.c:293
    jne short 04fbeh                          ; 75 06                       ; 0xf4fb6
    mov ax, strict word 00028h                ; b8 28 00                    ; 0xf4fb8
    call 04e38h                               ; e8 7a fe                    ; 0xf4fbb
    mov bx, strict word 0ffffh                ; bb ff ff                    ; 0xf4fbe keyboard.c:296
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf4fc1 keyboard.c:297
    in AL, DX                                 ; ec                          ; 0xf4fc4
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf4fc5
    test AL, strict byte 001h                 ; a8 01                       ; 0xf4fc7
    jne short 04fd8h                          ; 75 0d                       ; 0xf4fc9
    dec bx                                    ; 4b                          ; 0xf4fcb
    test bx, bx                               ; 85 db                       ; 0xf4fcc
    jbe short 04fd8h                          ; 76 08                       ; 0xf4fce
    mov AL, strict byte 041h                  ; b0 41                       ; 0xf4fd0
    mov dx, 00080h                            ; ba 80 00                    ; 0xf4fd2
    out DX, AL                                ; ee                          ; 0xf4fd5
    jmp short 04fc1h                          ; eb e9                       ; 0xf4fd6
    test bx, bx                               ; 85 db                       ; 0xf4fd8 keyboard.c:298
    jne short 04fe2h                          ; 75 06                       ; 0xf4fda
    mov ax, strict word 00029h                ; b8 29 00                    ; 0xf4fdc
    call 04e38h                               ; e8 56 fe                    ; 0xf4fdf
    mov dx, strict word 00060h                ; ba 60 00                    ; 0xf4fe2 keyboard.c:301
    in AL, DX                                 ; ec                          ; 0xf4fe5
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf4fe6
    cmp ax, 000fah                            ; 3d fa 00                    ; 0xf4fe8
    je short 04ff3h                           ; 74 06                       ; 0xf4feb
    mov ax, 003e3h                            ; b8 e3 03                    ; 0xf4fed keyboard.c:302
    call 04e38h                               ; e8 45 fe                    ; 0xf4ff0
    mov AL, strict byte 060h                  ; b0 60                       ; 0xf4ff3 keyboard.c:306
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf4ff5
    out DX, AL                                ; ee                          ; 0xf4ff8
    mov bx, strict word 0ffffh                ; bb ff ff                    ; 0xf4ff9 keyboard.c:309
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf4ffc keyboard.c:310
    in AL, DX                                 ; ec                          ; 0xf4fff
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf5000
    test AL, strict byte 002h                 ; a8 02                       ; 0xf5002
    je short 05013h                           ; 74 0d                       ; 0xf5004
    dec bx                                    ; 4b                          ; 0xf5006
    test bx, bx                               ; 85 db                       ; 0xf5007
    jbe short 05013h                          ; 76 08                       ; 0xf5009
    mov AL, strict byte 050h                  ; b0 50                       ; 0xf500b
    mov dx, 00080h                            ; ba 80 00                    ; 0xf500d
    out DX, AL                                ; ee                          ; 0xf5010
    jmp short 04ffch                          ; eb e9                       ; 0xf5011
    test bx, bx                               ; 85 db                       ; 0xf5013 keyboard.c:311
    jne short 0501dh                          ; 75 06                       ; 0xf5015
    mov ax, strict word 00032h                ; b8 32 00                    ; 0xf5017
    call 04e38h                               ; e8 1b fe                    ; 0xf501a
    mov AL, strict byte 065h                  ; b0 65                       ; 0xf501d keyboard.c:314
    mov dx, strict word 00060h                ; ba 60 00                    ; 0xf501f
    out DX, AL                                ; ee                          ; 0xf5022
    mov bx, strict word 0ffffh                ; bb ff ff                    ; 0xf5023 keyboard.c:317
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf5026 keyboard.c:318
    in AL, DX                                 ; ec                          ; 0xf5029
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf502a
    test AL, strict byte 002h                 ; a8 02                       ; 0xf502c
    je short 0503dh                           ; 74 0d                       ; 0xf502e
    dec bx                                    ; 4b                          ; 0xf5030
    test bx, bx                               ; 85 db                       ; 0xf5031
    jbe short 0503dh                          ; 76 08                       ; 0xf5033
    mov AL, strict byte 060h                  ; b0 60                       ; 0xf5035
    mov dx, 00080h                            ; ba 80 00                    ; 0xf5037
    out DX, AL                                ; ee                          ; 0xf503a
    jmp short 05026h                          ; eb e9                       ; 0xf503b
    test bx, bx                               ; 85 db                       ; 0xf503d keyboard.c:319
    jne short 05047h                          ; 75 06                       ; 0xf503f
    mov ax, strict word 0003ch                ; b8 3c 00                    ; 0xf5041
    call 04e38h                               ; e8 f1 fd                    ; 0xf5044
    mov AL, strict byte 0f4h                  ; b0 f4                       ; 0xf5047 keyboard.c:322
    mov dx, strict word 00060h                ; ba 60 00                    ; 0xf5049
    out DX, AL                                ; ee                          ; 0xf504c
    mov bx, strict word 0ffffh                ; bb ff ff                    ; 0xf504d keyboard.c:325
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf5050 keyboard.c:326
    in AL, DX                                 ; ec                          ; 0xf5053
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf5054
    test AL, strict byte 002h                 ; a8 02                       ; 0xf5056
    je short 05067h                           ; 74 0d                       ; 0xf5058
    dec bx                                    ; 4b                          ; 0xf505a
    test bx, bx                               ; 85 db                       ; 0xf505b
    jbe short 05067h                          ; 76 08                       ; 0xf505d
    mov AL, strict byte 070h                  ; b0 70                       ; 0xf505f
    mov dx, 00080h                            ; ba 80 00                    ; 0xf5061
    out DX, AL                                ; ee                          ; 0xf5064
    jmp short 05050h                          ; eb e9                       ; 0xf5065
    test bx, bx                               ; 85 db                       ; 0xf5067 keyboard.c:327
    jne short 05071h                          ; 75 06                       ; 0xf5069
    mov ax, strict word 00046h                ; b8 46 00                    ; 0xf506b
    call 04e38h                               ; e8 c7 fd                    ; 0xf506e
    mov bx, strict word 0ffffh                ; bb ff ff                    ; 0xf5071 keyboard.c:330
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf5074 keyboard.c:331
    in AL, DX                                 ; ec                          ; 0xf5077
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf5078
    test AL, strict byte 001h                 ; a8 01                       ; 0xf507a
    jne short 0508bh                          ; 75 0d                       ; 0xf507c
    dec bx                                    ; 4b                          ; 0xf507e
    test bx, bx                               ; 85 db                       ; 0xf507f
    jbe short 0508bh                          ; 76 08                       ; 0xf5081
    mov AL, strict byte 071h                  ; b0 71                       ; 0xf5083
    mov dx, 00080h                            ; ba 80 00                    ; 0xf5085
    out DX, AL                                ; ee                          ; 0xf5088
    jmp short 05074h                          ; eb e9                       ; 0xf5089
    test bx, bx                               ; 85 db                       ; 0xf508b keyboard.c:332
    jne short 05095h                          ; 75 06                       ; 0xf508d
    mov ax, strict word 00046h                ; b8 46 00                    ; 0xf508f
    call 04e38h                               ; e8 a3 fd                    ; 0xf5092
    mov dx, strict word 00060h                ; ba 60 00                    ; 0xf5095 keyboard.c:335
    in AL, DX                                 ; ec                          ; 0xf5098
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf5099
    cmp ax, 000fah                            ; 3d fa 00                    ; 0xf509b
    je short 050a6h                           ; 74 06                       ; 0xf509e
    mov ax, 003e4h                            ; b8 e4 03                    ; 0xf50a0 keyboard.c:336
    call 04e38h                               ; e8 92 fd                    ; 0xf50a3
    mov AL, strict byte 0a8h                  ; b0 a8                       ; 0xf50a6 keyboard.c:340
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf50a8
    out DX, AL                                ; ee                          ; 0xf50ab
    xor ax, ax                                ; 31 c0                       ; 0xf50ac keyboard.c:345
    call 06490h                               ; e8 df 13                    ; 0xf50ae
    mov sp, bp                                ; 89 ec                       ; 0xf50b1 keyboard.c:346
    pop bp                                    ; 5d                          ; 0xf50b3
    retn                                      ; c3                          ; 0xf50b4
  ; disGetNextSymbol 0xf50b5 LB 0x5d67 -> off=0x0 cb=0000000000000053 uValue=00000000000f3ab5 'enqueue_key'
enqueue_key:                                 ; 0xf50b5 LB 0x53
    push bx                                   ; 53                          ; 0xf50b5 keyboard.c:349
    push cx                                   ; 51                          ; 0xf50b6
    push si                                   ; 56                          ; 0xf50b7
    push di                                   ; 57                          ; 0xf50b8
    push bp                                   ; 55                          ; 0xf50b9
    mov bp, sp                                ; 89 e5                       ; 0xf50ba
    mov dh, al                                ; 88 c6                       ; 0xf50bc
    mov bx, 00080h                            ; bb 80 00                    ; 0xf50be keyboard.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf50c1
    mov es, ax                                ; 8e c0                       ; 0xf50c4
    mov di, word [es:bx]                      ; 26 8b 3f                    ; 0xf50c6
    mov bx, 00082h                            ; bb 82 00                    ; 0xf50c9 keyboard.c:58
    mov si, word [es:bx]                      ; 26 8b 37                    ; 0xf50cc
    mov bx, strict word 0001ah                ; bb 1a 00                    ; 0xf50cf keyboard.c:58
    mov cx, word [es:bx]                      ; 26 8b 0f                    ; 0xf50d2
    mov bx, strict word 0001ch                ; bb 1c 00                    ; 0xf50d5 keyboard.c:58
    mov ax, word [es:bx]                      ; 26 8b 07                    ; 0xf50d8
    mov bx, ax                                ; 89 c3                       ; 0xf50db keyboard.c:364
    inc ax                                    ; 40                          ; 0xf50dd keyboard.c:365
    inc ax                                    ; 40                          ; 0xf50de
    cmp ax, si                                ; 39 f0                       ; 0xf50df keyboard.c:366
    jc short 050e5h                           ; 72 02                       ; 0xf50e1
    mov ax, di                                ; 89 f8                       ; 0xf50e3 keyboard.c:367
    cmp ax, cx                                ; 39 c8                       ; 0xf50e5 keyboard.c:369
    jne short 050edh                          ; 75 04                       ; 0xf50e7
    xor ax, cx                                ; 31 c8                       ; 0xf50e9 keyboard.c:370
    jmp short 05102h                          ; eb 15                       ; 0xf50eb
    mov cx, strict word 00040h                ; b9 40 00                    ; 0xf50ed keyboard.c:53
    mov es, cx                                ; 8e c1                       ; 0xf50f0
    mov byte [es:bx], dl                      ; 26 88 17                    ; 0xf50f2
    inc bx                                    ; 43                          ; 0xf50f5 keyboard.c:373
    mov byte [es:bx], dh                      ; 26 88 37                    ; 0xf50f6 keyboard.c:53
    mov bx, strict word 0001ch                ; bb 1c 00                    ; 0xf50f9 keyboard.c:63
    mov word [es:bx], ax                      ; 26 89 07                    ; 0xf50fc
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xf50ff keyboard.c:375
    pop bp                                    ; 5d                          ; 0xf5102 keyboard.c:376
    pop di                                    ; 5f                          ; 0xf5103
    pop si                                    ; 5e                          ; 0xf5104
    pop cx                                    ; 59                          ; 0xf5105
    pop bx                                    ; 5b                          ; 0xf5106
    retn                                      ; c3                          ; 0xf5107
  ; disGetNextSymbol 0xf5108 LB 0x5d14 -> off=0x35 cb=00000000000003cd uValue=00000000000f3b3d 'int09_function'
    db  0d4h, 0c6h, 0c5h, 0bah, 0b8h, 0b6h, 0aah, 09dh, 054h, 053h, 046h, 045h, 03ah, 038h, 036h, 02ah
    db  01dh, 0c9h, 053h, 019h, 052h, 0c2h, 051h, 0c2h, 051h, 07eh, 052h, 09dh, 051h, 0d1h, 052h, 02ch
    db  053h, 0aeh, 053h, 091h, 053h, 049h, 052h, 0c2h, 051h, 0c2h, 051h, 0aah, 052h, 0b4h, 051h, 014h
    db  053h, 079h, 053h, 0a9h, 053h
int09_function:                              ; 0xf513d LB 0x3cd
    push bp                                   ; 55                          ; 0xf513d keyboard.c:381
    mov bp, sp                                ; 89 e5                       ; 0xf513e
    push si                                   ; 56                          ; 0xf5140
    push di                                   ; 57                          ; 0xf5141
    push ax                                   ; 50                          ; 0xf5142
    push ax                                   ; 50                          ; 0xf5143
    mov al, byte [bp+014h]                    ; 8a 46 14                    ; 0xf5144 keyboard.c:392
    mov byte [bp-006h], al                    ; 88 46 fa                    ; 0xf5147
    test al, al                               ; 84 c0                       ; 0xf514a keyboard.c:394
    jne short 05167h                          ; 75 19                       ; 0xf514c
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf514e keyboard.c:395
    mov cx, ds                                ; 8c d9                       ; 0xf5151
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf5153
    call 01a27h                               ; e8 ce c8                    ; 0xf5156
    push 00617h                               ; 68 17 06                    ; 0xf5159
    push strict byte 00004h                   ; 6a 04                       ; 0xf515c
    call 01a68h                               ; e8 07 c9                    ; 0xf515e
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf5161
    jmp near 05212h                           ; e9 ab 00                    ; 0xf5164 keyboard.c:396
    mov bx, strict word 00018h                ; bb 18 00                    ; 0xf5167 keyboard.c:48
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf516a
    mov es, ax                                ; 8e c0                       ; 0xf516d
    mov bl, byte [es:bx]                      ; 26 8a 1f                    ; 0xf516f
    mov dl, bl                                ; 88 da                       ; 0xf5172 keyboard.c:49
    mov si, 00096h                            ; be 96 00                    ; 0xf5174 keyboard.c:48
    mov bh, byte [es:si]                      ; 26 8a 3c                    ; 0xf5177
    mov byte [bp-008h], bh                    ; 88 7e f8                    ; 0xf517a keyboard.c:49
    mov si, strict word 00017h                ; be 17 00                    ; 0xf517d keyboard.c:48
    mov ah, byte [es:si]                      ; 26 8a 24                    ; 0xf5180
    mov dh, ah                                ; 88 e6                       ; 0xf5183 keyboard.c:49
    mov al, byte [bp-006h]                    ; 8a 46 fa                    ; 0xf5185 keyboard.c:404
    push CS                                   ; 0e                          ; 0xf5188
    pop ES                                    ; 07                          ; 0xf5189
    mov cx, strict word 00012h                ; b9 12 00                    ; 0xf518a
    mov di, 05108h                            ; bf 08 51                    ; 0xf518d
    repne scasb                               ; f2 ae                       ; 0xf5190
    sal cx, 1                                 ; d1 e1                       ; 0xf5192
    mov di, cx                                ; 89 cf                       ; 0xf5194
    mov si, word [cs:di+05119h]               ; 2e 8b b5 19 51              ; 0xf5196
    jmp si                                    ; ff e6                       ; 0xf519b
    xor dh, 040h                              ; 80 f6 40                    ; 0xf519d keyboard.c:406
    mov bx, strict word 00017h                ; bb 17 00                    ; 0xf51a0 keyboard.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf51a3
    mov es, ax                                ; 8e c0                       ; 0xf51a6
    mov byte [es:bx], dh                      ; 26 88 37                    ; 0xf51a8
    or dl, 040h                               ; 80 ca 40                    ; 0xf51ab keyboard.c:408
    mov bx, strict word 00018h                ; bb 18 00                    ; 0xf51ae keyboard.c:53
    jmp near 053a3h                           ; e9 ef 01                    ; 0xf51b1
    and dl, 0bfh                              ; 80 e2 bf                    ; 0xf51b4 keyboard.c:412
    mov bx, strict word 00018h                ; bb 18 00                    ; 0xf51b7 keyboard.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf51ba
    mov es, ax                                ; 8e c0                       ; 0xf51bd
    jmp near 053a3h                           ; e9 e1 01                    ; 0xf51bf
    test byte [bp-008h], 002h                 ; f6 46 f8 02                 ; 0xf51c2 keyboard.c:421
    jne near 051f3h                           ; 0f 85 29 00                 ; 0xf51c6
    mov al, byte [bp-006h]                    ; 8a 46 fa                    ; 0xf51ca keyboard.c:422
    and AL, strict byte 07fh                  ; 24 7f                       ; 0xf51cd
    cmp AL, strict byte 02ah                  ; 3c 2a                       ; 0xf51cf
    db  00fh, 094h, 0c0h
    ; sete al                                   ; 0f 94 c0                  ; 0xf51d1
    movzx bx, al                              ; 0f b6 d8                    ; 0xf51d4
    inc bx                                    ; 43                          ; 0xf51d7
    test byte [bp-006h], 080h                 ; f6 46 fa 80                 ; 0xf51d8 keyboard.c:423
    je short 051e6h                           ; 74 08                       ; 0xf51dc
    mov al, bl                                ; 88 d8                       ; 0xf51de keyboard.c:424
    not al                                    ; f6 d0                       ; 0xf51e0
    and dh, al                                ; 20 c6                       ; 0xf51e2
    jmp short 051e8h                          ; eb 02                       ; 0xf51e4 keyboard.c:425
    or dh, bl                                 ; 08 de                       ; 0xf51e6 keyboard.c:426
    mov bx, strict word 00017h                ; bb 17 00                    ; 0xf51e8 keyboard.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf51eb
    mov es, ax                                ; 8e c0                       ; 0xf51ee
    mov byte [es:bx], dh                      ; 26 88 37                    ; 0xf51f0
    mov al, byte [bp-006h]                    ; 8a 46 fa                    ; 0xf51f3 keyboard.c:429
    and AL, strict byte 07fh                  ; 24 7f                       ; 0xf51f6
    cmp AL, strict byte 01dh                  ; 3c 1d                       ; 0xf51f8
    je short 05200h                           ; 74 04                       ; 0xf51fa
    and byte [bp-008h], 0feh                  ; 80 66 f8 fe                 ; 0xf51fc
    and byte [bp-008h], 0fdh                  ; 80 66 f8 fd                 ; 0xf5200
    mov bx, 00096h                            ; bb 96 00                    ; 0xf5204
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf5207
    mov es, ax                                ; 8e c0                       ; 0xf520a
    mov al, byte [bp-008h]                    ; 8a 46 f8                    ; 0xf520c
    mov byte [es:bx], al                      ; 26 88 07                    ; 0xf520f
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf5212
    pop di                                    ; 5f                          ; 0xf5215
    pop si                                    ; 5e                          ; 0xf5216
    pop bp                                    ; 5d                          ; 0xf5217
    retn                                      ; c3                          ; 0xf5218
    test bh, 001h                             ; f6 c7 01                    ; 0xf5219 keyboard.c:432
    jne short 051f3h                          ; 75 d5                       ; 0xf521c
    or dh, 004h                               ; 80 ce 04                    ; 0xf521e keyboard.c:433
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf5221 keyboard.c:51
    mov bx, strict word 00017h                ; bb 17 00                    ; 0xf5224
    mov es, ax                                ; 8e c0                       ; 0xf5227 keyboard.c:53
    mov byte [es:bx], dh                      ; 26 88 37                    ; 0xf5229
    test byte [bp-008h], 002h                 ; f6 46 f8 02                 ; 0xf522c keyboard.c:435
    je short 0523eh                           ; 74 0c                       ; 0xf5230
    or byte [bp-008h], 004h                   ; 80 4e f8 04                 ; 0xf5232 keyboard.c:436
    mov bx, 00096h                            ; bb 96 00                    ; 0xf5236 keyboard.c:51
    mov dl, byte [bp-008h]                    ; 8a 56 f8                    ; 0xf5239
    jmp short 05244h                          ; eb 06                       ; 0xf523c keyboard.c:438
    or dl, 001h                               ; 80 ca 01                    ; 0xf523e keyboard.c:439
    mov bx, strict word 00018h                ; bb 18 00                    ; 0xf5241 keyboard.c:51
    mov byte [es:bx], dl                      ; 26 88 17                    ; 0xf5244 keyboard.c:53
    jmp short 051f3h                          ; eb aa                       ; 0xf5247 keyboard.c:443
    test bh, 001h                             ; f6 c7 01                    ; 0xf5249 keyboard.c:445
    jne short 051f3h                          ; 75 a5                       ; 0xf524c
    and dh, 0fbh                              ; 80 e6 fb                    ; 0xf524e keyboard.c:446
    mov si, strict word 00017h                ; be 17 00                    ; 0xf5251 keyboard.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf5254
    mov es, ax                                ; 8e c0                       ; 0xf5257
    mov byte [es:si], dh                      ; 26 88 34                    ; 0xf5259
    test bh, 002h                             ; f6 c7 02                    ; 0xf525c keyboard.c:448
    je short 05272h                           ; 74 11                       ; 0xf525f
    and bh, 0fbh                              ; 80 e7 fb                    ; 0xf5261 keyboard.c:449
    mov byte [bp-008h], bh                    ; 88 7e f8                    ; 0xf5264
    mov bx, 00096h                            ; bb 96 00                    ; 0xf5267 keyboard.c:53
    mov al, byte [bp-008h]                    ; 8a 46 f8                    ; 0xf526a
    mov byte [es:bx], al                      ; 26 88 07                    ; 0xf526d
    jmp short 051f3h                          ; eb 81                       ; 0xf5270 keyboard.c:451
    and dl, 0feh                              ; 80 e2 fe                    ; 0xf5272 keyboard.c:452
    mov bx, strict word 00018h                ; bb 18 00                    ; 0xf5275 keyboard.c:53
    mov byte [es:bx], dl                      ; 26 88 17                    ; 0xf5278
    jmp near 051f3h                           ; e9 75 ff                    ; 0xf527b keyboard.c:456
    or dh, 008h                               ; 80 ce 08                    ; 0xf527e keyboard.c:459
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf5281 keyboard.c:51
    mov bx, strict word 00017h                ; bb 17 00                    ; 0xf5284
    mov es, ax                                ; 8e c0                       ; 0xf5287 keyboard.c:53
    mov byte [es:bx], dh                      ; 26 88 37                    ; 0xf5289
    test byte [bp-008h], 002h                 ; f6 46 f8 02                 ; 0xf528c keyboard.c:461
    je short 0529eh                           ; 74 0c                       ; 0xf5290
    or byte [bp-008h], 008h                   ; 80 4e f8 08                 ; 0xf5292 keyboard.c:462
    mov bx, 00096h                            ; bb 96 00                    ; 0xf5296 keyboard.c:51
    mov dl, byte [bp-008h]                    ; 8a 56 f8                    ; 0xf5299
    jmp short 052a4h                          ; eb 06                       ; 0xf529c keyboard.c:464
    or dl, 002h                               ; 80 ca 02                    ; 0xf529e keyboard.c:465
    mov bx, strict word 00018h                ; bb 18 00                    ; 0xf52a1 keyboard.c:51
    mov byte [es:bx], dl                      ; 26 88 17                    ; 0xf52a4 keyboard.c:53
    jmp near 051f3h                           ; e9 49 ff                    ; 0xf52a7 keyboard.c:468
    and dh, 0f7h                              ; 80 e6 f7                    ; 0xf52aa keyboard.c:470
    mov si, strict word 00017h                ; be 17 00                    ; 0xf52ad keyboard.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf52b0
    mov es, ax                                ; 8e c0                       ; 0xf52b3
    mov byte [es:si], dh                      ; 26 88 34                    ; 0xf52b5
    test bh, 002h                             ; f6 c7 02                    ; 0xf52b8 keyboard.c:472
    je short 052c5h                           ; 74 08                       ; 0xf52bb
    and bh, 0f7h                              ; 80 e7 f7                    ; 0xf52bd keyboard.c:473
    mov byte [bp-008h], bh                    ; 88 7e f8                    ; 0xf52c0
    jmp short 05267h                          ; eb a2                       ; 0xf52c3 keyboard.c:474
    and dl, 0fdh                              ; 80 e2 fd                    ; 0xf52c5 keyboard.c:476
    mov bx, strict word 00018h                ; bb 18 00                    ; 0xf52c8 keyboard.c:53
    mov byte [es:bx], dl                      ; 26 88 17                    ; 0xf52cb
    jmp near 051f3h                           ; e9 22 ff                    ; 0xf52ce keyboard.c:479
    test bh, 003h                             ; f6 c7 03                    ; 0xf52d1 keyboard.c:482
    jne short 052eah                          ; 75 14                       ; 0xf52d4
    or dl, 020h                               ; 80 ca 20                    ; 0xf52d6 keyboard.c:484
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf52d9 keyboard.c:51
    mov es, ax                                ; 8e c0                       ; 0xf52dc
    mov bx, strict word 00018h                ; bb 18 00                    ; 0xf52de
    mov byte [es:bx], dl                      ; 26 88 17                    ; 0xf52e1 keyboard.c:53
    xor dh, 020h                              ; 80 f6 20                    ; 0xf52e4 keyboard.c:486
    jmp near 05370h                           ; e9 86 00                    ; 0xf52e7 keyboard.c:487
    or dl, 008h                               ; 80 ca 08                    ; 0xf52ea keyboard.c:490
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf52ed keyboard.c:51
    mov bx, strict word 00018h                ; bb 18 00                    ; 0xf52f0
    mov es, ax                                ; 8e c0                       ; 0xf52f3 keyboard.c:53
    mov byte [es:bx], dl                      ; 26 88 17                    ; 0xf52f5
    mov ax, 000aeh                            ; b8 ae 00                    ; 0xf52f8 keyboard.c:494
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf52fb
    out DX, AL                                ; ee                          ; 0xf52fe
    call 0e034h                               ; e8 32 8d                    ; 0xf52ff keyboard.c:495
    mov bx, strict word 00018h                ; bb 18 00                    ; 0xf5302 keyboard.c:48
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf5305
    mov es, ax                                ; 8e c0                       ; 0xf5308
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf530a
    test AL, strict byte 008h                 ; a8 08                       ; 0xf530d keyboard.c:49
    jne short 05302h                          ; 75 f1                       ; 0xf530f
    jmp near 051f3h                           ; e9 df fe                    ; 0xf5311 keyboard.c:502
    test bh, 003h                             ; f6 c7 03                    ; 0xf5314 keyboard.c:504
    jne near 051f3h                           ; 0f 85 d8 fe                 ; 0xf5317
    and dl, 0dfh                              ; 80 e2 df                    ; 0xf531b keyboard.c:505
    mov bx, strict word 00018h                ; bb 18 00                    ; 0xf531e keyboard.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf5321
    mov es, ax                                ; 8e c0                       ; 0xf5324
    mov byte [es:bx], dl                      ; 26 88 17                    ; 0xf5326
    jmp near 051f3h                           ; e9 c7 fe                    ; 0xf5329 keyboard.c:508
    test bh, 002h                             ; f6 c7 02                    ; 0xf532c keyboard.c:511
    je short 0535fh                           ; 74 2e                       ; 0xf532f
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf5331 keyboard.c:56
    mov bx, strict word 0001ah                ; bb 1a 00                    ; 0xf5334
    mov es, ax                                ; 8e c0                       ; 0xf5337 keyboard.c:58
    mov ax, word [es:bx]                      ; 26 8b 07                    ; 0xf5339
    mov bx, strict word 0001ch                ; bb 1c 00                    ; 0xf533c keyboard.c:61
    mov word [es:bx], ax                      ; 26 89 07                    ; 0xf533f keyboard.c:63
    mov bx, strict word 00071h                ; bb 71 00                    ; 0xf5342 keyboard.c:51
    mov DL, strict byte 080h                  ; b2 80                       ; 0xf5345
    mov byte [es:bx], dl                      ; 26 88 17                    ; 0xf5347 keyboard.c:53
    mov ax, 000aeh                            ; b8 ae 00                    ; 0xf534a keyboard.c:516
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf534d
    out DX, AL                                ; ee                          ; 0xf5350
    push bp                                   ; 55                          ; 0xf5351 keyboard.c:517
    int 01bh                                  ; cd 1b                       ; 0xf5352
    pop bp                                    ; 5d                          ; 0xf5354
    xor dx, dx                                ; 31 d2                       ; 0xf5355 keyboard.c:518
    xor ax, ax                                ; 31 c0                       ; 0xf5357
    call 050b5h                               ; e8 59 fd                    ; 0xf5359
    jmp near 051f3h                           ; e9 94 fe                    ; 0xf535c keyboard.c:519
    or dl, 010h                               ; 80 ca 10                    ; 0xf535f keyboard.c:520
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf5362 keyboard.c:51
    mov es, ax                                ; 8e c0                       ; 0xf5365
    mov bx, strict word 00018h                ; bb 18 00                    ; 0xf5367
    mov byte [es:bx], dl                      ; 26 88 17                    ; 0xf536a keyboard.c:53
    xor dh, 010h                              ; 80 f6 10                    ; 0xf536d keyboard.c:522
    mov bx, strict word 00017h                ; bb 17 00                    ; 0xf5370 keyboard.c:51
    mov byte [es:bx], dh                      ; 26 88 37                    ; 0xf5373 keyboard.c:53
    jmp near 051f3h                           ; e9 7a fe                    ; 0xf5376 keyboard.c:525
    test bh, 002h                             ; f6 c7 02                    ; 0xf5379 keyboard.c:528
    jne near 051f3h                           ; 0f 85 73 fe                 ; 0xf537c
    and dl, 0efh                              ; 80 e2 ef                    ; 0xf5380 keyboard.c:529
    mov bx, strict word 00018h                ; bb 18 00                    ; 0xf5383 keyboard.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf5386
    mov es, ax                                ; 8e c0                       ; 0xf5389
    mov byte [es:bx], dl                      ; 26 88 17                    ; 0xf538b
    jmp near 051f3h                           ; e9 62 fe                    ; 0xf538e keyboard.c:532
    test bl, 004h                             ; f6 c3 04                    ; 0xf5391 keyboard.c:535
    jne near 051f3h                           ; 0f 85 5b fe                 ; 0xf5394
    or dl, 004h                               ; 80 ca 04                    ; 0xf5398 keyboard.c:536
    mov bx, strict word 00018h                ; bb 18 00                    ; 0xf539b keyboard.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf539e
    mov es, ax                                ; 8e c0                       ; 0xf53a1
    mov byte [es:bx], dl                      ; 26 88 17                    ; 0xf53a3
    jmp near 051f3h                           ; e9 4a fe                    ; 0xf53a6 keyboard.c:540
    and dl, 0fbh                              ; 80 e2 fb                    ; 0xf53a9 keyboard.c:543
    jmp short 0539bh                          ; eb ed                       ; 0xf53ac keyboard.c:544
    mov al, ah                                ; 88 e0                       ; 0xf53ae keyboard.c:549
    and AL, strict byte 00ch                  ; 24 0c                       ; 0xf53b0
    cmp AL, strict byte 00ch                  ; 3c 0c                       ; 0xf53b2
    jne short 053c9h                          ; 75 13                       ; 0xf53b4
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf53b6 keyboard.c:61
    mov es, ax                                ; 8e c0                       ; 0xf53b9
    mov bx, strict word 00072h                ; bb 72 00                    ; 0xf53bb
    mov ax, 01234h                            ; b8 34 12                    ; 0xf53be
    mov word [es:bx], ax                      ; 26 89 07                    ; 0xf53c1 keyboard.c:63
    jmp far 0f000h:0e05bh                     ; ea 5b e0 00 f0              ; 0xf53c4 keyboard.c:552
    test dl, 008h                             ; f6 c2 08                    ; 0xf53c9 keyboard.c:558
    je short 053dfh                           ; 74 11                       ; 0xf53cc
    and dl, 0f7h                              ; 80 e2 f7                    ; 0xf53ce keyboard.c:560
    mov bx, strict word 00018h                ; bb 18 00                    ; 0xf53d1 keyboard.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf53d4
    mov es, ax                                ; 8e c0                       ; 0xf53d7
    mov byte [es:bx], dl                      ; 26 88 17                    ; 0xf53d9
    jmp near 05212h                           ; e9 33 fe                    ; 0xf53dc keyboard.c:562
    mov al, byte [bp-006h]                    ; 8a 46 fa                    ; 0xf53df keyboard.c:565
    test AL, strict byte 080h                 ; a8 80                       ; 0xf53e2
    je short 05414h                           ; 74 2e                       ; 0xf53e4
    cmp AL, strict byte 0fah                  ; 3c fa                       ; 0xf53e6 keyboard.c:567
    jne short 053fah                          ; 75 10                       ; 0xf53e8
    mov bx, 00097h                            ; bb 97 00                    ; 0xf53ea keyboard.c:48
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf53ed
    mov es, ax                                ; 8e c0                       ; 0xf53f0
    mov ah, byte [es:bx]                      ; 26 8a 27                    ; 0xf53f2
    or ah, 010h                               ; 80 cc 10                    ; 0xf53f5 keyboard.c:49
    jmp short 0540eh                          ; eb 14                       ; 0xf53f8 keyboard.c:570
    cmp AL, strict byte 0feh                  ; 3c fe                       ; 0xf53fa
    jne near 051f3h                           ; 0f 85 f3 fd                 ; 0xf53fc
    mov bx, 00097h                            ; bb 97 00                    ; 0xf5400 keyboard.c:48
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf5403
    mov es, ax                                ; 8e c0                       ; 0xf5406
    mov ah, byte [es:bx]                      ; 26 8a 27                    ; 0xf5408
    or ah, 020h                               ; 80 cc 20                    ; 0xf540b keyboard.c:49
    mov byte [es:bx], ah                      ; 26 88 27                    ; 0xf540e keyboard.c:53
    jmp near 051f3h                           ; e9 df fd                    ; 0xf5411 keyboard.c:574
    cmp byte [bp-006h], 058h                  ; 80 7e fa 58                 ; 0xf5414 keyboard.c:576
    jbe short 05438h                          ; 76 1e                       ; 0xf5418
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf541a keyboard.c:577
    mov cx, ds                                ; 8c d9                       ; 0xf541d
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf541f
    call 01a27h                               ; e8 02 c6                    ; 0xf5422
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf5425
    push ax                                   ; 50                          ; 0xf5429
    push 00631h                               ; 68 31 06                    ; 0xf542a
    push strict byte 00004h                   ; 6a 04                       ; 0xf542d
    call 01a68h                               ; e8 36 c6                    ; 0xf542f
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf5432
    jmp near 05212h                           ; e9 da fd                    ; 0xf5435 keyboard.c:578
    test dh, 008h                             ; f6 c6 08                    ; 0xf5438 keyboard.c:580
    je short 0544fh                           ; 74 12                       ; 0xf543b
    movzx bx, byte [bp-006h]                  ; 0f b6 5e fa                 ; 0xf543d keyboard.c:581
    imul bx, bx, strict byte 0000ah           ; 6b db 0a                    ; 0xf5441
    mov dl, byte [bx+00e6ah]                  ; 8a 97 6a 0e                 ; 0xf5444
    mov ax, word [bx+00e6ah]                  ; 8b 87 6a 0e                 ; 0xf5448 keyboard.c:582
    jmp near 054dbh                           ; e9 8c 00                    ; 0xf544c keyboard.c:583
    test dh, 004h                             ; f6 c6 04                    ; 0xf544f
    je short 05466h                           ; 74 12                       ; 0xf5452
    movzx bx, byte [bp-006h]                  ; 0f b6 5e fa                 ; 0xf5454 keyboard.c:584
    imul bx, bx, strict byte 0000ah           ; 6b db 0a                    ; 0xf5458
    mov dl, byte [bx+00e68h]                  ; 8a 97 68 0e                 ; 0xf545b
    mov ax, word [bx+00e68h]                  ; 8b 87 68 0e                 ; 0xf545f keyboard.c:585
    jmp near 054dbh                           ; e9 75 00                    ; 0xf5463 keyboard.c:586
    mov al, byte [bp-008h]                    ; 8a 46 f8                    ; 0xf5466
    and AL, strict byte 002h                  ; 24 02                       ; 0xf5469
    test al, al                               ; 84 c0                       ; 0xf546b
    jbe short 05484h                          ; 76 15                       ; 0xf546d
    mov al, byte [bp-006h]                    ; 8a 46 fa                    ; 0xf546f
    cmp AL, strict byte 047h                  ; 3c 47                       ; 0xf5472
    jc short 05484h                           ; 72 0e                       ; 0xf5474
    cmp AL, strict byte 053h                  ; 3c 53                       ; 0xf5476
    jnbe short 05484h                         ; 77 0a                       ; 0xf5478
    mov DL, strict byte 0e0h                  ; b2 e0                       ; 0xf547a keyboard.c:588
    movzx bx, al                              ; 0f b6 d8                    ; 0xf547c keyboard.c:589
    imul bx, bx, strict byte 0000ah           ; 6b db 0a                    ; 0xf547f
    jmp short 054d7h                          ; eb 53                       ; 0xf5482 keyboard.c:590
    test dh, 003h                             ; f6 c6 03                    ; 0xf5484
    je short 054b6h                           ; 74 2d                       ; 0xf5487
    movzx bx, byte [bp-006h]                  ; 0f b6 5e fa                 ; 0xf5489 keyboard.c:594
    imul bx, bx, strict byte 0000ah           ; 6b db 0a                    ; 0xf548d
    movzx ax, byte [bx+00e6ch]                ; 0f b6 87 6c 0e              ; 0xf5490
    movzx dx, dh                              ; 0f b6 d6                    ; 0xf5495
    test dx, ax                               ; 85 c2                       ; 0xf5498
    je short 054a6h                           ; 74 0a                       ; 0xf549a
    mov dl, byte [bx+00e64h]                  ; 8a 97 64 0e                 ; 0xf549c keyboard.c:595
    mov ax, word [bx+00e64h]                  ; 8b 87 64 0e                 ; 0xf54a0 keyboard.c:596
    jmp short 054aeh                          ; eb 08                       ; 0xf54a4 keyboard.c:597
    mov dl, byte [bx+00e66h]                  ; 8a 97 66 0e                 ; 0xf54a6 keyboard.c:598
    mov ax, word [bx+00e66h]                  ; 8b 87 66 0e                 ; 0xf54aa keyboard.c:599
    shr ax, 008h                              ; c1 e8 08                    ; 0xf54ae
    mov byte [bp-006h], al                    ; 88 46 fa                    ; 0xf54b1
    jmp short 054e1h                          ; eb 2b                       ; 0xf54b4 keyboard.c:601
    movzx bx, byte [bp-006h]                  ; 0f b6 5e fa                 ; 0xf54b6 keyboard.c:603
    imul bx, bx, strict byte 0000ah           ; 6b db 0a                    ; 0xf54ba
    movzx si, byte [bx+00e6ch]                ; 0f b6 b7 6c 0e              ; 0xf54bd
    movzx ax, dh                              ; 0f b6 c6                    ; 0xf54c2
    test ax, si                               ; 85 f0                       ; 0xf54c5
    je short 054d3h                           ; 74 0a                       ; 0xf54c7
    mov dl, byte [bx+00e66h]                  ; 8a 97 66 0e                 ; 0xf54c9 keyboard.c:604
    mov ax, word [bx+00e66h]                  ; 8b 87 66 0e                 ; 0xf54cd keyboard.c:605
    jmp short 054dbh                          ; eb 08                       ; 0xf54d1 keyboard.c:606
    mov dl, byte [bx+00e64h]                  ; 8a 97 64 0e                 ; 0xf54d3 keyboard.c:607
    mov ax, word [bx+00e64h]                  ; 8b 87 64 0e                 ; 0xf54d7 keyboard.c:608
    shr ax, 008h                              ; c1 e8 08                    ; 0xf54db
    mov byte [bp-006h], al                    ; 88 46 fa                    ; 0xf54de
    cmp byte [bp-006h], 000h                  ; 80 7e fa 00                 ; 0xf54e1 keyboard.c:611
    jne short 05501h                          ; 75 1a                       ; 0xf54e5
    test dl, dl                               ; 84 d2                       ; 0xf54e7
    jne short 05501h                          ; 75 16                       ; 0xf54e9
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf54eb keyboard.c:612
    mov cx, ds                                ; 8c d9                       ; 0xf54ee
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf54f0
    call 01a27h                               ; e8 31 c5                    ; 0xf54f3
    push 00668h                               ; 68 68 06                    ; 0xf54f6
    push strict byte 00004h                   ; 6a 04                       ; 0xf54f9
    call 01a68h                               ; e8 6a c5                    ; 0xf54fb
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf54fe
    xor dh, dh                                ; 30 f6                       ; 0xf5501 keyboard.c:614
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf5503
    jmp near 05359h                           ; e9 4f fe                    ; 0xf5507
  ; disGetNextSymbol 0xf550a LB 0x5912 -> off=0x0 cb=000000000000006c uValue=00000000000f3f0a 'dequeue_key'
dequeue_key:                                 ; 0xf550a LB 0x6c
    push si                                   ; 56                          ; 0xf550a keyboard.c:624
    push di                                   ; 57                          ; 0xf550b
    enter 00002h, 000h                        ; c8 02 00 00                 ; 0xf550c
    push ax                                   ; 50                          ; 0xf5510
    push dx                                   ; 52                          ; 0xf5511
    mov si, bx                                ; 89 de                       ; 0xf5512
    mov bx, 00080h                            ; bb 80 00                    ; 0xf5514 keyboard.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf5517
    mov es, ax                                ; 8e c0                       ; 0xf551a
    mov ax, word [es:bx]                      ; 26 8b 07                    ; 0xf551c
    mov word [bp-002h], ax                    ; 89 46 fe                    ; 0xf551f
    mov bx, 00082h                            ; bb 82 00                    ; 0xf5522 keyboard.c:58
    mov dx, word [es:bx]                      ; 26 8b 17                    ; 0xf5525
    mov bx, strict word 0001ah                ; bb 1a 00                    ; 0xf5528 keyboard.c:58
    mov bx, word [es:bx]                      ; 26 8b 1f                    ; 0xf552b
    mov di, strict word 0001ch                ; bf 1c 00                    ; 0xf552e keyboard.c:58
    mov ax, word [es:di]                      ; 26 8b 05                    ; 0xf5531
    cmp bx, ax                                ; 39 c3                       ; 0xf5534 keyboard.c:640
    je short 0556eh                           ; 74 36                       ; 0xf5536
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf5538 keyboard.c:48
    lea di, [bx+001h]                         ; 8d 7f 01                    ; 0xf553b keyboard.c:642
    mov ah, byte [es:di]                      ; 26 8a 25                    ; 0xf553e keyboard.c:48
    mov es, cx                                ; 8e c1                       ; 0xf5541 keyboard.c:643
    mov byte [es:si], al                      ; 26 88 04                    ; 0xf5543
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xf5546 keyboard.c:644
    mov si, word [bp-004h]                    ; 8b 76 fc                    ; 0xf5549
    mov byte [es:si], ah                      ; 26 88 24                    ; 0xf554c
    cmp word [bp+008h], strict byte 00000h    ; 83 7e 08 00                 ; 0xf554f keyboard.c:647
    je short 05569h                           ; 74 14                       ; 0xf5553
    inc bx                                    ; 43                          ; 0xf5555 keyboard.c:648
    inc bx                                    ; 43                          ; 0xf5556
    cmp bx, dx                                ; 39 d3                       ; 0xf5557 keyboard.c:649
    jc short 0555eh                           ; 72 03                       ; 0xf5559
    mov bx, word [bp-002h]                    ; 8b 5e fe                    ; 0xf555b keyboard.c:650
    mov si, strict word 0001ah                ; be 1a 00                    ; 0xf555e keyboard.c:63
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf5561
    mov es, ax                                ; 8e c0                       ; 0xf5564
    mov word [es:si], bx                      ; 26 89 1c                    ; 0xf5566
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xf5569 keyboard.c:653
    jmp short 05570h                          ; eb 02                       ; 0xf556c
    xor ax, ax                                ; 31 c0                       ; 0xf556e keyboard.c:656
    leave                                     ; c9                          ; 0xf5570 keyboard.c:658
    pop di                                    ; 5f                          ; 0xf5571
    pop si                                    ; 5e                          ; 0xf5572
    retn 00002h                               ; c2 02 00                    ; 0xf5573
  ; disGetNextSymbol 0xf5576 LB 0x58a6 -> off=0x23 cb=00000000000002e7 uValue=00000000000f3f99 'int16_function'
    db  0a2h, 092h, 012h, 011h, 010h, 00ah, 009h, 005h, 002h, 001h, 000h, 036h, 058h, 04eh, 056h, 095h
    db  056h, 0e2h, 056h, 0f4h, 056h, 01eh, 057h, 027h, 057h, 098h, 057h, 0c9h, 057h, 0f7h, 057h, 02bh
    db  058h, 079h, 058h
int16_function:                              ; 0xf5599 LB 0x2e7
    push bp                                   ; 55                          ; 0xf5599 keyboard.c:675
    mov bp, sp                                ; 89 e5                       ; 0xf559a
    push si                                   ; 56                          ; 0xf559c
    push di                                   ; 57                          ; 0xf559d
    sub sp, strict byte 00006h                ; 83 ec 06                    ; 0xf559e
    mov bx, strict word 00017h                ; bb 17 00                    ; 0xf55a1 keyboard.c:48
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf55a4
    mov es, ax                                ; 8e c0                       ; 0xf55a7
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf55a9
    mov bl, al                                ; 88 c3                       ; 0xf55ac keyboard.c:49
    mov si, 00097h                            ; be 97 00                    ; 0xf55ae keyboard.c:48
    mov ah, byte [es:si]                      ; 26 8a 24                    ; 0xf55b1
    mov bh, ah                                ; 88 e7                       ; 0xf55b4 keyboard.c:49
    movzx dx, al                              ; 0f b6 d0                    ; 0xf55b6 keyboard.c:684
    sar dx, 004h                              ; c1 fa 04                    ; 0xf55b9
    and dl, 007h                              ; 80 e2 07                    ; 0xf55bc
    mov al, ah                                ; 88 e0                       ; 0xf55bf
    and AL, strict byte 007h                  ; 24 07                       ; 0xf55c1
    xor ah, ah                                ; 30 e4                       ; 0xf55c3
    xor al, dl                                ; 30 d0                       ; 0xf55c5
    test ax, ax                               ; 85 c0                       ; 0xf55c7
    je short 0562ch                           ; 74 61                       ; 0xf55c9
    cli                                       ; fa                          ; 0xf55cb keyboard.c:685
    mov AL, strict byte 0edh                  ; b0 ed                       ; 0xf55cc keyboard.c:686
    mov dx, strict word 00060h                ; ba 60 00                    ; 0xf55ce
    out DX, AL                                ; ee                          ; 0xf55d1
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf55d2 keyboard.c:687
    in AL, DX                                 ; ec                          ; 0xf55d5
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf55d6
    test AL, strict byte 001h                 ; a8 01                       ; 0xf55d8
    jne short 055e4h                          ; 75 08                       ; 0xf55da
    mov AL, strict byte 021h                  ; b0 21                       ; 0xf55dc
    mov dx, 00080h                            ; ba 80 00                    ; 0xf55de
    out DX, AL                                ; ee                          ; 0xf55e1
    jmp short 055d2h                          ; eb ee                       ; 0xf55e2
    mov dx, strict word 00060h                ; ba 60 00                    ; 0xf55e4 keyboard.c:688
    in AL, DX                                 ; ec                          ; 0xf55e7
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf55e8
    cmp ax, 000fah                            ; 3d fa 00                    ; 0xf55ea
    jne short 0562bh                          ; 75 3c                       ; 0xf55ed
    and bh, 0c8h                              ; 80 e7 c8                    ; 0xf55ef keyboard.c:689
    movzx dx, bl                              ; 0f b6 d3                    ; 0xf55f2 keyboard.c:690
    sar dx, 004h                              ; c1 fa 04                    ; 0xf55f5
    and dx, strict byte 00007h                ; 83 e2 07                    ; 0xf55f8
    movzx ax, bh                              ; 0f b6 c7                    ; 0xf55fb
    or ax, dx                                 ; 09 d0                       ; 0xf55fe
    mov bh, al                                ; 88 c7                       ; 0xf5600
    and AL, strict byte 007h                  ; 24 07                       ; 0xf5602 keyboard.c:691
    mov dx, strict word 00060h                ; ba 60 00                    ; 0xf5604
    out DX, AL                                ; ee                          ; 0xf5607
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf5608 keyboard.c:692
    in AL, DX                                 ; ec                          ; 0xf560b
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf560c
    test AL, strict byte 001h                 ; a8 01                       ; 0xf560e
    jne short 0561ah                          ; 75 08                       ; 0xf5610
    mov AL, strict byte 021h                  ; b0 21                       ; 0xf5612 keyboard.c:693
    mov dx, 00080h                            ; ba 80 00                    ; 0xf5614
    out DX, AL                                ; ee                          ; 0xf5617
    jmp short 05608h                          ; eb ee                       ; 0xf5618
    mov dx, strict word 00060h                ; ba 60 00                    ; 0xf561a keyboard.c:694
    in AL, DX                                 ; ec                          ; 0xf561d
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf561e
    mov si, 00097h                            ; be 97 00                    ; 0xf5620 keyboard.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf5623
    mov es, ax                                ; 8e c0                       ; 0xf5626
    mov byte [es:si], bh                      ; 26 88 3c                    ; 0xf5628
    sti                                       ; fb                          ; 0xf562b keyboard.c:697
    mov ax, word [bp+012h]                    ; 8b 46 12                    ; 0xf562c keyboard.c:700
    shr ax, 008h                              ; c1 e8 08                    ; 0xf562f
    cmp ax, 000a2h                            ; 3d a2 00                    ; 0xf5632
    jnbe near 05836h                          ; 0f 87 fd 01                 ; 0xf5635
    push CS                                   ; 0e                          ; 0xf5639
    pop ES                                    ; 07                          ; 0xf563a
    mov cx, strict word 0000ch                ; b9 0c 00                    ; 0xf563b
    mov di, 05576h                            ; bf 76 55                    ; 0xf563e
    repne scasb                               ; f2 ae                       ; 0xf5641
    sal cx, 1                                 ; d1 e1                       ; 0xf5643
    mov di, cx                                ; 89 cf                       ; 0xf5645
    mov ax, word [cs:di+05581h]               ; 2e 8b 85 81 55              ; 0xf5647
    jmp ax                                    ; ff e0                       ; 0xf564c
    push strict byte 00001h                   ; 6a 01                       ; 0xf564e keyboard.c:702
    mov cx, ss                                ; 8c d1                       ; 0xf5650
    lea bx, [bp-00ah]                         ; 8d 5e f6                    ; 0xf5652
    mov dx, ss                                ; 8c d2                       ; 0xf5655
    lea ax, [bp-006h]                         ; 8d 46 fa                    ; 0xf5657
    call 0550ah                               ; e8 ad fe                    ; 0xf565a
    test ax, ax                               ; 85 c0                       ; 0xf565d
    jne short 0566ch                          ; 75 0b                       ; 0xf565f
    push 0069fh                               ; 68 9f 06                    ; 0xf5661 keyboard.c:703
    push strict byte 00007h                   ; 6a 07                       ; 0xf5664
    call 01a68h                               ; e8 ff c3                    ; 0xf5666
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf5669
    cmp byte [bp-006h], 000h                  ; 80 7e fa 00                 ; 0xf566c keyboard.c:705
    je short 05678h                           ; 74 06                       ; 0xf5670
    cmp byte [bp-00ah], 0f0h                  ; 80 7e f6 f0                 ; 0xf5672
    je short 0567eh                           ; 74 06                       ; 0xf5676
    cmp byte [bp-00ah], 0e0h                  ; 80 7e f6 e0                 ; 0xf5678 keyboard.c:707
    jne short 05682h                          ; 75 04                       ; 0xf567c
    mov byte [bp-00ah], 000h                  ; c6 46 f6 00                 ; 0xf567e keyboard.c:708
    movzx dx, byte [bp-006h]                  ; 0f b6 56 fa                 ; 0xf5682 keyboard.c:709
    sal dx, 008h                              ; c1 e2 08                    ; 0xf5686
    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6                 ; 0xf5689
    or dx, ax                                 ; 09 c2                       ; 0xf568d
    mov word [bp+012h], dx                    ; 89 56 12                    ; 0xf568f
    jmp near 05879h                           ; e9 e4 01                    ; 0xf5692 keyboard.c:710
    mov ax, word [bp+018h]                    ; 8b 46 18                    ; 0xf5695 keyboard.c:714
    mov word [bp+01eh], ax                    ; 89 46 1e                    ; 0xf5698
    push strict byte 00000h                   ; 6a 00                       ; 0xf569b keyboard.c:715
    mov cx, ss                                ; 8c d1                       ; 0xf569d
    lea bx, [bp-00ah]                         ; 8d 5e f6                    ; 0xf569f
    mov dx, ss                                ; 8c d2                       ; 0xf56a2
    lea ax, [bp-006h]                         ; 8d 46 fa                    ; 0xf56a4
    call 0550ah                               ; e8 60 fe                    ; 0xf56a7
    test ax, ax                               ; 85 c0                       ; 0xf56aa
    jne short 056b5h                          ; 75 07                       ; 0xf56ac
    or word [bp+01eh], strict byte 00040h     ; 83 4e 1e 40                 ; 0xf56ae keyboard.c:716
    jmp near 05879h                           ; e9 c4 01                    ; 0xf56b2 keyboard.c:717
    cmp byte [bp-006h], 000h                  ; 80 7e fa 00                 ; 0xf56b5 keyboard.c:719
    je short 056c1h                           ; 74 06                       ; 0xf56b9
    cmp byte [bp-00ah], 0f0h                  ; 80 7e f6 f0                 ; 0xf56bb
    je short 056c7h                           ; 74 06                       ; 0xf56bf
    cmp byte [bp-00ah], 0e0h                  ; 80 7e f6 e0                 ; 0xf56c1 keyboard.c:721
    jne short 056cbh                          ; 75 04                       ; 0xf56c5
    mov byte [bp-00ah], 000h                  ; c6 46 f6 00                 ; 0xf56c7 keyboard.c:722
    movzx dx, byte [bp-006h]                  ; 0f b6 56 fa                 ; 0xf56cb keyboard.c:723
    sal dx, 008h                              ; c1 e2 08                    ; 0xf56cf
    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6                 ; 0xf56d2
    or dx, ax                                 ; 09 c2                       ; 0xf56d6
    mov word [bp+012h], dx                    ; 89 56 12                    ; 0xf56d8
    and word [bp+01eh], strict byte 0ffbfh    ; 83 66 1e bf                 ; 0xf56db keyboard.c:724
    jmp near 05879h                           ; e9 97 01                    ; 0xf56df keyboard.c:725
    mov bx, strict word 00017h                ; bb 17 00                    ; 0xf56e2 keyboard.c:48
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf56e5
    mov es, ax                                ; 8e c0                       ; 0xf56e8
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf56ea
    mov dx, word [bp+012h]                    ; 8b 56 12                    ; 0xf56ed keyboard.c:729
    mov dl, al                                ; 88 c2                       ; 0xf56f0
    jmp short 0568fh                          ; eb 9b                       ; 0xf56f2
    mov al, byte [bp+010h]                    ; 8a 46 10                    ; 0xf56f4 keyboard.c:733
    movzx dx, al                              ; 0f b6 d0                    ; 0xf56f7
    mov ax, word [bp+010h]                    ; 8b 46 10                    ; 0xf56fa
    shr ax, 008h                              ; c1 e8 08                    ; 0xf56fd
    xor ah, ah                                ; 30 e4                       ; 0xf5700
    call 050b5h                               ; e8 b0 f9                    ; 0xf5702
    test ax, ax                               ; 85 c0                       ; 0xf5705
    jne short 05716h                          ; 75 0d                       ; 0xf5707
    mov ax, word [bp+012h]                    ; 8b 46 12                    ; 0xf5709 keyboard.c:734
    xor al, al                                ; 30 c0                       ; 0xf570c
    or AL, strict byte 001h                   ; 0c 01                       ; 0xf570e
    mov word [bp+012h], ax                    ; 89 46 12                    ; 0xf5710
    jmp near 05879h                           ; e9 63 01                    ; 0xf5713 keyboard.c:736
    and word [bp+012h], 0ff00h                ; 81 66 12 00 ff              ; 0xf5716 keyboard.c:737
    jmp near 05879h                           ; e9 5b 01                    ; 0xf571b keyboard.c:739
    mov ax, word [bp+012h]                    ; 8b 46 12                    ; 0xf571e keyboard.c:752
    xor al, al                                ; 30 c0                       ; 0xf5721
    or AL, strict byte 030h                   ; 0c 30                       ; 0xf5723
    jmp short 05710h                          ; eb e9                       ; 0xf5725
    mov byte [bp-008h], 002h                  ; c6 46 f8 02                 ; 0xf5727 keyboard.c:756
    xor cx, cx                                ; 31 c9                       ; 0xf572b keyboard.c:757
    cli                                       ; fa                          ; 0xf572d keyboard.c:759
    mov AL, strict byte 0f2h                  ; b0 f2                       ; 0xf572e keyboard.c:760
    mov dx, strict word 00060h                ; ba 60 00                    ; 0xf5730
    out DX, AL                                ; ee                          ; 0xf5733
    mov bx, strict word 0ffffh                ; bb ff ff                    ; 0xf5734 keyboard.c:762
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf5737 keyboard.c:763
    in AL, DX                                 ; ec                          ; 0xf573a
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf573b
    test AL, strict byte 001h                 ; a8 01                       ; 0xf573d
    jne short 0574eh                          ; 75 0d                       ; 0xf573f
    dec bx                                    ; 4b                          ; 0xf5741
    test bx, bx                               ; 85 db                       ; 0xf5742
    jbe short 0574eh                          ; 76 08                       ; 0xf5744
    mov dx, 00080h                            ; ba 80 00                    ; 0xf5746 keyboard.c:764
    in AL, DX                                 ; ec                          ; 0xf5749
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf574a
    jmp short 05737h                          ; eb e9                       ; 0xf574c
    test bx, bx                               ; 85 db                       ; 0xf574e keyboard.c:765
    jbe short 05792h                          ; 76 40                       ; 0xf5750
    mov dx, strict word 00060h                ; ba 60 00                    ; 0xf5752 keyboard.c:766
    in AL, DX                                 ; ec                          ; 0xf5755
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf5756
    cmp ax, 000fah                            ; 3d fa 00                    ; 0xf5758
    jne short 05792h                          ; 75 35                       ; 0xf575b
    mov bx, strict word 0ffffh                ; bb ff ff                    ; 0xf575d keyboard.c:768
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf5760 keyboard.c:769
    in AL, DX                                 ; ec                          ; 0xf5763
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf5764
    test AL, strict byte 001h                 ; a8 01                       ; 0xf5766
    jne short 05777h                          ; 75 0d                       ; 0xf5768
    dec bx                                    ; 4b                          ; 0xf576a
    test bx, bx                               ; 85 db                       ; 0xf576b
    jbe short 05777h                          ; 76 08                       ; 0xf576d
    mov dx, 00080h                            ; ba 80 00                    ; 0xf576f keyboard.c:770
    in AL, DX                                 ; ec                          ; 0xf5772
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf5773
    jmp short 05760h                          ; eb e9                       ; 0xf5775
    test bx, bx                               ; 85 db                       ; 0xf5777 keyboard.c:771
    jbe short 05789h                          ; 76 0e                       ; 0xf5779
    shr cx, 008h                              ; c1 e9 08                    ; 0xf577b keyboard.c:772
    mov dx, strict word 00060h                ; ba 60 00                    ; 0xf577e keyboard.c:773
    in AL, DX                                 ; ec                          ; 0xf5781
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf5782
    sal ax, 008h                              ; c1 e0 08                    ; 0xf5784
    or cx, ax                                 ; 09 c1                       ; 0xf5787
    dec byte [bp-008h]                        ; fe 4e f8                    ; 0xf5789 keyboard.c:775
    cmp byte [bp-008h], 000h                  ; 80 7e f8 00                 ; 0xf578c
    jnbe short 0575dh                         ; 77 cb                       ; 0xf5790
    mov word [bp+00ch], cx                    ; 89 4e 0c                    ; 0xf5792 keyboard.c:778
    jmp near 05879h                           ; e9 e1 00                    ; 0xf5795 keyboard.c:779
    push strict byte 00001h                   ; 6a 01                       ; 0xf5798 keyboard.c:782
    mov cx, ss                                ; 8c d1                       ; 0xf579a
    lea bx, [bp-00ah]                         ; 8d 5e f6                    ; 0xf579c
    mov dx, ss                                ; 8c d2                       ; 0xf579f
    lea ax, [bp-006h]                         ; 8d 46 fa                    ; 0xf57a1
    call 0550ah                               ; e8 63 fd                    ; 0xf57a4
    test ax, ax                               ; 85 c0                       ; 0xf57a7
    jne short 057b6h                          ; 75 0b                       ; 0xf57a9
    push 0069fh                               ; 68 9f 06                    ; 0xf57ab keyboard.c:783
    push strict byte 00007h                   ; 6a 07                       ; 0xf57ae
    call 01a68h                               ; e8 b5 c2                    ; 0xf57b0
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf57b3
    cmp byte [bp-006h], 000h                  ; 80 7e fa 00                 ; 0xf57b6 keyboard.c:785
    je near 05682h                            ; 0f 84 c4 fe                 ; 0xf57ba
    cmp byte [bp-00ah], 0f0h                  ; 80 7e f6 f0                 ; 0xf57be
    je near 0567eh                            ; 0f 84 b8 fe                 ; 0xf57c2
    jmp near 05682h                           ; e9 b9 fe                    ; 0xf57c6
    mov ax, word [bp+018h]                    ; 8b 46 18                    ; 0xf57c9 keyboard.c:792
    mov word [bp+01eh], ax                    ; 89 46 1e                    ; 0xf57cc
    push strict byte 00000h                   ; 6a 00                       ; 0xf57cf keyboard.c:793
    mov cx, ss                                ; 8c d1                       ; 0xf57d1
    lea bx, [bp-00ah]                         ; 8d 5e f6                    ; 0xf57d3
    mov dx, ss                                ; 8c d2                       ; 0xf57d6
    lea ax, [bp-006h]                         ; 8d 46 fa                    ; 0xf57d8
    call 0550ah                               ; e8 2c fd                    ; 0xf57db
    test ax, ax                               ; 85 c0                       ; 0xf57de
    je near 056aeh                            ; 0f 84 ca fe                 ; 0xf57e0
    cmp byte [bp-006h], 000h                  ; 80 7e fa 00                 ; 0xf57e4 keyboard.c:797
    je near 056cbh                            ; 0f 84 df fe                 ; 0xf57e8
    cmp byte [bp-00ah], 0f0h                  ; 80 7e f6 f0                 ; 0xf57ec
    je near 056c7h                            ; 0f 84 d3 fe                 ; 0xf57f0
    jmp near 056cbh                           ; e9 d4 fe                    ; 0xf57f4
    mov bx, strict word 00017h                ; bb 17 00                    ; 0xf57f7 keyboard.c:48
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf57fa
    mov es, ax                                ; 8e c0                       ; 0xf57fd
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf57ff
    mov dx, word [bp+012h]                    ; 8b 56 12                    ; 0xf5802 keyboard.c:805
    mov dl, al                                ; 88 c2                       ; 0xf5805
    mov word [bp+012h], dx                    ; 89 56 12                    ; 0xf5807
    mov bx, strict word 00018h                ; bb 18 00                    ; 0xf580a keyboard.c:48
    mov bl, byte [es:bx]                      ; 26 8a 1f                    ; 0xf580d
    and bl, 073h                              ; 80 e3 73                    ; 0xf5810 keyboard.c:49
    mov si, 00096h                            ; be 96 00                    ; 0xf5813 keyboard.c:48
    mov al, byte [es:si]                      ; 26 8a 04                    ; 0xf5816
    and AL, strict byte 00ch                  ; 24 0c                       ; 0xf5819 keyboard.c:49
    or bl, al                                 ; 08 c3                       ; 0xf581b
    mov dx, word [bp+012h]                    ; 8b 56 12                    ; 0xf581d keyboard.c:808
    xor dh, dh                                ; 30 f6                       ; 0xf5820
    movzx ax, bl                              ; 0f b6 c3                    ; 0xf5822
    sal ax, 008h                              ; c1 e0 08                    ; 0xf5825
    jmp near 0568dh                           ; e9 62 fe                    ; 0xf5828
    mov ax, word [bp+012h]                    ; 8b 46 12                    ; 0xf582b keyboard.c:813
    xor ah, ah                                ; 30 e4                       ; 0xf582e
    or ah, 080h                               ; 80 cc 80                    ; 0xf5830
    jmp near 05710h                           ; e9 da fe                    ; 0xf5833
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf5836 keyboard.c:828
    mov cx, ds                                ; 8c d9                       ; 0xf5839
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf583b
    call 01a27h                               ; e8 e6 c1                    ; 0xf583e
    mov ax, word [bp+012h]                    ; 8b 46 12                    ; 0xf5841
    shr ax, 008h                              ; c1 e8 08                    ; 0xf5844
    push ax                                   ; 50                          ; 0xf5847
    push 006c3h                               ; 68 c3 06                    ; 0xf5848
    push strict byte 00004h                   ; 6a 04                       ; 0xf584b
    call 01a68h                               ; e8 18 c2                    ; 0xf584d
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf5850
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf5853 keyboard.c:829
    mov cx, ds                                ; 8c d9                       ; 0xf5856
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf5858
    call 01a27h                               ; e8 c9 c1                    ; 0xf585b
    mov ax, word [bp+00eh]                    ; 8b 46 0e                    ; 0xf585e
    push ax                                   ; 50                          ; 0xf5861
    mov ax, word [bp+010h]                    ; 8b 46 10                    ; 0xf5862
    push ax                                   ; 50                          ; 0xf5865
    mov ax, word [bp+00ch]                    ; 8b 46 0c                    ; 0xf5866
    push ax                                   ; 50                          ; 0xf5869
    mov ax, word [bp+012h]                    ; 8b 46 12                    ; 0xf586a
    push ax                                   ; 50                          ; 0xf586d
    push 006ebh                               ; 68 eb 06                    ; 0xf586e
    push strict byte 00004h                   ; 6a 04                       ; 0xf5871
    call 01a68h                               ; e8 f2 c1                    ; 0xf5873
    add sp, strict byte 0000ch                ; 83 c4 0c                    ; 0xf5876
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf5879 keyboard.c:832
    pop di                                    ; 5f                          ; 0xf587c
    pop si                                    ; 5e                          ; 0xf587d
    pop bp                                    ; 5d                          ; 0xf587e
    retn                                      ; c3                          ; 0xf587f
  ; disGetNextSymbol 0xf5880 LB 0x559c -> off=0x0 cb=00000000000000b3 uValue=00000000000f4280 'set_geom_lba'
set_geom_lba:                                ; 0xf5880 LB 0xb3
    push bx                                   ; 53                          ; 0xf5880 disk.c:125
    push cx                                   ; 51                          ; 0xf5881
    push si                                   ; 56                          ; 0xf5882
    push di                                   ; 57                          ; 0xf5883
    enter 00008h, 000h                        ; c8 08 00 00                 ; 0xf5884
    mov di, ax                                ; 89 c7                       ; 0xf5888
    mov es, dx                                ; 8e c2                       ; 0xf588a
    mov dword [bp-008h], strict dword 0007e0000h ; 66 c7 46 f8 00 00 7e 00  ; 0xf588c disk.c:127
    mov word [bp-002h], 000ffh                ; c7 46 fe ff 00              ; 0xf5894 disk.c:129
    mov ax, word [bp+012h]                    ; 8b 46 12                    ; 0xf5899 disk.c:132
    mov bx, word [bp+010h]                    ; 8b 5e 10                    ; 0xf589c
    mov cx, word [bp+00eh]                    ; 8b 4e 0e                    ; 0xf589f
    mov dx, word [bp+00ch]                    ; 8b 56 0c                    ; 0xf58a2
    mov si, strict word 00020h                ; be 20 00                    ; 0xf58a5
    call 0ad60h                               ; e8 b5 54                    ; 0xf58a8
    test ax, ax                               ; 85 c0                       ; 0xf58ab
    jne short 058bbh                          ; 75 0c                       ; 0xf58ad
    test bx, bx                               ; 85 db                       ; 0xf58af
    jne short 058bbh                          ; 75 08                       ; 0xf58b1
    test cx, cx                               ; 85 c9                       ; 0xf58b3
    jne short 058bbh                          ; 75 04                       ; 0xf58b5
    test dx, dx                               ; 85 d2                       ; 0xf58b7
    je short 058c2h                           ; 74 07                       ; 0xf58b9
    mov bx, strict word 0ffffh                ; bb ff ff                    ; 0xf58bb
    mov si, bx                                ; 89 de                       ; 0xf58be
    jmp short 058c8h                          ; eb 06                       ; 0xf58c0
    mov bx, word [bp+00ch]                    ; 8b 5e 0c                    ; 0xf58c2
    mov si, word [bp+00eh]                    ; 8b 76 0e                    ; 0xf58c5
    mov word [bp-004h], bx                    ; 89 5e fc                    ; 0xf58c8
    xor bx, bx                                ; 31 db                       ; 0xf58cb disk.c:134
    jmp short 058d4h                          ; eb 05                       ; 0xf58cd
    cmp bx, strict byte 00004h                ; 83 fb 04                    ; 0xf58cf
    jnl short 058f7h                          ; 7d 23                       ; 0xf58d2
    mov ax, word [bp-006h]                    ; 8b 46 fa                    ; 0xf58d4 disk.c:135
    cmp si, ax                                ; 39 c6                       ; 0xf58d7
    jc short 058e5h                           ; 72 0a                       ; 0xf58d9
    jne short 058eeh                          ; 75 11                       ; 0xf58db
    mov ax, word [bp-004h]                    ; 8b 46 fc                    ; 0xf58dd
    cmp ax, word [bp-008h]                    ; 3b 46 f8                    ; 0xf58e0
    jnbe short 058eeh                         ; 77 09                       ; 0xf58e3
    mov ax, word [bp-002h]                    ; 8b 46 fe                    ; 0xf58e5 disk.c:136
    inc ax                                    ; 40                          ; 0xf58e8
    shr ax, 1                                 ; d1 e8                       ; 0xf58e9
    mov word [bp-002h], ax                    ; 89 46 fe                    ; 0xf58eb
    shr word [bp-006h], 1                     ; d1 6e fa                    ; 0xf58ee disk.c:137
    rcr word [bp-008h], 1                     ; d1 5e f8                    ; 0xf58f1
    inc bx                                    ; 43                          ; 0xf58f4 disk.c:138
    jmp short 058cfh                          ; eb d8                       ; 0xf58f5
    mov ax, word [bp-002h]                    ; 8b 46 fe                    ; 0xf58f7 disk.c:140
    xor dx, dx                                ; 31 d2                       ; 0xf58fa
    mov bx, strict word 0003fh                ; bb 3f 00                    ; 0xf58fc
    xor cx, cx                                ; 31 c9                       ; 0xf58ff
    call 0ace0h                               ; e8 dc 53                    ; 0xf5901
    mov bx, ax                                ; 89 c3                       ; 0xf5904
    mov cx, dx                                ; 89 d1                       ; 0xf5906
    mov ax, word [bp-004h]                    ; 8b 46 fc                    ; 0xf5908
    mov dx, si                                ; 89 f2                       ; 0xf590b
    call 0ad20h                               ; e8 10 54                    ; 0xf590d
    mov word [es:di+002h], ax                 ; 26 89 45 02                 ; 0xf5910
    cmp ax, 00400h                            ; 3d 00 04                    ; 0xf5914 disk.c:141
    jbe short 0591fh                          ; 76 06                       ; 0xf5917
    mov word [es:di+002h], 00400h             ; 26 c7 45 02 00 04           ; 0xf5919 disk.c:142
    mov ax, word [bp-002h]                    ; 8b 46 fe                    ; 0xf591f disk.c:143
    mov word [es:di], ax                      ; 26 89 05                    ; 0xf5922
    mov word [es:di+004h], strict word 0003fh ; 26 c7 45 04 3f 00           ; 0xf5925 disk.c:144
    leave                                     ; c9                          ; 0xf592b disk.c:145
    pop di                                    ; 5f                          ; 0xf592c
    pop si                                    ; 5e                          ; 0xf592d
    pop cx                                    ; 59                          ; 0xf592e
    pop bx                                    ; 5b                          ; 0xf592f
    retn 00008h                               ; c2 08 00                    ; 0xf5930
  ; disGetNextSymbol 0xf5933 LB 0x54e9 -> off=0x0 cb=00000000000002ed uValue=00000000000f4333 'edd_fill_dpt'
edd_fill_dpt:                                ; 0xf5933 LB 0x2ed
    push si                                   ; 56                          ; 0xf5933 disk.c:147
    push di                                   ; 57                          ; 0xf5934
    enter 0000eh, 000h                        ; c8 0e 00 00                 ; 0xf5935
    mov di, ax                                ; 89 c7                       ; 0xf5939
    mov word [bp-004h], dx                    ; 89 56 fc                    ; 0xf593b
    mov word [bp-00eh], bx                    ; 89 5e f2                    ; 0xf593e
    mov word [bp-006h], cx                    ; 89 4e fa                    ; 0xf5941
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf5944 disk.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf5947
    mov es, ax                                ; 8e c0                       ; 0xf594a
    mov ax, word [es:bx]                      ; 26 8b 07                    ; 0xf594c
    mov word [bp-008h], ax                    ; 89 46 f8                    ; 0xf594f disk.c:59
    mov es, dx                                ; 8e c2                       ; 0xf5952 disk.c:152
    mov ax, word [es:di]                      ; 26 8b 05                    ; 0xf5954
    cmp ax, strict word 0001ah                ; 3d 1a 00                    ; 0xf5957
    jnc short 05962h                          ; 73 06                       ; 0xf595a
    mov ax, strict word 0ffffh                ; b8 ff ff                    ; 0xf595c disk.c:153
    jmp near 05c1ah                           ; e9 b8 02                    ; 0xf595f
    jc near 05a34h                            ; 0f 82 ce 00                 ; 0xf5962 disk.c:156
    mov word [es:di], strict word 0001ah      ; 26 c7 05 1a 00              ; 0xf5966 disk.c:159
    movzx bx, byte [bp+008h]                  ; 0f b6 5e 08                 ; 0xf596b disk.c:160
    imul bx, bx, strict byte 0001ch           ; 6b db 1c                    ; 0xf596f
    mov dx, cx                                ; 89 ca                       ; 0xf5972
    add bx, word [bp-00eh]                    ; 03 5e f2                    ; 0xf5974
    mov es, cx                                ; 8e c1                       ; 0xf5977
    mov ax, word [es:bx+024h]                 ; 26 8b 47 24                 ; 0xf5979
    mov es, [bp-004h]                         ; 8e 46 fc                    ; 0xf597d
    mov word [es:di+018h], ax                 ; 26 89 45 18                 ; 0xf5980
    mov es, cx                                ; 8e c1                       ; 0xf5984 disk.c:162
    cmp byte [es:bx+01fh], 005h               ; 26 80 7f 1f 05              ; 0xf5986
    jne short 059c5h                          ; 75 38                       ; 0xf598b
    mov es, [bp-004h]                         ; 8e 46 fc                    ; 0xf598d disk.c:163
    db  066h, 026h, 0c7h, 045h, 002h, 074h, 000h, 0ffh, 0ffh
    ; mov dword [es:di+002h], strict dword 0ffff0074h ; 66 26 c7 45 02 74 00 ff ff; 0xf5990
    db  066h, 026h, 0c7h, 045h, 006h, 0ffh, 0ffh, 0ffh, 0ffh
    ; mov dword [es:di+006h], strict dword 0ffffffffh ; 66 26 c7 45 06 ff ff ff ff; 0xf5999 disk.c:164
    db  066h, 026h, 0c7h, 045h, 00ah, 0ffh, 0ffh, 0ffh, 0ffh
    ; mov dword [es:di+00ah], strict dword 0ffffffffh ; 66 26 c7 45 0a ff ff ff ff; 0xf59a2 disk.c:165
    db  066h, 026h, 0c7h, 045h, 00eh, 0ffh, 0ffh, 0ffh, 0ffh
    ; mov dword [es:di+00eh], strict dword 0ffffffffh ; 66 26 c7 45 0e ff ff ff ff; 0xf59ab disk.c:166
    db  066h, 026h, 0c7h, 045h, 012h, 0ffh, 0ffh, 0ffh, 0ffh
    ; mov dword [es:di+012h], strict dword 0ffffffffh ; 66 26 c7 45 12 ff ff ff ff; 0xf59b4 disk.c:167
    mov word [es:di+016h], strict word 0ffffh ; 26 c7 45 16 ff ff           ; 0xf59bd disk.c:168
    jmp short 05a34h                          ; eb 6f                       ; 0xf59c3 disk.c:169
    mov es, [bp-004h]                         ; 8e 46 fc                    ; 0xf59c5 disk.c:170
    mov word [es:di+002h], strict word 00002h ; 26 c7 45 02 02 00           ; 0xf59c8
    mov es, cx                                ; 8e c1                       ; 0xf59ce disk.c:171
    mov ax, word [es:bx+02eh]                 ; 26 8b 47 2e                 ; 0xf59d0
    mov es, [bp-004h]                         ; 8e 46 fc                    ; 0xf59d4
    mov word [es:di+004h], ax                 ; 26 89 45 04                 ; 0xf59d7
    mov word [es:di+006h], strict word 00000h ; 26 c7 45 06 00 00           ; 0xf59db
    mov es, cx                                ; 8e c1                       ; 0xf59e1 disk.c:172
    mov ax, word [es:bx+02ch]                 ; 26 8b 47 2c                 ; 0xf59e3
    mov es, [bp-004h]                         ; 8e 46 fc                    ; 0xf59e7
    mov word [es:di+008h], ax                 ; 26 89 45 08                 ; 0xf59ea
    mov word [es:di+00ah], strict word 00000h ; 26 c7 45 0a 00 00           ; 0xf59ee
    mov es, cx                                ; 8e c1                       ; 0xf59f4 disk.c:173
    mov ax, word [es:bx+030h]                 ; 26 8b 47 30                 ; 0xf59f6
    mov es, [bp-004h]                         ; 8e 46 fc                    ; 0xf59fa
    mov word [es:di+00ch], ax                 ; 26 89 45 0c                 ; 0xf59fd
    mov word [es:di+00eh], strict word 00000h ; 26 c7 45 0e 00 00           ; 0xf5a01
    mov es, cx                                ; 8e c1                       ; 0xf5a07 disk.c:174
    mov ax, word [es:bx+038h]                 ; 26 8b 47 38                 ; 0xf5a09
    mov si, word [es:bx+036h]                 ; 26 8b 77 36                 ; 0xf5a0d
    mov cx, word [es:bx+034h]                 ; 26 8b 4f 34                 ; 0xf5a11
    mov dx, word [es:bx+032h]                 ; 26 8b 57 32                 ; 0xf5a15
    mov es, [bp-004h]                         ; 8e 46 fc                    ; 0xf5a19 disk.c:175
    mov word [es:di+010h], dx                 ; 26 89 55 10                 ; 0xf5a1c
    mov word [es:di+012h], cx                 ; 26 89 4d 12                 ; 0xf5a20
    mov bx, si                                ; 89 f3                       ; 0xf5a24 disk.c:176
    mov si, strict word 00020h                ; be 20 00                    ; 0xf5a26
    call 0ad60h                               ; e8 34 53                    ; 0xf5a29
    mov word [es:di+014h], dx                 ; 26 89 55 14                 ; 0xf5a2c
    mov word [es:di+016h], cx                 ; 26 89 4d 16                 ; 0xf5a30
    mov es, [bp-004h]                         ; 8e 46 fc                    ; 0xf5a34 disk.c:181
    cmp word [es:di], strict byte 0001eh      ; 26 83 3d 1e                 ; 0xf5a37
    jc near 05b5dh                            ; 0f 82 1e 01                 ; 0xf5a3b
    mov word [es:di], strict word 0001eh      ; 26 c7 05 1e 00              ; 0xf5a3f disk.c:185
    mov ax, word [bp-008h]                    ; 8b 46 f8                    ; 0xf5a44 disk.c:186
    mov word [es:di+01ch], ax                 ; 26 89 45 1c                 ; 0xf5a47
    mov word [es:di+01ah], 00306h             ; 26 c7 45 1a 06 03           ; 0xf5a4b disk.c:187
    movzx cx, byte [bp+008h]                  ; 0f b6 4e 08                 ; 0xf5a51 disk.c:190
    mov ax, cx                                ; 89 c8                       ; 0xf5a55
    cwd                                       ; 99                          ; 0xf5a57
    db  02bh, 0c2h
    ; sub ax, dx                                ; 2b c2                     ; 0xf5a58
    sar ax, 1                                 ; d1 f8                       ; 0xf5a5a
    xor ah, ah                                ; 30 e4                       ; 0xf5a5c disk.c:191
    imul ax, ax, strict byte 00006h           ; 6b c0 06                    ; 0xf5a5e
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xf5a61
    mov bx, word [bp-00eh]                    ; 8b 5e f2                    ; 0xf5a64
    add bx, ax                                ; 01 c3                       ; 0xf5a67
    mov ax, word [es:bx+0027ah]               ; 26 8b 87 7a 02              ; 0xf5a69
    mov word [bp-00ah], ax                    ; 89 46 f6                    ; 0xf5a6e
    mov ax, word [es:bx+0027ch]               ; 26 8b 87 7c 02              ; 0xf5a71 disk.c:192
    mov word [bp-00ch], ax                    ; 89 46 f4                    ; 0xf5a76
    mov al, byte [es:bx+00279h]               ; 26 8a 87 79 02              ; 0xf5a79 disk.c:193
    mov byte [bp-002h], al                    ; 88 46 fe                    ; 0xf5a7e
    imul bx, cx, strict byte 0001ch           ; 6b d9 1c                    ; 0xf5a81 disk.c:194
    add bx, word [bp-00eh]                    ; 03 5e f2                    ; 0xf5a84
    mov ah, byte [es:bx+022h]                 ; 26 8a 67 22                 ; 0xf5a87
    mov al, byte [es:bx+023h]                 ; 26 8a 47 23                 ; 0xf5a8b disk.c:195
    test al, al                               ; 84 c0                       ; 0xf5a8f disk.c:197
    jne short 05a97h                          ; 75 04                       ; 0xf5a91
    xor bx, bx                                ; 31 db                       ; 0xf5a93
    jmp short 05a9ah                          ; eb 03                       ; 0xf5a95
    mov bx, strict word 00008h                ; bb 08 00                    ; 0xf5a97
    or bl, 010h                               ; 80 cb 10                    ; 0xf5a9a disk.c:198
    movzx dx, byte [bp+008h]                  ; 0f b6 56 08                 ; 0xf5a9d disk.c:199
    imul dx, dx, strict byte 0001ch           ; 6b d2 1c                    ; 0xf5aa1
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xf5aa4
    mov si, word [bp-00eh]                    ; 8b 76 f2                    ; 0xf5aa7
    add si, dx                                ; 01 d6                       ; 0xf5aaa
    cmp byte [es:si+01fh], 005h               ; 26 80 7c 1f 05              ; 0xf5aac
    jne short 05ab6h                          ; 75 03                       ; 0xf5ab1
    or bl, 060h                               ; 80 cb 60                    ; 0xf5ab3 disk.c:200
    cmp ah, 001h                              ; 80 fc 01                    ; 0xf5ab6 disk.c:204
    db  00fh, 094h, 0c4h
    ; sete ah                                   ; 0f 94 c4                  ; 0xf5ab9
    movzx dx, ah                              ; 0f b6 d4                    ; 0xf5abc
    or bx, dx                                 ; 09 d3                       ; 0xf5abf
    cmp AL, strict byte 001h                  ; 3c 01                       ; 0xf5ac1 disk.c:206
    db  00fh, 094h, 0c4h
    ; sete ah                                   ; 0f 94 c4                  ; 0xf5ac3
    movzx dx, ah                              ; 0f b6 d4                    ; 0xf5ac6
    or bx, dx                                 ; 09 d3                       ; 0xf5ac9
    cmp AL, strict byte 003h                  ; 3c 03                       ; 0xf5acb disk.c:207
    jne short 05ad4h                          ; 75 05                       ; 0xf5acd
    mov ax, strict word 00003h                ; b8 03 00                    ; 0xf5acf
    jmp short 05ad6h                          ; eb 02                       ; 0xf5ad2
    xor ax, ax                                ; 31 c0                       ; 0xf5ad4
    or bx, ax                                 ; 09 c3                       ; 0xf5ad6
    mov ax, word [bp-00ah]                    ; 8b 46 f6                    ; 0xf5ad8 disk.c:209
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xf5adb
    mov si, word [bp-00eh]                    ; 8b 76 f2                    ; 0xf5ade
    mov word [es:si+002a8h], ax               ; 26 89 84 a8 02              ; 0xf5ae1
    mov ax, word [bp-00ch]                    ; 8b 46 f4                    ; 0xf5ae6 disk.c:210
    mov word [es:si+002aah], ax               ; 26 89 84 aa 02              ; 0xf5ae9
    movzx ax, byte [bp+008h]                  ; 0f b6 46 08                 ; 0xf5aee disk.c:211
    cwd                                       ; 99                          ; 0xf5af2
    mov cx, strict word 00002h                ; b9 02 00                    ; 0xf5af3
    idiv cx                                   ; f7 f9                       ; 0xf5af6
    or dl, 00eh                               ; 80 ca 0e                    ; 0xf5af8
    sal dx, 004h                              ; c1 e2 04                    ; 0xf5afb
    mov byte [es:si+002ach], dl               ; 26 88 94 ac 02              ; 0xf5afe
    mov byte [es:si+002adh], 0cbh             ; 26 c6 84 ad 02 cb           ; 0xf5b03 disk.c:212
    mov al, byte [bp-002h]                    ; 8a 46 fe                    ; 0xf5b09 disk.c:213
    mov byte [es:si+002aeh], al               ; 26 88 84 ae 02              ; 0xf5b0c
    mov word [es:si+002afh], strict word 00001h ; 26 c7 84 af 02 01 00      ; 0xf5b11 disk.c:214
    mov byte [es:si+002b1h], 000h             ; 26 c6 84 b1 02 00           ; 0xf5b18 disk.c:216
    mov word [es:si+002b2h], bx               ; 26 89 9c b2 02              ; 0xf5b1e disk.c:217
    mov bx, si                                ; 89 f3                       ; 0xf5b23 disk.c:218
    mov word [es:bx+002b4h], strict word 00000h ; 26 c7 87 b4 02 00 00      ; 0xf5b25
    mov byte [es:bx+002b6h], 011h             ; 26 c6 87 b6 02 11           ; 0xf5b2c disk.c:219
    xor al, al                                ; 30 c0                       ; 0xf5b32 disk.c:221
    xor ah, ah                                ; 30 e4                       ; 0xf5b34 disk.c:222
    jmp short 05b3dh                          ; eb 05                       ; 0xf5b36
    cmp ah, 00fh                              ; 80 fc 0f                    ; 0xf5b38
    jnc short 05b50h                          ; 73 13                       ; 0xf5b3b
    movzx bx, ah                              ; 0f b6 dc                    ; 0xf5b3d disk.c:223
    add bx, 00306h                            ; 81 c3 06 03                 ; 0xf5b40
    mov es, [bp-008h]                         ; 8e 46 f8                    ; 0xf5b44 disk.c:48
    mov dl, byte [es:bx]                      ; 26 8a 17                    ; 0xf5b47
    add al, dl                                ; 00 d0                       ; 0xf5b4a disk.c:49
    db  0feh, 0c4h
    ; inc ah                                    ; fe c4                     ; 0xf5b4c disk.c:223
    jmp short 05b38h                          ; eb e8                       ; 0xf5b4e
    neg al                                    ; f6 d8                       ; 0xf5b50 disk.c:224
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xf5b52 disk.c:225
    mov bx, word [bp-00eh]                    ; 8b 5e f2                    ; 0xf5b55
    mov byte [es:bx+002b7h], al               ; 26 88 87 b7 02              ; 0xf5b58
    mov es, [bp-004h]                         ; 8e 46 fc                    ; 0xf5b5d disk.c:229
    cmp word [es:di], strict byte 00042h      ; 26 83 3d 42                 ; 0xf5b60
    jc near 05c18h                            ; 0f 82 b0 00                 ; 0xf5b64
    movzx ax, byte [bp+008h]                  ; 0f b6 46 08                 ; 0xf5b68 disk.c:233
    cwd                                       ; 99                          ; 0xf5b6c
    db  02bh, 0c2h
    ; sub ax, dx                                ; 2b c2                     ; 0xf5b6d
    sar ax, 1                                 ; d1 f8                       ; 0xf5b6f
    xor ah, ah                                ; 30 e4                       ; 0xf5b71 disk.c:234
    imul ax, ax, strict byte 00006h           ; 6b c0 06                    ; 0xf5b73
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xf5b76
    mov bx, word [bp-00eh]                    ; 8b 5e f2                    ; 0xf5b79
    add bx, ax                                ; 01 c3                       ; 0xf5b7c
    mov al, byte [es:bx+00278h]               ; 26 8a 87 78 02              ; 0xf5b7e
    mov dx, word [es:bx+0027ah]               ; 26 8b 97 7a 02              ; 0xf5b83 disk.c:235
    mov es, [bp-004h]                         ; 8e 46 fc                    ; 0xf5b88 disk.c:237
    mov word [es:di], strict word 00042h      ; 26 c7 05 42 00              ; 0xf5b8b
    db  066h, 026h, 0c7h, 045h, 01eh, 0ddh, 0beh, 024h, 000h
    ; mov dword [es:di+01eh], strict dword 00024beddh ; 66 26 c7 45 1e dd be 24 00; 0xf5b90 disk.c:238
    mov word [es:di+022h], strict word 00000h ; 26 c7 45 22 00 00           ; 0xf5b99 disk.c:241
    test al, al                               ; 84 c0                       ; 0xf5b9f disk.c:243
    jne short 05bach                          ; 75 09                       ; 0xf5ba1
    db  066h, 026h, 0c7h, 045h, 024h, 049h, 053h, 041h, 020h
    ; mov dword [es:di+024h], strict dword 020415349h ; 66 26 c7 45 24 49 53 41 20; 0xf5ba3 disk.c:244
    mov es, [bp-004h]                         ; 8e 46 fc                    ; 0xf5bac disk.c:252
    db  066h, 026h, 0c7h, 045h, 028h, 041h, 054h, 041h, 020h
    ; mov dword [es:di+028h], strict dword 020415441h ; 66 26 c7 45 28 41 54 41 20; 0xf5baf
    db  066h, 026h, 0c7h, 045h, 02ch, 020h, 020h, 020h, 020h
    ; mov dword [es:di+02ch], strict dword 020202020h ; 66 26 c7 45 2c 20 20 20 20; 0xf5bb8 disk.c:256
    test al, al                               ; 84 c0                       ; 0xf5bc1 disk.c:261
    jne short 05bd8h                          ; 75 13                       ; 0xf5bc3
    mov word [es:di+030h], dx                 ; 26 89 55 30                 ; 0xf5bc5 disk.c:262
    db  066h, 026h, 0c7h, 045h, 032h, 000h, 000h, 000h, 000h
    ; mov dword [es:di+032h], strict dword 000000000h ; 66 26 c7 45 32 00 00 00 00; 0xf5bc9 disk.c:263
    mov word [es:di+036h], strict word 00000h ; 26 c7 45 36 00 00           ; 0xf5bd2 disk.c:264
    mov al, byte [bp+008h]                    ; 8a 46 08                    ; 0xf5bd8 disk.c:269
    and AL, strict byte 001h                  ; 24 01                       ; 0xf5bdb
    xor ah, ah                                ; 30 e4                       ; 0xf5bdd
    mov es, [bp-004h]                         ; 8e 46 fc                    ; 0xf5bdf
    mov word [es:di+038h], ax                 ; 26 89 45 38                 ; 0xf5be2
    db  066h, 026h, 0c7h, 045h, 03ah, 000h, 000h, 000h, 000h
    ; mov dword [es:di+03ah], strict dword 000000000h ; 66 26 c7 45 3a 00 00 00 00; 0xf5be6 disk.c:270
    mov word [es:di+03eh], strict word 00000h ; 26 c7 45 3e 00 00           ; 0xf5bef disk.c:271
    xor al, al                                ; 30 c0                       ; 0xf5bf5 disk.c:273
    mov AH, strict byte 01eh                  ; b4 1e                       ; 0xf5bf7 disk.c:274
    jmp short 05c00h                          ; eb 05                       ; 0xf5bf9
    cmp ah, 040h                              ; 80 fc 40                    ; 0xf5bfb
    jnc short 05c0fh                          ; 73 0f                       ; 0xf5bfe
    movzx bx, ah                              ; 0f b6 dc                    ; 0xf5c00 disk.c:275
    mov es, [bp-004h]                         ; 8e 46 fc                    ; 0xf5c03
    add bx, di                                ; 01 fb                       ; 0xf5c06
    add al, byte [es:bx]                      ; 26 02 07                    ; 0xf5c08
    db  0feh, 0c4h
    ; inc ah                                    ; fe c4                     ; 0xf5c0b
    jmp short 05bfbh                          ; eb ec                       ; 0xf5c0d
    neg al                                    ; f6 d8                       ; 0xf5c0f disk.c:276
    mov es, [bp-004h]                         ; 8e 46 fc                    ; 0xf5c11 disk.c:277
    mov byte [es:di+041h], al                 ; 26 88 45 41                 ; 0xf5c14
    xor ax, ax                                ; 31 c0                       ; 0xf5c18 disk.c:279
    leave                                     ; c9                          ; 0xf5c1a disk.c:280
    pop di                                    ; 5f                          ; 0xf5c1b
    pop si                                    ; 5e                          ; 0xf5c1c
    retn 00002h                               ; c2 02 00                    ; 0xf5c1d
  ; disGetNextSymbol 0xf5c20 LB 0x51fc -> off=0x32 cb=000000000000042f uValue=00000000000f4652 'int13_harddisk'
    db  0e8h, 05ch, 00fh, 05dh, 036h, 05dh, 036h, 05dh, 036h, 05dh, 01bh, 05fh, 043h, 060h, 043h, 060h
    db  034h, 05fh, 020h, 060h, 043h, 060h, 043h, 060h, 020h, 060h, 020h, 060h, 043h, 060h, 043h, 060h
    db  0a1h, 05fh, 020h, 060h, 043h, 060h, 043h, 060h, 020h, 060h, 0d9h, 05fh, 043h, 060h, 043h, 060h
    db  043h, 060h
int13_harddisk:                              ; 0xf5c52 LB 0x42f
    push bp                                   ; 55                          ; 0xf5c52 disk.c:282
    mov bp, sp                                ; 89 e5                       ; 0xf5c53
    sub sp, strict byte 00012h                ; 83 ec 12                    ; 0xf5c55
    or byte [bp+01dh], 002h                   ; 80 4e 1d 02                 ; 0xf5c58 disk.c:293
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf5c5c disk.c:58
    mov dx, strict word 00040h                ; ba 40 00                    ; 0xf5c5f
    mov es, dx                                ; 8e c2                       ; 0xf5c62
    mov dx, word [es:bx]                      ; 26 8b 17                    ; 0xf5c64
    mov si, strict word 0005eh                ; be 5e 00                    ; 0xf5c67 disk.c:59
    mov word [bp-004h], dx                    ; 89 56 fc                    ; 0xf5c6a
    mov bx, 0008eh                            ; bb 8e 00                    ; 0xf5c6d disk.c:53
    mov byte [es:bx], 000h                    ; 26 c6 07 00                 ; 0xf5c70
    mov dx, word [bp+00eh]                    ; 8b 56 0e                    ; 0xf5c74 disk.c:299
    xor dh, dh                                ; 30 f6                       ; 0xf5c77
    cmp dx, 00080h                            ; 81 fa 80 00                 ; 0xf5c79
    jc short 05c85h                           ; 72 06                       ; 0xf5c7d
    cmp dx, 00094h                            ; 81 fa 94 00                 ; 0xf5c7f
    jc short 05ca3h                           ; 72 1e                       ; 0xf5c83
    mov ax, word [bp+00eh]                    ; 8b 46 0e                    ; 0xf5c85 disk.c:300
    xor ah, ah                                ; 30 e4                       ; 0xf5c88
    push ax                                   ; 50                          ; 0xf5c8a
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf5c8b
    shr ax, 008h                              ; c1 e8 08                    ; 0xf5c8e
    push ax                                   ; 50                          ; 0xf5c91
    push 0070eh                               ; 68 0e 07                    ; 0xf5c92
    push 0071dh                               ; 68 1d 07                    ; 0xf5c95
    push strict byte 00004h                   ; 6a 04                       ; 0xf5c98
    call 01a68h                               ; e8 cb bd                    ; 0xf5c9a
    add sp, strict byte 0000ah                ; 83 c4 0a                    ; 0xf5c9d
    jmp near 0605eh                           ; e9 bb 03                    ; 0xf5ca0 disk.c:301
    mov dx, word [bp+00eh]                    ; 8b 56 0e                    ; 0xf5ca3 disk.c:305
    xor dh, dh                                ; 30 f6                       ; 0xf5ca6
    mov es, [bp-004h]                         ; 8e 46 fc                    ; 0xf5ca8
    mov bx, si                                ; 89 f3                       ; 0xf5cab
    add bx, dx                                ; 01 d3                       ; 0xf5cad
    mov bl, byte [es:bx+001cfh]               ; 26 8a 9f cf 01              ; 0xf5caf
    mov byte [bp-002h], bl                    ; 88 5e fe                    ; 0xf5cb4
    cmp bl, 014h                              ; 80 fb 14                    ; 0xf5cb7 disk.c:308
    jc short 05ccch                           ; 72 10                       ; 0xf5cba
    push dx                                   ; 52                          ; 0xf5cbc disk.c:309
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf5cbd
    shr ax, 008h                              ; c1 e8 08                    ; 0xf5cc0
    push ax                                   ; 50                          ; 0xf5cc3
    push 0070eh                               ; 68 0e 07                    ; 0xf5cc4
    push 00748h                               ; 68 48 07                    ; 0xf5cc7
    jmp short 05c98h                          ; eb cc                       ; 0xf5cca
    mov bx, word [bp+016h]                    ; 8b 5e 16                    ; 0xf5ccc disk.c:313
    shr bx, 008h                              ; c1 eb 08                    ; 0xf5ccf
    cmp bx, strict byte 00018h                ; 83 fb 18                    ; 0xf5cd2
    jnbe near 06043h                          ; 0f 87 6a 03                 ; 0xf5cd5
    add bx, bx                                ; 01 db                       ; 0xf5cd9
    mov dx, word [bp+016h]                    ; 8b 56 16                    ; 0xf5cdb
    xor dh, dh                                ; 30 f6                       ; 0xf5cde
    mov word [bp-010h], dx                    ; 89 56 f0                    ; 0xf5ce0
    jmp word [cs:bx+05c20h]                   ; 2e ff a7 20 5c              ; 0xf5ce3
    cmp byte [bp-002h], 008h                  ; 80 7e fe 08                 ; 0xf5ce8 disk.c:318
    jnc near 05cf7h                           ; 0f 83 07 00                 ; 0xf5cec
    movzx ax, byte [bp-002h]                  ; 0f b6 46 fe                 ; 0xf5cf0 disk.c:320
    call 01e71h                               ; e8 7a c1                    ; 0xf5cf4
    mov byte [bp+017h], 000h                  ; c6 46 17 00                 ; 0xf5cf7 disk.c:321
    mov bx, strict word 00074h                ; bb 74 00                    ; 0xf5cfb
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf5cfe
    mov es, ax                                ; 8e c0                       ; 0xf5d01
    mov byte [es:bx], 000h                    ; 26 c6 07 00                 ; 0xf5d03
    and byte [bp+01ch], 0feh                  ; 80 66 1c fe                 ; 0xf5d07
    mov sp, bp                                ; 89 ec                       ; 0xf5d0b
    pop bp                                    ; 5d                          ; 0xf5d0d
    retn                                      ; c3                          ; 0xf5d0e
    mov bx, strict word 00074h                ; bb 74 00                    ; 0xf5d0f disk.c:48
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf5d12
    mov es, ax                                ; 8e c0                       ; 0xf5d15
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf5d17
    movzx dx, al                              ; 0f b6 d0                    ; 0xf5d1a disk.c:326
    sal dx, 008h                              ; c1 e2 08                    ; 0xf5d1d
    mov bx, word [bp-010h]                    ; 8b 5e f0                    ; 0xf5d20
    or bx, dx                                 ; 09 d3                       ; 0xf5d23
    mov word [bp+016h], bx                    ; 89 5e 16                    ; 0xf5d25
    mov bx, strict word 00074h                ; bb 74 00                    ; 0xf5d28 disk.c:53
    mov byte [es:bx], 000h                    ; 26 c6 07 00                 ; 0xf5d2b
    test al, al                               ; 84 c0                       ; 0xf5d2f disk.c:329
    je short 05cfbh                           ; 74 c8                       ; 0xf5d31
    jmp near 0607ah                           ; e9 44 03                    ; 0xf5d33
    mov dx, word [bp+016h]                    ; 8b 56 16                    ; 0xf5d36 disk.c:337
    xor dh, dh                                ; 30 f6                       ; 0xf5d39
    mov word [bp-00ch], dx                    ; 89 56 f4                    ; 0xf5d3b
    mov di, word [bp+014h]                    ; 8b 7e 14                    ; 0xf5d3e disk.c:338
    shr di, 008h                              ; c1 ef 08                    ; 0xf5d41
    mov dx, word [bp+014h]                    ; 8b 56 14                    ; 0xf5d44 disk.c:339
    xor dh, dh                                ; 30 f6                       ; 0xf5d47
    sal dx, 002h                              ; c1 e2 02                    ; 0xf5d49
    xor dl, dl                                ; 30 d2                       ; 0xf5d4c
    and dh, 003h                              ; 80 e6 03                    ; 0xf5d4e
    or di, dx                                 ; 09 d7                       ; 0xf5d51
    mov dx, word [bp+014h]                    ; 8b 56 14                    ; 0xf5d53 disk.c:340
    and dx, strict byte 0003fh                ; 83 e2 3f                    ; 0xf5d56
    mov word [bp-006h], dx                    ; 89 56 fa                    ; 0xf5d59
    mov dx, word [bp+012h]                    ; 8b 56 12                    ; 0xf5d5c disk.c:341
    shr dx, 008h                              ; c1 ea 08                    ; 0xf5d5f
    mov word [bp-008h], dx                    ; 89 56 f8                    ; 0xf5d62
    cmp word [bp-00ch], 00080h                ; 81 7e f4 80 00              ; 0xf5d65 disk.c:344
    jnbe short 05d72h                         ; 77 06                       ; 0xf5d6a
    cmp word [bp-00ch], strict byte 00000h    ; 83 7e f4 00                 ; 0xf5d6c
    jne short 05d95h                          ; 75 23                       ; 0xf5d70
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf5d72 disk.c:345
    mov cx, ds                                ; 8c d9                       ; 0xf5d75
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf5d77
    call 01a27h                               ; e8 aa bc                    ; 0xf5d7a
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf5d7d
    shr ax, 008h                              ; c1 e8 08                    ; 0xf5d80
    push ax                                   ; 50                          ; 0xf5d83
    push 0070eh                               ; 68 0e 07                    ; 0xf5d84
    push 0077ah                               ; 68 7a 07                    ; 0xf5d87
    push strict byte 00004h                   ; 6a 04                       ; 0xf5d8a
    call 01a68h                               ; e8 d9 bc                    ; 0xf5d8c
    add sp, strict byte 00008h                ; 83 c4 08                    ; 0xf5d8f
    jmp near 0605eh                           ; e9 c9 02                    ; 0xf5d92 disk.c:346
    movzx bx, byte [bp-002h]                  ; 0f b6 5e fe                 ; 0xf5d95 disk.c:350
    imul bx, bx, strict byte 0001ch           ; 6b db 1c                    ; 0xf5d99
    mov es, [bp-004h]                         ; 8e 46 fc                    ; 0xf5d9c
    add bx, si                                ; 01 f3                       ; 0xf5d9f
    mov dx, word [es:bx+028h]                 ; 26 8b 57 28                 ; 0xf5da1
    mov word [bp-012h], dx                    ; 89 56 ee                    ; 0xf5da5
    mov cx, word [es:bx+026h]                 ; 26 8b 4f 26                 ; 0xf5da8 disk.c:351
    mov dx, word [es:bx+02ah]                 ; 26 8b 57 2a                 ; 0xf5dac disk.c:352
    mov word [bp-00ah], dx                    ; 89 56 f6                    ; 0xf5db0
    cmp di, word [bp-012h]                    ; 3b 7e ee                    ; 0xf5db3 disk.c:355
    jnc short 05dc5h                          ; 73 0d                       ; 0xf5db6
    cmp cx, word [bp-008h]                    ; 3b 4e f8                    ; 0xf5db8
    jbe short 05dc5h                          ; 76 08                       ; 0xf5dbb
    mov dx, word [bp-006h]                    ; 8b 56 fa                    ; 0xf5dbd
    cmp dx, word [bp-00ah]                    ; 3b 56 f6                    ; 0xf5dc0
    jbe short 05df3h                          ; 76 2e                       ; 0xf5dc3
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf5dc5 disk.c:356
    mov cx, ds                                ; 8c d9                       ; 0xf5dc8
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf5dca
    call 01a27h                               ; e8 57 bc                    ; 0xf5dcd
    push dword [bp-008h]                      ; 66 ff 76 f8                 ; 0xf5dd0
    push di                                   ; 57                          ; 0xf5dd4
    mov ax, word [bp+012h]                    ; 8b 46 12                    ; 0xf5dd5
    xor ah, ah                                ; 30 e4                       ; 0xf5dd8
    push ax                                   ; 50                          ; 0xf5dda
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf5ddb
    shr ax, 008h                              ; c1 e8 08                    ; 0xf5dde
    push ax                                   ; 50                          ; 0xf5de1
    push 0070eh                               ; 68 0e 07                    ; 0xf5de2
    push 007a2h                               ; 68 a2 07                    ; 0xf5de5
    push strict byte 00004h                   ; 6a 04                       ; 0xf5de8
    call 01a68h                               ; e8 7b bc                    ; 0xf5dea
    add sp, strict byte 00010h                ; 83 c4 10                    ; 0xf5ded
    jmp near 0605eh                           ; e9 6b 02                    ; 0xf5df0 disk.c:357
    mov dx, word [bp+016h]                    ; 8b 56 16                    ; 0xf5df3 disk.c:361
    shr dx, 008h                              ; c1 ea 08                    ; 0xf5df6
    cmp dx, strict byte 00004h                ; 83 fa 04                    ; 0xf5df9
    jne short 05e01h                          ; 75 03                       ; 0xf5dfc
    jmp near 05cf7h                           ; e9 f6 fe                    ; 0xf5dfe disk.c:362
    movzx dx, byte [bp-002h]                  ; 0f b6 56 fe                 ; 0xf5e01 disk.c:366
    imul dx, dx, strict byte 0001ch           ; 6b d2 1c                    ; 0xf5e05
    mov es, [bp-004h]                         ; 8e 46 fc                    ; 0xf5e08
    mov bx, si                                ; 89 f3                       ; 0xf5e0b
    add bx, dx                                ; 01 d3                       ; 0xf5e0d
    cmp cx, word [es:bx+02ch]                 ; 26 3b 4f 2c                 ; 0xf5e0f
    jne short 05e24h                          ; 75 0f                       ; 0xf5e13
    mov dx, word [es:bx+030h]                 ; 26 8b 57 30                 ; 0xf5e15
    cmp dx, word [bp-00ah]                    ; 3b 56 f6                    ; 0xf5e19
    jne short 05e24h                          ; 75 06                       ; 0xf5e1c
    cmp byte [bp-002h], 008h                  ; 80 7e fe 08                 ; 0xf5e1e
    jc short 05e55h                           ; 72 31                       ; 0xf5e22
    mov ax, di                                ; 89 f8                       ; 0xf5e24 disk.c:367
    xor dx, dx                                ; 31 d2                       ; 0xf5e26
    mov bx, cx                                ; 89 cb                       ; 0xf5e28
    xor cx, cx                                ; 31 c9                       ; 0xf5e2a
    call 0ace0h                               ; e8 b1 4e                    ; 0xf5e2c
    xor bx, bx                                ; 31 db                       ; 0xf5e2f
    add ax, word [bp-008h]                    ; 03 46 f8                    ; 0xf5e31
    adc dx, bx                                ; 11 da                       ; 0xf5e34
    mov bx, word [bp-00ah]                    ; 8b 5e f6                    ; 0xf5e36
    xor cx, cx                                ; 31 c9                       ; 0xf5e39
    call 0ace0h                               ; e8 a2 4e                    ; 0xf5e3b
    xor cx, cx                                ; 31 c9                       ; 0xf5e3e
    mov bx, word [bp-006h]                    ; 8b 5e fa                    ; 0xf5e40
    add bx, ax                                ; 01 c3                       ; 0xf5e43
    mov ax, dx                                ; 89 d0                       ; 0xf5e45
    adc ax, cx                                ; 11 c8                       ; 0xf5e47
    add bx, strict byte 0ffffh                ; 83 c3 ff                    ; 0xf5e49
    mov word [bp-00eh], bx                    ; 89 5e f2                    ; 0xf5e4c
    adc ax, strict word 0ffffh                ; 15 ff ff                    ; 0xf5e4f
    mov word [bp-006h], cx                    ; 89 4e fa                    ; 0xf5e52 disk.c:368
    mov es, [bp-004h]                         ; 8e 46 fc                    ; 0xf5e55 disk.c:378
    db  066h, 026h, 0c7h, 044h, 018h, 000h, 000h, 000h, 000h
    ; mov dword [es:si+018h], strict dword 000000000h ; 66 26 c7 44 18 00 00 00 00; 0xf5e58
    mov word [es:si+01ch], strict word 00000h ; 26 c7 44 1c 00 00           ; 0xf5e61 disk.c:379
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf5e67 disk.c:382
    mov word [es:si], dx                      ; 26 89 14                    ; 0xf5e6a
    mov word [es:si+002h], ax                 ; 26 89 44 02                 ; 0xf5e6d
    db  066h, 026h, 0c7h, 044h, 004h, 000h, 000h, 000h, 000h
    ; mov dword [es:si+004h], strict dword 000000000h ; 66 26 c7 44 04 00 00 00 00; 0xf5e71
    mov ax, word [bp+010h]                    ; 8b 46 10                    ; 0xf5e7a disk.c:383
    mov dx, word [bp+006h]                    ; 8b 56 06                    ; 0xf5e7d
    mov word [es:si+008h], ax                 ; 26 89 44 08                 ; 0xf5e80
    mov word [es:si+00ah], dx                 ; 26 89 54 0a                 ; 0xf5e84
    mov ax, word [bp-00ch]                    ; 8b 46 f4                    ; 0xf5e88 disk.c:384
    mov word [es:si+00eh], ax                 ; 26 89 44 0e                 ; 0xf5e8b
    mov word [es:si+010h], 00200h             ; 26 c7 44 10 00 02           ; 0xf5e8f disk.c:385
    mov word [es:si+012h], di                 ; 26 89 7c 12                 ; 0xf5e95 disk.c:386
    mov ax, word [bp-008h]                    ; 8b 46 f8                    ; 0xf5e99 disk.c:387
    mov word [es:si+014h], ax                 ; 26 89 44 14                 ; 0xf5e9c
    mov ax, word [bp-006h]                    ; 8b 46 fa                    ; 0xf5ea0 disk.c:388
    mov word [es:si+016h], ax                 ; 26 89 44 16                 ; 0xf5ea3
    mov al, byte [bp-002h]                    ; 8a 46 fe                    ; 0xf5ea7 disk.c:389
    mov byte [es:si+00ch], al                 ; 26 88 44 0c                 ; 0xf5eaa
    movzx ax, byte [bp-002h]                  ; 0f b6 46 fe                 ; 0xf5eae disk.c:391
    imul ax, ax, strict byte 0001ch           ; 6b c0 1c                    ; 0xf5eb2
    mov bx, si                                ; 89 f3                       ; 0xf5eb5
    add bx, ax                                ; 01 c3                       ; 0xf5eb7
    movzx ax, byte [es:bx+01eh]               ; 26 0f b6 47 1e              ; 0xf5eb9
    mov bx, ax                                ; 89 c3                       ; 0xf5ebe
    sal bx, 002h                              ; c1 e3 02                    ; 0xf5ec0
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf5ec3
    shr ax, 008h                              ; c1 e8 08                    ; 0xf5ec6
    add ax, ax                                ; 01 c0                       ; 0xf5ec9
    add bx, ax                                ; 01 c3                       ; 0xf5ecb
    push ES                                   ; 06                          ; 0xf5ecd
    push si                                   ; 56                          ; 0xf5ece
    call word [word bx+0007eh]                ; ff 97 7e 00                 ; 0xf5ecf
    mov dx, ax                                ; 89 c2                       ; 0xf5ed3
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf5ed5 disk.c:394
    xor al, al                                ; 30 c0                       ; 0xf5ed8
    mov es, [bp-004h]                         ; 8e 46 fc                    ; 0xf5eda
    mov bx, word [es:si+018h]                 ; 26 8b 5c 18                 ; 0xf5edd
    or bx, ax                                 ; 09 c3                       ; 0xf5ee1
    mov word [bp+016h], bx                    ; 89 5e 16                    ; 0xf5ee3
    test dl, dl                               ; 84 d2                       ; 0xf5ee6 disk.c:396
    je near 05cf7h                            ; 0f 84 0b fe                 ; 0xf5ee8
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf5eec disk.c:397
    mov cx, ds                                ; 8c d9                       ; 0xf5eef
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf5ef1
    call 01a27h                               ; e8 30 bb                    ; 0xf5ef4
    movzx ax, dl                              ; 0f b6 c2                    ; 0xf5ef7
    push ax                                   ; 50                          ; 0xf5efa
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf5efb
    shr ax, 008h                              ; c1 e8 08                    ; 0xf5efe
    push ax                                   ; 50                          ; 0xf5f01
    push 0070eh                               ; 68 0e 07                    ; 0xf5f02
    push 007e9h                               ; 68 e9 07                    ; 0xf5f05
    push strict byte 00004h                   ; 6a 04                       ; 0xf5f08
    call 01a68h                               ; e8 5b bb                    ; 0xf5f0a
    add sp, strict byte 0000ah                ; 83 c4 0a                    ; 0xf5f0d
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf5f10 disk.c:398
    xor ah, ah                                ; 30 e4                       ; 0xf5f13
    or ah, 00ch                               ; 80 cc 0c                    ; 0xf5f15
    jmp near 06066h                           ; e9 4b 01                    ; 0xf5f18 disk.c:399
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf5f1b disk.c:406
    mov cx, ds                                ; 8c d9                       ; 0xf5f1e
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf5f20
    call 01a27h                               ; e8 01 bb                    ; 0xf5f23
    push 0080ah                               ; 68 0a 08                    ; 0xf5f26
    push strict byte 00004h                   ; 6a 04                       ; 0xf5f29
    call 01a68h                               ; e8 3a bb                    ; 0xf5f2b
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf5f2e
    jmp near 05cf7h                           ; e9 c3 fd                    ; 0xf5f31 disk.c:407
    movzx di, byte [bp-002h]                  ; 0f b6 7e fe                 ; 0xf5f34 disk.c:413
    imul di, di, strict byte 0001ch           ; 6b ff 1c                    ; 0xf5f38
    mov es, [bp-004h]                         ; 8e 46 fc                    ; 0xf5f3b
    add di, si                                ; 01 f7                       ; 0xf5f3e
    mov bx, word [es:di+028h]                 ; 26 8b 5d 28                 ; 0xf5f40
    mov cx, word [es:di+026h]                 ; 26 8b 4d 26                 ; 0xf5f44 disk.c:414
    mov ax, word [es:di+02ah]                 ; 26 8b 45 2a                 ; 0xf5f48 disk.c:415
    mov word [bp-00ah], ax                    ; 89 46 f6                    ; 0xf5f4c
    movzx ax, byte [es:si+0024eh]             ; 26 0f b6 84 4e 02           ; 0xf5f4f disk.c:417
    mov word [bp-00ch], ax                    ; 89 46 f4                    ; 0xf5f55
    mov byte [bp+016h], dh                    ; 88 76 16                    ; 0xf5f58 disk.c:423
    mov dx, word [bp+014h]                    ; 8b 56 14                    ; 0xf5f5b disk.c:424
    xor dh, dh                                ; 30 f6                       ; 0xf5f5e
    dec bx                                    ; 4b                          ; 0xf5f60 disk.c:422
    mov ax, bx                                ; 89 d8                       ; 0xf5f61
    xor ah, bh                                ; 30 fc                       ; 0xf5f63
    sal ax, 008h                              ; c1 e0 08                    ; 0xf5f65
    or dx, ax                                 ; 09 c2                       ; 0xf5f68
    mov word [bp+014h], dx                    ; 89 56 14                    ; 0xf5f6a
    shr bx, 002h                              ; c1 eb 02                    ; 0xf5f6d disk.c:425
    and bl, 0c0h                              ; 80 e3 c0                    ; 0xf5f70
    mov ax, word [bp-00ah]                    ; 8b 46 f6                    ; 0xf5f73
    mov dl, al                                ; 88 c2                       ; 0xf5f76
    and dl, 03fh                              ; 80 e2 3f                    ; 0xf5f78
    or dl, bl                                 ; 08 da                       ; 0xf5f7b
    mov word [bp+014h], dx                    ; 89 56 14                    ; 0xf5f7d
    mov dx, word [bp+012h]                    ; 8b 56 12                    ; 0xf5f80 disk.c:426
    xor dh, dh                                ; 30 f6                       ; 0xf5f83
    mov ax, cx                                ; 89 c8                       ; 0xf5f85
    sal ax, 008h                              ; c1 e0 08                    ; 0xf5f87
    sub ax, 00100h                            ; 2d 00 01                    ; 0xf5f8a
    or dx, ax                                 ; 09 c2                       ; 0xf5f8d
    mov word [bp+012h], dx                    ; 89 56 12                    ; 0xf5f8f
    mov ax, dx                                ; 89 d0                       ; 0xf5f92 disk.c:427
    xor al, dl                                ; 30 d0                       ; 0xf5f94
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf5f96
    or dx, ax                                 ; 09 c2                       ; 0xf5f99
    mov word [bp+012h], dx                    ; 89 56 12                    ; 0xf5f9b
    jmp near 05cf7h                           ; e9 56 fd                    ; 0xf5f9e disk.c:432
    cmp byte [bp-002h], 008h                  ; 80 7e fe 08                 ; 0xf5fa1 disk.c:440
    jnc near 05cf7h                           ; 0f 83 4e fd                 ; 0xf5fa5
    movzx ax, byte [bp-002h]                  ; 0f b6 46 fe                 ; 0xf5fa9 disk.c:443
    cwd                                       ; 99                          ; 0xf5fad
    db  02bh, 0c2h
    ; sub ax, dx                                ; 2b c2                     ; 0xf5fae
    sar ax, 1                                 ; d1 f8                       ; 0xf5fb0
    imul ax, ax, strict byte 00006h           ; 6b c0 06                    ; 0xf5fb2
    mov es, [bp-004h]                         ; 8e 46 fc                    ; 0xf5fb5
    add si, ax                                ; 01 c6                       ; 0xf5fb8
    mov dx, word [es:si+0027ah]               ; 26 8b 94 7a 02              ; 0xf5fba
    add dx, strict byte 00007h                ; 83 c2 07                    ; 0xf5fbf
    in AL, DX                                 ; ec                          ; 0xf5fc2
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf5fc3
    and AL, strict byte 0c0h                  ; 24 c0                       ; 0xf5fc5 disk.c:444
    cmp AL, strict byte 040h                  ; 3c 40                       ; 0xf5fc7
    jne short 05fceh                          ; 75 03                       ; 0xf5fc9
    jmp near 05cf7h                           ; e9 29 fd                    ; 0xf5fcb disk.c:445
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf5fce disk.c:447
    xor ah, ah                                ; 30 e4                       ; 0xf5fd1
    or ah, 0aah                               ; 80 cc aa                    ; 0xf5fd3
    jmp near 06066h                           ; e9 8d 00                    ; 0xf5fd6
    movzx ax, byte [bp-002h]                  ; 0f b6 46 fe                 ; 0xf5fd9 disk.c:459
    imul ax, ax, strict byte 0001ch           ; 6b c0 1c                    ; 0xf5fdd
    mov es, [bp-004h]                         ; 8e 46 fc                    ; 0xf5fe0
    add si, ax                                ; 01 c6                       ; 0xf5fe3
    mov di, word [es:si+02eh]                 ; 26 8b 7c 2e                 ; 0xf5fe5
    mov ax, word [es:si+02ch]                 ; 26 8b 44 2c                 ; 0xf5fe9 disk.c:460
    mov word [bp-008h], ax                    ; 89 46 f8                    ; 0xf5fed
    mov ax, word [es:si+030h]                 ; 26 8b 44 30                 ; 0xf5ff0 disk.c:461
    mov word [bp-006h], ax                    ; 89 46 fa                    ; 0xf5ff4
    mov ax, di                                ; 89 f8                       ; 0xf5ff7 disk.c:464
    xor dl, dl                                ; 30 d2                       ; 0xf5ff9
    mov bx, word [bp-008h]                    ; 8b 5e f8                    ; 0xf5ffb
    xor cx, cx                                ; 31 c9                       ; 0xf5ffe
    call 0ace0h                               ; e8 dd 4c                    ; 0xf6000
    mov bx, word [bp-006h]                    ; 8b 5e fa                    ; 0xf6003
    xor cx, cx                                ; 31 c9                       ; 0xf6006
    call 0ace0h                               ; e8 d5 4c                    ; 0xf6008
    mov word [bp-00eh], ax                    ; 89 46 f2                    ; 0xf600b
    mov word [bp+014h], dx                    ; 89 56 14                    ; 0xf600e disk.c:465
    mov word [bp+012h], ax                    ; 89 46 12                    ; 0xf6011 disk.c:466
    mov ax, word [bp-010h]                    ; 8b 46 f0                    ; 0xf6014 disk.c:468
    or ah, 003h                               ; 80 cc 03                    ; 0xf6017
    mov word [bp+016h], ax                    ; 89 46 16                    ; 0xf601a
    jmp near 05cfbh                           ; e9 db fc                    ; 0xf601d disk.c:469
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf6020 disk.c:477
    mov cx, ds                                ; 8c d9                       ; 0xf6023
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf6025
    call 01a27h                               ; e8 fc b9                    ; 0xf6028
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf602b
    shr ax, 008h                              ; c1 e8 08                    ; 0xf602e
    push ax                                   ; 50                          ; 0xf6031
    push 0070eh                               ; 68 0e 07                    ; 0xf6032
    push 00824h                               ; 68 24 08                    ; 0xf6035
    push strict byte 00004h                   ; 6a 04                       ; 0xf6038
    call 01a68h                               ; e8 2b ba                    ; 0xf603a
    add sp, strict byte 00008h                ; 83 c4 08                    ; 0xf603d
    jmp near 05cf7h                           ; e9 b4 fc                    ; 0xf6040 disk.c:478
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf6043 disk.c:485
    mov cx, ds                                ; 8c d9                       ; 0xf6046
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf6048
    call 01a27h                               ; e8 d9 b9                    ; 0xf604b
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf604e
    shr ax, 008h                              ; c1 e8 08                    ; 0xf6051
    push ax                                   ; 50                          ; 0xf6054
    push 0070eh                               ; 68 0e 07                    ; 0xf6055
    push 00857h                               ; 68 57 08                    ; 0xf6058
    jmp near 05d8ah                           ; e9 2c fd                    ; 0xf605b
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf605e disk.c:491
    xor ah, ah                                ; 30 e4                       ; 0xf6061
    or ah, 001h                               ; 80 cc 01                    ; 0xf6063
    mov word [bp+016h], ax                    ; 89 46 16                    ; 0xf6066
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf6069 disk.c:493
    shr ax, 008h                              ; c1 e8 08                    ; 0xf606c
    mov bx, strict word 00074h                ; bb 74 00                    ; 0xf606f disk.c:53
    mov dx, strict word 00040h                ; ba 40 00                    ; 0xf6072
    mov es, dx                                ; 8e c2                       ; 0xf6075
    mov byte [es:bx], al                      ; 26 88 07                    ; 0xf6077
    or byte [bp+01ch], 001h                   ; 80 4e 1c 01                 ; 0xf607a disk.c:495
    jmp near 05d0bh                           ; e9 8a fc                    ; 0xf607e disk.c:496
  ; disGetNextSymbol 0xf6081 LB 0x4d9b -> off=0x20 cb=000000000000029e uValue=00000000000f4aa1 'int13_harddisk_ext'
    db  031h, 061h, 049h, 061h, 049h, 061h, 049h, 061h, 027h, 063h, 0b3h, 062h, 049h, 061h, 0bbh, 062h
    db  027h, 063h, 00ch, 063h, 00ch, 063h, 00ch, 063h, 00ch, 063h, 0f4h, 062h, 00ch, 063h, 00ch, 063h
int13_harddisk_ext:                          ; 0xf60a1 LB 0x29e
    push bp                                   ; 55                          ; 0xf60a1 disk.c:506
    mov bp, sp                                ; 89 e5                       ; 0xf60a2
    sub sp, strict byte 00016h                ; 83 ec 16                    ; 0xf60a4
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf60a7 disk.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf60aa
    mov es, ax                                ; 8e c0                       ; 0xf60ad
    mov ax, word [es:bx]                      ; 26 8b 07                    ; 0xf60af
    mov di, strict word 0005eh                ; bf 5e 00                    ; 0xf60b2 disk.c:59
    mov word [bp-006h], ax                    ; 89 46 fa                    ; 0xf60b5
    mov bx, 0008eh                            ; bb 8e 00                    ; 0xf60b8 disk.c:53
    mov byte [es:bx], 000h                    ; 26 c6 07 00                 ; 0xf60bb
    mov ax, word [bp+00eh]                    ; 8b 46 0e                    ; 0xf60bf disk.c:530
    xor ah, ah                                ; 30 e4                       ; 0xf60c2
    cmp ax, 00080h                            ; 3d 80 00                    ; 0xf60c4
    jc short 060ceh                           ; 72 05                       ; 0xf60c7
    cmp ax, 00094h                            ; 3d 94 00                    ; 0xf60c9
    jc short 060ech                           ; 72 1e                       ; 0xf60cc
    mov ax, word [bp+00eh]                    ; 8b 46 0e                    ; 0xf60ce disk.c:531
    xor ah, ah                                ; 30 e4                       ; 0xf60d1
    push ax                                   ; 50                          ; 0xf60d3
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf60d4
    shr ax, 008h                              ; c1 e8 08                    ; 0xf60d7
    push ax                                   ; 50                          ; 0xf60da
    push 00885h                               ; 68 85 08                    ; 0xf60db
    push 0071dh                               ; 68 1d 07                    ; 0xf60de
    push strict byte 00004h                   ; 6a 04                       ; 0xf60e1
    call 01a68h                               ; e8 82 b9                    ; 0xf60e3
    add sp, strict byte 0000ah                ; 83 c4 0a                    ; 0xf60e6
    jmp near 062d2h                           ; e9 e6 01                    ; 0xf60e9 disk.c:532
    mov ax, word [bp+00eh]                    ; 8b 46 0e                    ; 0xf60ec disk.c:536
    xor ah, ah                                ; 30 e4                       ; 0xf60ef
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xf60f1
    mov bx, di                                ; 89 fb                       ; 0xf60f4
    add bx, ax                                ; 01 c3                       ; 0xf60f6
    mov dl, byte [es:bx+001cfh]               ; 26 8a 97 cf 01              ; 0xf60f8
    mov byte [bp-002h], dl                    ; 88 56 fe                    ; 0xf60fd
    cmp dl, 014h                              ; 80 fa 14                    ; 0xf6100 disk.c:539
    jc short 06115h                           ; 72 10                       ; 0xf6103
    push ax                                   ; 50                          ; 0xf6105 disk.c:540
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf6106
    shr ax, 008h                              ; c1 e8 08                    ; 0xf6109
    push ax                                   ; 50                          ; 0xf610c
    push 00885h                               ; 68 85 08                    ; 0xf610d
    push 00748h                               ; 68 48 07                    ; 0xf6110
    jmp short 060e1h                          ; eb cc                       ; 0xf6113
    mov bx, word [bp+016h]                    ; 8b 5e 16                    ; 0xf6115 disk.c:544
    shr bx, 008h                              ; c1 eb 08                    ; 0xf6118
    sub bx, strict byte 00041h                ; 83 eb 41                    ; 0xf611b
    cmp bx, strict byte 0000fh                ; 83 fb 0f                    ; 0xf611e
    jnbe near 0630ch                          ; 0f 87 e7 01                 ; 0xf6121
    add bx, bx                                ; 01 db                       ; 0xf6125
    mov cx, word [bp+016h]                    ; 8b 4e 16                    ; 0xf6127
    xor ch, ch                                ; 30 ed                       ; 0xf612a
    jmp word [cs:bx+06081h]                   ; 2e ff a7 81 60              ; 0xf612c
    mov word [bp+010h], 0aa55h                ; c7 46 10 55 aa              ; 0xf6131 disk.c:546
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf6136 disk.c:547
    xor ah, ah                                ; 30 e4                       ; 0xf6139
    or ah, 030h                               ; 80 cc 30                    ; 0xf613b
    mov word [bp+016h], ax                    ; 89 46 16                    ; 0xf613e
    mov word [bp+014h], strict word 00007h    ; c7 46 14 07 00              ; 0xf6141 disk.c:548
    jmp near 0632bh                           ; e9 e2 01                    ; 0xf6146 disk.c:549
    mov bx, word [bp+00ah]                    ; 8b 5e 0a                    ; 0xf6149 disk.c:558
    mov word [bp-016h], bx                    ; 89 5e ea                    ; 0xf614c
    mov es, [bp+004h]                         ; 8e 46 04                    ; 0xf614f
    mov word [bp-012h], bx                    ; 89 5e ee                    ; 0xf6152
    mov [bp-010h], es                         ; 8c 46 f0                    ; 0xf6155
    mov ax, word [es:bx+002h]                 ; 26 8b 47 02                 ; 0xf6158 disk.c:560
    mov word [bp-00ah], ax                    ; 89 46 f6                    ; 0xf615c
    mov ax, word [es:bx+006h]                 ; 26 8b 47 06                 ; 0xf615f disk.c:561
    mov word [bp-00eh], ax                    ; 89 46 f2                    ; 0xf6163
    mov ax, word [es:bx+004h]                 ; 26 8b 47 04                 ; 0xf6166 disk.c:562
    mov word [bp-00ch], ax                    ; 89 46 f4                    ; 0xf616a
    mov dx, word [es:bx+00ch]                 ; 26 8b 57 0c                 ; 0xf616d disk.c:565
    mov cx, word [es:bx+00eh]                 ; 26 8b 4f 0e                 ; 0xf6171
    xor ax, ax                                ; 31 c0                       ; 0xf6175 disk.c:566
    xor bx, bx                                ; 31 db                       ; 0xf6177
    mov si, strict word 00020h                ; be 20 00                    ; 0xf6179
    call 0ad70h                               ; e8 f1 4b                    ; 0xf617c
    mov si, ax                                ; 89 c6                       ; 0xf617f
    mov word [bp-014h], bx                    ; 89 5e ec                    ; 0xf6181
    mov bx, word [bp-016h]                    ; 8b 5e ea                    ; 0xf6184 disk.c:567
    mov ax, word [es:bx+008h]                 ; 26 8b 47 08                 ; 0xf6187
    mov word [bp-016h], ax                    ; 89 46 ea                    ; 0xf618b
    mov ax, word [es:bx+00ah]                 ; 26 8b 47 0a                 ; 0xf618e
    or dx, word [bp-016h]                     ; 0b 56 ea                    ; 0xf6192
    or cx, ax                                 ; 09 c1                       ; 0xf6195
    movzx ax, byte [bp-002h]                  ; 0f b6 46 fe                 ; 0xf6197 disk.c:572
    imul ax, ax, strict byte 0001ch           ; 6b c0 1c                    ; 0xf619b
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xf619e
    mov bx, di                                ; 89 fb                       ; 0xf61a1
    add bx, ax                                ; 01 c3                       ; 0xf61a3
    mov al, byte [es:bx+01eh]                 ; 26 8a 47 1e                 ; 0xf61a5
    mov byte [bp-004h], al                    ; 88 46 fc                    ; 0xf61a9
    mov ax, word [es:bx+038h]                 ; 26 8b 47 38                 ; 0xf61ac disk.c:573
    cmp si, ax                                ; 39 c6                       ; 0xf61b0
    jnbe short 061d6h                         ; 77 22                       ; 0xf61b2
    jne short 061f9h                          ; 75 43                       ; 0xf61b4
    mov ax, word [bp-014h]                    ; 8b 46 ec                    ; 0xf61b6
    cmp ax, word [es:bx+036h]                 ; 26 3b 47 36                 ; 0xf61b9
    jnbe short 061d6h                         ; 77 17                       ; 0xf61bd
    mov ax, word [bp-014h]                    ; 8b 46 ec                    ; 0xf61bf
    cmp ax, word [es:bx+036h]                 ; 26 3b 47 36                 ; 0xf61c2
    jne short 061f9h                          ; 75 31                       ; 0xf61c6
    cmp cx, word [es:bx+034h]                 ; 26 3b 4f 34                 ; 0xf61c8
    jnbe short 061d6h                         ; 77 08                       ; 0xf61cc
    jne short 061f9h                          ; 75 29                       ; 0xf61ce
    cmp dx, word [es:bx+032h]                 ; 26 3b 57 32                 ; 0xf61d0
    jc short 061f9h                           ; 72 23                       ; 0xf61d4
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf61d6 disk.c:574
    mov cx, ds                                ; 8c d9                       ; 0xf61d9
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf61db
    call 01a27h                               ; e8 46 b8                    ; 0xf61de
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf61e1
    shr ax, 008h                              ; c1 e8 08                    ; 0xf61e4
    push ax                                   ; 50                          ; 0xf61e7
    push 00885h                               ; 68 85 08                    ; 0xf61e8
    push 00898h                               ; 68 98 08                    ; 0xf61eb
    push strict byte 00004h                   ; 6a 04                       ; 0xf61ee
    call 01a68h                               ; e8 75 b8                    ; 0xf61f0
    add sp, strict byte 00008h                ; 83 c4 08                    ; 0xf61f3
    jmp near 062d2h                           ; e9 d9 00                    ; 0xf61f6 disk.c:575
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf61f9 disk.c:579
    shr ax, 008h                              ; c1 e8 08                    ; 0xf61fc
    mov word [bp-008h], ax                    ; 89 46 f8                    ; 0xf61ff
    cmp ax, strict word 00044h                ; 3d 44 00                    ; 0xf6202
    je near 06327h                            ; 0f 84 1e 01                 ; 0xf6205
    cmp ax, strict word 00047h                ; 3d 47 00                    ; 0xf6209
    je near 06327h                            ; 0f 84 17 01                 ; 0xf620c
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xf6210 disk.c:583
    db  066h, 026h, 0c7h, 045h, 018h, 000h, 000h, 000h, 000h
    ; mov dword [es:di+018h], strict dword 000000000h ; 66 26 c7 45 18 00 00 00 00; 0xf6213
    mov word [es:di+01ch], strict word 00000h ; 26 c7 45 1c 00 00           ; 0xf621c disk.c:584
    mov word [es:di+006h], si                 ; 26 89 75 06                 ; 0xf6222 disk.c:587
    mov ax, word [bp-014h]                    ; 8b 46 ec                    ; 0xf6226
    mov word [es:di+004h], ax                 ; 26 89 45 04                 ; 0xf6229
    mov word [es:di+002h], cx                 ; 26 89 4d 02                 ; 0xf622d
    mov word [es:di], dx                      ; 26 89 15                    ; 0xf6231
    mov ax, word [bp-00ch]                    ; 8b 46 f4                    ; 0xf6234 disk.c:588
    mov word [es:di+008h], ax                 ; 26 89 45 08                 ; 0xf6237
    mov ax, word [bp-00eh]                    ; 8b 46 f2                    ; 0xf623b
    mov word [es:di+00ah], ax                 ; 26 89 45 0a                 ; 0xf623e
    mov ax, word [bp-00ah]                    ; 8b 46 f6                    ; 0xf6242 disk.c:589
    mov word [es:di+00eh], ax                 ; 26 89 45 0e                 ; 0xf6245
    mov word [es:di+010h], 00200h             ; 26 c7 45 10 00 02           ; 0xf6249 disk.c:590
    mov word [es:di+016h], strict word 00000h ; 26 c7 45 16 00 00           ; 0xf624f disk.c:591
    mov al, byte [bp-002h]                    ; 8a 46 fe                    ; 0xf6255 disk.c:592
    mov byte [es:di+00ch], al                 ; 26 88 45 0c                 ; 0xf6258
    mov bx, word [bp-008h]                    ; 8b 5e f8                    ; 0xf625c disk.c:595
    add bx, bx                                ; 01 db                       ; 0xf625f
    movzx ax, byte [bp-004h]                  ; 0f b6 46 fc                 ; 0xf6261
    sal ax, 002h                              ; c1 e0 02                    ; 0xf6265
    add bx, ax                                ; 01 c3                       ; 0xf6268
    push ES                                   ; 06                          ; 0xf626a
    push di                                   ; 57                          ; 0xf626b
    call word [word bx-00002h]                ; ff 97 fe ff                 ; 0xf626c
    mov dx, ax                                ; 89 c2                       ; 0xf6270
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xf6272 disk.c:596
    mov ax, word [es:di+018h]                 ; 26 8b 45 18                 ; 0xf6275
    mov word [bp-00ah], ax                    ; 89 46 f6                    ; 0xf6279
    les bx, [bp-012h]                         ; c4 5e ee                    ; 0xf627c disk.c:597
    mov word [es:bx+002h], ax                 ; 26 89 47 02                 ; 0xf627f
    test dl, dl                               ; 84 d2                       ; 0xf6283 disk.c:599
    je near 06327h                            ; 0f 84 9e 00                 ; 0xf6285
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf6289 disk.c:600
    mov cx, ds                                ; 8c d9                       ; 0xf628c
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf628e
    call 01a27h                               ; e8 93 b7                    ; 0xf6291
    movzx ax, dl                              ; 0f b6 c2                    ; 0xf6294
    push ax                                   ; 50                          ; 0xf6297
    push word [bp-008h]                       ; ff 76 f8                    ; 0xf6298
    push 00885h                               ; 68 85 08                    ; 0xf629b
    push 007e9h                               ; 68 e9 07                    ; 0xf629e
    push strict byte 00004h                   ; 6a 04                       ; 0xf62a1
    call 01a68h                               ; e8 c2 b7                    ; 0xf62a3
    add sp, strict byte 0000ah                ; 83 c4 0a                    ; 0xf62a6
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf62a9 disk.c:601
    xor ah, ah                                ; 30 e4                       ; 0xf62ac
    or ah, 00ch                               ; 80 cc 0c                    ; 0xf62ae
    jmp short 062dah                          ; eb 27                       ; 0xf62b1 disk.c:602
    or ch, 0b2h                               ; 80 cd b2                    ; 0xf62b3 disk.c:614
    mov word [bp+016h], cx                    ; 89 4e 16                    ; 0xf62b6
    jmp short 062ddh                          ; eb 22                       ; 0xf62b9 disk.c:615
    movzx ax, byte [bp-002h]                  ; 0f b6 46 fe                 ; 0xf62bb disk.c:619
    push ax                                   ; 50                          ; 0xf62bf
    mov ax, word [bp+00ah]                    ; 8b 46 0a                    ; 0xf62c0
    mov dx, word [bp+004h]                    ; 8b 56 04                    ; 0xf62c3
    mov bx, di                                ; 89 fb                       ; 0xf62c6
    mov cx, word [bp-006h]                    ; 8b 4e fa                    ; 0xf62c8
    call 05933h                               ; e8 65 f6                    ; 0xf62cb
    test ax, ax                               ; 85 c0                       ; 0xf62ce
    je short 06327h                           ; 74 55                       ; 0xf62d0
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf62d2 disk.c:620
    xor ah, ah                                ; 30 e4                       ; 0xf62d5
    or ah, 001h                               ; 80 cc 01                    ; 0xf62d7
    mov word [bp+016h], ax                    ; 89 46 16                    ; 0xf62da
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf62dd
    shr ax, 008h                              ; c1 e8 08                    ; 0xf62e0
    mov bx, strict word 00074h                ; bb 74 00                    ; 0xf62e3
    mov dx, strict word 00040h                ; ba 40 00                    ; 0xf62e6
    mov es, dx                                ; 8e c2                       ; 0xf62e9
    mov byte [es:bx], al                      ; 26 88 07                    ; 0xf62eb
    or byte [bp+01ch], 001h                   ; 80 4e 1c 01                 ; 0xf62ee
    jmp short 0633bh                          ; eb 47                       ; 0xf62f2
    cmp cx, strict byte 00006h                ; 83 f9 06                    ; 0xf62f4 disk.c:627
    je short 06327h                           ; 74 2e                       ; 0xf62f7
    cmp cx, strict byte 00001h                ; 83 f9 01                    ; 0xf62f9
    jc short 062d2h                           ; 72 d4                       ; 0xf62fc
    jbe short 06327h                          ; 76 27                       ; 0xf62fe
    cmp cx, strict byte 00003h                ; 83 f9 03                    ; 0xf6300
    jc short 062d2h                           ; 72 cd                       ; 0xf6303
    cmp cx, strict byte 00004h                ; 83 f9 04                    ; 0xf6305
    jbe short 06327h                          ; 76 1d                       ; 0xf6308
    jmp short 062d2h                          ; eb c6                       ; 0xf630a disk.c:635
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf630c disk.c:641
    mov cx, ds                                ; 8c d9                       ; 0xf630f
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf6311
    call 01a27h                               ; e8 10 b7                    ; 0xf6314
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf6317
    shr ax, 008h                              ; c1 e8 08                    ; 0xf631a
    push ax                                   ; 50                          ; 0xf631d
    push 00885h                               ; 68 85 08                    ; 0xf631e
    push 00857h                               ; 68 57 08                    ; 0xf6321
    jmp near 061eeh                           ; e9 c7 fe                    ; 0xf6324
    mov byte [bp+017h], 000h                  ; c6 46 17 00                 ; 0xf6327 disk.c:654
    mov bx, strict word 00074h                ; bb 74 00                    ; 0xf632b disk.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf632e
    mov es, ax                                ; 8e c0                       ; 0xf6331
    mov byte [es:bx], 000h                    ; 26 c6 07 00                 ; 0xf6333
    and byte [bp+01ch], 0feh                  ; 80 66 1c fe                 ; 0xf6337 disk.c:657
    mov sp, bp                                ; 89 ec                       ; 0xf633b disk.c:659
    pop bp                                    ; 5d                          ; 0xf633d
    retn                                      ; c3                          ; 0xf633e
  ; disGetNextSymbol 0xf633f LB 0x4add -> off=0x0 cb=0000000000000151 uValue=00000000000f4d3f 'int14_function'
int14_function:                              ; 0xf633f LB 0x151
    push bp                                   ; 55                          ; 0xf633f serial.c:70
    mov bp, sp                                ; 89 e5                       ; 0xf6340
    push si                                   ; 56                          ; 0xf6342
    push di                                   ; 57                          ; 0xf6343
    sti                                       ; fb                          ; 0xf6344 serial.c:75
    mov si, word [bp+00eh]                    ; 8b 76 0e                    ; 0xf6345 serial.c:77
    add si, si                                ; 01 f6                       ; 0xf6348
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf634a serial.c:58
    mov es, ax                                ; 8e c0                       ; 0xf634d
    mov si, word [es:si]                      ; 26 8b 34                    ; 0xf634f
    mov bx, si                                ; 89 f3                       ; 0xf6352 serial.c:59
    mov di, word [bp+00eh]                    ; 8b 7e 0e                    ; 0xf6354 serial.c:78
    add di, strict byte 0007ch                ; 83 c7 7c                    ; 0xf6357
    mov cl, byte [es:di]                      ; 26 8a 0d                    ; 0xf635a serial.c:48
    cmp word [bp+00eh], strict byte 00004h    ; 83 7e 0e 04                 ; 0xf635d serial.c:79
    jnc near 06485h                           ; 0f 83 20 01                 ; 0xf6361
    test si, si                               ; 85 f6                       ; 0xf6365
    jbe near 06485h                           ; 0f 86 1a 01                 ; 0xf6367
    mov al, byte [bp+013h]                    ; 8a 46 13                    ; 0xf636b serial.c:80
    cmp AL, strict byte 001h                  ; 3c 01                       ; 0xf636e
    jc short 06383h                           ; 72 11                       ; 0xf6370
    jbe short 063dch                          ; 76 68                       ; 0xf6372
    cmp AL, strict byte 003h                  ; 3c 03                       ; 0xf6374
    je near 0646eh                            ; 0f 84 f4 00                 ; 0xf6376
    cmp AL, strict byte 002h                  ; 3c 02                       ; 0xf637a
    je near 06427h                            ; 0f 84 a7 00                 ; 0xf637c
    jmp near 0647fh                           ; e9 fc 00                    ; 0xf6380
    test al, al                               ; 84 c0                       ; 0xf6383
    jne near 0647fh                           ; 0f 85 f6 00                 ; 0xf6385
    lea dx, [bx+003h]                         ; 8d 57 03                    ; 0xf6389 serial.c:82
    in AL, DX                                 ; ec                          ; 0xf638c
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf638d
    or AL, strict byte 080h                   ; 0c 80                       ; 0xf638f
    out DX, AL                                ; ee                          ; 0xf6391
    lea si, [bx+001h]                         ; 8d 77 01                    ; 0xf6392
    mov al, byte [bp+012h]                    ; 8a 46 12                    ; 0xf6395 serial.c:83
    test AL, strict byte 0e0h                 ; a8 e0                       ; 0xf6398
    jne short 063a8h                          ; 75 0c                       ; 0xf639a
    mov AL, strict byte 017h                  ; b0 17                       ; 0xf639c serial.c:84
    mov dx, bx                                ; 89 da                       ; 0xf639e
    out DX, AL                                ; ee                          ; 0xf63a0
    mov AL, strict byte 004h                  ; b0 04                       ; 0xf63a1 serial.c:85
    mov dx, si                                ; 89 f2                       ; 0xf63a3
    out DX, AL                                ; ee                          ; 0xf63a5
    jmp short 063beh                          ; eb 16                       ; 0xf63a6 serial.c:86
    and AL, strict byte 0e0h                  ; 24 e0                       ; 0xf63a8 serial.c:87
    movzx cx, al                              ; 0f b6 c8                    ; 0xf63aa
    sar cx, 005h                              ; c1 f9 05                    ; 0xf63ad
    mov ax, 00600h                            ; b8 00 06                    ; 0xf63b0
    sar ax, CL                                ; d3 f8                       ; 0xf63b3
    mov dx, bx                                ; 89 da                       ; 0xf63b5 serial.c:88
    out DX, AL                                ; ee                          ; 0xf63b7
    shr ax, 008h                              ; c1 e8 08                    ; 0xf63b8 serial.c:89
    mov dx, si                                ; 89 f2                       ; 0xf63bb
    out DX, AL                                ; ee                          ; 0xf63bd
    mov al, byte [bp+012h]                    ; 8a 46 12                    ; 0xf63be serial.c:91
    and AL, strict byte 01fh                  ; 24 1f                       ; 0xf63c1
    lea dx, [bx+003h]                         ; 8d 57 03                    ; 0xf63c3
    out DX, AL                                ; ee                          ; 0xf63c6
    lea dx, [bx+005h]                         ; 8d 57 05                    ; 0xf63c7 serial.c:92
    in AL, DX                                 ; ec                          ; 0xf63ca
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf63cb
    mov byte [bp+013h], al                    ; 88 46 13                    ; 0xf63cd
    lea dx, [bx+006h]                         ; 8d 57 06                    ; 0xf63d0 serial.c:93
    in AL, DX                                 ; ec                          ; 0xf63d3
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf63d4
    mov byte [bp+012h], al                    ; 88 46 12                    ; 0xf63d6
    jmp near 06460h                           ; e9 84 00                    ; 0xf63d9
    mov si, strict word 0006ch                ; be 6c 00                    ; 0xf63dc serial.c:58
    mov si, word [es:si]                      ; 26 8b 34                    ; 0xf63df
    lea dx, [bx+005h]                         ; 8d 57 05                    ; 0xf63e2 serial.c:98
    in AL, DX                                 ; ec                          ; 0xf63e5
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf63e6
    and ax, strict word 00060h                ; 25 60 00                    ; 0xf63e8
    cmp ax, strict word 00060h                ; 3d 60 00                    ; 0xf63eb
    je short 06409h                           ; 74 19                       ; 0xf63ee
    test cl, cl                               ; 84 c9                       ; 0xf63f0
    je short 06409h                           ; 74 15                       ; 0xf63f2
    mov di, strict word 0006ch                ; bf 6c 00                    ; 0xf63f4 serial.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf63f7
    mov es, ax                                ; 8e c0                       ; 0xf63fa
    mov ax, word [es:di]                      ; 26 8b 05                    ; 0xf63fc
    cmp ax, si                                ; 39 f0                       ; 0xf63ff serial.c:100
    je short 063e2h                           ; 74 df                       ; 0xf6401
    mov si, ax                                ; 89 c6                       ; 0xf6403 serial.c:101
    db  0feh, 0c9h
    ; dec cl                                    ; fe c9                     ; 0xf6405 serial.c:102
    jmp short 063e2h                          ; eb d9                       ; 0xf6407 serial.c:104
    test cl, cl                               ; 84 c9                       ; 0xf6409 serial.c:105
    je short 06413h                           ; 74 06                       ; 0xf640b
    mov al, byte [bp+012h]                    ; 8a 46 12                    ; 0xf640d
    mov dx, bx                                ; 89 da                       ; 0xf6410
    out DX, AL                                ; ee                          ; 0xf6412
    lea dx, [bx+005h]                         ; 8d 57 05                    ; 0xf6413 serial.c:106
    in AL, DX                                 ; ec                          ; 0xf6416
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf6417
    mov byte [bp+013h], al                    ; 88 46 13                    ; 0xf6419
    test cl, cl                               ; 84 c9                       ; 0xf641c serial.c:107
    jne short 06460h                          ; 75 40                       ; 0xf641e
    or AL, strict byte 080h                   ; 0c 80                       ; 0xf6420
    mov byte [bp+013h], al                    ; 88 46 13                    ; 0xf6422
    jmp short 06460h                          ; eb 39                       ; 0xf6425
    mov si, strict word 0006ch                ; be 6c 00                    ; 0xf6427 serial.c:58
    mov si, word [es:si]                      ; 26 8b 34                    ; 0xf642a
    lea dx, [bx+005h]                         ; 8d 57 05                    ; 0xf642d serial.c:112
    in AL, DX                                 ; ec                          ; 0xf6430
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf6431
    test AL, strict byte 001h                 ; a8 01                       ; 0xf6433
    jne short 06450h                          ; 75 19                       ; 0xf6435
    test cl, cl                               ; 84 c9                       ; 0xf6437
    je short 06450h                           ; 74 15                       ; 0xf6439
    mov di, strict word 0006ch                ; bf 6c 00                    ; 0xf643b serial.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf643e
    mov es, ax                                ; 8e c0                       ; 0xf6441
    mov ax, word [es:di]                      ; 26 8b 05                    ; 0xf6443
    cmp ax, si                                ; 39 f0                       ; 0xf6446 serial.c:114
    je short 0642dh                           ; 74 e3                       ; 0xf6448
    mov si, ax                                ; 89 c6                       ; 0xf644a serial.c:115
    db  0feh, 0c9h
    ; dec cl                                    ; fe c9                     ; 0xf644c serial.c:116
    jmp short 0642dh                          ; eb dd                       ; 0xf644e serial.c:118
    test cl, cl                               ; 84 c9                       ; 0xf6450 serial.c:119
    je short 06466h                           ; 74 12                       ; 0xf6452
    mov byte [bp+013h], 000h                  ; c6 46 13 00                 ; 0xf6454 serial.c:120
    mov dx, bx                                ; 89 da                       ; 0xf6458 serial.c:121
    in AL, DX                                 ; ec                          ; 0xf645a
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf645b
    mov byte [bp+012h], al                    ; 88 46 12                    ; 0xf645d
    and byte [bp+01ch], 0feh                  ; 80 66 1c fe                 ; 0xf6460 serial.c:122
    jmp short 06489h                          ; eb 23                       ; 0xf6464
    lea dx, [bx+005h]                         ; 8d 57 05                    ; 0xf6466 serial.c:123
    in AL, DX                                 ; ec                          ; 0xf6469
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf646a
    jmp short 06422h                          ; eb b4                       ; 0xf646c
    lea dx, [si+005h]                         ; 8d 54 05                    ; 0xf646e serial.c:128
    in AL, DX                                 ; ec                          ; 0xf6471
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf6472
    mov byte [bp+013h], al                    ; 88 46 13                    ; 0xf6474
    lea dx, [si+006h]                         ; 8d 54 06                    ; 0xf6477 serial.c:129
    in AL, DX                                 ; ec                          ; 0xf647a
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf647b
    jmp short 0645dh                          ; eb de                       ; 0xf647d
    or byte [bp+01ch], 001h                   ; 80 4e 1c 01                 ; 0xf647f serial.c:133
    jmp short 06489h                          ; eb 04                       ; 0xf6483 serial.c:135
    or byte [bp+01ch], 001h                   ; 80 4e 1c 01                 ; 0xf6485 serial.c:136
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf6489 serial.c:138
    pop di                                    ; 5f                          ; 0xf648c
    pop si                                    ; 5e                          ; 0xf648d
    pop bp                                    ; 5d                          ; 0xf648e
    retn                                      ; c3                          ; 0xf648f
  ; disGetNextSymbol 0xf6490 LB 0x498c -> off=0x0 cb=000000000000002c uValue=00000000000f4e90 'set_enable_a20'
set_enable_a20:                              ; 0xf6490 LB 0x2c
    push bp                                   ; 55                          ; 0xf6490 system.c:298
    mov bp, sp                                ; 89 e5                       ; 0xf6491
    push bx                                   ; 53                          ; 0xf6493
    push cx                                   ; 51                          ; 0xf6494
    push dx                                   ; 52                          ; 0xf6495
    mov bx, ax                                ; 89 c3                       ; 0xf6496
    mov dx, 00092h                            ; ba 92 00                    ; 0xf6498 system.c:305
    in AL, DX                                 ; ec                          ; 0xf649b
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf649c
    mov cl, al                                ; 88 c1                       ; 0xf649e
    test bx, bx                               ; 85 db                       ; 0xf64a0 system.c:308
    je short 064a9h                           ; 74 05                       ; 0xf64a2
    or AL, strict byte 002h                   ; 0c 02                       ; 0xf64a4 system.c:309
    out DX, AL                                ; ee                          ; 0xf64a6
    jmp short 064ach                          ; eb 03                       ; 0xf64a7 system.c:310
    and AL, strict byte 0fdh                  ; 24 fd                       ; 0xf64a9 system.c:311
    out DX, AL                                ; ee                          ; 0xf64ab
    test cl, 002h                             ; f6 c1 02                    ; 0xf64ac system.c:313
    db  00fh, 095h, 0c0h
    ; setne al                                  ; 0f 95 c0                  ; 0xf64af
    xor ah, ah                                ; 30 e4                       ; 0xf64b2
    lea sp, [bp-006h]                         ; 8d 66 fa                    ; 0xf64b4 system.c:314
    pop dx                                    ; 5a                          ; 0xf64b7
    pop cx                                    ; 59                          ; 0xf64b8
    pop bx                                    ; 5b                          ; 0xf64b9
    pop bp                                    ; 5d                          ; 0xf64ba
    retn                                      ; c3                          ; 0xf64bb
  ; disGetNextSymbol 0xf64bc LB 0x4960 -> off=0x3b cb=0000000000000349 uValue=00000000000f4ef7 'int15_function'
    db  0ech, 0e9h, 0d8h, 0c7h, 0c1h, 0c0h, 0bfh, 091h, 090h, 089h, 088h, 086h, 083h, 052h, 04fh, 041h
    db  024h, 022h, 000h, 021h, 068h, 034h, 065h, 0bch, 067h, 047h, 065h, 0bch, 067h, 01ah, 068h, 08bh
    db  065h, 0c1h, 065h, 05bh, 066h, 0c9h, 066h, 0deh, 066h, 054h, 066h, 054h, 066h, 0a6h, 067h, 0ceh
    db  067h, 0e1h, 067h, 0bch, 067h, 0f5h, 067h, 0fch, 067h, 002h, 068h
int15_function:                              ; 0xf64f7 LB 0x349
    push bp                                   ; 55                          ; 0xf64f7 system.c:335
    mov bp, sp                                ; 89 e5                       ; 0xf64f8
    push si                                   ; 56                          ; 0xf64fa
    push di                                   ; 57                          ; 0xf64fb
    mov ax, word [bp+012h]                    ; 8b 46 12                    ; 0xf64fc system.c:342
    shr ax, 008h                              ; c1 e8 08                    ; 0xf64ff
    cmp ax, 000ech                            ; 3d ec 00                    ; 0xf6502
    jnbe near 06821h                          ; 0f 87 18 03                 ; 0xf6505
    push CS                                   ; 0e                          ; 0xf6509
    pop ES                                    ; 07                          ; 0xf650a
    mov cx, strict word 00014h                ; b9 14 00                    ; 0xf650b
    mov di, 064bch                            ; bf bc 64                    ; 0xf650e
    repne scasb                               ; f2 ae                       ; 0xf6511
    sal cx, 1                                 ; d1 e1                       ; 0xf6513
    mov di, cx                                ; 89 cf                       ; 0xf6515
    mov si, word [cs:di+064cfh]               ; 2e 8b b5 cf 64              ; 0xf6517
    mov ax, word [bp+012h]                    ; 8b 46 12                    ; 0xf651c
    xor ah, ah                                ; 30 e4                       ; 0xf651f
    mov dx, word [bp+018h]                    ; 8b 56 18                    ; 0xf6521
    and dl, 0feh                              ; 80 e2 fe                    ; 0xf6524
    mov cx, word [bp+018h]                    ; 8b 4e 18                    ; 0xf6527
    or cl, 001h                               ; 80 c9 01                    ; 0xf652a
    mov bx, ax                                ; 89 c3                       ; 0xf652d
    or bh, 086h                               ; 80 cf 86                    ; 0xf652f
    jmp si                                    ; ff e6                       ; 0xf6532
    mov ax, word [bp+012h]                    ; 8b 46 12                    ; 0xf6534 system.c:344
    xor ah, ah                                ; 30 e4                       ; 0xf6537
    cmp ax, 000c0h                            ; 3d c0 00                    ; 0xf6539
    jne near 06821h                           ; 0f 85 e1 02                 ; 0xf653c
    or byte [bp+018h], 001h                   ; 80 4e 18 01                 ; 0xf6540 system.c:351
    jmp near 067c5h                           ; e9 7e 02                    ; 0xf6544
    mov ax, word [bp+012h]                    ; 8b 46 12                    ; 0xf6547 system.c:355
    xor ah, ah                                ; 30 e4                       ; 0xf654a
    cmp ax, strict word 00001h                ; 3d 01 00                    ; 0xf654c
    jc short 0655fh                           ; 72 0e                       ; 0xf654f
    jbe short 06573h                          ; 76 20                       ; 0xf6551
    cmp ax, strict word 00003h                ; 3d 03 00                    ; 0xf6553
    je short 06595h                           ; 74 3d                       ; 0xf6556
    cmp ax, strict word 00002h                ; 3d 02 00                    ; 0xf6558
    je short 06578h                           ; 74 1b                       ; 0xf655b
    jmp short 065a2h                          ; eb 43                       ; 0xf655d
    test ax, ax                               ; 85 c0                       ; 0xf655f
    jne short 065a2h                          ; 75 3f                       ; 0xf6561
    xor ax, ax                                ; 31 c0                       ; 0xf6563 system.c:357
    call 06490h                               ; e8 28 ff                    ; 0xf6565
    and byte [bp+018h], 0feh                  ; 80 66 18 fe                 ; 0xf6568 system.c:358
    mov byte [bp+013h], 000h                  ; c6 46 13 00                 ; 0xf656c system.c:359
    jmp near 06654h                           ; e9 e1 00                    ; 0xf6570 system.c:360
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xf6573 system.c:362
    jmp short 06565h                          ; eb ed                       ; 0xf6576
    mov dx, 00092h                            ; ba 92 00                    ; 0xf6578 system.c:367
    in AL, DX                                 ; ec                          ; 0xf657b
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf657c
    shr ax, 1                                 ; d1 e8                       ; 0xf657e
    and ax, strict word 00001h                ; 25 01 00                    ; 0xf6580
    mov dx, word [bp+012h]                    ; 8b 56 12                    ; 0xf6583
    mov dl, al                                ; 88 c2                       ; 0xf6586
    mov word [bp+012h], dx                    ; 89 56 12                    ; 0xf6588
    and byte [bp+018h], 0feh                  ; 80 66 18 fe                 ; 0xf658b system.c:368
    mov byte [bp+013h], ah                    ; 88 66 13                    ; 0xf658f system.c:369
    jmp near 06654h                           ; e9 bf 00                    ; 0xf6592 system.c:370
    and byte [bp+018h], 0feh                  ; 80 66 18 fe                 ; 0xf6595 system.c:372
    mov byte [bp+013h], ah                    ; 88 66 13                    ; 0xf6599 system.c:373
    mov word [bp+00ch], ax                    ; 89 46 0c                    ; 0xf659c system.c:374
    jmp near 06654h                           ; e9 b2 00                    ; 0xf659f system.c:375
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf65a2 system.c:377
    mov cx, ds                                ; 8c d9                       ; 0xf65a5
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf65a7
    call 01a27h                               ; e8 7a b4                    ; 0xf65aa
    mov ax, word [bp+012h]                    ; 8b 46 12                    ; 0xf65ad
    xor ah, ah                                ; 30 e4                       ; 0xf65b0
    push ax                                   ; 50                          ; 0xf65b2
    push 008beh                               ; 68 be 08                    ; 0xf65b3
    push strict byte 00004h                   ; 6a 04                       ; 0xf65b6
    call 01a68h                               ; e8 ad b4                    ; 0xf65b8
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf65bb
    jmp near 067bch                           ; e9 fb 01                    ; 0xf65be
    test byte [bp+012h], 0ffh                 ; f6 46 12 ff                 ; 0xf65c1 system.c:409
    jne short 06626h                          ; 75 5f                       ; 0xf65c5
    mov bx, 000a0h                            ; bb a0 00                    ; 0xf65c7 system.c:48
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf65ca
    mov es, ax                                ; 8e c0                       ; 0xf65cd
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf65cf
    test AL, strict byte 001h                 ; a8 01                       ; 0xf65d2 system.c:49
    jne short 06620h                          ; 75 4a                       ; 0xf65d4
    mov DL, strict byte 001h                  ; b2 01                       ; 0xf65d6 system.c:51
    mov byte [es:bx], dl                      ; 26 88 17                    ; 0xf65d8 system.c:53
    mov bx, 00098h                            ; bb 98 00                    ; 0xf65db system.c:61
    mov ax, word [bp+014h]                    ; 8b 46 14                    ; 0xf65de
    mov word [es:bx], ax                      ; 26 89 07                    ; 0xf65e1 system.c:63
    mov bx, 0009ah                            ; bb 9a 00                    ; 0xf65e4 system.c:61
    mov dx, word [bp+00ch]                    ; 8b 56 0c                    ; 0xf65e7
    mov word [es:bx], dx                      ; 26 89 17                    ; 0xf65ea system.c:63
    mov bx, 0009ch                            ; bb 9c 00                    ; 0xf65ed system.c:61
    mov dx, word [bp+00eh]                    ; 8b 56 0e                    ; 0xf65f0
    mov word [es:bx], dx                      ; 26 89 17                    ; 0xf65f3 system.c:63
    mov bx, 0009eh                            ; bb 9e 00                    ; 0xf65f6 system.c:61
    mov ax, word [bp+010h]                    ; 8b 46 10                    ; 0xf65f9
    mov word [es:bx], ax                      ; 26 89 07                    ; 0xf65fc system.c:63
    and byte [bp+018h], 0feh                  ; 80 66 18 fe                 ; 0xf65ff system.c:418
    mov dx, 000a1h                            ; ba a1 00                    ; 0xf6603 system.c:420
    in AL, DX                                 ; ec                          ; 0xf6606
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf6607
    and AL, strict byte 0feh                  ; 24 fe                       ; 0xf6609 system.c:421
    out DX, AL                                ; ee                          ; 0xf660b
    mov ax, strict word 0000bh                ; b8 0b 00                    ; 0xf660c system.c:422
    call 0176ah                               ; e8 58 b1                    ; 0xf660f
    or AL, strict byte 040h                   ; 0c 40                       ; 0xf6612 system.c:424
    movzx dx, al                              ; 0f b6 d0                    ; 0xf6614
    mov ax, strict word 0000bh                ; b8 0b 00                    ; 0xf6617
    call 01787h                               ; e8 6a b1                    ; 0xf661a
    jmp near 06654h                           ; e9 34 00                    ; 0xf661d system.c:425
    mov word [bp+018h], cx                    ; 89 4e 18                    ; 0xf6620 system.c:428
    jmp near 06654h                           ; e9 2e 00                    ; 0xf6623 system.c:430
    cmp ax, strict word 00001h                ; 3d 01 00                    ; 0xf6626
    jne short 06645h                          ; 75 1a                       ; 0xf6629
    mov bx, 000a0h                            ; bb a0 00                    ; 0xf662b system.c:53
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf662e
    mov es, ax                                ; 8e c0                       ; 0xf6631
    mov byte [es:bx], 000h                    ; 26 c6 07 00                 ; 0xf6633
    and byte [bp+018h], 0feh                  ; 80 66 18 fe                 ; 0xf6637 system.c:433
    mov ax, strict word 0000bh                ; b8 0b 00                    ; 0xf663b system.c:434
    call 0176ah                               ; e8 29 b1                    ; 0xf663e
    and AL, strict byte 0bfh                  ; 24 bf                       ; 0xf6641 system.c:435
    jmp short 06614h                          ; eb cf                       ; 0xf6643
    mov word [bp+018h], cx                    ; 89 4e 18                    ; 0xf6645 system.c:438
    mov ax, bx                                ; 89 d8                       ; 0xf6648 system.c:440
    xor ah, bh                                ; 30 fc                       ; 0xf664a
    xor bl, bl                                ; 30 db                       ; 0xf664c
    dec ax                                    ; 48                          ; 0xf664e
    or bx, ax                                 ; 09 c3                       ; 0xf664f
    mov word [bp+012h], bx                    ; 89 5e 12                    ; 0xf6651
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf6654 system.c:443
    pop di                                    ; 5f                          ; 0xf6657
    pop si                                    ; 5e                          ; 0xf6658
    pop bp                                    ; 5d                          ; 0xf6659
    retn                                      ; c3                          ; 0xf665a
    mov bx, 000a0h                            ; bb a0 00                    ; 0xf665b system.c:48
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf665e
    mov es, ax                                ; 8e c0                       ; 0xf6661
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf6663
    test AL, strict byte 001h                 ; a8 01                       ; 0xf6666 system.c:49
    jne short 066c3h                          ; 75 59                       ; 0xf6668
    mov byte [es:bx], 001h                    ; 26 c6 07 01                 ; 0xf666a system.c:53
    mov bx, 00098h                            ; bb 98 00                    ; 0xf666e system.c:63
    mov [es:bx], es                           ; 26 8c 07                    ; 0xf6671
    mov bx, 0009ah                            ; bb 9a 00                    ; 0xf6674 system.c:63
    mov word [es:bx], 000a0h                  ; 26 c7 07 a0 00              ; 0xf6677
    mov ax, word [bp+00eh]                    ; 8b 46 0e                    ; 0xf667c system.c:61
    mov bx, 0009ch                            ; bb 9c 00                    ; 0xf667f system.c:63
    mov word [es:bx], ax                      ; 26 89 07                    ; 0xf6682
    mov ax, word [bp+010h]                    ; 8b 46 10                    ; 0xf6685 system.c:61
    mov bx, 0009eh                            ; bb 9e 00                    ; 0xf6688 system.c:63
    mov word [es:bx], ax                      ; 26 89 07                    ; 0xf668b
    mov dx, 000a1h                            ; ba a1 00                    ; 0xf668e system.c:456
    in AL, DX                                 ; ec                          ; 0xf6691
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf6692
    and AL, strict byte 0feh                  ; 24 fe                       ; 0xf6694 system.c:457
    out DX, AL                                ; ee                          ; 0xf6696
    mov ax, strict word 0000bh                ; b8 0b 00                    ; 0xf6697 system.c:458
    call 0176ah                               ; e8 cd b0                    ; 0xf669a
    or AL, strict byte 040h                   ; 0c 40                       ; 0xf669d system.c:460
    movzx dx, al                              ; 0f b6 d0                    ; 0xf669f
    mov ax, strict word 0000bh                ; b8 0b 00                    ; 0xf66a2
    call 01787h                               ; e8 df b0                    ; 0xf66a5
    sti                                       ; fb                          ; 0xf66a8 system.c:462
    hlt                                       ; f4                          ; 0xf66a9 system.c:464
    mov bx, 000a0h                            ; bb a0 00                    ; 0xf66aa system.c:48
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf66ad
    mov es, ax                                ; 8e c0                       ; 0xf66b0
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf66b2
    test AL, strict byte 080h                 ; a8 80                       ; 0xf66b5 system.c:467
    je short 066a9h                           ; 74 f0                       ; 0xf66b7
    mov byte [es:bx], 000h                    ; 26 c6 07 00                 ; 0xf66b9 system.c:53
    and byte [bp+018h], 0feh                  ; 80 66 18 fe                 ; 0xf66bd system.c:469
    jmp short 06654h                          ; eb 91                       ; 0xf66c1 system.c:470
    or byte [bp+018h], 001h                   ; 80 4e 18 01                 ; 0xf66c3 system.c:473
    jmp short 06654h                          ; eb 8b                       ; 0xf66c7 system.c:475
    mov ax, strict word 00030h                ; b8 30 00                    ; 0xf66c9 system.c:480
    call 017a6h                               ; e8 d7 b0                    ; 0xf66cc
    mov word [bp+012h], ax                    ; 89 46 12                    ; 0xf66cf
    cmp ax, strict word 0ffc0h                ; 3d c0 ff                    ; 0xf66d2 system.c:485
    jbe short 066bdh                          ; 76 e6                       ; 0xf66d5
    mov word [bp+012h], strict word 0ffc0h    ; c7 46 12 c0 ff              ; 0xf66d7 system.c:486
    jmp short 066bdh                          ; eb df                       ; 0xf66dc
    cli                                       ; fa                          ; 0xf66de system.c:509
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xf66df system.c:511
    call 06490h                               ; e8 ab fd                    ; 0xf66e2
    mov bx, word [bp+006h]                    ; 8b 5e 06                    ; 0xf66e5 system.c:514
    add bx, strict byte 00038h                ; 83 c3 38                    ; 0xf66e8
    mov es, [bp+014h]                         ; 8e 46 14                    ; 0xf66eb system.c:61
    mov word [es:bx], strict word 0ffffh      ; 26 c7 07 ff ff              ; 0xf66ee
    mov bx, word [bp+006h]                    ; 8b 5e 06                    ; 0xf66f3 system.c:515
    add bx, strict byte 0003ah                ; 83 c3 3a                    ; 0xf66f6
    mov es, [bp+014h]                         ; 8e 46 14                    ; 0xf66f9 system.c:61
    mov word [es:bx], strict word 00000h      ; 26 c7 07 00 00              ; 0xf66fc
    mov bx, word [bp+006h]                    ; 8b 5e 06                    ; 0xf6701 system.c:516
    add bx, strict byte 0003ch                ; 83 c3 3c                    ; 0xf6704
    mov es, [bp+014h]                         ; 8e 46 14                    ; 0xf6707 system.c:51
    mov byte [es:bx], 00fh                    ; 26 c6 07 0f                 ; 0xf670a
    mov bx, word [bp+006h]                    ; 8b 5e 06                    ; 0xf670e system.c:517
    add bx, strict byte 0003dh                ; 83 c3 3d                    ; 0xf6711
    mov es, [bp+014h]                         ; 8e 46 14                    ; 0xf6714 system.c:51
    mov byte [es:bx], 09bh                    ; 26 c6 07 9b                 ; 0xf6717
    mov bx, word [bp+006h]                    ; 8b 5e 06                    ; 0xf671b system.c:518
    add bx, strict byte 0003eh                ; 83 c3 3e                    ; 0xf671e
    mov es, [bp+014h]                         ; 8e 46 14                    ; 0xf6721 system.c:61
    mov word [es:bx], strict word 00000h      ; 26 c7 07 00 00              ; 0xf6724
    mov AL, strict byte 011h                  ; b0 11                       ; 0xf6729 system.c:521
    mov dx, strict word 00020h                ; ba 20 00                    ; 0xf672b
    out DX, AL                                ; ee                          ; 0xf672e
    mov dx, 000a0h                            ; ba a0 00                    ; 0xf672f system.c:522
    out DX, AL                                ; ee                          ; 0xf6732
    mov ax, word [bp+00ch]                    ; 8b 46 0c                    ; 0xf6733 system.c:523
    shr ax, 008h                              ; c1 e8 08                    ; 0xf6736
    mov dx, strict word 00021h                ; ba 21 00                    ; 0xf6739
    out DX, AL                                ; ee                          ; 0xf673c
    mov ax, word [bp+00ch]                    ; 8b 46 0c                    ; 0xf673d system.c:524
    mov dx, 000a1h                            ; ba a1 00                    ; 0xf6740
    out DX, AL                                ; ee                          ; 0xf6743
    mov AL, strict byte 004h                  ; b0 04                       ; 0xf6744 system.c:525
    mov dx, strict word 00021h                ; ba 21 00                    ; 0xf6746
    out DX, AL                                ; ee                          ; 0xf6749
    mov AL, strict byte 002h                  ; b0 02                       ; 0xf674a system.c:526
    mov dx, 000a1h                            ; ba a1 00                    ; 0xf674c
    out DX, AL                                ; ee                          ; 0xf674f
    mov AL, strict byte 001h                  ; b0 01                       ; 0xf6750 system.c:527
    mov dx, strict word 00021h                ; ba 21 00                    ; 0xf6752
    out DX, AL                                ; ee                          ; 0xf6755
    mov dx, 000a1h                            ; ba a1 00                    ; 0xf6756 system.c:528
    out DX, AL                                ; ee                          ; 0xf6759
    mov AL, strict byte 0ffh                  ; b0 ff                       ; 0xf675a system.c:530
    mov dx, strict word 00021h                ; ba 21 00                    ; 0xf675c
    out DX, AL                                ; ee                          ; 0xf675f
    mov dx, 000a1h                            ; ba a1 00                    ; 0xf6760 system.c:531
    out DX, AL                                ; ee                          ; 0xf6763
    mov si, word [bp+006h]                    ; 8b 76 06                    ; 0xf6764 system.c:533
    lgdt [es:si+008h]                         ; 26 0f 01 54 08              ; 0xf6767
    lidt [es:si+010h]                         ; 26 0f 01 5c 10              ; 0xf676c
    push strict byte 00038h                   ; 6a 38                       ; 0xf6771
    call 06776h                               ; e8 00 00                    ; 0xf6773
    pop ax                                    ; 58                          ; 0xf6776
    add ax, strict byte 0000eh                ; 83 c0 0e                    ; 0xf6777
    push ax                                   ; 50                          ; 0xf677a
    smsw ax                                   ; 0f 01 e0                    ; 0xf677b
    or AL, strict byte 001h                   ; 0c 01                       ; 0xf677e
    lmsw ax                                   ; 0f 01 f0                    ; 0xf6780
    retf                                      ; cb                          ; 0xf6783
    mov ax, strict word 00018h                ; b8 18 00                    ; 0xf6784
    mov ds, ax                                ; 8e d8                       ; 0xf6787
    add AL, strict byte 008h                  ; 04 08                       ; 0xf6789
    mov es, ax                                ; 8e c0                       ; 0xf678b
    add AL, strict byte 008h                  ; 04 08                       ; 0xf678d
    mov ss, ax                                ; 8e d0                       ; 0xf678f
    lea ax, [bp+004h]                         ; 8d 46 04                    ; 0xf6791 system.c:534
    db  08bh, 0e0h
    ; mov sp, ax                                ; 8b e0                     ; 0xf6794
    popaw                                     ; 61                          ; 0xf6796
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf6797
    pop cx                                    ; 59                          ; 0xf679a
    pop ax                                    ; 58                          ; 0xf679b
    pop ax                                    ; 58                          ; 0xf679c
    mov ax, strict word 00030h                ; b8 30 00                    ; 0xf679d
    push ax                                   ; 50                          ; 0xf67a0
    push cx                                   ; 51                          ; 0xf67a1
    retf                                      ; cb                          ; 0xf67a2
    jmp near 06654h                           ; e9 ae fe                    ; 0xf67a3 system.c:540
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf67a6 system.c:547
    mov cx, ds                                ; 8c d9                       ; 0xf67a9
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf67ab
    call 01a27h                               ; e8 76 b2                    ; 0xf67ae
    push 008feh                               ; 68 fe 08                    ; 0xf67b1
    push strict byte 00004h                   ; 6a 04                       ; 0xf67b4
    call 01a68h                               ; e8 af b2                    ; 0xf67b6
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf67b9
    or byte [bp+018h], 001h                   ; 80 4e 18 01                 ; 0xf67bc
    mov ax, word [bp+012h]                    ; 8b 46 12                    ; 0xf67c0
    xor ah, ah                                ; 30 e4                       ; 0xf67c3
    or ah, 086h                               ; 80 cc 86                    ; 0xf67c5
    mov word [bp+012h], ax                    ; 89 46 12                    ; 0xf67c8
    jmp near 06654h                           ; e9 86 fe                    ; 0xf67cb
    mov word [bp+018h], dx                    ; 89 56 18                    ; 0xf67ce system.c:553
    mov word [bp+012h], ax                    ; 89 46 12                    ; 0xf67d1 system.c:554
    mov word [bp+00ch], 0e6f5h                ; c7 46 0c f5 e6              ; 0xf67d4 system.c:555
    mov word [bp+014h], 0f000h                ; c7 46 14 00 f0              ; 0xf67d9 system.c:556
    jmp near 06654h                           ; e9 73 fe                    ; 0xf67de system.c:557
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf67e1 system.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf67e4
    mov es, ax                                ; 8e c0                       ; 0xf67e7
    mov ax, word [es:bx]                      ; 26 8b 07                    ; 0xf67e9
    mov word [bp+014h], ax                    ; 89 46 14                    ; 0xf67ec system.c:59
    mov word [bp+018h], dx                    ; 89 56 18                    ; 0xf67ef system.c:561
    jmp near 06654h                           ; e9 5f fe                    ; 0xf67f2 system.c:562
    push 0092dh                               ; 68 2d 09                    ; 0xf67f5 system.c:565
    push strict byte 00008h                   ; 6a 08                       ; 0xf67f8
    jmp short 067b6h                          ; eb ba                       ; 0xf67fa
    mov word [bp+018h], cx                    ; 89 4e 18                    ; 0xf67fc system.c:573
    jmp near 06651h                           ; e9 4f fe                    ; 0xf67ff
    test byte [bp+012h], 0ffh                 ; f6 46 12 ff                 ; 0xf6802 system.c:577
    jne short 06821h                          ; 75 19                       ; 0xf6806
    mov word [bp+012h], ax                    ; 89 46 12                    ; 0xf6808 system.c:579
    mov ax, word [bp+00ch]                    ; 8b 46 0c                    ; 0xf680b system.c:580
    xor ah, ah                                ; 30 e4                       ; 0xf680e
    cmp ax, strict word 00001h                ; 3d 01 00                    ; 0xf6810
    jc short 0681ah                           ; 72 05                       ; 0xf6813
    cmp ax, strict word 00003h                ; 3d 03 00                    ; 0xf6815
    jbe short 067efh                          ; 76 d5                       ; 0xf6818
    or byte [bp+018h], 001h                   ; 80 4e 18 01                 ; 0xf681a system.c:583
    jmp near 06654h                           ; e9 33 fe                    ; 0xf681e system.c:584
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf6821 system.c:588
    mov cx, ds                                ; 8c d9                       ; 0xf6824
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf6826
    call 01a27h                               ; e8 fb b1                    ; 0xf6829
    push word [bp+00ch]                       ; ff 76 0c                    ; 0xf682c
    push word [bp+012h]                       ; ff 76 12                    ; 0xf682f
    push 00944h                               ; 68 44 09                    ; 0xf6832
    push strict byte 00004h                   ; 6a 04                       ; 0xf6835
    call 01a68h                               ; e8 2e b2                    ; 0xf6837
    add sp, strict byte 00008h                ; 83 c4 08                    ; 0xf683a
    jmp near 067bch                           ; e9 7c ff                    ; 0xf683d
  ; disGetNextSymbol 0xf6840 LB 0x45dc -> off=0x0 cb=0000000000000042 uValue=00000000000f5240 'set_e820_range_len'
set_e820_range_len:                          ; 0xf6840 LB 0x42
    push si                                   ; 56                          ; 0xf6840 system.c:605
    push bp                                   ; 55                          ; 0xf6841
    mov bp, sp                                ; 89 e5                       ; 0xf6842
    mov es, ax                                ; 8e c0                       ; 0xf6844
    mov si, dx                                ; 89 d6                       ; 0xf6846
    mov word [es:si], bx                      ; 26 89 1c                    ; 0xf6848 system.c:608
    mov word [es:si+002h], cx                 ; 26 89 4c 02                 ; 0xf684b
    mov bx, word [bp+006h]                    ; 8b 5e 06                    ; 0xf684f system.c:609
    mov word [es:si+008h], bx                 ; 26 89 5c 08                 ; 0xf6852
    mov bx, word [bp+008h]                    ; 8b 5e 08                    ; 0xf6856
    mov word [es:si+00ah], bx                 ; 26 89 5c 0a                 ; 0xf6859
    movzx bx, byte [bp+00ah]                  ; 0f b6 5e 0a                 ; 0xf685d system.c:610
    mov word [es:si+010h], bx                 ; 26 89 5c 10                 ; 0xf6861
    mov word [es:si+012h], strict word 00000h ; 26 c7 44 12 00 00           ; 0xf6865
    db  066h, 026h, 0c7h, 044h, 00ch, 000h, 000h, 000h, 000h
    ; mov dword [es:si+00ch], strict dword 000000000h ; 66 26 c7 44 0c 00 00 00 00; 0xf686b system.c:611
    db  066h, 026h, 0c7h, 044h, 004h, 000h, 000h, 000h, 000h
    ; mov dword [es:si+004h], strict dword 000000000h ; 66 26 c7 44 04 00 00 00 00; 0xf6874 system.c:612
    pop bp                                    ; 5d                          ; 0xf687d system.c:613
    pop si                                    ; 5e                          ; 0xf687e
    retn 00006h                               ; c2 06 00                    ; 0xf687f
  ; disGetNextSymbol 0xf6882 LB 0x459a -> off=0x0 cb=0000000000000039 uValue=00000000000f5282 'set_e820_range_above_4g'
set_e820_range_above_4g:                     ; 0xf6882 LB 0x39
    push si                                   ; 56                          ; 0xf6882 system.c:617
    push bp                                   ; 55                          ; 0xf6883
    mov bp, sp                                ; 89 e5                       ; 0xf6884
    mov es, ax                                ; 8e c0                       ; 0xf6886
    mov si, dx                                ; 89 d6                       ; 0xf6888
    db  066h, 026h, 0c7h, 004h, 000h, 000h, 000h, 000h
    ; mov dword [es:si], strict dword 000000000h ; 66 26 c7 04 00 00 00 00  ; 0xf688a system.c:620
    db  066h, 026h, 0c7h, 044h, 004h, 001h, 000h, 000h, 000h
    ; mov dword [es:si+004h], strict dword 000000001h ; 66 26 c7 44 04 01 00 00 00; 0xf6892 system.c:621
    mov word [es:si+00ah], bx                 ; 26 89 5c 0a                 ; 0xf689b system.c:622
    mov word [es:si+008h], strict word 00000h ; 26 c7 44 08 00 00           ; 0xf689f
    mov word [es:si+00ch], cx                 ; 26 89 4c 0c                 ; 0xf68a5 system.c:623
    db  066h, 026h, 0c7h, 044h, 00eh, 000h, 000h, 001h, 000h
    ; mov dword [es:si+00eh], strict dword 000010000h ; 66 26 c7 44 0e 00 00 01 00; 0xf68a9
    mov word [es:si+012h], strict word 00000h ; 26 c7 44 12 00 00           ; 0xf68b2 system.c:624
    pop bp                                    ; 5d                          ; 0xf68b8 system.c:625
    pop si                                    ; 5e                          ; 0xf68b9
    retn                                      ; c3                          ; 0xf68ba
  ; disGetNextSymbol 0xf68bb LB 0x4561 -> off=0x14 cb=00000000000002a4 uValue=00000000000f52cf 'int15_function32'
    db  0d3h, 069h, 006h, 06ah, 026h, 06ah, 044h, 06ah, 066h, 06ah, 088h, 06ah, 0a8h, 06ah, 0c8h, 06ah
    db  042h, 06bh, 0fbh, 06ah
int15_function32:                            ; 0xf68cf LB 0x2a4
    push bp                                   ; 55                          ; 0xf68cf system.c:627
    mov bp, sp                                ; 89 e5                       ; 0xf68d0
    push si                                   ; 56                          ; 0xf68d2
    push di                                   ; 57                          ; 0xf68d3
    push ax                                   ; 50                          ; 0xf68d4
    push ax                                   ; 50                          ; 0xf68d5
    mov ax, word [bp+020h]                    ; 8b 46 20                    ; 0xf68d6 system.c:631
    shr ax, 008h                              ; c1 e8 08                    ; 0xf68d9
    cmp ax, 000e8h                            ; 3d e8 00                    ; 0xf68dc
    je near 06955h                            ; 0f 84 72 00                 ; 0xf68df
    cmp ax, 000d0h                            ; 3d d0 00                    ; 0xf68e3
    jne near 06b42h                           ; 0f 85 58 02                 ; 0xf68e6
    mov ax, word [bp+020h]                    ; 8b 46 20                    ; 0xf68ea system.c:633
    xor ah, ah                                ; 30 e4                       ; 0xf68ed
    cmp ax, strict word 0004fh                ; 3d 4f 00                    ; 0xf68ef
    jne near 06b42h                           ; 0f 85 4c 02                 ; 0xf68f2
    cmp word [bp+016h], 05052h                ; 81 7e 16 52 50              ; 0xf68f6 system.c:635
    jne near 06b42h                           ; 0f 85 43 02                 ; 0xf68fb
    cmp word [bp+014h], 04f43h                ; 81 7e 14 43 4f              ; 0xf68ff
    jne near 06b42h                           ; 0f 85 3a 02                 ; 0xf6904
    cmp word [bp+01eh], 04d4fh                ; 81 7e 1e 4f 4d              ; 0xf6908
    jne near 06b42h                           ; 0f 85 31 02                 ; 0xf690d
    cmp word [bp+01ch], 04445h                ; 81 7e 1c 45 44              ; 0xf6911
    jne near 06b42h                           ; 0f 85 28 02                 ; 0xf6916
    mov ax, word [bp+00ah]                    ; 8b 46 0a                    ; 0xf691a
    or ax, word [bp+008h]                     ; 0b 46 08                    ; 0xf691d
    jne near 06b42h                           ; 0f 85 1e 02                 ; 0xf6920
    mov ax, word [bp+006h]                    ; 8b 46 06                    ; 0xf6924
    or ax, word [bp+004h]                     ; 0b 46 04                    ; 0xf6927
    jne near 06b42h                           ; 0f 85 14 02                 ; 0xf692a
    and byte [bp+028h], 0feh                  ; 80 66 28 fe                 ; 0xf692e system.c:637
    mov ax, word [bp+014h]                    ; 8b 46 14                    ; 0xf6932 system.c:638
    mov word [bp+008h], ax                    ; 89 46 08                    ; 0xf6935
    mov ax, word [bp+016h]                    ; 8b 46 16                    ; 0xf6938
    mov word [bp+00ah], ax                    ; 89 46 0a                    ; 0xf693b
    mov ax, word [bp+01ch]                    ; 8b 46 1c                    ; 0xf693e system.c:639
    mov word [bp+004h], ax                    ; 89 46 04                    ; 0xf6941
    mov ax, word [bp+01eh]                    ; 8b 46 1e                    ; 0xf6944
    mov word [bp+006h], ax                    ; 89 46 06                    ; 0xf6947
    mov dword [bp+020h], strict dword 049413332h ; 66 c7 46 20 32 33 41 49  ; 0xf694a system.c:640
    jmp near 06b6ch                           ; e9 17 02                    ; 0xf6952 system.c:644
    mov ax, word [bp+020h]                    ; 8b 46 20                    ; 0xf6955 system.c:647
    xor ah, ah                                ; 30 e4                       ; 0xf6958
    cmp ax, strict word 00020h                ; 3d 20 00                    ; 0xf695a
    je short 06969h                           ; 74 0a                       ; 0xf695d
    cmp ax, strict word 00001h                ; 3d 01 00                    ; 0xf695f
    je near 06b15h                            ; 0f 84 af 01                 ; 0xf6962
    jmp near 06b42h                           ; e9 d9 01                    ; 0xf6966
    cmp word [bp+01ah], 0534dh                ; 81 7e 1a 4d 53              ; 0xf6969 system.c:649
    jne near 06b42h                           ; 0f 85 d0 01                 ; 0xf696e
    cmp word [bp+018h], 04150h                ; 81 7e 18 50 41              ; 0xf6972
    jne near 06b42h                           ; 0f 85 c7 01                 ; 0xf6977
    mov ax, strict word 00034h                ; b8 34 00                    ; 0xf697b system.c:658
    call 017a6h                               ; e8 25 ae                    ; 0xf697e
    mov bx, ax                                ; 89 c3                       ; 0xf6981
    xor dx, dx                                ; 31 d2                       ; 0xf6983
    test ax, ax                               ; 85 c0                       ; 0xf6985 system.c:659
    jbe short 06993h                          ; 76 0a                       ; 0xf6987
    mov dx, ax                                ; 89 c2                       ; 0xf6989 system.c:661
    add dx, 00100h                            ; 81 c2 00 01                 ; 0xf698b
    xor bx, ax                                ; 31 c3                       ; 0xf698f
    jmp short 069aah                          ; eb 17                       ; 0xf6991 system.c:664
    mov ax, strict word 00030h                ; b8 30 00                    ; 0xf6993 system.c:667
    call 017a6h                               ; e8 0d ae                    ; 0xf6996
    mov bx, ax                                ; 89 c3                       ; 0xf6999 system.c:668
    add bx, 00400h                            ; 81 c3 00 04                 ; 0xf699b
    adc dx, dx                                ; 11 d2                       ; 0xf699f
    mov cx, strict word 0000ah                ; b9 0a 00                    ; 0xf69a1 system.c:669
    sal bx, 1                                 ; d1 e3                       ; 0xf69a4
    rcl dx, 1                                 ; d1 d2                       ; 0xf69a6
    loop 069a4h                               ; e2 fa                       ; 0xf69a8
    mov ax, strict word 00061h                ; b8 61 00                    ; 0xf69aa system.c:674
    call 017a6h                               ; e8 f6 ad                    ; 0xf69ad
    mov word [bp-006h], ax                    ; 89 46 fa                    ; 0xf69b0
    mov word [bp-008h], ax                    ; 89 46 f8                    ; 0xf69b3
    mov ax, strict word 00063h                ; b8 63 00                    ; 0xf69b6 system.c:675
    call 017a6h                               ; e8 ea ad                    ; 0xf69b9
    mov si, ax                                ; 89 c6                       ; 0xf69bc
    mov cx, ax                                ; 89 c1                       ; 0xf69be
    mov ax, word [bp+014h]                    ; 8b 46 14                    ; 0xf69c0 system.c:681
    cmp ax, strict word 00009h                ; 3d 09 00                    ; 0xf69c3
    jnbe near 06b42h                          ; 0f 87 78 01                 ; 0xf69c6
    mov di, ax                                ; 89 c7                       ; 0xf69ca
    add di, ax                                ; 01 c7                       ; 0xf69cc
    jmp word [cs:di+068bbh]                   ; 2e ff a5 bb 68              ; 0xf69ce
    push strict byte 00001h                   ; 6a 01                       ; 0xf69d3 system.c:684
    push strict byte 00009h                   ; 6a 09                       ; 0xf69d5
    push 0fc00h                               ; 68 00 fc                    ; 0xf69d7
    mov dx, word [bp+004h]                    ; 8b 56 04                    ; 0xf69da
    mov ax, word [bp+024h]                    ; 8b 46 24                    ; 0xf69dd
    xor bx, bx                                ; 31 db                       ; 0xf69e0
    xor cx, cx                                ; 31 c9                       ; 0xf69e2
    call 06840h                               ; e8 59 fe                    ; 0xf69e4
    mov dword [bp+014h], strict dword 000000001h ; 66 c7 46 14 01 00 00 00  ; 0xf69e7 system.c:685
    mov dword [bp+020h], strict dword 0534d4150h ; 66 c7 46 20 50 41 4d 53  ; 0xf69ef system.c:686
    mov dword [bp+01ch], strict dword 000000014h ; 66 c7 46 1c 14 00 00 00  ; 0xf69f7
    and byte [bp+028h], 0feh                  ; 80 66 28 fe                 ; 0xf69ff
    jmp near 06b6ch                           ; e9 66 01                    ; 0xf6a03
    push strict byte 00002h                   ; 6a 02                       ; 0xf6a06 system.c:688
    push strict byte 00000h                   ; 6a 00                       ; 0xf6a08
    push 00400h                               ; 68 00 04                    ; 0xf6a0a
    mov dx, word [bp+004h]                    ; 8b 56 04                    ; 0xf6a0d
    mov ax, word [bp+024h]                    ; 8b 46 24                    ; 0xf6a10
    mov bx, 0fc00h                            ; bb 00 fc                    ; 0xf6a13
    mov cx, strict word 00009h                ; b9 09 00                    ; 0xf6a16
    call 06840h                               ; e8 24 fe                    ; 0xf6a19
    mov dword [bp+014h], strict dword 000000002h ; 66 c7 46 14 02 00 00 00  ; 0xf6a1c system.c:689
    jmp short 069efh                          ; eb c9                       ; 0xf6a24 system.c:690
    push strict byte 00002h                   ; 6a 02                       ; 0xf6a26 system.c:703
    push strict byte 00001h                   ; 6a 01                       ; 0xf6a28
    push strict byte 00000h                   ; 6a 00                       ; 0xf6a2a
    mov dx, word [bp+004h]                    ; 8b 56 04                    ; 0xf6a2c
    mov ax, word [bp+024h]                    ; 8b 46 24                    ; 0xf6a2f
    xor bx, bx                                ; 31 db                       ; 0xf6a32
    mov cx, strict word 0000fh                ; b9 0f 00                    ; 0xf6a34
    call 06840h                               ; e8 06 fe                    ; 0xf6a37
    mov dword [bp+014h], strict dword 000000003h ; 66 c7 46 14 03 00 00 00  ; 0xf6a3a system.c:704
    jmp short 069efh                          ; eb ab                       ; 0xf6a42 system.c:705
    push strict byte 00001h                   ; 6a 01                       ; 0xf6a44 system.c:707
    add bx, strict byte 00000h                ; 83 c3 00                    ; 0xf6a46
    adc dx, strict byte 0ffefh                ; 83 d2 ef                    ; 0xf6a49
    push dx                                   ; 52                          ; 0xf6a4c
    push bx                                   ; 53                          ; 0xf6a4d
    mov dx, word [bp+004h]                    ; 8b 56 04                    ; 0xf6a4e
    mov ax, word [bp+024h]                    ; 8b 46 24                    ; 0xf6a51
    xor bx, bx                                ; 31 db                       ; 0xf6a54
    mov cx, strict word 00010h                ; b9 10 00                    ; 0xf6a56
    call 06840h                               ; e8 e4 fd                    ; 0xf6a59
    mov dword [bp+014h], strict dword 000000004h ; 66 c7 46 14 04 00 00 00  ; 0xf6a5c system.c:708
    jmp short 069efh                          ; eb 89                       ; 0xf6a64 system.c:709
    push strict byte 00003h                   ; 6a 03                       ; 0xf6a66 system.c:711
    push strict byte 00001h                   ; 6a 01                       ; 0xf6a68
    push strict byte 00000h                   ; 6a 00                       ; 0xf6a6a
    add bx, strict byte 00000h                ; 83 c3 00                    ; 0xf6a6c
    mov cx, dx                                ; 89 d1                       ; 0xf6a6f
    adc cx, strict byte 0ffffh                ; 83 d1 ff                    ; 0xf6a71
    mov dx, word [bp+004h]                    ; 8b 56 04                    ; 0xf6a74
    mov ax, word [bp+024h]                    ; 8b 46 24                    ; 0xf6a77
    call 06840h                               ; e8 c3 fd                    ; 0xf6a7a
    mov dword [bp+014h], strict dword 000000005h ; 66 c7 46 14 05 00 00 00  ; 0xf6a7d system.c:712
    jmp near 069efh                           ; e9 67 ff                    ; 0xf6a85 system.c:713
    push strict byte 00002h                   ; 6a 02                       ; 0xf6a88 system.c:715
    push strict byte 00000h                   ; 6a 00                       ; 0xf6a8a
    push 01000h                               ; 68 00 10                    ; 0xf6a8c
    mov dx, word [bp+004h]                    ; 8b 56 04                    ; 0xf6a8f
    mov ax, word [bp+024h]                    ; 8b 46 24                    ; 0xf6a92
    xor bx, bx                                ; 31 db                       ; 0xf6a95
    mov cx, 0fec0h                            ; b9 c0 fe                    ; 0xf6a97
    call 06840h                               ; e8 a3 fd                    ; 0xf6a9a
    mov dword [bp+014h], strict dword 000000006h ; 66 c7 46 14 06 00 00 00  ; 0xf6a9d system.c:716
    jmp near 069efh                           ; e9 47 ff                    ; 0xf6aa5 system.c:717
    push strict byte 00002h                   ; 6a 02                       ; 0xf6aa8 system.c:719
    push strict byte 00000h                   ; 6a 00                       ; 0xf6aaa
    push 01000h                               ; 68 00 10                    ; 0xf6aac
    mov dx, word [bp+004h]                    ; 8b 56 04                    ; 0xf6aaf
    mov ax, word [bp+024h]                    ; 8b 46 24                    ; 0xf6ab2
    xor bx, bx                                ; 31 db                       ; 0xf6ab5
    mov cx, 0fee0h                            ; b9 e0 fe                    ; 0xf6ab7
    call 06840h                               ; e8 83 fd                    ; 0xf6aba
    mov dword [bp+014h], strict dword 000000007h ; 66 c7 46 14 07 00 00 00  ; 0xf6abd system.c:720
    jmp near 069efh                           ; e9 27 ff                    ; 0xf6ac5 system.c:721
    push strict byte 00002h                   ; 6a 02                       ; 0xf6ac8 system.c:724
    push strict byte 00004h                   ; 6a 04                       ; 0xf6aca
    push strict byte 00000h                   ; 6a 00                       ; 0xf6acc
    mov dx, word [bp+004h]                    ; 8b 56 04                    ; 0xf6ace
    mov ax, word [bp+024h]                    ; 8b 46 24                    ; 0xf6ad1
    xor bx, bx                                ; 31 db                       ; 0xf6ad4
    mov cx, strict word 0fffch                ; b9 fc ff                    ; 0xf6ad6
    call 06840h                               ; e8 64 fd                    ; 0xf6ad9
    mov ax, word [bp-006h]                    ; 8b 46 fa                    ; 0xf6adc system.c:730
    test ax, ax                               ; 85 c0                       ; 0xf6adf
    jne short 06ae7h                          ; 75 04                       ; 0xf6ae1
    test si, si                               ; 85 f6                       ; 0xf6ae3
    je short 06af2h                           ; 74 0b                       ; 0xf6ae5
    mov dword [bp+014h], strict dword 000000009h ; 66 c7 46 14 09 00 00 00  ; 0xf6ae7 system.c:731
    jmp near 069efh                           ; e9 fd fe                    ; 0xf6aef system.c:732
    mov word [bp+014h], ax                    ; 89 46 14                    ; 0xf6af2 system.c:733
    mov word [bp+016h], ax                    ; 89 46 16                    ; 0xf6af5
    jmp near 069efh                           ; e9 f4 fe                    ; 0xf6af8 system.c:734
    cmp word [bp-006h], strict byte 00000h    ; 83 7e fa 00                 ; 0xf6afb system.c:747
    jne short 06b05h                          ; 75 04                       ; 0xf6aff
    test si, si                               ; 85 f6                       ; 0xf6b01
    je short 06b42h                           ; 74 3d                       ; 0xf6b03
    mov dx, word [bp+004h]                    ; 8b 56 04                    ; 0xf6b05 system.c:749
    mov ax, word [bp+024h]                    ; 8b 46 24                    ; 0xf6b08
    mov bx, word [bp-008h]                    ; 8b 5e f8                    ; 0xf6b0b
    call 06882h                               ; e8 71 fd                    ; 0xf6b0e
    xor ax, ax                                ; 31 c0                       ; 0xf6b11 system.c:750
    jmp short 06af2h                          ; eb dd                       ; 0xf6b13
    and byte [bp+028h], 0feh                  ; 80 66 28 fe                 ; 0xf6b15 system.c:769
    mov ax, strict word 00030h                ; b8 30 00                    ; 0xf6b19 system.c:779
    call 017a6h                               ; e8 87 ac                    ; 0xf6b1c
    mov word [bp+01ch], ax                    ; 89 46 1c                    ; 0xf6b1f
    cmp ax, 03c00h                            ; 3d 00 3c                    ; 0xf6b22 system.c:782
    jbe short 06b2ch                          ; 76 05                       ; 0xf6b25
    mov word [bp+01ch], 03c00h                ; c7 46 1c 00 3c              ; 0xf6b27 system.c:783
    mov ax, strict word 00034h                ; b8 34 00                    ; 0xf6b2c system.c:786
    call 017a6h                               ; e8 74 ac                    ; 0xf6b2f
    mov dx, ax                                ; 89 c2                       ; 0xf6b32
    mov word [bp+018h], ax                    ; 89 46 18                    ; 0xf6b34
    mov ax, word [bp+01ch]                    ; 8b 46 1c                    ; 0xf6b37 system.c:789
    mov word [bp+020h], ax                    ; 89 46 20                    ; 0xf6b3a
    mov word [bp+014h], dx                    ; 89 56 14                    ; 0xf6b3d system.c:790
    jmp short 06b6ch                          ; eb 2a                       ; 0xf6b40 system.c:795
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf6b42 system.c:800
    mov cx, ds                                ; 8c d9                       ; 0xf6b45
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf6b47
    call 01a27h                               ; e8 da ae                    ; 0xf6b4a
    push word [bp+014h]                       ; ff 76 14                    ; 0xf6b4d
    push word [bp+020h]                       ; ff 76 20                    ; 0xf6b50
    push 00944h                               ; 68 44 09                    ; 0xf6b53
    push strict byte 00004h                   ; 6a 04                       ; 0xf6b56
    call 01a68h                               ; e8 0d af                    ; 0xf6b58
    add sp, strict byte 00008h                ; 83 c4 08                    ; 0xf6b5b
    or byte [bp+028h], 001h                   ; 80 4e 28 01                 ; 0xf6b5e system.c:801
    mov ax, word [bp+020h]                    ; 8b 46 20                    ; 0xf6b62 system.c:802
    xor al, al                                ; 30 c0                       ; 0xf6b65
    or AL, strict byte 086h                   ; 0c 86                       ; 0xf6b67
    mov word [bp+020h], ax                    ; 89 46 20                    ; 0xf6b69
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf6b6c system.c:805
    pop di                                    ; 5f                          ; 0xf6b6f
    pop si                                    ; 5e                          ; 0xf6b70
    pop bp                                    ; 5d                          ; 0xf6b71
    retn                                      ; c3                          ; 0xf6b72
  ; disGetNextSymbol 0xf6b73 LB 0x42a9 -> off=0x0 cb=0000000000000156 uValue=00000000000f5573 'int15_blkmove'
int15_blkmove:                               ; 0xf6b73 LB 0x156
    push bp                                   ; 55                          ; 0xf6b73 system.c:814
    mov bp, sp                                ; 89 e5                       ; 0xf6b74
    push si                                   ; 56                          ; 0xf6b76
    push di                                   ; 57                          ; 0xf6b77
    cli                                       ; fa                          ; 0xf6b78 system.c:824
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xf6b79 system.c:826
    call 06490h                               ; e8 11 f9                    ; 0xf6b7c
    mov bx, word [bp+006h]                    ; 8b 5e 06                    ; 0xf6b7f system.c:849
    sal bx, 004h                              ; c1 e3 04                    ; 0xf6b82
    mov ax, word [bp+00ah]                    ; 8b 46 0a                    ; 0xf6b85
    add ax, bx                                ; 01 d8                       ; 0xf6b88
    mov dx, word [bp+006h]                    ; 8b 56 06                    ; 0xf6b8a system.c:850
    shr dx, 00ch                              ; c1 ea 0c                    ; 0xf6b8d
    mov cl, dl                                ; 88 d1                       ; 0xf6b90
    cmp ax, bx                                ; 39 d8                       ; 0xf6b92 system.c:851
    jnc short 06b98h                          ; 73 02                       ; 0xf6b94
    db  0feh, 0c1h
    ; inc cl                                    ; fe c1                     ; 0xf6b96 system.c:852
    mov bx, word [bp+00ah]                    ; 8b 5e 0a                    ; 0xf6b98 system.c:853
    add bx, strict byte 00008h                ; 83 c3 08                    ; 0xf6b9b
    mov es, [bp+006h]                         ; 8e 46 06                    ; 0xf6b9e system.c:61
    mov word [es:bx], strict word 0002fh      ; 26 c7 07 2f 00              ; 0xf6ba1
    mov bx, word [bp+00ah]                    ; 8b 5e 0a                    ; 0xf6ba6 system.c:854
    add bx, strict byte 0000ah                ; 83 c3 0a                    ; 0xf6ba9
    mov word [es:bx], ax                      ; 26 89 07                    ; 0xf6bac system.c:61
    mov bx, word [bp+00ah]                    ; 8b 5e 0a                    ; 0xf6baf system.c:855
    add bx, strict byte 0000ch                ; 83 c3 0c                    ; 0xf6bb2
    mov byte [es:bx], cl                      ; 26 88 0f                    ; 0xf6bb5 system.c:53
    mov bx, word [bp+00ah]                    ; 8b 5e 0a                    ; 0xf6bb8 system.c:856
    add bx, strict byte 0000dh                ; 83 c3 0d                    ; 0xf6bbb
    mov byte [es:bx], 093h                    ; 26 c6 07 93                 ; 0xf6bbe system.c:53
    mov bx, word [bp+00ah]                    ; 8b 5e 0a                    ; 0xf6bc2 system.c:857
    add bx, strict byte 0000eh                ; 83 c3 0e                    ; 0xf6bc5
    mov word [es:bx], strict word 00000h      ; 26 c7 07 00 00              ; 0xf6bc8 system.c:61
    mov bx, word [bp+00ah]                    ; 8b 5e 0a                    ; 0xf6bcd system.c:860
    add bx, strict byte 00020h                ; 83 c3 20                    ; 0xf6bd0
    mov word [es:bx], strict word 0ffffh      ; 26 c7 07 ff ff              ; 0xf6bd3 system.c:61
    mov bx, word [bp+00ah]                    ; 8b 5e 0a                    ; 0xf6bd8 system.c:861
    add bx, strict byte 00022h                ; 83 c3 22                    ; 0xf6bdb
    mov word [es:bx], strict word 00000h      ; 26 c7 07 00 00              ; 0xf6bde system.c:63
    mov bx, word [bp+00ah]                    ; 8b 5e 0a                    ; 0xf6be3 system.c:862
    add bx, strict byte 00024h                ; 83 c3 24                    ; 0xf6be6
    mov byte [es:bx], 00fh                    ; 26 c6 07 0f                 ; 0xf6be9 system.c:51
    mov bx, word [bp+00ah]                    ; 8b 5e 0a                    ; 0xf6bed system.c:863
    add bx, strict byte 00025h                ; 83 c3 25                    ; 0xf6bf0
    mov byte [es:bx], 09bh                    ; 26 c6 07 9b                 ; 0xf6bf3 system.c:51
    mov bx, word [bp+00ah]                    ; 8b 5e 0a                    ; 0xf6bf7 system.c:864
    add bx, strict byte 00026h                ; 83 c3 26                    ; 0xf6bfa
    mov word [es:bx], strict word 00000h      ; 26 c7 07 00 00              ; 0xf6bfd system.c:61
    mov ax, ss                                ; 8c d0                       ; 0xf6c02 system.c:867
    mov cx, ax                                ; 89 c1                       ; 0xf6c04
    sal ax, 004h                              ; c1 e0 04                    ; 0xf6c06 system.c:868
    shr cx, 00ch                              ; c1 e9 0c                    ; 0xf6c09
    mov bx, word [bp+00ah]                    ; 8b 5e 0a                    ; 0xf6c0c system.c:870
    add bx, strict byte 00028h                ; 83 c3 28                    ; 0xf6c0f
    mov word [es:bx], strict word 0ffffh      ; 26 c7 07 ff ff              ; 0xf6c12 system.c:61
    mov bx, word [bp+00ah]                    ; 8b 5e 0a                    ; 0xf6c17 system.c:871
    add bx, strict byte 0002ah                ; 83 c3 2a                    ; 0xf6c1a
    mov word [es:bx], ax                      ; 26 89 07                    ; 0xf6c1d system.c:61
    mov bx, word [bp+00ah]                    ; 8b 5e 0a                    ; 0xf6c20 system.c:872
    add bx, strict byte 0002ch                ; 83 c3 2c                    ; 0xf6c23
    mov byte [es:bx], cl                      ; 26 88 0f                    ; 0xf6c26 system.c:51
    mov bx, word [bp+00ah]                    ; 8b 5e 0a                    ; 0xf6c29 system.c:873
    add bx, strict byte 0002dh                ; 83 c3 2d                    ; 0xf6c2c
    mov byte [es:bx], 093h                    ; 26 c6 07 93                 ; 0xf6c2f system.c:53
    mov bx, word [bp+00ah]                    ; 8b 5e 0a                    ; 0xf6c33 system.c:874
    add bx, strict byte 0002eh                ; 83 c3 2e                    ; 0xf6c36
    mov word [es:bx], strict word 00000h      ; 26 c7 07 00 00              ; 0xf6c39 system.c:63
    mov si, word [bp+00ah]                    ; 8b 76 0a                    ; 0xf6c3e system.c:880
    mov cx, word [bp+014h]                    ; 8b 4e 14                    ; 0xf6c41
    push DS                                   ; 1e                          ; 0xf6c44
    push eax                                  ; 66 50                       ; 0xf6c45
    db  033h, 0c0h
    ; xor ax, ax                                ; 33 c0                     ; 0xf6c47
    mov ds, ax                                ; 8e d8                       ; 0xf6c49
    mov word [00467h], sp                     ; 89 26 67 04                 ; 0xf6c4b
    mov [00469h], ss                          ; 8c 16 69 04                 ; 0xf6c4f
    lgdt [es:si+008h]                         ; 26 0f 01 54 08              ; 0xf6c53 system.c:884
    lidt [cs:0efe1h]                          ; 2e 0f 01 1e e1 ef           ; 0xf6c58
    push strict byte 00020h                   ; 6a 20                       ; 0xf6c5e
    call 06c63h                               ; e8 00 00                    ; 0xf6c60
    pop ax                                    ; 58                          ; 0xf6c63
    add ax, strict byte 0000eh                ; 83 c0 0e                    ; 0xf6c64
    push ax                                   ; 50                          ; 0xf6c67
    mov eax, cr0                              ; 0f 20 c0                    ; 0xf6c68
    or AL, strict byte 001h                   ; 0c 01                       ; 0xf6c6b
    mov cr0, eax                              ; 0f 22 c0                    ; 0xf6c6d
    retf                                      ; cb                          ; 0xf6c70
    mov ax, strict word 00010h                ; b8 10 00                    ; 0xf6c71
    mov ds, ax                                ; 8e d8                       ; 0xf6c74
    add AL, strict byte 008h                  ; 04 08                       ; 0xf6c76
    mov es, ax                                ; 8e c0                       ; 0xf6c78
    add AL, strict byte 010h                  ; 04 10                       ; 0xf6c7a
    mov ss, ax                                ; 8e d0                       ; 0xf6c7c
    db  033h, 0f6h
    ; xor si, si                                ; 33 f6                     ; 0xf6c7e system.c:885
    db  033h, 0ffh
    ; xor di, di                                ; 33 ff                     ; 0xf6c80
    cld                                       ; fc                          ; 0xf6c82
    rep movsw                                 ; f3 a5                       ; 0xf6c83
    mov ax, strict word 00028h                ; b8 28 00                    ; 0xf6c85 system.c:886
    mov ds, ax                                ; 8e d8                       ; 0xf6c88
    mov es, ax                                ; 8e c0                       ; 0xf6c8a
    push 0f000h                               ; 68 00 f0                    ; 0xf6c8c
    call 06c92h                               ; e8 00 00                    ; 0xf6c8f
    pop ax                                    ; 58                          ; 0xf6c92
    add ax, strict byte 0000eh                ; 83 c0 0e                    ; 0xf6c93
    push ax                                   ; 50                          ; 0xf6c96
    mov eax, cr0                              ; 0f 20 c0                    ; 0xf6c97
    and AL, strict byte 0feh                  ; 24 fe                       ; 0xf6c9a
    mov cr0, eax                              ; 0f 22 c0                    ; 0xf6c9c
    retf                                      ; cb                          ; 0xf6c9f
    lidt [cs:0efe7h]                          ; 2e 0f 01 1e e7 ef           ; 0xf6ca0
    db  033h, 0c0h
    ; xor ax, ax                                ; 33 c0                     ; 0xf6ca6 system.c:887
    mov ds, ax                                ; 8e d8                       ; 0xf6ca8
    mov es, ax                                ; 8e c0                       ; 0xf6caa
    lss sp, [00467h]                          ; 0f b2 26 67 04              ; 0xf6cac
    pop eax                                   ; 66 58                       ; 0xf6cb1
    pop DS                                    ; 1f                          ; 0xf6cb3
    xor ax, ax                                ; 31 c0                       ; 0xf6cb4 system.c:889
    call 06490h                               ; e8 d7 f7                    ; 0xf6cb6
    sti                                       ; fb                          ; 0xf6cb9 system.c:892
    mov byte [bp+017h], 000h                  ; c6 46 17 00                 ; 0xf6cba system.c:894
    and byte [bp+01ch], 0feh                  ; 80 66 1c fe                 ; 0xf6cbe system.c:895
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf6cc2 system.c:896
    pop di                                    ; 5f                          ; 0xf6cc5
    pop si                                    ; 5e                          ; 0xf6cc6
    pop bp                                    ; 5d                          ; 0xf6cc7
    retn                                      ; c3                          ; 0xf6cc8
  ; disGetNextSymbol 0xf6cc9 LB 0x4153 -> off=0x0 cb=0000000000000195 uValue=00000000000f56c9 'inv_op_handler'
inv_op_handler:                              ; 0xf6cc9 LB 0x195
    push bp                                   ; 55                          ; 0xf6cc9 invop.c:247
    mov bp, sp                                ; 89 e5                       ; 0xf6cca
    push si                                   ; 56                          ; 0xf6ccc
    push di                                   ; 57                          ; 0xf6ccd
    push ax                                   ; 50                          ; 0xf6cce
    push ax                                   ; 50                          ; 0xf6ccf
    les bx, [bp+018h]                         ; c4 5e 18                    ; 0xf6cd0 invop.c:249
    cmp byte [es:bx], 0f0h                    ; 26 80 3f f0                 ; 0xf6cd3 invop.c:251
    jne short 06cdfh                          ; 75 06                       ; 0xf6cd7
    inc word [bp+018h]                        ; ff 46 18                    ; 0xf6cd9 invop.c:253
    jmp near 06e57h                           ; e9 78 01                    ; 0xf6cdc invop.c:254
    cmp word [es:bx], 0050fh                  ; 26 81 3f 0f 05              ; 0xf6cdf
    jne near 06e53h                           ; 0f 85 6b 01                 ; 0xf6ce4
    mov si, 00800h                            ; be 00 08                    ; 0xf6ce8 invop.c:256
    xor ax, ax                                ; 31 c0                       ; 0xf6ceb
    mov word [bp-006h], ax                    ; 89 46 fa                    ; 0xf6ced
    mov word [bp-008h], ax                    ; 89 46 f8                    ; 0xf6cf0 invop.c:259
    mov es, ax                                ; 8e c0                       ; 0xf6cf3 invop.c:267
    mov bx, word [es:si+02ch]                 ; 26 8b 5c 2c                 ; 0xf6cf5
    sub bx, strict byte 00006h                ; 83 eb 06                    ; 0xf6cf9
    mov dx, word [es:si+020h]                 ; 26 8b 54 20                 ; 0xf6cfc
    mov ax, word [es:si+01ah]                 ; 26 8b 44 1a                 ; 0xf6d00 invop.c:268
    mov es, dx                                ; 8e c2                       ; 0xf6d04
    mov word [es:bx], ax                      ; 26 89 07                    ; 0xf6d06
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xf6d09 invop.c:269
    mov ax, word [es:si+022h]                 ; 26 8b 44 22                 ; 0xf6d0c
    mov es, dx                                ; 8e c2                       ; 0xf6d10
    mov word [es:bx+002h], ax                 ; 26 89 47 02                 ; 0xf6d12
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xf6d16 invop.c:270
    mov ax, word [es:si+018h]                 ; 26 8b 44 18                 ; 0xf6d19
    mov es, dx                                ; 8e c2                       ; 0xf6d1d
    mov word [es:bx+004h], ax                 ; 26 89 47 04                 ; 0xf6d1f
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xf6d23 invop.c:273
    movzx bx, byte [es:si+038h]               ; 26 0f b6 5c 38              ; 0xf6d26
    mov di, word [es:si+036h]                 ; 26 8b 7c 36                 ; 0xf6d2b
    mov ax, word [es:si+024h]                 ; 26 8b 44 24                 ; 0xf6d2f invop.c:274
    xor dx, dx                                ; 31 d2                       ; 0xf6d33
    mov cx, strict word 00004h                ; b9 04 00                    ; 0xf6d35
    sal ax, 1                                 ; d1 e0                       ; 0xf6d38
    rcl dx, 1                                 ; d1 d2                       ; 0xf6d3a
    loop 06d38h                               ; e2 fa                       ; 0xf6d3c
    cmp bx, dx                                ; 39 d3                       ; 0xf6d3e
    jne short 06d46h                          ; 75 04                       ; 0xf6d40
    cmp di, ax                                ; 39 c7                       ; 0xf6d42
    je short 06d4bh                           ; 74 05                       ; 0xf6d44
    mov word [bp-008h], strict word 00001h    ; c7 46 f8 01 00              ; 0xf6d46 invop.c:275
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xf6d4b invop.c:276
    movzx di, byte [es:si+04ah]               ; 26 0f b6 7c 4a              ; 0xf6d4e
    mov bx, word [es:si+048h]                 ; 26 8b 5c 48                 ; 0xf6d53
    mov ax, word [es:si+01eh]                 ; 26 8b 44 1e                 ; 0xf6d57 invop.c:277
    xor dx, dx                                ; 31 d2                       ; 0xf6d5b
    mov cx, strict word 00004h                ; b9 04 00                    ; 0xf6d5d
    sal ax, 1                                 ; d1 e0                       ; 0xf6d60
    rcl dx, 1                                 ; d1 d2                       ; 0xf6d62
    loop 06d60h                               ; e2 fa                       ; 0xf6d64
    cmp di, dx                                ; 39 d7                       ; 0xf6d66
    jne short 06d6eh                          ; 75 04                       ; 0xf6d68
    cmp bx, ax                                ; 39 c3                       ; 0xf6d6a
    je short 06d72h                           ; 74 04                       ; 0xf6d6c
    or byte [bp-008h], 002h                   ; 80 4e f8 02                 ; 0xf6d6e invop.c:278
    push strict byte 00000h                   ; 6a 00                       ; 0xf6d72 invop.c:281
    push 00800h                               ; 68 00 08                    ; 0xf6d74
    push strict byte 0001fh                   ; 6a 1f                       ; 0xf6d77
    db  08bh, 0dch
    ; mov bx, sp                                ; 8b dc                     ; 0xf6d79
    lgdt [ss:bx]                              ; 36 0f 01 17                 ; 0xf6d7b
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf6d7f
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xf6d82 invop.c:284
    mov ax, word [es:si+03ah]                 ; 26 8b 44 3a                 ; 0xf6d85
    mov word [es:si+008h], ax                 ; 26 89 44 08                 ; 0xf6d89
    mov ax, word [es:si+036h]                 ; 26 8b 44 36                 ; 0xf6d8d invop.c:285
    mov word [es:si+00ah], ax                 ; 26 89 44 0a                 ; 0xf6d91
    movzx dx, byte [es:si+039h]               ; 26 0f b6 54 39              ; 0xf6d95 invop.c:286
    sal dx, 008h                              ; c1 e2 08                    ; 0xf6d9a
    movzx ax, byte [es:si+038h]               ; 26 0f b6 44 38              ; 0xf6d9d
    or dx, ax                                 ; 09 c2                       ; 0xf6da2
    mov word [es:si+00ch], dx                 ; 26 89 54 0c                 ; 0xf6da4
    mov word [es:si+00eh], strict word 00000h ; 26 c7 44 0e 00 00           ; 0xf6da8 invop.c:287
    mov ax, word [es:si+04ch]                 ; 26 8b 44 4c                 ; 0xf6dae invop.c:290
    mov word [es:si], ax                      ; 26 89 04                    ; 0xf6db2
    mov ax, word [es:si+048h]                 ; 26 8b 44 48                 ; 0xf6db5 invop.c:291
    mov word [es:si+002h], ax                 ; 26 89 44 02                 ; 0xf6db9
    movzx dx, byte [es:si+04bh]               ; 26 0f b6 54 4b              ; 0xf6dbd invop.c:292
    sal dx, 008h                              ; c1 e2 08                    ; 0xf6dc2
    movzx ax, byte [es:si+04ah]               ; 26 0f b6 44 4a              ; 0xf6dc5
    or dx, ax                                 ; 09 c2                       ; 0xf6dca
    mov word [es:si+004h], dx                 ; 26 89 54 04                 ; 0xf6dcc
    movzx ax, byte [es:si+05ch]               ; 26 0f b6 44 5c              ; 0xf6dd0 invop.c:295
    mov dx, word [es:si+05ah]                 ; 26 8b 54 5a                 ; 0xf6dd5
    push ax                                   ; 50                          ; 0xf6dd9 invop.c:296
    push dx                                   ; 52                          ; 0xf6dda
    push word [es:si+05eh]                    ; 26 ff 74 5e                 ; 0xf6ddb
    db  08bh, 0dch
    ; mov bx, sp                                ; 8b dc                     ; 0xf6ddf
    lidt [ss:bx]                              ; 36 0f 01 1f                 ; 0xf6de1
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf6de5
    mov cx, word [bp-008h]                    ; 8b 4e f8                    ; 0xf6de8 invop.c:299
    mov ax, 00080h                            ; b8 80 00                    ; 0xf6deb
    mov ss, ax                                ; 8e d0                       ; 0xf6dee
    mov ax, word [ss:0001eh]                  ; 36 a1 1e 00                 ; 0xf6df0
    mov ds, ax                                ; 8e d8                       ; 0xf6df4
    mov ax, word [ss:00024h]                  ; 36 a1 24 00                 ; 0xf6df6
    mov es, ax                                ; 8e c0                       ; 0xf6dfa
    smsw ax                                   ; 0f 01 e0                    ; 0xf6dfc invop.c:300
    inc ax                                    ; 40                          ; 0xf6dff
    lmsw ax                                   ; 0f 01 f0                    ; 0xf6e00
    mov ax, strict word 00008h                ; b8 08 00                    ; 0xf6e03
    test cx, strict word 00001h               ; f7 c1 01 00                 ; 0xf6e06
    je near 06e10h                            ; 0f 84 02 00                 ; 0xf6e0a
    mov es, ax                                ; 8e c0                       ; 0xf6e0e
    test cx, strict word 00002h               ; f7 c1 02 00                 ; 0xf6e10
    je near 06e38h                            ; 0f 84 20 00                 ; 0xf6e14
    mov bx, word [word ss:00000h]             ; 36 8b 1e 00 00              ; 0xf6e18
    mov word [word ss:00008h], bx             ; 36 89 1e 08 00              ; 0xf6e1d
    mov bx, word [word ss:00002h]             ; 36 8b 1e 02 00              ; 0xf6e22
    mov word [word ss:0000ah], bx             ; 36 89 1e 0a 00              ; 0xf6e27
    mov bx, word [word ss:00004h]             ; 36 8b 1e 04 00              ; 0xf6e2c
    mov word [word ss:0000ch], bx             ; 36 89 1e 0c 00              ; 0xf6e31
    mov ds, ax                                ; 8e d8                       ; 0xf6e36
    mov eax, cr0                              ; 0f 20 c0                    ; 0xf6e38
    dec ax                                    ; 48                          ; 0xf6e3b
    mov cr0, eax                              ; 0f 22 c0                    ; 0xf6e3c
    mov sp, strict word 00026h                ; bc 26 00                    ; 0xf6e3f invop.c:301
    popaw                                     ; 61                          ; 0xf6e42
    mov sp, word [word ss:0002ch]             ; 36 8b 26 2c 00              ; 0xf6e43
    sub sp, strict byte 00006h                ; 83 ec 06                    ; 0xf6e48
    mov ss, [word ss:00020h]                  ; 36 8e 16 20 00              ; 0xf6e4b
    iret                                      ; cf                          ; 0xf6e50
    jmp short 06e57h                          ; eb 04                       ; 0xf6e51 invop.c:353
    sti                                       ; fb                          ; 0xf6e53 invop.c:357
    hlt                                       ; f4                          ; 0xf6e54 invop.c:358
    jmp short 06e54h                          ; eb fd                       ; 0xf6e55
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf6e57 invop.c:360
    pop di                                    ; 5f                          ; 0xf6e5a
    pop si                                    ; 5e                          ; 0xf6e5b
    pop bp                                    ; 5d                          ; 0xf6e5c
    retn                                      ; c3                          ; 0xf6e5d
  ; disGetNextSymbol 0xf6e5e LB 0x3fbe -> off=0x0 cb=0000000000000028 uValue=00000000000f585e 'init_rtc'
init_rtc:                                    ; 0xf6e5e LB 0x28
    push bp                                   ; 55                          ; 0xf6e5e timepci.c:84
    mov bp, sp                                ; 89 e5                       ; 0xf6e5f
    push dx                                   ; 52                          ; 0xf6e61
    mov dx, strict word 00026h                ; ba 26 00                    ; 0xf6e62 timepci.c:86
    mov ax, strict word 0000ah                ; b8 0a 00                    ; 0xf6e65
    call 01787h                               ; e8 1c a9                    ; 0xf6e68
    mov dx, strict word 00002h                ; ba 02 00                    ; 0xf6e6b timepci.c:87
    mov ax, strict word 0000bh                ; b8 0b 00                    ; 0xf6e6e
    call 01787h                               ; e8 13 a9                    ; 0xf6e71
    mov ax, strict word 0000ch                ; b8 0c 00                    ; 0xf6e74 timepci.c:88
    call 0176ah                               ; e8 f0 a8                    ; 0xf6e77
    mov ax, strict word 0000dh                ; b8 0d 00                    ; 0xf6e7a timepci.c:89
    call 0176ah                               ; e8 ea a8                    ; 0xf6e7d
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xf6e80 timepci.c:90
    pop dx                                    ; 5a                          ; 0xf6e83
    pop bp                                    ; 5d                          ; 0xf6e84
    retn                                      ; c3                          ; 0xf6e85
  ; disGetNextSymbol 0xf6e86 LB 0x3f96 -> off=0x0 cb=0000000000000021 uValue=00000000000f5886 'rtc_updating'
rtc_updating:                                ; 0xf6e86 LB 0x21
    push bp                                   ; 55                          ; 0xf6e86 timepci.c:92
    mov bp, sp                                ; 89 e5                       ; 0xf6e87
    push dx                                   ; 52                          ; 0xf6e89
    mov dx, 061a8h                            ; ba a8 61                    ; 0xf6e8a timepci.c:105
    dec dx                                    ; 4a                          ; 0xf6e8d timepci.c:106
    je short 06e9eh                           ; 74 0e                       ; 0xf6e8e
    mov ax, strict word 0000ah                ; b8 0a 00                    ; 0xf6e90 timepci.c:107
    call 0176ah                               ; e8 d4 a8                    ; 0xf6e93
    test AL, strict byte 080h                 ; a8 80                       ; 0xf6e96
    jne short 06e8dh                          ; 75 f3                       ; 0xf6e98
    xor ax, ax                                ; 31 c0                       ; 0xf6e9a timepci.c:108
    jmp short 06ea1h                          ; eb 03                       ; 0xf6e9c
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xf6e9e timepci.c:110
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xf6ea1 timepci.c:111
    pop dx                                    ; 5a                          ; 0xf6ea4
    pop bp                                    ; 5d                          ; 0xf6ea5
    retn                                      ; c3                          ; 0xf6ea6
  ; disGetNextSymbol 0xf6ea7 LB 0x3f75 -> off=0x0 cb=0000000000000091 uValue=00000000000f58a7 'int70_function'
int70_function:                              ; 0xf6ea7 LB 0x91
    push bp                                   ; 55                          ; 0xf6ea7 timepci.c:120
    mov bp, sp                                ; 89 e5                       ; 0xf6ea8
    push si                                   ; 56                          ; 0xf6eaa
    mov ax, strict word 0000bh                ; b8 0b 00                    ; 0xf6eab timepci.c:126
    call 0176ah                               ; e8 b9 a8                    ; 0xf6eae
    mov bl, al                                ; 88 c3                       ; 0xf6eb1
    mov dh, al                                ; 88 c6                       ; 0xf6eb3
    mov ax, strict word 0000ch                ; b8 0c 00                    ; 0xf6eb5 timepci.c:127
    call 0176ah                               ; e8 af a8                    ; 0xf6eb8
    mov dl, al                                ; 88 c2                       ; 0xf6ebb
    test bl, 060h                             ; f6 c3 60                    ; 0xf6ebd timepci.c:129
    je short 06f2fh                           ; 74 6d                       ; 0xf6ec0
    test AL, strict byte 020h                 ; a8 20                       ; 0xf6ec2 timepci.c:130
    je short 06ecah                           ; 74 04                       ; 0xf6ec4
    sti                                       ; fb                          ; 0xf6ec6 timepci.c:132
    int 04ah                                  ; cd 4a                       ; 0xf6ec7 timepci.c:133
    cli                                       ; fa                          ; 0xf6ec9 timepci.c:134
    test dl, 040h                             ; f6 c2 40                    ; 0xf6eca timepci.c:136
    je short 06f2fh                           ; 74 60                       ; 0xf6ecd
    mov bx, 000a0h                            ; bb a0 00                    ; 0xf6ecf timepci.c:48
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf6ed2
    mov es, ax                                ; 8e c0                       ; 0xf6ed5
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf6ed7
    test al, al                               ; 84 c0                       ; 0xf6eda timepci.c:49
    je short 06f2fh                           ; 74 51                       ; 0xf6edc
    mov bx, 0009ch                            ; bb 9c 00                    ; 0xf6ede timepci.c:68
    mov ax, word [es:bx]                      ; 26 8b 07                    ; 0xf6ee1
    mov bx, word [es:bx+002h]                 ; 26 8b 5f 02                 ; 0xf6ee4
    test bx, bx                               ; 85 db                       ; 0xf6ee8 timepci.c:144
    jne short 06f1dh                          ; 75 31                       ; 0xf6eea
    cmp ax, 003d1h                            ; 3d d1 03                    ; 0xf6eec
    jnc short 06f1dh                          ; 73 2c                       ; 0xf6eef
    mov bx, 00098h                            ; bb 98 00                    ; 0xf6ef1 timepci.c:58
    mov cx, word [es:bx]                      ; 26 8b 0f                    ; 0xf6ef4
    mov bx, 0009ah                            ; bb 9a 00                    ; 0xf6ef7 timepci.c:58
    mov bx, word [es:bx]                      ; 26 8b 1f                    ; 0xf6efa
    mov si, 000a0h                            ; be a0 00                    ; 0xf6efd timepci.c:53
    mov byte [es:si], 000h                    ; 26 c6 04 00                 ; 0xf6f00
    mov al, dh                                ; 88 f0                       ; 0xf6f04 timepci.c:151
    and AL, strict byte 037h                  ; 24 37                       ; 0xf6f06
    movzx dx, al                              ; 0f b6 d0                    ; 0xf6f08
    mov ax, strict word 0000bh                ; b8 0b 00                    ; 0xf6f0b
    call 01787h                               ; e8 76 a8                    ; 0xf6f0e
    mov es, cx                                ; 8e c1                       ; 0xf6f11 timepci.c:48
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf6f13
    or AL, strict byte 080h                   ; 0c 80                       ; 0xf6f16 timepci.c:49
    mov byte [es:bx], al                      ; 26 88 07                    ; 0xf6f18 timepci.c:53
    jmp short 06f2fh                          ; eb 12                       ; 0xf6f1b timepci.c:153
    add ax, 0fc2fh                            ; 05 2f fc                    ; 0xf6f1d timepci.c:155
    mov dx, bx                                ; 89 da                       ; 0xf6f20
    adc dx, strict byte 0ffffh                ; 83 d2 ff                    ; 0xf6f22
    mov bx, 0009ch                            ; bb 9c 00                    ; 0xf6f25 timepci.c:73
    mov word [es:bx], ax                      ; 26 89 07                    ; 0xf6f28
    mov word [es:bx+002h], dx                 ; 26 89 57 02                 ; 0xf6f2b
    call 0e030h                               ; e8 fe 70                    ; 0xf6f2f timepci.c:161
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xf6f32 timepci.c:162
    pop si                                    ; 5e                          ; 0xf6f35
    pop bp                                    ; 5d                          ; 0xf6f36
    retn                                      ; c3                          ; 0xf6f37
  ; disGetNextSymbol 0xf6f38 LB 0x3ee4 -> off=0x10 cb=00000000000001c8 uValue=00000000000f5948 'int1a_function'
    db  05fh, 06fh, 088h, 06fh, 0adh, 06fh, 0dfh, 06fh, 02eh, 070h, 066h, 070h, 0a9h, 070h, 000h, 071h
int1a_function:                              ; 0xf6f48 LB 0x1c8
    push bp                                   ; 55                          ; 0xf6f48 timepci.c:167
    mov bp, sp                                ; 89 e5                       ; 0xf6f49
    sti                                       ; fb                          ; 0xf6f4b timepci.c:173
    mov al, byte [bp+013h]                    ; 8a 46 13                    ; 0xf6f4c timepci.c:175
    cmp AL, strict byte 007h                  ; 3c 07                       ; 0xf6f4f
    jnbe near 06f84h                          ; 0f 87 2f 00                 ; 0xf6f51
    movzx bx, al                              ; 0f b6 d8                    ; 0xf6f55
    add bx, bx                                ; 01 db                       ; 0xf6f58
    jmp word [cs:bx+06f38h]                   ; 2e ff a7 38 6f              ; 0xf6f5a
    cli                                       ; fa                          ; 0xf6f5f timepci.c:177
    mov bx, 0046eh                            ; bb 6e 04                    ; 0xf6f60 timepci.c:178
    xor ax, ax                                ; 31 c0                       ; 0xf6f63
    mov es, ax                                ; 8e c0                       ; 0xf6f65
    mov ax, word [es:bx]                      ; 26 8b 07                    ; 0xf6f67
    mov word [bp+010h], ax                    ; 89 46 10                    ; 0xf6f6a
    mov bx, 0046ch                            ; bb 6c 04                    ; 0xf6f6d timepci.c:179
    mov ax, word [es:bx]                      ; 26 8b 07                    ; 0xf6f70
    mov word [bp+00eh], ax                    ; 89 46 0e                    ; 0xf6f73
    mov bx, 00470h                            ; bb 70 04                    ; 0xf6f76 timepci.c:180
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf6f79
    mov byte [bp+012h], al                    ; 88 46 12                    ; 0xf6f7c
    mov byte [es:bx], 000h                    ; 26 c6 07 00                 ; 0xf6f7f timepci.c:181
    sti                                       ; fb                          ; 0xf6f83 timepci.c:182
    mov sp, bp                                ; 89 ec                       ; 0xf6f84 timepci.c:185
    pop bp                                    ; 5d                          ; 0xf6f86
    retn                                      ; c3                          ; 0xf6f87
    cli                                       ; fa                          ; 0xf6f88 timepci.c:188
    mov bx, 0046eh                            ; bb 6e 04                    ; 0xf6f89 timepci.c:189
    xor ax, ax                                ; 31 c0                       ; 0xf6f8c
    mov es, ax                                ; 8e c0                       ; 0xf6f8e
    mov ax, word [bp+010h]                    ; 8b 46 10                    ; 0xf6f90
    mov word [es:bx], ax                      ; 26 89 07                    ; 0xf6f93
    mov bx, 0046ch                            ; bb 6c 04                    ; 0xf6f96 timepci.c:190
    mov ax, word [bp+00eh]                    ; 8b 46 0e                    ; 0xf6f99
    mov word [es:bx], ax                      ; 26 89 07                    ; 0xf6f9c
    mov bx, 00470h                            ; bb 70 04                    ; 0xf6f9f timepci.c:191
    mov byte [es:bx], 000h                    ; 26 c6 07 00                 ; 0xf6fa2
    sti                                       ; fb                          ; 0xf6fa6 timepci.c:192
    mov byte [bp+013h], 000h                  ; c6 46 13 00                 ; 0xf6fa7 timepci.c:193
    jmp short 06f84h                          ; eb d7                       ; 0xf6fab timepci.c:195
    call 06e86h                               ; e8 d6 fe                    ; 0xf6fad timepci.c:198
    test ax, ax                               ; 85 c0                       ; 0xf6fb0
    je short 06fb6h                           ; 74 02                       ; 0xf6fb2
    jmp short 06f84h                          ; eb ce                       ; 0xf6fb4 timepci.c:200
    xor ax, ax                                ; 31 c0                       ; 0xf6fb6 timepci.c:203
    call 0176ah                               ; e8 af a7                    ; 0xf6fb8
    mov byte [bp+00fh], al                    ; 88 46 0f                    ; 0xf6fbb
    mov ax, strict word 00002h                ; b8 02 00                    ; 0xf6fbe timepci.c:204
    call 0176ah                               ; e8 a6 a7                    ; 0xf6fc1
    mov byte [bp+010h], al                    ; 88 46 10                    ; 0xf6fc4
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf6fc7 timepci.c:205
    call 0176ah                               ; e8 9d a7                    ; 0xf6fca
    mov bl, al                                ; 88 c3                       ; 0xf6fcd
    mov byte [bp+011h], al                    ; 88 46 11                    ; 0xf6fcf
    mov ax, strict word 0000bh                ; b8 0b 00                    ; 0xf6fd2 timepci.c:206
    call 0176ah                               ; e8 92 a7                    ; 0xf6fd5
    and AL, strict byte 001h                  ; 24 01                       ; 0xf6fd8
    mov byte [bp+00eh], al                    ; 88 46 0e                    ; 0xf6fda
    jmp short 07024h                          ; eb 45                       ; 0xf6fdd
    call 06e86h                               ; e8 a4 fe                    ; 0xf6fdf timepci.c:223
    test ax, ax                               ; 85 c0                       ; 0xf6fe2
    je short 06fe9h                           ; 74 03                       ; 0xf6fe4
    call 06e5eh                               ; e8 75 fe                    ; 0xf6fe6 timepci.c:224
    movzx dx, byte [bp+00fh]                  ; 0f b6 56 0f                 ; 0xf6fe9 timepci.c:227
    xor ax, ax                                ; 31 c0                       ; 0xf6fed
    call 01787h                               ; e8 95 a7                    ; 0xf6fef
    movzx dx, byte [bp+010h]                  ; 0f b6 56 10                 ; 0xf6ff2 timepci.c:228
    mov ax, strict word 00002h                ; b8 02 00                    ; 0xf6ff6
    call 01787h                               ; e8 8b a7                    ; 0xf6ff9
    movzx dx, byte [bp+011h]                  ; 0f b6 56 11                 ; 0xf6ffc timepci.c:229
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf7000
    call 01787h                               ; e8 81 a7                    ; 0xf7003
    mov ax, strict word 0000bh                ; b8 0b 00                    ; 0xf7006 timepci.c:231
    call 0176ah                               ; e8 5e a7                    ; 0xf7009
    mov bl, al                                ; 88 c3                       ; 0xf700c
    and bl, 060h                              ; 80 e3 60                    ; 0xf700e
    or bl, 002h                               ; 80 cb 02                    ; 0xf7011
    mov al, byte [bp+00eh]                    ; 8a 46 0e                    ; 0xf7014
    and AL, strict byte 001h                  ; 24 01                       ; 0xf7017
    or bl, al                                 ; 08 c3                       ; 0xf7019
    movzx dx, bl                              ; 0f b6 d3                    ; 0xf701b timepci.c:233
    mov ax, strict word 0000bh                ; b8 0b 00                    ; 0xf701e
    call 01787h                               ; e8 63 a7                    ; 0xf7021
    mov byte [bp+013h], 000h                  ; c6 46 13 00                 ; 0xf7024
    mov byte [bp+012h], bl                    ; 88 5e 12                    ; 0xf7028
    jmp near 06f84h                           ; e9 56 ff                    ; 0xf702b
    mov byte [bp+013h], 000h                  ; c6 46 13 00                 ; 0xf702e timepci.c:240
    call 06e86h                               ; e8 51 fe                    ; 0xf7032 timepci.c:241
    test ax, ax                               ; 85 c0                       ; 0xf7035
    je short 0703ch                           ; 74 03                       ; 0xf7037
    jmp near 06f84h                           ; e9 48 ff                    ; 0xf7039 timepci.c:243
    mov ax, strict word 00009h                ; b8 09 00                    ; 0xf703c timepci.c:245
    call 0176ah                               ; e8 28 a7                    ; 0xf703f
    mov byte [bp+010h], al                    ; 88 46 10                    ; 0xf7042
    mov ax, strict word 00008h                ; b8 08 00                    ; 0xf7045 timepci.c:246
    call 0176ah                               ; e8 1f a7                    ; 0xf7048
    mov byte [bp+00fh], al                    ; 88 46 0f                    ; 0xf704b
    mov ax, strict word 00007h                ; b8 07 00                    ; 0xf704e timepci.c:247
    call 0176ah                               ; e8 16 a7                    ; 0xf7051
    mov byte [bp+00eh], al                    ; 88 46 0e                    ; 0xf7054
    mov ax, strict word 00032h                ; b8 32 00                    ; 0xf7057 timepci.c:248
    call 0176ah                               ; e8 0d a7                    ; 0xf705a
    mov byte [bp+011h], al                    ; 88 46 11                    ; 0xf705d
    mov byte [bp+012h], al                    ; 88 46 12                    ; 0xf7060 timepci.c:249
    jmp near 06f84h                           ; e9 1e ff                    ; 0xf7063 timepci.c:251
    call 06e86h                               ; e8 1d fe                    ; 0xf7066 timepci.c:264
    test ax, ax                               ; 85 c0                       ; 0xf7069
    je short 07073h                           ; 74 06                       ; 0xf706b
    call 06e5eh                               ; e8 ee fd                    ; 0xf706d timepci.c:265
    jmp near 06f84h                           ; e9 11 ff                    ; 0xf7070 timepci.c:267
    movzx dx, byte [bp+010h]                  ; 0f b6 56 10                 ; 0xf7073 timepci.c:269
    mov ax, strict word 00009h                ; b8 09 00                    ; 0xf7077
    call 01787h                               ; e8 0a a7                    ; 0xf707a
    movzx dx, byte [bp+00fh]                  ; 0f b6 56 0f                 ; 0xf707d timepci.c:270
    mov ax, strict word 00008h                ; b8 08 00                    ; 0xf7081
    call 01787h                               ; e8 00 a7                    ; 0xf7084
    movzx dx, byte [bp+00eh]                  ; 0f b6 56 0e                 ; 0xf7087 timepci.c:271
    mov ax, strict word 00007h                ; b8 07 00                    ; 0xf708b
    call 01787h                               ; e8 f6 a6                    ; 0xf708e
    movzx dx, byte [bp+011h]                  ; 0f b6 56 11                 ; 0xf7091 timepci.c:272
    mov ax, strict word 00032h                ; b8 32 00                    ; 0xf7095
    call 01787h                               ; e8 ec a6                    ; 0xf7098
    mov ax, strict word 0000bh                ; b8 0b 00                    ; 0xf709b timepci.c:273
    call 0176ah                               ; e8 c9 a6                    ; 0xf709e
    mov bl, al                                ; 88 c3                       ; 0xf70a1
    and bl, 07fh                              ; 80 e3 7f                    ; 0xf70a3
    jmp near 0701bh                           ; e9 72 ff                    ; 0xf70a6
    mov ax, strict word 0000bh                ; b8 0b 00                    ; 0xf70a9 timepci.c:291
    call 0176ah                               ; e8 bb a6                    ; 0xf70ac
    mov bl, al                                ; 88 c3                       ; 0xf70af
    mov word [bp+012h], strict word 00000h    ; c7 46 12 00 00              ; 0xf70b1 timepci.c:292
    test AL, strict byte 020h                 ; a8 20                       ; 0xf70b6 timepci.c:293
    je short 070bdh                           ; 74 03                       ; 0xf70b8
    jmp near 06f84h                           ; e9 c7 fe                    ; 0xf70ba timepci.c:296
    call 06e86h                               ; e8 c6 fd                    ; 0xf70bd timepci.c:298
    test ax, ax                               ; 85 c0                       ; 0xf70c0
    je short 070c7h                           ; 74 03                       ; 0xf70c2
    call 06e5eh                               ; e8 97 fd                    ; 0xf70c4 timepci.c:299
    movzx dx, byte [bp+00fh]                  ; 0f b6 56 0f                 ; 0xf70c7 timepci.c:302
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xf70cb
    call 01787h                               ; e8 b6 a6                    ; 0xf70ce
    movzx dx, byte [bp+010h]                  ; 0f b6 56 10                 ; 0xf70d1 timepci.c:303
    mov ax, strict word 00003h                ; b8 03 00                    ; 0xf70d5
    call 01787h                               ; e8 ac a6                    ; 0xf70d8
    movzx dx, byte [bp+011h]                  ; 0f b6 56 11                 ; 0xf70db timepci.c:304
    mov ax, strict word 00005h                ; b8 05 00                    ; 0xf70df
    call 01787h                               ; e8 a2 a6                    ; 0xf70e2
    mov dx, 000a1h                            ; ba a1 00                    ; 0xf70e5 timepci.c:305
    in AL, DX                                 ; ec                          ; 0xf70e8
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf70e9
    and AL, strict byte 0feh                  ; 24 fe                       ; 0xf70eb
    out DX, AL                                ; ee                          ; 0xf70ed
    mov al, bl                                ; 88 d8                       ; 0xf70ee timepci.c:307
    and AL, strict byte 05fh                  ; 24 5f                       ; 0xf70f0
    or AL, strict byte 020h                   ; 0c 20                       ; 0xf70f2
    movzx dx, al                              ; 0f b6 d0                    ; 0xf70f4
    mov ax, strict word 0000bh                ; b8 0b 00                    ; 0xf70f7
    call 01787h                               ; e8 8a a6                    ; 0xf70fa
    jmp near 06f84h                           ; e9 84 fe                    ; 0xf70fd timepci.c:309
    mov ax, strict word 0000bh                ; b8 0b 00                    ; 0xf7100 timepci.c:322
    call 0176ah                               ; e8 64 a6                    ; 0xf7103
    mov bl, al                                ; 88 c3                       ; 0xf7106
    and AL, strict byte 057h                  ; 24 57                       ; 0xf7108 timepci.c:324
    movzx dx, al                              ; 0f b6 d0                    ; 0xf710a
    jmp near 0701eh                           ; e9 0e ff                    ; 0xf710d
  ; disGetNextSymbol 0xf7110 LB 0x3d0c -> off=0x0 cb=0000000000000034 uValue=00000000000f5b10 'send_to_mouse_ctrl'
send_to_mouse_ctrl:                          ; 0xf7110 LB 0x34
    push bp                                   ; 55                          ; 0xf7110 ps2mouse.c:87
    mov bp, sp                                ; 89 e5                       ; 0xf7111
    push bx                                   ; 53                          ; 0xf7113
    push dx                                   ; 52                          ; 0xf7114
    mov bl, al                                ; 88 c3                       ; 0xf7115
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf7117 ps2mouse.c:91
    in AL, DX                                 ; ec                          ; 0xf711a
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf711b
    test AL, strict byte 002h                 ; a8 02                       ; 0xf711d
    je short 0712fh                           ; 74 0e                       ; 0xf711f
    push 0097eh                               ; 68 7e 09                    ; 0xf7121 ps2mouse.c:92
    push 011deh                               ; 68 de 11                    ; 0xf7124
    push strict byte 00007h                   ; 6a 07                       ; 0xf7127
    call 01a68h                               ; e8 3c a9                    ; 0xf7129
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf712c
    mov AL, strict byte 0d4h                  ; b0 d4                       ; 0xf712f ps2mouse.c:93
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf7131
    out DX, AL                                ; ee                          ; 0xf7134
    mov al, bl                                ; 88 d8                       ; 0xf7135 ps2mouse.c:94
    mov dx, strict word 00060h                ; ba 60 00                    ; 0xf7137
    out DX, AL                                ; ee                          ; 0xf713a
    xor al, bl                                ; 30 d8                       ; 0xf713b ps2mouse.c:96
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf713d
    pop dx                                    ; 5a                          ; 0xf7140
    pop bx                                    ; 5b                          ; 0xf7141
    pop bp                                    ; 5d                          ; 0xf7142
    retn                                      ; c3                          ; 0xf7143
  ; disGetNextSymbol 0xf7144 LB 0x3cd8 -> off=0x0 cb=000000000000005c uValue=00000000000f5b44 'get_mouse_data'
get_mouse_data:                              ; 0xf7144 LB 0x5c
    push bp                                   ; 55                          ; 0xf7144 ps2mouse.c:99
    mov bp, sp                                ; 89 e5                       ; 0xf7145
    push bx                                   ; 53                          ; 0xf7147
    push cx                                   ; 51                          ; 0xf7148
    push ax                                   ; 50                          ; 0xf7149
    mov bx, ax                                ; 89 c3                       ; 0xf714a
    mov es, dx                                ; 8e c2                       ; 0xf714c
    mov cx, 02710h                            ; b9 10 27                    ; 0xf714e ps2mouse.c:101
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf7151 ps2mouse.c:104
    in AL, DX                                 ; ec                          ; 0xf7154
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf7155
    and ax, strict word 00021h                ; 25 21 00                    ; 0xf7157
    cmp ax, strict word 00021h                ; 3d 21 00                    ; 0xf715a
    je short 07186h                           ; 74 27                       ; 0xf715d
    test cx, cx                               ; 85 c9                       ; 0xf715f
    je short 07186h                           ; 74 23                       ; 0xf7161
    mov dx, strict word 00061h                ; ba 61 00                    ; 0xf7163 ps2mouse.c:107
    in AL, DX                                 ; ec                          ; 0xf7166
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf7167
    and AL, strict byte 010h                  ; 24 10                       ; 0xf7169
    mov byte [bp-006h], al                    ; 88 46 fa                    ; 0xf716b
    mov dx, strict word 00061h                ; ba 61 00                    ; 0xf716e ps2mouse.c:108
    in AL, DX                                 ; ec                          ; 0xf7171
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf7172
    mov dx, ax                                ; 89 c2                       ; 0xf7174
    xor dh, ah                                ; 30 e6                       ; 0xf7176
    and dl, 010h                              ; 80 e2 10                    ; 0xf7178
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf717b
    cmp dx, ax                                ; 39 c2                       ; 0xf717f
    je short 0716eh                           ; 74 eb                       ; 0xf7181
    dec cx                                    ; 49                          ; 0xf7183 ps2mouse.c:110
    jmp short 07151h                          ; eb cb                       ; 0xf7184 ps2mouse.c:111
    test cx, cx                               ; 85 c9                       ; 0xf7186 ps2mouse.c:113
    jne short 0718eh                          ; 75 04                       ; 0xf7188
    mov AL, strict byte 001h                  ; b0 01                       ; 0xf718a ps2mouse.c:114
    jmp short 07199h                          ; eb 0b                       ; 0xf718c
    mov dx, strict word 00060h                ; ba 60 00                    ; 0xf718e ps2mouse.c:116
    in AL, DX                                 ; ec                          ; 0xf7191
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf7192
    mov byte [es:bx], al                      ; 26 88 07                    ; 0xf7194 ps2mouse.c:117
    xor al, al                                ; 30 c0                       ; 0xf7197 ps2mouse.c:118
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf7199 ps2mouse.c:119
    pop cx                                    ; 59                          ; 0xf719c
    pop bx                                    ; 5b                          ; 0xf719d
    pop bp                                    ; 5d                          ; 0xf719e
    retn                                      ; c3                          ; 0xf719f
  ; disGetNextSymbol 0xf71a0 LB 0x3c7c -> off=0x0 cb=0000000000000032 uValue=00000000000f5ba0 'set_kbd_command_byte'
set_kbd_command_byte:                        ; 0xf71a0 LB 0x32
    push bp                                   ; 55                          ; 0xf71a0 ps2mouse.c:121
    mov bp, sp                                ; 89 e5                       ; 0xf71a1
    push bx                                   ; 53                          ; 0xf71a3
    push dx                                   ; 52                          ; 0xf71a4
    mov bl, al                                ; 88 c3                       ; 0xf71a5
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf71a7 ps2mouse.c:123
    in AL, DX                                 ; ec                          ; 0xf71aa
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf71ab
    test AL, strict byte 002h                 ; a8 02                       ; 0xf71ad
    je short 071bfh                           ; 74 0e                       ; 0xf71af
    push 00988h                               ; 68 88 09                    ; 0xf71b1 ps2mouse.c:124
    push 011deh                               ; 68 de 11                    ; 0xf71b4
    push strict byte 00007h                   ; 6a 07                       ; 0xf71b7
    call 01a68h                               ; e8 ac a8                    ; 0xf71b9
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf71bc
    mov AL, strict byte 060h                  ; b0 60                       ; 0xf71bf ps2mouse.c:126
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf71c1
    out DX, AL                                ; ee                          ; 0xf71c4
    mov al, bl                                ; 88 d8                       ; 0xf71c5 ps2mouse.c:127
    mov dx, strict word 00060h                ; ba 60 00                    ; 0xf71c7
    out DX, AL                                ; ee                          ; 0xf71ca
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf71cb ps2mouse.c:128
    pop dx                                    ; 5a                          ; 0xf71ce
    pop bx                                    ; 5b                          ; 0xf71cf
    pop bp                                    ; 5d                          ; 0xf71d0
    retn                                      ; c3                          ; 0xf71d1
  ; disGetNextSymbol 0xf71d2 LB 0x3c4a -> off=0x0 cb=0000000000000094 uValue=00000000000f5bd2 'int74_function'
int74_function:                              ; 0xf71d2 LB 0x94
    push bp                                   ; 55                          ; 0xf71d2 ps2mouse.c:131
    mov bp, sp                                ; 89 e5                       ; 0xf71d3
    push si                                   ; 56                          ; 0xf71d5
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf71d6 ps2mouse.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf71d9
    mov es, ax                                ; 8e c0                       ; 0xf71dc
    mov bx, word [es:bx]                      ; 26 8b 1f                    ; 0xf71de
    mov word [bp+004h], strict word 00000h    ; c7 46 04 00 00              ; 0xf71e1 ps2mouse.c:139
    mov dx, strict word 00064h                ; ba 64 00                    ; 0xf71e6 ps2mouse.c:141
    in AL, DX                                 ; ec                          ; 0xf71e9
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf71ea
    and AL, strict byte 021h                  ; 24 21                       ; 0xf71ec ps2mouse.c:142
    cmp AL, strict byte 021h                  ; 3c 21                       ; 0xf71ee
    jne short 07260h                          ; 75 6e                       ; 0xf71f0
    mov dx, strict word 00060h                ; ba 60 00                    ; 0xf71f2 ps2mouse.c:145
    in AL, DX                                 ; ec                          ; 0xf71f5
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf71f6
    mov cl, al                                ; 88 c1                       ; 0xf71f8
    mov si, strict word 00026h                ; be 26 00                    ; 0xf71fa ps2mouse.c:48
    mov es, bx                                ; 8e c3                       ; 0xf71fd
    mov al, byte [es:si]                      ; 26 8a 04                    ; 0xf71ff
    mov si, strict word 00027h                ; be 27 00                    ; 0xf7202 ps2mouse.c:48
    mov ah, byte [es:si]                      ; 26 8a 24                    ; 0xf7205
    mov dl, ah                                ; 88 e2                       ; 0xf7208 ps2mouse.c:49
    test ah, 080h                             ; f6 c4 80                    ; 0xf720a ps2mouse.c:151
    je short 07260h                           ; 74 51                       ; 0xf720d
    mov dh, dl                                ; 88 d6                       ; 0xf720f ps2mouse.c:155
    and dh, 007h                              ; 80 e6 07                    ; 0xf7211
    mov ah, al                                ; 88 c4                       ; 0xf7214 ps2mouse.c:156
    and ah, 007h                              ; 80 e4 07                    ; 0xf7216
    movzx si, ah                              ; 0f b6 f4                    ; 0xf7219 ps2mouse.c:157
    add si, strict byte 00028h                ; 83 c6 28                    ; 0xf721c
    mov es, bx                                ; 8e c3                       ; 0xf721f ps2mouse.c:53
    mov byte [es:si], cl                      ; 26 88 0c                    ; 0xf7221
    cmp ah, dh                                ; 38 f4                       ; 0xf7224 ps2mouse.c:159
    jc short 07256h                           ; 72 2e                       ; 0xf7226
    mov si, strict word 00028h                ; be 28 00                    ; 0xf7228 ps2mouse.c:48
    mov al, byte [es:si]                      ; 26 8a 04                    ; 0xf722b
    xor ah, ah                                ; 30 e4                       ; 0xf722e ps2mouse.c:49
    mov word [bp+00ch], ax                    ; 89 46 0c                    ; 0xf7230
    mov si, strict word 00029h                ; be 29 00                    ; 0xf7233 ps2mouse.c:48
    mov al, byte [es:si]                      ; 26 8a 04                    ; 0xf7236
    mov word [bp+00ah], ax                    ; 89 46 0a                    ; 0xf7239 ps2mouse.c:49
    mov si, strict word 0002ah                ; be 2a 00                    ; 0xf723c ps2mouse.c:48
    mov al, byte [es:si]                      ; 26 8a 04                    ; 0xf723f
    mov word [bp+008h], ax                    ; 89 46 08                    ; 0xf7242 ps2mouse.c:49
    xor al, al                                ; 30 c0                       ; 0xf7245 ps2mouse.c:164
    mov word [bp+006h], ax                    ; 89 46 06                    ; 0xf7247
    test dl, 080h                             ; f6 c2 80                    ; 0xf724a ps2mouse.c:167
    je short 07258h                           ; 74 09                       ; 0xf724d
    mov word [bp+004h], strict word 00001h    ; c7 46 04 01 00              ; 0xf724f ps2mouse.c:168
    jmp short 07258h                          ; eb 02                       ; 0xf7254 ps2mouse.c:170
    db  0feh, 0c0h
    ; inc al                                    ; fe c0                     ; 0xf7256 ps2mouse.c:171
    mov si, strict word 00026h                ; be 26 00                    ; 0xf7258 ps2mouse.c:53
    mov es, bx                                ; 8e c3                       ; 0xf725b
    mov byte [es:si], al                      ; 26 88 04                    ; 0xf725d
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xf7260 ps2mouse.c:174
    pop si                                    ; 5e                          ; 0xf7263
    pop bp                                    ; 5d                          ; 0xf7264
    retn                                      ; c3                          ; 0xf7265
  ; disGetNextSymbol 0xf7266 LB 0x3bb6 -> off=0x10 cb=0000000000000370 uValue=00000000000f5c76 'int15_function_mouse'
    db  0b9h, 072h, 027h, 073h, 0a2h, 073h, 033h, 074h, 0a1h, 074h, 005h, 073h, 0c9h, 074h, 08eh, 075h
int15_function_mouse:                        ; 0xf7276 LB 0x370
    push bp                                   ; 55                          ; 0xf7276 ps2mouse.c:176
    mov bp, sp                                ; 89 e5                       ; 0xf7277
    sub sp, strict byte 00006h                ; 83 ec 06                    ; 0xf7279
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf727c ps2mouse.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf727f
    mov es, ax                                ; 8e c0                       ; 0xf7282
    mov dx, word [es:bx]                      ; 26 8b 17                    ; 0xf7284
    cmp byte [bp+012h], 007h                  ; 80 7e 12 07                 ; 0xf7287 ps2mouse.c:198
    jbe short 07298h                          ; 76 0b                       ; 0xf728b
    or word [bp+018h], strict byte 00001h     ; 83 4e 18 01                 ; 0xf728d ps2mouse.c:201
    mov byte [bp+013h], 001h                  ; c6 46 13 01                 ; 0xf7291 ps2mouse.c:202
    jmp near 075e2h                           ; e9 4a 03                    ; 0xf7295 ps2mouse.c:203
    mov ax, strict word 00065h                ; b8 65 00                    ; 0xf7298 ps2mouse.c:207
    call 071a0h                               ; e8 02 ff                    ; 0xf729b
    and word [bp+018h], strict byte 0fffeh    ; 83 66 18 fe                 ; 0xf729e ps2mouse.c:208
    mov byte [bp+013h], 000h                  ; c6 46 13 00                 ; 0xf72a2 ps2mouse.c:209
    mov al, byte [bp+012h]                    ; 8a 46 12                    ; 0xf72a6 ps2mouse.c:211
    cmp AL, strict byte 007h                  ; 3c 07                       ; 0xf72a9
    jnbe near 075c9h                          ; 0f 87 1a 03                 ; 0xf72ab
    movzx bx, al                              ; 0f b6 d8                    ; 0xf72af
    add bx, bx                                ; 01 db                       ; 0xf72b2
    jmp word [cs:bx+07266h]                   ; 2e ff a7 66 72              ; 0xf72b4
    cmp byte [bp+00dh], 001h                  ; 80 7e 0d 01                 ; 0xf72b9 ps2mouse.c:214
    jnbe near 075d4h                          ; 0f 87 13 03                 ; 0xf72bd
    mov bx, strict word 00027h                ; bb 27 00                    ; 0xf72c1 ps2mouse.c:48
    mov es, dx                                ; 8e c2                       ; 0xf72c4
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf72c6
    test AL, strict byte 080h                 ; a8 80                       ; 0xf72c9 ps2mouse.c:222
    jne short 072d8h                          ; 75 0b                       ; 0xf72cb
    or word [bp+018h], strict byte 00001h     ; 83 4e 18 01                 ; 0xf72cd ps2mouse.c:224
    mov byte [bp+013h], 005h                  ; c6 46 13 05                 ; 0xf72d1 ps2mouse.c:225
    jmp near 075dch                           ; e9 04 03                    ; 0xf72d5 ps2mouse.c:226
    cmp byte [bp+00dh], 000h                  ; 80 7e 0d 00                 ; 0xf72d8 ps2mouse.c:228
    db  00fh, 094h, 0c0h
    ; sete al                                   ; 0f 94 c0                  ; 0xf72dc
    add AL, strict byte 0f4h                  ; 04 f4                       ; 0xf72df
    xor ah, ah                                ; 30 e4                       ; 0xf72e1 ps2mouse.c:236
    call 07110h                               ; e8 2a fe                    ; 0xf72e3
    test al, al                               ; 84 c0                       ; 0xf72e6 ps2mouse.c:237
    jne near 0756ah                           ; 0f 85 7e 02                 ; 0xf72e8
    mov dx, ss                                ; 8c d2                       ; 0xf72ec ps2mouse.c:238
    lea ax, [bp-006h]                         ; 8d 46 fa                    ; 0xf72ee
    call 07144h                               ; e8 50 fe                    ; 0xf72f1
    test al, al                               ; 84 c0                       ; 0xf72f4 ps2mouse.c:239
    je near 075dch                            ; 0f 84 e2 02                 ; 0xf72f6
    cmp byte [bp-006h], 0fah                  ; 80 7e fa fa                 ; 0xf72fa
    jne near 0756ah                           ; 0f 85 68 02                 ; 0xf72fe
    jmp near 075dch                           ; e9 d7 02                    ; 0xf7302 ps2mouse.c:241
    mov al, byte [bp+00dh]                    ; 8a 46 0d                    ; 0xf7305 ps2mouse.c:252
    cmp AL, strict byte 001h                  ; 3c 01                       ; 0xf7308
    jc short 07310h                           ; 72 04                       ; 0xf730a
    cmp AL, strict byte 008h                  ; 3c 08                       ; 0xf730c
    jbe short 07313h                          ; 76 03                       ; 0xf730e
    jmp near 07496h                           ; e9 83 01                    ; 0xf7310
    mov bx, strict word 00027h                ; bb 27 00                    ; 0xf7313 ps2mouse.c:48
    mov es, dx                                ; 8e c2                       ; 0xf7316
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf7318
    mov ah, byte [bp+00dh]                    ; 8a 66 0d                    ; 0xf731b ps2mouse.c:258
    db  0feh, 0cch
    ; dec ah                                    ; fe cc                     ; 0xf731e
    and AL, strict byte 0f8h                  ; 24 f8                       ; 0xf7320
    or al, ah                                 ; 08 e0                       ; 0xf7322
    mov byte [es:bx], al                      ; 26 88 07                    ; 0xf7324 ps2mouse.c:53
    mov bx, strict word 00026h                ; bb 26 00                    ; 0xf7327 ps2mouse.c:48
    mov es, dx                                ; 8e c2                       ; 0xf732a
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf732c
    and AL, strict byte 0f8h                  ; 24 f8                       ; 0xf732f ps2mouse.c:266
    mov byte [es:bx], al                      ; 26 88 07                    ; 0xf7331 ps2mouse.c:53
    mov ax, 000ffh                            ; b8 ff 00                    ; 0xf7334 ps2mouse.c:268
    call 07110h                               ; e8 d6 fd                    ; 0xf7337
    test al, al                               ; 84 c0                       ; 0xf733a ps2mouse.c:269
    jne near 0756ah                           ; 0f 85 2a 02                 ; 0xf733c
    mov dx, ss                                ; 8c d2                       ; 0xf7340 ps2mouse.c:270
    lea ax, [bp-004h]                         ; 8d 46 fc                    ; 0xf7342
    call 07144h                               ; e8 fc fd                    ; 0xf7345
    mov dl, al                                ; 88 c2                       ; 0xf7348
    cmp byte [bp-004h], 0feh                  ; 80 7e fc fe                 ; 0xf734a ps2mouse.c:272
    jne short 0735bh                          ; 75 0b                       ; 0xf734e
    or word [bp+018h], strict byte 00001h     ; 83 4e 18 01                 ; 0xf7350 ps2mouse.c:273
    mov byte [bp+013h], 004h                  ; c6 46 13 04                 ; 0xf7354 ps2mouse.c:274
    jmp near 075dch                           ; e9 81 02                    ; 0xf7358 ps2mouse.c:275
    cmp byte [bp-004h], 0fah                  ; 80 7e fc fa                 ; 0xf735b ps2mouse.c:277
    je short 07371h                           ; 74 10                       ; 0xf735f
    movzx ax, byte [bp-004h]                  ; 0f b6 46 fc                 ; 0xf7361 ps2mouse.c:278
    push ax                                   ; 50                          ; 0xf7365
    push 00993h                               ; 68 93 09                    ; 0xf7366
    push strict byte 00007h                   ; 6a 07                       ; 0xf7369
    call 01a68h                               ; e8 fa a6                    ; 0xf736b
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf736e
    test dl, dl                               ; 84 d2                       ; 0xf7371 ps2mouse.c:279
    jne near 0756ah                           ; 0f 85 f3 01                 ; 0xf7373
    mov dx, ss                                ; 8c d2                       ; 0xf7377 ps2mouse.c:280
    lea ax, [bp-006h]                         ; 8d 46 fa                    ; 0xf7379
    call 07144h                               ; e8 c5 fd                    ; 0xf737c
    test al, al                               ; 84 c0                       ; 0xf737f ps2mouse.c:281
    jne near 0756ah                           ; 0f 85 e5 01                 ; 0xf7381
    mov dx, ss                                ; 8c d2                       ; 0xf7385 ps2mouse.c:282
    lea ax, [bp-002h]                         ; 8d 46 fe                    ; 0xf7387
    call 07144h                               ; e8 b7 fd                    ; 0xf738a
    test al, al                               ; 84 c0                       ; 0xf738d ps2mouse.c:283
    jne near 0756ah                           ; 0f 85 d7 01                 ; 0xf738f
    mov al, byte [bp-006h]                    ; 8a 46 fa                    ; 0xf7393 ps2mouse.c:285
    mov byte [bp+00ch], al                    ; 88 46 0c                    ; 0xf7396
    mov al, byte [bp-002h]                    ; 8a 46 fe                    ; 0xf7399 ps2mouse.c:286
    mov byte [bp+00dh], al                    ; 88 46 0d                    ; 0xf739c
    jmp near 075dch                           ; e9 3a 02                    ; 0xf739f ps2mouse.c:287
    mov al, byte [bp+00dh]                    ; 8a 46 0d                    ; 0xf73a2 ps2mouse.c:300
    cmp AL, strict byte 003h                  ; 3c 03                       ; 0xf73a5
    jc short 073b9h                           ; 72 10                       ; 0xf73a7
    jbe short 073d7h                          ; 76 2c                       ; 0xf73a9
    cmp AL, strict byte 006h                  ; 3c 06                       ; 0xf73ab
    je short 073e9h                           ; 74 3a                       ; 0xf73ad
    cmp AL, strict byte 005h                  ; 3c 05                       ; 0xf73af
    je short 073e3h                           ; 74 30                       ; 0xf73b1
    cmp AL, strict byte 004h                  ; 3c 04                       ; 0xf73b3
    je short 073ddh                           ; 74 26                       ; 0xf73b5
    jmp short 073efh                          ; eb 36                       ; 0xf73b7
    cmp AL, strict byte 002h                  ; 3c 02                       ; 0xf73b9
    je short 073d1h                           ; 74 14                       ; 0xf73bb
    cmp AL, strict byte 001h                  ; 3c 01                       ; 0xf73bd
    je short 073cbh                           ; 74 0a                       ; 0xf73bf
    test al, al                               ; 84 c0                       ; 0xf73c1
    jne short 073efh                          ; 75 2a                       ; 0xf73c3
    mov byte [bp-006h], 00ah                  ; c6 46 fa 0a                 ; 0xf73c5 ps2mouse.c:301
    jmp short 073f3h                          ; eb 28                       ; 0xf73c9
    mov byte [bp-006h], 014h                  ; c6 46 fa 14                 ; 0xf73cb ps2mouse.c:302
    jmp short 073f3h                          ; eb 22                       ; 0xf73cf
    mov byte [bp-006h], 028h                  ; c6 46 fa 28                 ; 0xf73d1 ps2mouse.c:303
    jmp short 073f3h                          ; eb 1c                       ; 0xf73d5
    mov byte [bp-006h], 03ch                  ; c6 46 fa 3c                 ; 0xf73d7 ps2mouse.c:304
    jmp short 073f3h                          ; eb 16                       ; 0xf73db
    mov byte [bp-006h], 050h                  ; c6 46 fa 50                 ; 0xf73dd ps2mouse.c:305
    jmp short 073f3h                          ; eb 10                       ; 0xf73e1
    mov byte [bp-006h], 064h                  ; c6 46 fa 64                 ; 0xf73e3 ps2mouse.c:306
    jmp short 073f3h                          ; eb 0a                       ; 0xf73e7
    mov byte [bp-006h], 0c8h                  ; c6 46 fa c8                 ; 0xf73e9 ps2mouse.c:307
    jmp short 073f3h                          ; eb 04                       ; 0xf73ed
    mov byte [bp-006h], 000h                  ; c6 46 fa 00                 ; 0xf73ef ps2mouse.c:308
    cmp byte [bp-006h], 000h                  ; 80 7e fa 00                 ; 0xf73f3 ps2mouse.c:310
    jbe short 07428h                          ; 76 2f                       ; 0xf73f7
    mov ax, 000f3h                            ; b8 f3 00                    ; 0xf73f9 ps2mouse.c:311
    call 07110h                               ; e8 11 fd                    ; 0xf73fc
    test al, al                               ; 84 c0                       ; 0xf73ff ps2mouse.c:312
    jne short 0741dh                          ; 75 1a                       ; 0xf7401
    mov dx, ss                                ; 8c d2                       ; 0xf7403 ps2mouse.c:313
    lea ax, [bp-002h]                         ; 8d 46 fe                    ; 0xf7405
    call 07144h                               ; e8 39 fd                    ; 0xf7408
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf740b ps2mouse.c:314
    call 07110h                               ; e8 fe fc                    ; 0xf740f
    mov dx, ss                                ; 8c d2                       ; 0xf7412 ps2mouse.c:315
    lea ax, [bp-002h]                         ; 8d 46 fe                    ; 0xf7414
    call 07144h                               ; e8 2a fd                    ; 0xf7417
    jmp near 075dch                           ; e9 bf 01                    ; 0xf741a ps2mouse.c:317
    or word [bp+018h], strict byte 00001h     ; 83 4e 18 01                 ; 0xf741d ps2mouse.c:319
    mov byte [bp+013h], 003h                  ; c6 46 13 03                 ; 0xf7421 ps2mouse.c:320
    jmp near 075dch                           ; e9 b4 01                    ; 0xf7425 ps2mouse.c:322
    or word [bp+018h], strict byte 00001h     ; 83 4e 18 01                 ; 0xf7428 ps2mouse.c:324
    mov byte [bp+013h], 002h                  ; c6 46 13 02                 ; 0xf742c ps2mouse.c:325
    jmp near 075dch                           ; e9 a9 01                    ; 0xf7430 ps2mouse.c:327
    cmp byte [bp+00dh], 004h                  ; 80 7e 0d 04                 ; 0xf7433 ps2mouse.c:336
    jnc short 07496h                          ; 73 5d                       ; 0xf7437
    mov ax, 000e8h                            ; b8 e8 00                    ; 0xf7439 ps2mouse.c:337
    call 07110h                               ; e8 d1 fc                    ; 0xf743c
    test al, al                               ; 84 c0                       ; 0xf743f ps2mouse.c:338
    jne short 0748bh                          ; 75 48                       ; 0xf7441
    mov dx, ss                                ; 8c d2                       ; 0xf7443 ps2mouse.c:339
    lea ax, [bp-006h]                         ; 8d 46 fa                    ; 0xf7445
    call 07144h                               ; e8 f9 fc                    ; 0xf7448
    cmp byte [bp-006h], 0fah                  ; 80 7e fa fa                 ; 0xf744b ps2mouse.c:340
    je short 07461h                           ; 74 10                       ; 0xf744f
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf7451 ps2mouse.c:341
    push ax                                   ; 50                          ; 0xf7455
    push 009beh                               ; 68 be 09                    ; 0xf7456
    push strict byte 00007h                   ; 6a 07                       ; 0xf7459
    call 01a68h                               ; e8 0a a6                    ; 0xf745b
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf745e
    movzx ax, byte [bp+00dh]                  ; 0f b6 46 0d                 ; 0xf7461 ps2mouse.c:342
    call 07110h                               ; e8 a8 fc                    ; 0xf7465
    mov dx, ss                                ; 8c d2                       ; 0xf7468 ps2mouse.c:343
    lea ax, [bp-006h]                         ; 8d 46 fa                    ; 0xf746a
    call 07144h                               ; e8 d4 fc                    ; 0xf746d
    cmp byte [bp-006h], 0fah                  ; 80 7e fa fa                 ; 0xf7470 ps2mouse.c:344
    je near 075dch                            ; 0f 84 64 01                 ; 0xf7474
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf7478 ps2mouse.c:345
    push ax                                   ; 50                          ; 0xf747c
    push 009beh                               ; 68 be 09                    ; 0xf747d
    push strict byte 00007h                   ; 6a 07                       ; 0xf7480
    call 01a68h                               ; e8 e3 a5                    ; 0xf7482
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf7485
    jmp near 075dch                           ; e9 51 01                    ; 0xf7488 ps2mouse.c:347
    or word [bp+018h], strict byte 00001h     ; 83 4e 18 01                 ; 0xf748b ps2mouse.c:349
    mov byte [bp+013h], 003h                  ; c6 46 13 03                 ; 0xf748f ps2mouse.c:350
    jmp near 075dch                           ; e9 46 01                    ; 0xf7493 ps2mouse.c:352
    or word [bp+018h], strict byte 00001h     ; 83 4e 18 01                 ; 0xf7496 ps2mouse.c:354
    mov byte [bp+013h], 002h                  ; c6 46 13 02                 ; 0xf749a ps2mouse.c:355
    jmp near 075dch                           ; e9 3b 01                    ; 0xf749e ps2mouse.c:357
    mov ax, 000f2h                            ; b8 f2 00                    ; 0xf74a1 ps2mouse.c:361
    call 07110h                               ; e8 69 fc                    ; 0xf74a4
    test al, al                               ; 84 c0                       ; 0xf74a7 ps2mouse.c:362
    jne short 074beh                          ; 75 13                       ; 0xf74a9
    mov dx, ss                                ; 8c d2                       ; 0xf74ab ps2mouse.c:363
    lea ax, [bp-006h]                         ; 8d 46 fa                    ; 0xf74ad
    call 07144h                               ; e8 91 fc                    ; 0xf74b0
    mov dx, ss                                ; 8c d2                       ; 0xf74b3 ps2mouse.c:364
    lea ax, [bp-002h]                         ; 8d 46 fe                    ; 0xf74b5
    call 07144h                               ; e8 89 fc                    ; 0xf74b8
    jmp near 07399h                           ; e9 db fe                    ; 0xf74bb
    or word [bp+018h], strict byte 00001h     ; 83 4e 18 01                 ; 0xf74be ps2mouse.c:365
    mov byte [bp+013h], 003h                  ; c6 46 13 03                 ; 0xf74c2 ps2mouse.c:370
    jmp near 075dch                           ; e9 13 01                    ; 0xf74c6 ps2mouse.c:372
    mov al, byte [bp+00dh]                    ; 8a 46 0d                    ; 0xf74c9 ps2mouse.c:376
    test al, al                               ; 84 c0                       ; 0xf74cc
    jbe short 074d7h                          ; 76 07                       ; 0xf74ce
    cmp AL, strict byte 002h                  ; 3c 02                       ; 0xf74d0
    jbe short 07540h                          ; 76 6c                       ; 0xf74d2
    jmp near 07574h                           ; e9 9d 00                    ; 0xf74d4
    mov ax, 000e9h                            ; b8 e9 00                    ; 0xf74d7 ps2mouse.c:378
    call 07110h                               ; e8 33 fc                    ; 0xf74da
    test al, al                               ; 84 c0                       ; 0xf74dd ps2mouse.c:379
    jne near 0756ah                           ; 0f 85 87 00                 ; 0xf74df
    mov dx, ss                                ; 8c d2                       ; 0xf74e3 ps2mouse.c:380
    lea ax, [bp-006h]                         ; 8d 46 fa                    ; 0xf74e5
    call 07144h                               ; e8 59 fc                    ; 0xf74e8
    mov dl, al                                ; 88 c2                       ; 0xf74eb
    cmp byte [bp-006h], 0fah                  ; 80 7e fa fa                 ; 0xf74ed ps2mouse.c:381
    je short 07503h                           ; 74 10                       ; 0xf74f1
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf74f3 ps2mouse.c:382
    push ax                                   ; 50                          ; 0xf74f7
    push 009beh                               ; 68 be 09                    ; 0xf74f8
    push strict byte 00007h                   ; 6a 07                       ; 0xf74fb
    call 01a68h                               ; e8 68 a5                    ; 0xf74fd
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf7500
    test dl, dl                               ; 84 d2                       ; 0xf7503 ps2mouse.c:383
    jne short 0756ah                          ; 75 63                       ; 0xf7505
    mov dx, ss                                ; 8c d2                       ; 0xf7507 ps2mouse.c:384
    lea ax, [bp-006h]                         ; 8d 46 fa                    ; 0xf7509
    call 07144h                               ; e8 35 fc                    ; 0xf750c
    test al, al                               ; 84 c0                       ; 0xf750f ps2mouse.c:385
    jne short 0756ah                          ; 75 57                       ; 0xf7511
    mov dx, ss                                ; 8c d2                       ; 0xf7513 ps2mouse.c:386
    lea ax, [bp-002h]                         ; 8d 46 fe                    ; 0xf7515
    call 07144h                               ; e8 29 fc                    ; 0xf7518
    test al, al                               ; 84 c0                       ; 0xf751b ps2mouse.c:387
    jne short 0756ah                          ; 75 4b                       ; 0xf751d
    mov dx, ss                                ; 8c d2                       ; 0xf751f ps2mouse.c:388
    lea ax, [bp-004h]                         ; 8d 46 fc                    ; 0xf7521
    call 07144h                               ; e8 1d fc                    ; 0xf7524
    test al, al                               ; 84 c0                       ; 0xf7527 ps2mouse.c:389
    jne short 0756ah                          ; 75 3f                       ; 0xf7529
    mov al, byte [bp-006h]                    ; 8a 46 fa                    ; 0xf752b ps2mouse.c:390
    mov byte [bp+00ch], al                    ; 88 46 0c                    ; 0xf752e
    mov al, byte [bp-002h]                    ; 8a 46 fe                    ; 0xf7531 ps2mouse.c:391
    mov byte [bp+010h], al                    ; 88 46 10                    ; 0xf7534
    mov al, byte [bp-004h]                    ; 8a 46 fc                    ; 0xf7537 ps2mouse.c:392
    mov byte [bp+00eh], al                    ; 88 46 0e                    ; 0xf753a
    jmp near 075dch                           ; e9 9c 00                    ; 0xf753d ps2mouse.c:394
    cmp AL, strict byte 001h                  ; 3c 01                       ; 0xf7540 ps2mouse.c:408
    jne short 07549h                          ; 75 05                       ; 0xf7542
    mov ax, 000e6h                            ; b8 e6 00                    ; 0xf7544 ps2mouse.c:409
    jmp short 0754ch                          ; eb 03                       ; 0xf7547 ps2mouse.c:410
    mov ax, 000e7h                            ; b8 e7 00                    ; 0xf7549 ps2mouse.c:411
    call 07110h                               ; e8 c1 fb                    ; 0xf754c
    mov dl, al                                ; 88 c2                       ; 0xf754f
    test dl, dl                               ; 84 d2                       ; 0xf7551 ps2mouse.c:413
    jne short 07564h                          ; 75 0f                       ; 0xf7553
    mov dx, ss                                ; 8c d2                       ; 0xf7555 ps2mouse.c:414
    lea ax, [bp-006h]                         ; 8d 46 fa                    ; 0xf7557
    call 07144h                               ; e8 e7 fb                    ; 0xf755a
    cmp byte [bp-006h], 0fah                  ; 80 7e fa fa                 ; 0xf755d ps2mouse.c:415
    db  00fh, 095h, 0c2h
    ; setne dl                                  ; 0f 95 c2                  ; 0xf7561
    test dl, dl                               ; 84 d2                       ; 0xf7564 ps2mouse.c:417
    je near 075dch                            ; 0f 84 72 00                 ; 0xf7566
    or word [bp+018h], strict byte 00001h     ; 83 4e 18 01                 ; 0xf756a ps2mouse.c:419
    mov byte [bp+013h], 003h                  ; c6 46 13 03                 ; 0xf756e ps2mouse.c:420
    jmp short 075dch                          ; eb 68                       ; 0xf7572 ps2mouse.c:422
    movzx ax, byte [bp+00dh]                  ; 0f b6 46 0d                 ; 0xf7574 ps2mouse.c:425
    push ax                                   ; 50                          ; 0xf7578
    push 009eah                               ; 68 ea 09                    ; 0xf7579
    push strict byte 00007h                   ; 6a 07                       ; 0xf757c
    call 01a68h                               ; e8 e7 a4                    ; 0xf757e
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf7581
    or word [bp+018h], strict byte 00001h     ; 83 4e 18 01                 ; 0xf7584 ps2mouse.c:427
    mov byte [bp+013h], 001h                  ; c6 46 13 01                 ; 0xf7588 ps2mouse.c:428
    jmp short 075dch                          ; eb 4e                       ; 0xf758c ps2mouse.c:430
    mov cx, word [bp+00ch]                    ; 8b 4e 0c                    ; 0xf758e ps2mouse.c:435
    mov bx, strict word 00022h                ; bb 22 00                    ; 0xf7591 ps2mouse.c:63
    mov es, dx                                ; 8e c2                       ; 0xf7594
    mov word [es:bx], cx                      ; 26 89 0f                    ; 0xf7596
    mov bx, strict word 00024h                ; bb 24 00                    ; 0xf7599 ps2mouse.c:63
    mov ax, word [bp+014h]                    ; 8b 46 14                    ; 0xf759c
    mov word [es:bx], ax                      ; 26 89 07                    ; 0xf759f
    mov bx, strict word 00027h                ; bb 27 00                    ; 0xf75a2 ps2mouse.c:48
    mov bl, byte [es:bx]                      ; 26 8a 1f                    ; 0xf75a5
    mov al, bl                                ; 88 d8                       ; 0xf75a8 ps2mouse.c:49
    test cx, cx                               ; 85 c9                       ; 0xf75aa ps2mouse.c:439
    jne short 075bdh                          ; 75 0f                       ; 0xf75ac
    cmp word [bp+014h], strict byte 00000h    ; 83 7e 14 00                 ; 0xf75ae
    jne short 075bdh                          ; 75 09                       ; 0xf75b2
    test bl, 080h                             ; f6 c3 80                    ; 0xf75b4 ps2mouse.c:441
    je short 075bfh                           ; 74 06                       ; 0xf75b7
    and AL, strict byte 07fh                  ; 24 7f                       ; 0xf75b9 ps2mouse.c:442
    jmp short 075bfh                          ; eb 02                       ; 0xf75bb ps2mouse.c:445
    or AL, strict byte 080h                   ; 0c 80                       ; 0xf75bd ps2mouse.c:447
    mov bx, strict word 00027h                ; bb 27 00                    ; 0xf75bf ps2mouse.c:53
    mov es, dx                                ; 8e c2                       ; 0xf75c2
    mov byte [es:bx], al                      ; 26 88 07                    ; 0xf75c4
    jmp short 075dch                          ; eb 13                       ; 0xf75c7 ps2mouse.c:450
    push 00a04h                               ; 68 04 0a                    ; 0xf75c9 ps2mouse.c:453
    push strict byte 00007h                   ; 6a 07                       ; 0xf75cc
    call 01a68h                               ; e8 97 a4                    ; 0xf75ce
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf75d1
    or word [bp+018h], strict byte 00001h     ; 83 4e 18 01                 ; 0xf75d4 ps2mouse.c:455
    mov byte [bp+013h], 001h                  ; c6 46 13 01                 ; 0xf75d8 ps2mouse.c:456
    mov ax, strict word 00047h                ; b8 47 00                    ; 0xf75dc ps2mouse.c:460
    call 071a0h                               ; e8 be fb                    ; 0xf75df
    mov sp, bp                                ; 89 ec                       ; 0xf75e2 ps2mouse.c:461
    pop bp                                    ; 5d                          ; 0xf75e4
    retn                                      ; c3                          ; 0xf75e5
  ; disGetNextSymbol 0xf75e6 LB 0x3836 -> off=0x0 cb=00000000000000b2 uValue=00000000000f5fe6 'int17_function'
int17_function:                              ; 0xf75e6 LB 0xb2
    push bp                                   ; 55                          ; 0xf75e6 parallel.c:70
    mov bp, sp                                ; 89 e5                       ; 0xf75e7
    push si                                   ; 56                          ; 0xf75e9
    push di                                   ; 57                          ; 0xf75ea
    push ax                                   ; 50                          ; 0xf75eb
    sti                                       ; fb                          ; 0xf75ec parallel.c:75
    mov bx, word [bp+00eh]                    ; 8b 5e 0e                    ; 0xf75ed parallel.c:77
    add bx, bx                                ; 01 db                       ; 0xf75f0
    add bx, strict byte 00008h                ; 83 c3 08                    ; 0xf75f2
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf75f5 parallel.c:58
    mov es, ax                                ; 8e c0                       ; 0xf75f8
    mov bx, word [es:bx]                      ; 26 8b 1f                    ; 0xf75fa
    mov si, bx                                ; 89 de                       ; 0xf75fd parallel.c:59
    cmp byte [bp+013h], 003h                  ; 80 7e 13 03                 ; 0xf75ff parallel.c:78
    jnc near 0768dh                           ; 0f 83 86 00                 ; 0xf7603
    mov ax, word [bp+00eh]                    ; 8b 46 0e                    ; 0xf7607
    cmp ax, strict word 00003h                ; 3d 03 00                    ; 0xf760a
    jnc near 0768dh                           ; 0f 83 7c 00                 ; 0xf760d
    test bx, bx                               ; 85 db                       ; 0xf7611
    jbe near 0768dh                           ; 0f 86 76 00                 ; 0xf7613
    mov di, ax                                ; 89 c7                       ; 0xf7617 parallel.c:79
    add di, strict byte 00078h                ; 83 c7 78                    ; 0xf7619
    mov al, byte [es:di]                      ; 26 8a 05                    ; 0xf761c parallel.c:48
    movzx cx, al                              ; 0f b6 c8                    ; 0xf761f parallel.c:49
    sal cx, 008h                              ; c1 e1 08                    ; 0xf7622
    cmp byte [bp+013h], 000h                  ; 80 7e 13 00                 ; 0xf7625 parallel.c:80
    jne short 07658h                          ; 75 2d                       ; 0xf7629
    mov al, byte [bp+012h]                    ; 8a 46 12                    ; 0xf762b parallel.c:81
    mov dx, bx                                ; 89 da                       ; 0xf762e
    out DX, AL                                ; ee                          ; 0xf7630
    lea dx, [bx+002h]                         ; 8d 57 02                    ; 0xf7631 parallel.c:82
    in AL, DX                                 ; ec                          ; 0xf7634
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf7635
    mov word [bp-006h], ax                    ; 89 46 fa                    ; 0xf7637
    mov al, byte [bp-006h]                    ; 8a 46 fa                    ; 0xf763a parallel.c:83
    or AL, strict byte 001h                   ; 0c 01                       ; 0xf763d
    out DX, AL                                ; ee                          ; 0xf763f
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf7640 parallel.c:84
    and AL, strict byte 0feh                  ; 24 fe                       ; 0xf7644
    out DX, AL                                ; ee                          ; 0xf7646
    lea dx, [si+001h]                         ; 8d 54 01                    ; 0xf7647 parallel.c:85
    in AL, DX                                 ; ec                          ; 0xf764a
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf764b
    test AL, strict byte 040h                 ; a8 40                       ; 0xf764d
    je short 07658h                           ; 74 07                       ; 0xf764f
    test cx, cx                               ; 85 c9                       ; 0xf7651
    je short 07658h                           ; 74 03                       ; 0xf7653
    dec cx                                    ; 49                          ; 0xf7655 parallel.c:86
    jmp short 07647h                          ; eb ef                       ; 0xf7656 parallel.c:87
    cmp byte [bp+013h], 001h                  ; 80 7e 13 01                 ; 0xf7658 parallel.c:89
    jne short 07674h                          ; 75 16                       ; 0xf765c
    lea dx, [si+002h]                         ; 8d 54 02                    ; 0xf765e parallel.c:90
    in AL, DX                                 ; ec                          ; 0xf7661
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf7662
    mov word [bp-006h], ax                    ; 89 46 fa                    ; 0xf7664
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf7667 parallel.c:91
    and AL, strict byte 0fbh                  ; 24 fb                       ; 0xf766b
    out DX, AL                                ; ee                          ; 0xf766d
    mov al, byte [bp-006h]                    ; 8a 46 fa                    ; 0xf766e parallel.c:92
    or AL, strict byte 004h                   ; 0c 04                       ; 0xf7671
    out DX, AL                                ; ee                          ; 0xf7673
    lea dx, [si+001h]                         ; 8d 54 01                    ; 0xf7674 parallel.c:94
    in AL, DX                                 ; ec                          ; 0xf7677
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf7678
    xor AL, strict byte 048h                  ; 34 48                       ; 0xf767a parallel.c:95
    mov byte [bp+013h], al                    ; 88 46 13                    ; 0xf767c
    test cx, cx                               ; 85 c9                       ; 0xf767f parallel.c:96
    jne short 07687h                          ; 75 04                       ; 0xf7681
    or byte [bp+013h], 001h                   ; 80 4e 13 01                 ; 0xf7683
    and byte [bp+01ch], 0feh                  ; 80 66 1c fe                 ; 0xf7687 parallel.c:97
    jmp short 07691h                          ; eb 04                       ; 0xf768b parallel.c:98
    or byte [bp+01ch], 001h                   ; 80 4e 1c 01                 ; 0xf768d parallel.c:99
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf7691 parallel.c:101
    pop di                                    ; 5f                          ; 0xf7694
    pop si                                    ; 5e                          ; 0xf7695
    pop bp                                    ; 5d                          ; 0xf7696
    retn                                      ; c3                          ; 0xf7697
  ; disGetNextSymbol 0xf7698 LB 0x3784 -> off=0x0 cb=00000000000000b8 uValue=00000000000f6098 '_wait_'
_wait_:                                      ; 0xf7698 LB 0xb8
    push bp                                   ; 55                          ; 0xf7698 logo.c:181
    mov bp, sp                                ; 89 e5                       ; 0xf7699
    push bx                                   ; 53                          ; 0xf769b
    push cx                                   ; 51                          ; 0xf769c
    push si                                   ; 56                          ; 0xf769d
    push di                                   ; 57                          ; 0xf769e
    sub sp, strict byte 0000ah                ; 83 ec 0a                    ; 0xf769f
    mov di, ax                                ; 89 c7                       ; 0xf76a2
    mov byte [bp-00ah], dl                    ; 88 56 f6                    ; 0xf76a4
    mov byte [bp-00ch], 000h                  ; c6 46 f4 00                 ; 0xf76a7 logo.c:186
    pushfw                                    ; 9c                          ; 0xf76ab logo.c:192
    pop ax                                    ; 58                          ; 0xf76ac
    mov word [bp-010h], ax                    ; 89 46 f0                    ; 0xf76ad
    sti                                       ; fb                          ; 0xf76b0 logo.c:193
    xor dx, dx                                ; 31 d2                       ; 0xf76b1 logo.c:199
    mov bx, 0046ch                            ; bb 6c 04                    ; 0xf76b3 logo.c:68
    mov es, dx                                ; 8e c2                       ; 0xf76b6
    mov ax, word [es:bx]                      ; 26 8b 07                    ; 0xf76b8
    mov cx, word [es:bx+002h]                 ; 26 8b 4f 02                 ; 0xf76bb
    mov word [bp-00eh], ax                    ; 89 46 f2                    ; 0xf76bf logo.c:69
    hlt                                       ; f4                          ; 0xf76c2 logo.c:203
    mov bx, 0046ch                            ; bb 6c 04                    ; 0xf76c3 logo.c:68
    xor ax, ax                                ; 31 c0                       ; 0xf76c6
    mov es, ax                                ; 8e c0                       ; 0xf76c8
    mov si, word [es:bx]                      ; 26 8b 37                    ; 0xf76ca
    mov ax, word [es:bx+002h]                 ; 26 8b 47 02                 ; 0xf76cd
    mov bx, si                                ; 89 f3                       ; 0xf76d1 logo.c:69
    mov word [bp-012h], ax                    ; 89 46 ee                    ; 0xf76d3
    cmp ax, cx                                ; 39 c8                       ; 0xf76d6 logo.c:205
    jnbe short 076e1h                         ; 77 07                       ; 0xf76d8
    jne short 076e8h                          ; 75 0c                       ; 0xf76da
    cmp si, word [bp-00eh]                    ; 3b 76 f2                    ; 0xf76dc
    jbe short 076e8h                          ; 76 07                       ; 0xf76df
    sub si, word [bp-00eh]                    ; 2b 76 f2                    ; 0xf76e1 logo.c:207
    sbb ax, cx                                ; 19 c8                       ; 0xf76e4
    jmp short 076f3h                          ; eb 0b                       ; 0xf76e6 logo.c:210
    cmp ax, cx                                ; 39 c8                       ; 0xf76e8
    jc short 076f3h                           ; 72 07                       ; 0xf76ea
    jne short 076f7h                          ; 75 09                       ; 0xf76ec
    cmp si, word [bp-00eh]                    ; 3b 76 f2                    ; 0xf76ee
    jnc short 076f7h                          ; 73 04                       ; 0xf76f1
    sub di, si                                ; 29 f7                       ; 0xf76f3 logo.c:211
    sbb dx, ax                                ; 19 c2                       ; 0xf76f5
    mov word [bp-00eh], bx                    ; 89 5e f2                    ; 0xf76f7 logo.c:212
    mov cx, word [bp-012h]                    ; 8b 4e ee                    ; 0xf76fa
    mov ax, 00100h                            ; b8 00 01                    ; 0xf76fd logo.c:214
    int 016h                                  ; cd 16                       ; 0xf7700
    je near 0770bh                            ; 0f 84 05 00                 ; 0xf7702
    mov AL, strict byte 001h                  ; b0 01                       ; 0xf7706
    jmp near 0770dh                           ; e9 02 00                    ; 0xf7708
    db  032h, 0c0h
    ; xor al, al                                ; 32 c0                     ; 0xf770b
    test al, al                               ; 84 c0                       ; 0xf770d
    je short 07735h                           ; 74 24                       ; 0xf770f
    db  033h, 0c0h
    ; xor ax, ax                                ; 33 c0                     ; 0xf7711 logo.c:216
    int 016h                                  ; cd 16                       ; 0xf7713
    xchg ah, al                               ; 86 c4                       ; 0xf7715
    mov bl, al                                ; 88 c3                       ; 0xf7717
    mov byte [bp-00ch], al                    ; 88 46 f4                    ; 0xf7719
    movzx ax, bl                              ; 0f b6 c3                    ; 0xf771c logo.c:217
    push ax                                   ; 50                          ; 0xf771f
    push 00a26h                               ; 68 26 0a                    ; 0xf7720
    push strict byte 00004h                   ; 6a 04                       ; 0xf7723
    call 01a68h                               ; e8 40 a3                    ; 0xf7725
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf7728
    cmp byte [bp-00ah], 000h                  ; 80 7e f6 00                 ; 0xf772b logo.c:218
    je short 07735h                           ; 74 04                       ; 0xf772f
    mov al, bl                                ; 88 d8                       ; 0xf7731 logo.c:219
    jmp short 07747h                          ; eb 12                       ; 0xf7733
    test dx, dx                               ; 85 d2                       ; 0xf7735 logo.c:221
    jnle short 076c2h                         ; 7f 89                       ; 0xf7737
    jne short 0773fh                          ; 75 04                       ; 0xf7739
    test di, di                               ; 85 ff                       ; 0xf773b
    jnbe short 076c2h                         ; 77 83                       ; 0xf773d
    mov ax, word [bp-010h]                    ; 8b 46 f0                    ; 0xf773f logo.c:222
    push ax                                   ; 50                          ; 0xf7742
    popfw                                     ; 9d                          ; 0xf7743
    mov al, byte [bp-00ch]                    ; 8a 46 f4                    ; 0xf7744 logo.c:223
    lea sp, [bp-008h]                         ; 8d 66 f8                    ; 0xf7747 logo.c:224
    pop di                                    ; 5f                          ; 0xf774a
    pop si                                    ; 5e                          ; 0xf774b
    pop cx                                    ; 59                          ; 0xf774c
    pop bx                                    ; 5b                          ; 0xf774d
    pop bp                                    ; 5d                          ; 0xf774e
    retn                                      ; c3                          ; 0xf774f
  ; disGetNextSymbol 0xf7750 LB 0x36cc -> off=0x0 cb=0000000000000016 uValue=00000000000f6150 'read_logo_byte'
read_logo_byte:                              ; 0xf7750 LB 0x16
    push bp                                   ; 55                          ; 0xf7750 logo.c:226
    mov bp, sp                                ; 89 e5                       ; 0xf7751
    push dx                                   ; 52                          ; 0xf7753
    xor ah, ah                                ; 30 e4                       ; 0xf7754 logo.c:228
    or ah, 001h                               ; 80 cc 01                    ; 0xf7756
    mov dx, 003b8h                            ; ba b8 03                    ; 0xf7759
    out DX, ax                                ; ef                          ; 0xf775c
    in AL, DX                                 ; ec                          ; 0xf775d logo.c:229
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf775e
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xf7760 logo.c:230
    pop dx                                    ; 5a                          ; 0xf7763
    pop bp                                    ; 5d                          ; 0xf7764
    retn                                      ; c3                          ; 0xf7765
  ; disGetNextSymbol 0xf7766 LB 0x36b6 -> off=0x0 cb=0000000000000014 uValue=00000000000f6166 'read_logo_word'
read_logo_word:                              ; 0xf7766 LB 0x14
    push bp                                   ; 55                          ; 0xf7766 logo.c:232
    mov bp, sp                                ; 89 e5                       ; 0xf7767
    push dx                                   ; 52                          ; 0xf7769
    xor ah, ah                                ; 30 e4                       ; 0xf776a logo.c:234
    or ah, 001h                               ; 80 cc 01                    ; 0xf776c
    mov dx, 003b8h                            ; ba b8 03                    ; 0xf776f
    out DX, ax                                ; ef                          ; 0xf7772
    in ax, DX                                 ; ed                          ; 0xf7773 logo.c:235
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xf7774 logo.c:236
    pop dx                                    ; 5a                          ; 0xf7777
    pop bp                                    ; 5d                          ; 0xf7778
    retn                                      ; c3                          ; 0xf7779
  ; disGetNextSymbol 0xf777a LB 0x36a2 -> off=0x0 cb=0000000000000133 uValue=00000000000f617a 'print_detected_harddisks'
print_detected_harddisks:                    ; 0xf777a LB 0x133
    push bp                                   ; 55                          ; 0xf777a logo.c:255
    mov bp, sp                                ; 89 e5                       ; 0xf777b
    push bx                                   ; 53                          ; 0xf777d
    push cx                                   ; 51                          ; 0xf777e
    push dx                                   ; 52                          ; 0xf777f
    push si                                   ; 56                          ; 0xf7780
    push di                                   ; 57                          ; 0xf7781
    push ax                                   ; 50                          ; 0xf7782
    push ax                                   ; 50                          ; 0xf7783
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf7784 logo.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf7787
    mov es, ax                                ; 8e c0                       ; 0xf778a
    mov si, word [es:bx]                      ; 26 8b 37                    ; 0xf778c
    mov di, si                                ; 89 f7                       ; 0xf778f logo.c:59
    xor ch, ch                                ; 30 ed                       ; 0xf7791 logo.c:260
    xor cl, cl                                ; 30 c9                       ; 0xf7793 logo.c:261
    mov byte [bp-00eh], ch                    ; 88 6e f2                    ; 0xf7795 logo.c:262
    mov bx, 002ach                            ; bb ac 02                    ; 0xf7798 logo.c:48
    mov es, si                                ; 8e c6                       ; 0xf779b
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf779d
    mov byte [bp-00ch], al                    ; 88 46 f4                    ; 0xf77a0 logo.c:49
    xor bl, bl                                ; 30 db                       ; 0xf77a3 logo.c:267
    cmp bl, byte [bp-00ch]                    ; 3a 5e f4                    ; 0xf77a5
    jnc near 0787fh                           ; 0f 83 d3 00                 ; 0xf77a8
    movzx si, bl                              ; 0f b6 f3                    ; 0xf77ac logo.c:269
    add si, 002adh                            ; 81 c6 ad 02                 ; 0xf77af
    mov es, di                                ; 8e c7                       ; 0xf77b3 logo.c:48
    mov al, byte [es:si]                      ; 26 8a 04                    ; 0xf77b5
    mov bh, al                                ; 88 c7                       ; 0xf77b8 logo.c:49
    cmp AL, strict byte 00ch                  ; 3c 0c                       ; 0xf77ba logo.c:272
    jc short 077e2h                           ; 72 24                       ; 0xf77bc
    test cl, cl                               ; 84 c9                       ; 0xf77be logo.c:274
    jne short 077cfh                          ; 75 0d                       ; 0xf77c0
    push 00a37h                               ; 68 37 0a                    ; 0xf77c2 logo.c:276
    push strict byte 00002h                   ; 6a 02                       ; 0xf77c5
    call 01a68h                               ; e8 9e a2                    ; 0xf77c7
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf77ca
    mov CL, strict byte 001h                  ; b1 01                       ; 0xf77cd logo.c:277
    movzx ax, bl                              ; 0f b6 c3                    ; 0xf77cf logo.c:280
    inc ax                                    ; 40                          ; 0xf77d2
    push ax                                   ; 50                          ; 0xf77d3
    push 00a4ch                               ; 68 4c 0a                    ; 0xf77d4
    push strict byte 00002h                   ; 6a 02                       ; 0xf77d7
    call 01a68h                               ; e8 8c a2                    ; 0xf77d9
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf77dc
    jmp near 0787ah                           ; e9 98 00                    ; 0xf77df logo.c:283
    cmp AL, strict byte 008h                  ; 3c 08                       ; 0xf77e2 logo.c:286
    jc short 077fdh                           ; 72 17                       ; 0xf77e4
    cmp byte [bp-00eh], 000h                  ; 80 7e f2 00                 ; 0xf77e6 logo.c:288
    jne short 077fbh                          ; 75 0f                       ; 0xf77ea
    push 00a5fh                               ; 68 5f 0a                    ; 0xf77ec logo.c:290
    push strict byte 00002h                   ; 6a 02                       ; 0xf77ef
    call 01a68h                               ; e8 74 a2                    ; 0xf77f1
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf77f4
    mov byte [bp-00eh], 001h                  ; c6 46 f2 01                 ; 0xf77f7 logo.c:291
    jmp short 077cfh                          ; eb d2                       ; 0xf77fb logo.c:292
    cmp AL, strict byte 004h                  ; 3c 04                       ; 0xf77fd logo.c:301
    jnc short 07814h                          ; 73 13                       ; 0xf77ff
    test ch, ch                               ; 84 ed                       ; 0xf7801
    jne short 07814h                          ; 75 0f                       ; 0xf7803
    push 00a74h                               ; 68 74 0a                    ; 0xf7805 logo.c:303
    push strict byte 00002h                   ; 6a 02                       ; 0xf7808
    call 01a68h                               ; e8 5b a2                    ; 0xf780a
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf780d
    mov CH, strict byte 001h                  ; b5 01                       ; 0xf7810 logo.c:304
    jmp short 0782ah                          ; eb 16                       ; 0xf7812 logo.c:306
    cmp bh, 004h                              ; 80 ff 04                    ; 0xf7814
    jc short 0782ah                           ; 72 11                       ; 0xf7817
    test cl, cl                               ; 84 c9                       ; 0xf7819
    jne short 0782ah                          ; 75 0d                       ; 0xf781b
    push 00a86h                               ; 68 86 0a                    ; 0xf781d logo.c:308
    push strict byte 00002h                   ; 6a 02                       ; 0xf7820
    call 01a68h                               ; e8 43 a2                    ; 0xf7822
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf7825
    mov CL, strict byte 001h                  ; b1 01                       ; 0xf7828 logo.c:309
    movzx ax, bl                              ; 0f b6 c3                    ; 0xf782a logo.c:312
    inc ax                                    ; 40                          ; 0xf782d
    push ax                                   ; 50                          ; 0xf782e
    push 00a9ah                               ; 68 9a 0a                    ; 0xf782f
    push strict byte 00002h                   ; 6a 02                       ; 0xf7832
    call 01a68h                               ; e8 31 a2                    ; 0xf7834
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf7837
    cmp bh, 004h                              ; 80 ff 04                    ; 0xf783a logo.c:319
    jc short 07842h                           ; 72 03                       ; 0xf783d
    sub bh, 004h                              ; 80 ef 04                    ; 0xf783f logo.c:320
    movzx ax, bh                              ; 0f b6 c7                    ; 0xf7842 logo.c:322
    cwd                                       ; 99                          ; 0xf7845
    db  02bh, 0c2h
    ; sub ax, dx                                ; 2b c2                     ; 0xf7846
    sar ax, 1                                 ; d1 f8                       ; 0xf7848
    test ax, ax                               ; 85 c0                       ; 0xf784a
    je short 07853h                           ; 74 05                       ; 0xf784c
    push 00aa4h                               ; 68 a4 0a                    ; 0xf784e logo.c:323
    jmp short 07856h                          ; eb 03                       ; 0xf7851 logo.c:324
    push 00aafh                               ; 68 af 0a                    ; 0xf7853 logo.c:325
    push strict byte 00002h                   ; 6a 02                       ; 0xf7856
    call 01a68h                               ; e8 0d a2                    ; 0xf7858
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf785b
    movzx ax, bh                              ; 0f b6 c7                    ; 0xf785e logo.c:327
    cwd                                       ; 99                          ; 0xf7861
    mov si, strict word 00002h                ; be 02 00                    ; 0xf7862
    idiv si                                   ; f7 fe                       ; 0xf7865
    test dx, dx                               ; 85 d2                       ; 0xf7867
    je short 07870h                           ; 74 05                       ; 0xf7869
    push 00ab8h                               ; 68 b8 0a                    ; 0xf786b logo.c:328
    jmp short 07873h                          ; eb 03                       ; 0xf786e logo.c:329
    push 00abeh                               ; 68 be 0a                    ; 0xf7870 logo.c:330
    push si                                   ; 56                          ; 0xf7873
    call 01a68h                               ; e8 f1 a1                    ; 0xf7874
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf7877
    db  0feh, 0c3h
    ; inc bl                                    ; fe c3                     ; 0xf787a logo.c:332
    jmp near 077a5h                           ; e9 26 ff                    ; 0xf787c
    test ch, ch                               ; 84 ed                       ; 0xf787f logo.c:334
    jne short 07898h                          ; 75 15                       ; 0xf7881
    test cl, cl                               ; 84 c9                       ; 0xf7883
    jne short 07898h                          ; 75 11                       ; 0xf7885
    cmp byte [bp-00eh], 000h                  ; 80 7e f2 00                 ; 0xf7887
    jne short 07898h                          ; 75 0b                       ; 0xf788b
    push 00ac5h                               ; 68 c5 0a                    ; 0xf788d logo.c:337
    push strict byte 00002h                   ; 6a 02                       ; 0xf7890
    call 01a68h                               ; e8 d3 a1                    ; 0xf7892
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf7895
    push 00ad9h                               ; 68 d9 0a                    ; 0xf7898 logo.c:339
    push strict byte 00002h                   ; 6a 02                       ; 0xf789b
    call 01a68h                               ; e8 c8 a1                    ; 0xf789d
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf78a0
    lea sp, [bp-00ah]                         ; 8d 66 f6                    ; 0xf78a3 logo.c:340
    pop di                                    ; 5f                          ; 0xf78a6
    pop si                                    ; 5e                          ; 0xf78a7
    pop dx                                    ; 5a                          ; 0xf78a8
    pop cx                                    ; 59                          ; 0xf78a9
    pop bx                                    ; 5b                          ; 0xf78aa
    pop bp                                    ; 5d                          ; 0xf78ab
    retn                                      ; c3                          ; 0xf78ac
  ; disGetNextSymbol 0xf78ad LB 0x356f -> off=0x0 cb=0000000000000024 uValue=00000000000f62ad 'get_boot_drive'
get_boot_drive:                              ; 0xf78ad LB 0x24
    push bx                                   ; 53                          ; 0xf78ad logo.c:342
    push dx                                   ; 52                          ; 0xf78ae
    push bp                                   ; 55                          ; 0xf78af
    mov bp, sp                                ; 89 e5                       ; 0xf78b0
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf78b2 logo.c:58
    mov dx, strict word 00040h                ; ba 40 00                    ; 0xf78b5
    mov es, dx                                ; 8e c2                       ; 0xf78b8
    mov dx, word [es:bx]                      ; 26 8b 17                    ; 0xf78ba
    mov bx, 002ach                            ; bb ac 02                    ; 0xf78bd logo.c:48
    mov es, dx                                ; 8e c2                       ; 0xf78c0
    mov dl, byte [es:bx]                      ; 26 8a 17                    ; 0xf78c2
    sub AL, strict byte 002h                  ; 2c 02                       ; 0xf78c5 logo.c:350
    cmp al, dl                                ; 38 d0                       ; 0xf78c7 logo.c:352
    jc short 078cdh                           ; 72 02                       ; 0xf78c9
    mov AL, strict byte 0ffh                  ; b0 ff                       ; 0xf78cb logo.c:353
    pop bp                                    ; 5d                          ; 0xf78cd logo.c:357
    pop dx                                    ; 5a                          ; 0xf78ce
    pop bx                                    ; 5b                          ; 0xf78cf
    retn                                      ; c3                          ; 0xf78d0
  ; disGetNextSymbol 0xf78d1 LB 0x354b -> off=0x0 cb=0000000000000254 uValue=00000000000f62d1 'show_logo'
show_logo:                                   ; 0xf78d1 LB 0x254
    push bp                                   ; 55                          ; 0xf78d1 logo.c:359
    mov bp, sp                                ; 89 e5                       ; 0xf78d2
    push bx                                   ; 53                          ; 0xf78d4
    push cx                                   ; 51                          ; 0xf78d5
    push dx                                   ; 52                          ; 0xf78d6
    push si                                   ; 56                          ; 0xf78d7
    push di                                   ; 57                          ; 0xf78d8
    sub sp, strict byte 0000eh                ; 83 ec 0e                    ; 0xf78d9
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf78dc logo.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf78df
    mov es, ax                                ; 8e c0                       ; 0xf78e2
    mov si, word [es:bx]                      ; 26 8b 37                    ; 0xf78e4
    mov byte [bp-00eh], 000h                  ; c6 46 f2 00                 ; 0xf78e7 logo.c:362
    xor dx, dx                                ; 31 d2                       ; 0xf78eb logo.c:366
    mov AL, strict byte 034h                  ; b0 34                       ; 0xf78ed logo.c:373
    out strict byte 043h, AL                  ; e6 43                       ; 0xf78ef
    mov AL, strict byte 0d3h                  ; b0 d3                       ; 0xf78f1
    out strict byte 040h, AL                  ; e6 40                       ; 0xf78f3
    mov AL, strict byte 048h                  ; b0 48                       ; 0xf78f5
    out strict byte 040h, AL                  ; e6 40                       ; 0xf78f7
    movzx ax, dl                              ; 0f b6 c2                    ; 0xf78f9 logo.c:376
    call 07766h                               ; e8 67 fe                    ; 0xf78fc
    cmp ax, 066bbh                            ; 3d bb 66                    ; 0xf78ff logo.c:377
    jne near 07a04h                           ; 0f 85 fe 00                 ; 0xf7902
    push SS                                   ; 16                          ; 0xf7906 logo.c:381
    pop ES                                    ; 07                          ; 0xf7907
    lea di, [bp-018h]                         ; 8d 7e e8                    ; 0xf7908
    mov ax, 04f03h                            ; b8 03 4f                    ; 0xf790b
    int 010h                                  ; cd 10                       ; 0xf790e
    mov word [es:di], bx                      ; 26 89 1d                    ; 0xf7910
    cmp ax, strict word 0004fh                ; 3d 4f 00                    ; 0xf7913
    jne near 07a04h                           ; 0f 85 ea 00                 ; 0xf7916
    mov al, dl                                ; 88 d0                       ; 0xf791a logo.c:385
    add AL, strict byte 004h                  ; 04 04                       ; 0xf791c
    xor ah, ah                                ; 30 e4                       ; 0xf791e
    call 07750h                               ; e8 2d fe                    ; 0xf7920
    mov bl, al                                ; 88 c3                       ; 0xf7923
    mov byte [bp-012h], al                    ; 88 46 ee                    ; 0xf7925
    mov al, dl                                ; 88 d0                       ; 0xf7928 logo.c:386
    add AL, strict byte 005h                  ; 04 05                       ; 0xf792a
    xor ah, ah                                ; 30 e4                       ; 0xf792c
    call 07750h                               ; e8 1f fe                    ; 0xf792e
    mov dh, al                                ; 88 c6                       ; 0xf7931
    mov byte [bp-00ch], al                    ; 88 46 f4                    ; 0xf7933
    mov al, dl                                ; 88 d0                       ; 0xf7936 logo.c:387
    add AL, strict byte 002h                  ; 04 02                       ; 0xf7938
    xor ah, ah                                ; 30 e4                       ; 0xf793a
    call 07766h                               ; e8 27 fe                    ; 0xf793c
    mov cx, ax                                ; 89 c1                       ; 0xf793f
    mov word [bp-016h], ax                    ; 89 46 ea                    ; 0xf7941
    mov al, dl                                ; 88 d0                       ; 0xf7944 logo.c:388
    add AL, strict byte 006h                  ; 04 06                       ; 0xf7946
    xor ah, ah                                ; 30 e4                       ; 0xf7948
    call 07750h                               ; e8 03 fe                    ; 0xf794a
    mov byte [bp-014h], al                    ; 88 46 ec                    ; 0xf794d
    test bl, bl                               ; 84 db                       ; 0xf7950 logo.c:391
    jne short 0795eh                          ; 75 0a                       ; 0xf7952
    test dh, dh                               ; 84 f6                       ; 0xf7954
    jne short 0795eh                          ; 75 06                       ; 0xf7956
    test cx, cx                               ; 85 c9                       ; 0xf7958
    je near 07a04h                            ; 0f 84 a6 00                 ; 0xf795a
    mov BH, strict byte 020h                  ; b7 20                       ; 0xf795e logo.c:395
    mov dx, 001e0h                            ; ba e0 01                    ; 0xf7960
    mov cx, 00280h                            ; b9 80 02                    ; 0xf7963
    mov ax, 05642h                            ; b8 42 56                    ; 0xf7966
    mov BL, strict byte 000h                  ; b3 00                       ; 0xf7969
    int 010h                                  ; cd 10                       ; 0xf796b
    cmp ax, strict word 0004fh                ; 3d 4f 00                    ; 0xf796d logo.c:397
    je short 0797ah                           ; 74 08                       ; 0xf7970
    mov bx, 00142h                            ; bb 42 01                    ; 0xf7972 logo.c:398
    mov ax, 04f02h                            ; b8 02 4f                    ; 0xf7975
    int 010h                                  ; cd 10                       ; 0xf7978
    cmp byte [bp-012h], 000h                  ; 80 7e ee 00                 ; 0xf797a logo.c:400
    je short 079a5h                           ; 74 25                       ; 0xf797e
    xor bx, bx                                ; 31 db                       ; 0xf7980 logo.c:402
    jmp short 0798ah                          ; eb 06                       ; 0xf7982
    inc bx                                    ; 43                          ; 0xf7984 logo.c:404
    cmp bx, strict byte 00010h                ; 83 fb 10                    ; 0xf7985
    jnbe short 079ach                         ; 77 22                       ; 0xf7988
    mov ax, bx                                ; 89 d8                       ; 0xf798a
    or ah, 002h                               ; 80 cc 02                    ; 0xf798c
    mov dx, 003b8h                            ; ba b8 03                    ; 0xf798f
    out DX, ax                                ; ef                          ; 0xf7992
    xor dx, dx                                ; 31 d2                       ; 0xf7993
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xf7995
    call 07698h                               ; e8 fd fc                    ; 0xf7998
    cmp AL, strict byte 086h                  ; 3c 86                       ; 0xf799b
    jne short 07984h                          ; 75 e5                       ; 0xf799d
    mov byte [bp-00eh], 001h                  ; c6 46 f2 01                 ; 0xf799f
    jmp short 079ach                          ; eb 07                       ; 0xf79a3
    mov ax, 00210h                            ; b8 10 02                    ; 0xf79a5 logo.c:414
    mov dx, 003b8h                            ; ba b8 03                    ; 0xf79a8
    out DX, ax                                ; ef                          ; 0xf79ab
    cmp byte [bp-00eh], 000h                  ; 80 7e f2 00                 ; 0xf79ac logo.c:417
    jne short 079c6h                          ; 75 14                       ; 0xf79b0
    mov ax, word [bp-016h]                    ; 8b 46 ea                    ; 0xf79b2 logo.c:419
    shr ax, 004h                              ; c1 e8 04                    ; 0xf79b5
    mov dx, strict word 00001h                ; ba 01 00                    ; 0xf79b8
    call 07698h                               ; e8 da fc                    ; 0xf79bb
    cmp AL, strict byte 086h                  ; 3c 86                       ; 0xf79be logo.c:420
    jne short 079c6h                          ; 75 04                       ; 0xf79c0
    mov byte [bp-00eh], 001h                  ; c6 46 f2 01                 ; 0xf79c2 logo.c:421
    cmp byte [bp-00ch], 000h                  ; 80 7e f4 00                 ; 0xf79c6 logo.c:425
    je short 079f7h                           ; 74 2b                       ; 0xf79ca
    cmp byte [bp-00eh], 000h                  ; 80 7e f2 00                 ; 0xf79cc
    jne short 079f7h                          ; 75 25                       ; 0xf79d0
    mov bx, strict word 00010h                ; bb 10 00                    ; 0xf79d2 logo.c:427
    jmp short 079dch                          ; eb 05                       ; 0xf79d5
    dec bx                                    ; 4b                          ; 0xf79d7 logo.c:429
    test bx, bx                               ; 85 db                       ; 0xf79d8
    jbe short 07a04h                          ; 76 28                       ; 0xf79da
    mov ax, bx                                ; 89 d8                       ; 0xf79dc
    or ah, 002h                               ; 80 cc 02                    ; 0xf79de
    mov dx, 003b8h                            ; ba b8 03                    ; 0xf79e1
    out DX, ax                                ; ef                          ; 0xf79e4
    xor dx, dx                                ; 31 d2                       ; 0xf79e5
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xf79e7
    call 07698h                               ; e8 ab fc                    ; 0xf79ea
    cmp AL, strict byte 086h                  ; 3c 86                       ; 0xf79ed
    jne short 079d7h                          ; 75 e6                       ; 0xf79ef
    mov byte [bp-00eh], 001h                  ; c6 46 f2 01                 ; 0xf79f1
    jmp short 07a04h                          ; eb 0d                       ; 0xf79f5
    cmp byte [bp-00eh], 000h                  ; 80 7e f2 00                 ; 0xf79f7 logo.c:438
    jne short 07a04h                          ; 75 07                       ; 0xf79fb
    mov ax, 00200h                            ; b8 00 02                    ; 0xf79fd logo.c:439
    mov dx, 003b8h                            ; ba b8 03                    ; 0xf7a00
    out DX, ax                                ; ef                          ; 0xf7a03
    mov bx, 00331h                            ; bb 31 03                    ; 0xf7a04 logo.c:53
    mov es, si                                ; 8e c6                       ; 0xf7a07
    mov byte [es:bx], 000h                    ; 26 c6 07 00                 ; 0xf7a09
    mov AL, strict byte 003h                  ; b0 03                       ; 0xf7a0d logo.c:447
    mov AH, strict byte 000h                  ; b4 00                       ; 0xf7a0f
    int 010h                                  ; cd 10                       ; 0xf7a11
    cmp byte [bp-014h], 000h                  ; 80 7e ec 00                 ; 0xf7a13 logo.c:450
    je near 07b06h                            ; 0f 84 eb 00                 ; 0xf7a17
    cmp byte [bp-012h], 000h                  ; 80 7e ee 00                 ; 0xf7a1b logo.c:453
    jne short 07a55h                          ; 75 34                       ; 0xf7a1f
    cmp byte [bp-00ch], 000h                  ; 80 7e f4 00                 ; 0xf7a21
    jne short 07a55h                          ; 75 2e                       ; 0xf7a25
    cmp word [bp-016h], strict byte 00000h    ; 83 7e ea 00                 ; 0xf7a27
    jne short 07a55h                          ; 75 28                       ; 0xf7a2b
    cmp byte [bp-014h], 002h                  ; 80 7e ec 02                 ; 0xf7a2d logo.c:455
    jne short 07a3eh                          ; 75 0b                       ; 0xf7a31
    push 00adbh                               ; 68 db 0a                    ; 0xf7a33 logo.c:456
    push strict byte 00002h                   ; 6a 02                       ; 0xf7a36
    call 01a68h                               ; e8 2d a0                    ; 0xf7a38
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf7a3b
    cmp byte [bp-00eh], 000h                  ; 80 7e f2 00                 ; 0xf7a3e logo.c:459
    jne short 07a55h                          ; 75 11                       ; 0xf7a42
    mov dx, strict word 00001h                ; ba 01 00                    ; 0xf7a44 logo.c:462
    mov ax, 000c0h                            ; b8 c0 00                    ; 0xf7a47
    call 07698h                               ; e8 4b fc                    ; 0xf7a4a
    cmp AL, strict byte 086h                  ; 3c 86                       ; 0xf7a4d logo.c:463
    jne short 07a55h                          ; 75 04                       ; 0xf7a4f
    mov byte [bp-00eh], 001h                  ; c6 46 f2 01                 ; 0xf7a51 logo.c:464
    cmp byte [bp-00eh], 000h                  ; 80 7e f2 00                 ; 0xf7a55 logo.c:469
    je near 07b06h                            ; 0f 84 a9 00                 ; 0xf7a59
    mov byte [bp-010h], 000h                  ; c6 46 f0 00                 ; 0xf7a5d logo.c:471
    mov ax, 00100h                            ; b8 00 01                    ; 0xf7a61 logo.c:474
    mov cx, 01000h                            ; b9 00 10                    ; 0xf7a64
    int 010h                                  ; cd 10                       ; 0xf7a67
    mov ax, 00700h                            ; b8 00 07                    ; 0xf7a69
    mov BH, strict byte 007h                  ; b7 07                       ; 0xf7a6c
    db  033h, 0c9h
    ; xor cx, cx                                ; 33 c9                     ; 0xf7a6e
    mov dx, 0184fh                            ; ba 4f 18                    ; 0xf7a70
    int 010h                                  ; cd 10                       ; 0xf7a73
    mov ax, 00200h                            ; b8 00 02                    ; 0xf7a75
    db  033h, 0dbh
    ; xor bx, bx                                ; 33 db                     ; 0xf7a78
    db  033h, 0d2h
    ; xor dx, dx                                ; 33 d2                     ; 0xf7a7a
    int 010h                                  ; cd 10                       ; 0xf7a7c
    push 00afdh                               ; 68 fd 0a                    ; 0xf7a7e logo.c:477
    push strict byte 00002h                   ; 6a 02                       ; 0xf7a81
    call 01a68h                               ; e8 e2 9f                    ; 0xf7a83
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf7a86
    call 0777ah                               ; e8 ee fc                    ; 0xf7a89 logo.c:478
    push 00b41h                               ; 68 41 0b                    ; 0xf7a8c logo.c:479
    push strict byte 00002h                   ; 6a 02                       ; 0xf7a8f
    call 01a68h                               ; e8 d4 9f                    ; 0xf7a91
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf7a94
    mov dx, strict word 00001h                ; ba 01 00                    ; 0xf7a97 logo.c:488
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf7a9a
    call 07698h                               ; e8 f8 fb                    ; 0xf7a9d
    mov bl, al                                ; 88 c3                       ; 0xf7aa0
    test al, al                               ; 84 c0                       ; 0xf7aa2 logo.c:489
    je short 07a97h                           ; 74 f1                       ; 0xf7aa4
    cmp AL, strict byte 030h                  ; 3c 30                       ; 0xf7aa6 logo.c:491
    je short 07af5h                           ; 74 4b                       ; 0xf7aa8
    cmp bl, 002h                              ; 80 fb 02                    ; 0xf7aaa logo.c:498
    jc short 07aceh                           ; 72 1f                       ; 0xf7aad
    cmp bl, 009h                              ; 80 fb 09                    ; 0xf7aaf
    jnbe short 07aceh                         ; 77 1a                       ; 0xf7ab2
    movzx ax, bl                              ; 0f b6 c3                    ; 0xf7ab4 logo.c:500
    call 078adh                               ; e8 f3 fd                    ; 0xf7ab7
    cmp AL, strict byte 0ffh                  ; 3c ff                       ; 0xf7aba logo.c:507
    jne short 07ac0h                          ; 75 02                       ; 0xf7abc
    jmp short 07a97h                          ; eb d7                       ; 0xf7abe logo.c:508
    mov bx, 00330h                            ; bb 30 03                    ; 0xf7ac0 logo.c:53
    mov es, si                                ; 8e c6                       ; 0xf7ac3
    mov byte [es:bx], al                      ; 26 88 07                    ; 0xf7ac5
    mov byte [bp-010h], 002h                  ; c6 46 f0 02                 ; 0xf7ac8 logo.c:511
    jmp short 07af5h                          ; eb 27                       ; 0xf7acc logo.c:512
    cmp bl, 02eh                              ; 80 fb 2e                    ; 0xf7ace logo.c:515
    je short 07ae3h                           ; 74 10                       ; 0xf7ad1
    cmp bl, 026h                              ; 80 fb 26                    ; 0xf7ad3
    je short 07ae9h                           ; 74 11                       ; 0xf7ad6
    cmp bl, 021h                              ; 80 fb 21                    ; 0xf7ad8
    jne short 07aefh                          ; 75 12                       ; 0xf7adb
    mov byte [bp-010h], 001h                  ; c6 46 f0 01                 ; 0xf7add logo.c:519
    jmp short 07af5h                          ; eb 12                       ; 0xf7ae1 logo.c:520
    mov byte [bp-010h], 003h                  ; c6 46 f0 03                 ; 0xf7ae3 logo.c:523
    jmp short 07af5h                          ; eb 0c                       ; 0xf7ae7 logo.c:524
    mov byte [bp-010h], 004h                  ; c6 46 f0 04                 ; 0xf7ae9 logo.c:527
    jmp short 07af5h                          ; eb 06                       ; 0xf7aed logo.c:528
    cmp byte [bp-010h], 000h                  ; 80 7e f0 00                 ; 0xf7aef logo.c:531
    je short 07a97h                           ; 74 a2                       ; 0xf7af3
    mov bx, 00331h                            ; bb 31 03                    ; 0xf7af5 logo.c:53
    mov es, si                                ; 8e c6                       ; 0xf7af8
    mov al, byte [bp-010h]                    ; 8a 46 f0                    ; 0xf7afa
    mov byte [es:bx], al                      ; 26 88 07                    ; 0xf7afd
    mov AL, strict byte 003h                  ; b0 03                       ; 0xf7b00 logo.c:538
    mov AH, strict byte 000h                  ; b4 00                       ; 0xf7b02
    int 010h                                  ; cd 10                       ; 0xf7b04
    mov AL, strict byte 034h                  ; b0 34                       ; 0xf7b06 logo.c:543
    out strict byte 043h, AL                  ; e6 43                       ; 0xf7b08
    db  033h, 0c0h
    ; xor ax, ax                                ; 33 c0                     ; 0xf7b0a
    out strict byte 040h, AL                  ; e6 40                       ; 0xf7b0c
    out strict byte 040h, AL                  ; e6 40                       ; 0xf7b0e
    pushad                                    ; 66 60                       ; 0xf7b10
    push DS                                   ; 1e                          ; 0xf7b12
    mov ds, ax                                ; 8e d8                       ; 0xf7b13
    call 0edbfh                               ; e8 a7 72                    ; 0xf7b15
    pop DS                                    ; 1f                          ; 0xf7b18
    popad                                     ; 66 61                       ; 0xf7b19
    lea sp, [bp-00ah]                         ; 8d 66 f6                    ; 0xf7b1b logo.c:546
    pop di                                    ; 5f                          ; 0xf7b1e
    pop si                                    ; 5e                          ; 0xf7b1f
    pop dx                                    ; 5a                          ; 0xf7b20
    pop cx                                    ; 59                          ; 0xf7b21
    pop bx                                    ; 5b                          ; 0xf7b22
    pop bp                                    ; 5d                          ; 0xf7b23
    retn                                      ; c3                          ; 0xf7b24
  ; disGetNextSymbol 0xf7b25 LB 0x32f7 -> off=0x0 cb=0000000000000067 uValue=00000000000f6525 'delay_boot'
delay_boot:                                  ; 0xf7b25 LB 0x67
    push bp                                   ; 55                          ; 0xf7b25 logo.c:549
    mov bp, sp                                ; 89 e5                       ; 0xf7b26
    push bx                                   ; 53                          ; 0xf7b28
    push dx                                   ; 52                          ; 0xf7b29
    mov dx, ax                                ; 89 c2                       ; 0xf7b2a
    test ax, ax                               ; 85 c0                       ; 0xf7b2c logo.c:553
    je short 07b85h                           ; 74 55                       ; 0xf7b2e
    mov AL, strict byte 034h                  ; b0 34                       ; 0xf7b30 logo.c:557
    out strict byte 043h, AL                  ; e6 43                       ; 0xf7b32
    mov AL, strict byte 0d3h                  ; b0 d3                       ; 0xf7b34
    out strict byte 040h, AL                  ; e6 40                       ; 0xf7b36
    mov AL, strict byte 048h                  ; b0 48                       ; 0xf7b38
    out strict byte 040h, AL                  ; e6 40                       ; 0xf7b3a
    push dx                                   ; 52                          ; 0xf7b3c logo.c:559
    push 00b8bh                               ; 68 8b 0b                    ; 0xf7b3d
    push strict byte 00002h                   ; 6a 02                       ; 0xf7b40
    call 01a68h                               ; e8 23 9f                    ; 0xf7b42
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf7b45
    mov bx, dx                                ; 89 d3                       ; 0xf7b48 logo.c:560
    test bx, bx                               ; 85 db                       ; 0xf7b4a
    jbe short 07b65h                          ; 76 17                       ; 0xf7b4c
    push bx                                   ; 53                          ; 0xf7b4e logo.c:562
    push 00ba9h                               ; 68 a9 0b                    ; 0xf7b4f
    push strict byte 00002h                   ; 6a 02                       ; 0xf7b52
    call 01a68h                               ; e8 11 9f                    ; 0xf7b54
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf7b57
    xor dx, dx                                ; 31 d2                       ; 0xf7b5a logo.c:563
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf7b5c
    call 07698h                               ; e8 36 fb                    ; 0xf7b5f
    dec bx                                    ; 4b                          ; 0xf7b62 logo.c:564
    jmp short 07b4ah                          ; eb e5                       ; 0xf7b63
    push 00ad9h                               ; 68 d9 0a                    ; 0xf7b65 logo.c:565
    push strict byte 00002h                   ; 6a 02                       ; 0xf7b68
    call 01a68h                               ; e8 fb 9e                    ; 0xf7b6a
    add sp, strict byte 00004h                ; 83 c4 04                    ; 0xf7b6d
    mov AL, strict byte 034h                  ; b0 34                       ; 0xf7b70 logo.c:567
    out strict byte 043h, AL                  ; e6 43                       ; 0xf7b72
    db  033h, 0c0h
    ; xor ax, ax                                ; 33 c0                     ; 0xf7b74
    out strict byte 040h, AL                  ; e6 40                       ; 0xf7b76
    out strict byte 040h, AL                  ; e6 40                       ; 0xf7b78
    pushad                                    ; 66 60                       ; 0xf7b7a
    push DS                                   ; 1e                          ; 0xf7b7c
    mov ds, ax                                ; 8e d8                       ; 0xf7b7d
    call 0edbfh                               ; e8 3d 72                    ; 0xf7b7f
    pop DS                                    ; 1f                          ; 0xf7b82
    popad                                     ; 66 61                       ; 0xf7b83
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf7b85 logo.c:568
    pop dx                                    ; 5a                          ; 0xf7b88
    pop bx                                    ; 5b                          ; 0xf7b89
    pop bp                                    ; 5d                          ; 0xf7b8a
    retn                                      ; c3                          ; 0xf7b8b
  ; disGetNextSymbol 0xf7b8c LB 0x3290 -> off=0x0 cb=000000000000003a uValue=00000000000f658c 'scsi_hba_mem_alloc'
scsi_hba_mem_alloc:                          ; 0xf7b8c LB 0x3a
    push bx                                   ; 53                          ; 0xf7b8c scsi.c:108
    push cx                                   ; 51                          ; 0xf7b8d
    push dx                                   ; 52                          ; 0xf7b8e
    push di                                   ; 57                          ; 0xf7b8f
    push bp                                   ; 55                          ; 0xf7b90
    mov bp, sp                                ; 89 e5                       ; 0xf7b91
    mov di, 00413h                            ; bf 13 04                    ; 0xf7b93 scsi.c:58
    xor ax, ax                                ; 31 c0                       ; 0xf7b96
    mov es, ax                                ; 8e c0                       ; 0xf7b98
    mov ax, word [es:di]                      ; 26 8b 05                    ; 0xf7b9a
    test ax, ax                               ; 85 c0                       ; 0xf7b9d scsi.c:117
    je short 07bc0h                           ; 74 1f                       ; 0xf7b9f
    dec ax                                    ; 48                          ; 0xf7ba1 scsi.c:118
    mov bx, ax                                ; 89 c3                       ; 0xf7ba2
    xor dx, dx                                ; 31 d2                       ; 0xf7ba4 scsi.c:121
    mov cx, strict word 0000ah                ; b9 0a 00                    ; 0xf7ba6
    sal ax, 1                                 ; d1 e0                       ; 0xf7ba9
    rcl dx, 1                                 ; d1 d2                       ; 0xf7bab
    loop 07ba9h                               ; e2 fa                       ; 0xf7bad
    mov di, dx                                ; 89 d7                       ; 0xf7baf
    mov cx, strict word 00004h                ; b9 04 00                    ; 0xf7bb1
    shr di, 1                                 ; d1 ef                       ; 0xf7bb4
    rcr ax, 1                                 ; d1 d8                       ; 0xf7bb6
    loop 07bb4h                               ; e2 fa                       ; 0xf7bb8
    mov di, 00413h                            ; bf 13 04                    ; 0xf7bba scsi.c:63
    mov word [es:di], bx                      ; 26 89 1d                    ; 0xf7bbd
    pop bp                                    ; 5d                          ; 0xf7bc0 scsi.c:126
    pop di                                    ; 5f                          ; 0xf7bc1
    pop dx                                    ; 5a                          ; 0xf7bc2
    pop cx                                    ; 59                          ; 0xf7bc3
    pop bx                                    ; 5b                          ; 0xf7bc4
    retn                                      ; c3                          ; 0xf7bc5
  ; disGetNextSymbol 0xf7bc6 LB 0x3256 -> off=0x0 cb=0000000000000102 uValue=00000000000f65c6 'scsi_read_sectors'
scsi_read_sectors:                           ; 0xf7bc6 LB 0x102
    push bp                                   ; 55                          ; 0xf7bc6 scsi.c:135
    mov bp, sp                                ; 89 e5                       ; 0xf7bc7
    push si                                   ; 56                          ; 0xf7bc9
    push di                                   ; 57                          ; 0xf7bca
    sub sp, strict byte 0001ah                ; 83 ec 1a                    ; 0xf7bcb
    mov si, word [bp+004h]                    ; 8b 76 04                    ; 0xf7bce
    mov es, [bp+006h]                         ; 8e 46 06                    ; 0xf7bd1 scsi.c:146
    mov al, byte [es:si+00ch]                 ; 26 8a 44 0c                 ; 0xf7bd4
    sub AL, strict byte 008h                  ; 2c 08                       ; 0xf7bd8
    mov byte [bp-006h], al                    ; 88 46 fa                    ; 0xf7bda
    cmp AL, strict byte 004h                  ; 3c 04                       ; 0xf7bdd scsi.c:147
    jbe short 07bf4h                          ; 76 13                       ; 0xf7bdf
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf7be1 scsi.c:148
    push ax                                   ; 50                          ; 0xf7be5
    push 00baeh                               ; 68 ae 0b                    ; 0xf7be6
    push 00bc0h                               ; 68 c0 0b                    ; 0xf7be9
    push strict byte 00007h                   ; 6a 07                       ; 0xf7bec
    call 01a68h                               ; e8 77 9e                    ; 0xf7bee
    add sp, strict byte 00008h                ; 83 c4 08                    ; 0xf7bf1
    mov es, [bp+006h]                         ; 8e 46 06                    ; 0xf7bf4 scsi.c:150
    mov ax, word [es:si+00eh]                 ; 26 8b 44 0e                 ; 0xf7bf7
    mov word [bp-008h], ax                    ; 89 46 f8                    ; 0xf7bfb
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xf7bfe scsi.c:85
    mov word [bp-00ah], ax                    ; 89 46 f6                    ; 0xf7c02
    mov word [bp-01eh], 00088h                ; c7 46 e2 88 00              ; 0xf7c05 scsi.c:155
    mov es, [bp+006h]                         ; 8e 46 06                    ; 0xf7c0a scsi.c:156
    mov ax, word [es:si+006h]                 ; 26 8b 44 06                 ; 0xf7c0d
    mov bx, word [es:si+004h]                 ; 26 8b 5c 04                 ; 0xf7c11
    mov cx, word [es:si+002h]                 ; 26 8b 4c 02                 ; 0xf7c15
    mov dx, word [es:si]                      ; 26 8b 14                    ; 0xf7c19
    xchg ah, al                               ; 86 c4                       ; 0xf7c1c
    xchg bh, bl                               ; 86 df                       ; 0xf7c1e
    xchg ch, cl                               ; 86 cd                       ; 0xf7c20
    xchg dh, dl                               ; 86 d6                       ; 0xf7c22
    xchg dx, ax                               ; 92                          ; 0xf7c24
    xchg bx, cx                               ; 87 cb                       ; 0xf7c25
    mov word [bp-016h], ax                    ; 89 46 ea                    ; 0xf7c27
    mov word [bp-018h], bx                    ; 89 5e e8                    ; 0xf7c2a
    mov word [bp-01ah], cx                    ; 89 4e e6                    ; 0xf7c2d
    mov word [bp-01ch], dx                    ; 89 56 e4                    ; 0xf7c30
    mov byte [bp-010h], 000h                  ; c6 46 f0 00                 ; 0xf7c33 scsi.c:157
    mov ax, word [bp-008h]                    ; 8b 46 f8                    ; 0xf7c37 scsi.c:158
    xor dx, dx                                ; 31 d2                       ; 0xf7c3a
    xchg ah, al                               ; 86 c4                       ; 0xf7c3c
    xchg dh, dl                               ; 86 d6                       ; 0xf7c3e
    xchg dx, ax                               ; 92                          ; 0xf7c40
    mov word [bp-014h], ax                    ; 89 46 ec                    ; 0xf7c41
    mov word [bp-012h], dx                    ; 89 56 ee                    ; 0xf7c44
    mov byte [bp-00fh], 000h                  ; c6 46 f1 00                 ; 0xf7c47 scsi.c:159
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf7c4b scsi.c:162
    sal ax, 002h                              ; c1 e0 02                    ; 0xf7c4f
    mov bx, si                                ; 89 f3                       ; 0xf7c52
    add bx, ax                                ; 01 c3                       ; 0xf7c54
    mov dx, word [es:bx+00290h]               ; 26 8b 97 90 02              ; 0xf7c56
    mov al, byte [es:bx+00292h]               ; 26 8a 87 92 02              ; 0xf7c5b scsi.c:163
    mov bl, byte [es:bx+00293h]               ; 26 8a 9f 93 02              ; 0xf7c60 scsi.c:164
    movzx di, al                              ; 0f b6 f8                    ; 0xf7c65 scsi.c:169
    imul di, di, strict byte 0000ch           ; 6b ff 0c                    ; 0xf7c68
    mov ax, word [bp-008h]                    ; 8b 46 f8                    ; 0xf7c6b
    mov word [bp-00eh], ax                    ; 89 46 f2                    ; 0xf7c6e
    xor ax, ax                                ; 31 c0                       ; 0xf7c71
    mov word [bp-00ch], ax                    ; 89 46 f4                    ; 0xf7c73
    mov cx, strict word 00009h                ; b9 09 00                    ; 0xf7c76
    sal word [bp-00eh], 1                     ; d1 66 f2                    ; 0xf7c79
    rcl word [bp-00ch], 1                     ; d1 56 f4                    ; 0xf7c7c
    loop 07c79h                               ; e2 f8                       ; 0xf7c7f
    push dword [bp-00eh]                      ; 66 ff 76 f2                 ; 0xf7c81
    db  066h, 026h, 0ffh, 074h, 008h
    ; push dword [es:si+008h]                   ; 66 26 ff 74 08            ; 0xf7c85
    push strict byte 00010h                   ; 6a 10                       ; 0xf7c8a
    lea cx, [bp-01eh]                         ; 8d 4e e2                    ; 0xf7c8c
    push SS                                   ; 16                          ; 0xf7c8f
    push cx                                   ; 51                          ; 0xf7c90
    xor bh, bh                                ; 30 ff                       ; 0xf7c91
    call word [di+000a4h]                     ; ff 95 a4 00                 ; 0xf7c93
    mov dl, al                                ; 88 c2                       ; 0xf7c97
    test al, al                               ; 84 c0                       ; 0xf7c99 scsi.c:171
    jne short 07cb5h                          ; 75 18                       ; 0xf7c9b
    mov ax, word [bp-008h]                    ; 8b 46 f8                    ; 0xf7c9d scsi.c:173
    mov es, [bp+006h]                         ; 8e 46 06                    ; 0xf7ca0
    mov word [es:si+018h], ax                 ; 26 89 44 18                 ; 0xf7ca3
    mov ax, word [bp-00eh]                    ; 8b 46 f2                    ; 0xf7ca7 scsi.c:174
    mov word [es:si+01ah], ax                 ; 26 89 44 1a                 ; 0xf7caa
    mov ax, word [bp-00ch]                    ; 8b 46 f4                    ; 0xf7cae
    mov word [es:si+01ch], ax                 ; 26 89 44 1c                 ; 0xf7cb1
    mov ax, word [bp-00ah]                    ; 8b 46 f6                    ; 0xf7cb5 scsi.c:88
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf7cb8 scsi.c:90
    movzx ax, dl                              ; 0f b6 c2                    ; 0xf7cbc scsi.c:179
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf7cbf scsi.c:180
    pop di                                    ; 5f                          ; 0xf7cc2
    pop si                                    ; 5e                          ; 0xf7cc3
    pop bp                                    ; 5d                          ; 0xf7cc4
    retn 00004h                               ; c2 04 00                    ; 0xf7cc5
  ; disGetNextSymbol 0xf7cc8 LB 0x3154 -> off=0x0 cb=0000000000000102 uValue=00000000000f66c8 'scsi_write_sectors'
scsi_write_sectors:                          ; 0xf7cc8 LB 0x102
    push bp                                   ; 55                          ; 0xf7cc8 scsi.c:189
    mov bp, sp                                ; 89 e5                       ; 0xf7cc9
    push si                                   ; 56                          ; 0xf7ccb
    push di                                   ; 57                          ; 0xf7ccc
    sub sp, strict byte 0001ah                ; 83 ec 1a                    ; 0xf7ccd
    mov si, word [bp+004h]                    ; 8b 76 04                    ; 0xf7cd0
    mov es, [bp+006h]                         ; 8e 46 06                    ; 0xf7cd3 scsi.c:200
    mov al, byte [es:si+00ch]                 ; 26 8a 44 0c                 ; 0xf7cd6
    sub AL, strict byte 008h                  ; 2c 08                       ; 0xf7cda
    mov byte [bp-006h], al                    ; 88 46 fa                    ; 0xf7cdc
    cmp AL, strict byte 004h                  ; 3c 04                       ; 0xf7cdf scsi.c:201
    jbe short 07cf6h                          ; 76 13                       ; 0xf7ce1
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf7ce3 scsi.c:202
    push ax                                   ; 50                          ; 0xf7ce7
    push 00bdfh                               ; 68 df 0b                    ; 0xf7ce8
    push 00bc0h                               ; 68 c0 0b                    ; 0xf7ceb
    push strict byte 00007h                   ; 6a 07                       ; 0xf7cee
    call 01a68h                               ; e8 75 9d                    ; 0xf7cf0
    add sp, strict byte 00008h                ; 83 c4 08                    ; 0xf7cf3
    mov es, [bp+006h]                         ; 8e 46 06                    ; 0xf7cf6 scsi.c:204
    mov ax, word [es:si+00eh]                 ; 26 8b 44 0e                 ; 0xf7cf9
    mov word [bp-008h], ax                    ; 89 46 f8                    ; 0xf7cfd
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xf7d00 scsi.c:85
    mov word [bp-00ah], ax                    ; 89 46 f6                    ; 0xf7d04
    mov word [bp-01eh], 0008ah                ; c7 46 e2 8a 00              ; 0xf7d07 scsi.c:209
    mov es, [bp+006h]                         ; 8e 46 06                    ; 0xf7d0c scsi.c:210
    mov ax, word [es:si+006h]                 ; 26 8b 44 06                 ; 0xf7d0f
    mov bx, word [es:si+004h]                 ; 26 8b 5c 04                 ; 0xf7d13
    mov cx, word [es:si+002h]                 ; 26 8b 4c 02                 ; 0xf7d17
    mov dx, word [es:si]                      ; 26 8b 14                    ; 0xf7d1b
    xchg ah, al                               ; 86 c4                       ; 0xf7d1e
    xchg bh, bl                               ; 86 df                       ; 0xf7d20
    xchg ch, cl                               ; 86 cd                       ; 0xf7d22
    xchg dh, dl                               ; 86 d6                       ; 0xf7d24
    xchg dx, ax                               ; 92                          ; 0xf7d26
    xchg bx, cx                               ; 87 cb                       ; 0xf7d27
    mov word [bp-016h], ax                    ; 89 46 ea                    ; 0xf7d29
    mov word [bp-018h], bx                    ; 89 5e e8                    ; 0xf7d2c
    mov word [bp-01ah], cx                    ; 89 4e e6                    ; 0xf7d2f
    mov word [bp-01ch], dx                    ; 89 56 e4                    ; 0xf7d32
    mov byte [bp-010h], 000h                  ; c6 46 f0 00                 ; 0xf7d35 scsi.c:211
    mov ax, word [bp-008h]                    ; 8b 46 f8                    ; 0xf7d39 scsi.c:212
    xor dx, dx                                ; 31 d2                       ; 0xf7d3c
    xchg ah, al                               ; 86 c4                       ; 0xf7d3e
    xchg dh, dl                               ; 86 d6                       ; 0xf7d40
    xchg dx, ax                               ; 92                          ; 0xf7d42
    mov word [bp-014h], ax                    ; 89 46 ec                    ; 0xf7d43
    mov word [bp-012h], dx                    ; 89 56 ee                    ; 0xf7d46
    mov byte [bp-00fh], 000h                  ; c6 46 f1 00                 ; 0xf7d49 scsi.c:213
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf7d4d scsi.c:215
    sal ax, 002h                              ; c1 e0 02                    ; 0xf7d51
    mov bx, si                                ; 89 f3                       ; 0xf7d54
    add bx, ax                                ; 01 c3                       ; 0xf7d56
    mov dx, word [es:bx+00290h]               ; 26 8b 97 90 02              ; 0xf7d58
    mov al, byte [es:bx+00292h]               ; 26 8a 87 92 02              ; 0xf7d5d scsi.c:216
    mov bl, byte [es:bx+00293h]               ; 26 8a 9f 93 02              ; 0xf7d62 scsi.c:217
    movzx di, al                              ; 0f b6 f8                    ; 0xf7d67 scsi.c:222
    imul di, di, strict byte 0000ch           ; 6b ff 0c                    ; 0xf7d6a
    mov ax, word [bp-008h]                    ; 8b 46 f8                    ; 0xf7d6d
    mov word [bp-00eh], ax                    ; 89 46 f2                    ; 0xf7d70
    xor ax, ax                                ; 31 c0                       ; 0xf7d73
    mov word [bp-00ch], ax                    ; 89 46 f4                    ; 0xf7d75
    mov cx, strict word 00009h                ; b9 09 00                    ; 0xf7d78
    sal word [bp-00eh], 1                     ; d1 66 f2                    ; 0xf7d7b
    rcl word [bp-00ch], 1                     ; d1 56 f4                    ; 0xf7d7e
    loop 07d7bh                               ; e2 f8                       ; 0xf7d81
    push dword [bp-00eh]                      ; 66 ff 76 f2                 ; 0xf7d83
    db  066h, 026h, 0ffh, 074h, 008h
    ; push dword [es:si+008h]                   ; 66 26 ff 74 08            ; 0xf7d87
    push strict byte 00010h                   ; 6a 10                       ; 0xf7d8c
    lea cx, [bp-01eh]                         ; 8d 4e e2                    ; 0xf7d8e
    push SS                                   ; 16                          ; 0xf7d91
    push cx                                   ; 51                          ; 0xf7d92
    xor bh, bh                                ; 30 ff                       ; 0xf7d93
    call word [di+000a2h]                     ; ff 95 a2 00                 ; 0xf7d95
    mov dl, al                                ; 88 c2                       ; 0xf7d99
    test al, al                               ; 84 c0                       ; 0xf7d9b scsi.c:224
    jne short 07db7h                          ; 75 18                       ; 0xf7d9d
    mov ax, word [bp-008h]                    ; 8b 46 f8                    ; 0xf7d9f scsi.c:226
    mov es, [bp+006h]                         ; 8e 46 06                    ; 0xf7da2
    mov word [es:si+018h], ax                 ; 26 89 44 18                 ; 0xf7da5
    mov ax, word [bp-00eh]                    ; 8b 46 f2                    ; 0xf7da9 scsi.c:227
    mov word [es:si+01ah], ax                 ; 26 89 44 1a                 ; 0xf7dac
    mov ax, word [bp-00ch]                    ; 8b 46 f4                    ; 0xf7db0
    mov word [es:si+01ch], ax                 ; 26 89 44 1c                 ; 0xf7db3
    mov ax, word [bp-00ah]                    ; 8b 46 f6                    ; 0xf7db7 scsi.c:88
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf7dba scsi.c:90
    movzx ax, dl                              ; 0f b6 c2                    ; 0xf7dbe scsi.c:232
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf7dc1 scsi.c:233
    pop di                                    ; 5f                          ; 0xf7dc4
    pop si                                    ; 5e                          ; 0xf7dc5
    pop bp                                    ; 5d                          ; 0xf7dc6
    retn 00004h                               ; c2 04 00                    ; 0xf7dc7
  ; disGetNextSymbol 0xf7dca LB 0x3052 -> off=0x0 cb=0000000000000107 uValue=00000000000f67ca 'scsi_cmd_packet'
scsi_cmd_packet:                             ; 0xf7dca LB 0x107
    push bp                                   ; 55                          ; 0xf7dca scsi.c:252
    mov bp, sp                                ; 89 e5                       ; 0xf7dcb
    push si                                   ; 56                          ; 0xf7dcd
    push di                                   ; 57                          ; 0xf7dce
    sub sp, strict byte 00010h                ; 83 ec 10                    ; 0xf7dcf
    mov di, ax                                ; 89 c7                       ; 0xf7dd2
    mov byte [bp-006h], dl                    ; 88 56 fa                    ; 0xf7dd4
    mov word [bp-012h], bx                    ; 89 5e ee                    ; 0xf7dd7
    mov word [bp-00eh], cx                    ; 89 4e f2                    ; 0xf7dda
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf7ddd scsi.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf7de0
    mov es, ax                                ; 8e c0                       ; 0xf7de3
    mov ax, word [es:bx]                      ; 26 8b 07                    ; 0xf7de5
    mov si, strict word 0005eh                ; be 5e 00                    ; 0xf7de8 scsi.c:59
    mov word [bp-00ch], ax                    ; 89 46 f4                    ; 0xf7deb
    cmp byte [bp+008h], 002h                  ; 80 7e 08 02                 ; 0xf7dee scsi.c:263
    jne short 07e13h                          ; 75 1f                       ; 0xf7df2
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf7df4 scsi.c:264
    mov cx, ds                                ; 8c d9                       ; 0xf7df7
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf7df9
    call 01a27h                               ; e8 28 9c                    ; 0xf7dfc
    push 00bf2h                               ; 68 f2 0b                    ; 0xf7dff
    push 00c02h                               ; 68 02 0c                    ; 0xf7e02
    push strict byte 00004h                   ; 6a 04                       ; 0xf7e05
    call 01a68h                               ; e8 5e 9c                    ; 0xf7e07
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf7e0a
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xf7e0d scsi.c:265
    jmp near 07ec8h                           ; e9 b5 00                    ; 0xf7e10
    sub di, strict byte 00008h                ; 83 ef 08                    ; 0xf7e13 scsi.c:269
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xf7e16 scsi.c:85
    mov word [bp-010h], ax                    ; 89 46 f0                    ; 0xf7e1a
    mov bx, di                                ; 89 fb                       ; 0xf7e1d scsi.c:277
    sal bx, 002h                              ; c1 e3 02                    ; 0xf7e1f
    mov es, [bp-00ch]                         ; 8e 46 f4                    ; 0xf7e22
    add bx, si                                ; 01 f3                       ; 0xf7e25
    mov ax, word [es:bx+00290h]               ; 26 8b 87 90 02              ; 0xf7e27
    mov word [bp-014h], ax                    ; 89 46 ec                    ; 0xf7e2c
    mov al, byte [es:bx+00292h]               ; 26 8a 87 92 02              ; 0xf7e2f scsi.c:278
    mov byte [bp-00ah], al                    ; 88 46 f6                    ; 0xf7e34
    mov al, byte [es:bx+00293h]               ; 26 8a 87 93 02              ; 0xf7e37 scsi.c:279
    mov byte [bp-008h], al                    ; 88 46 f8                    ; 0xf7e3c
    mov ax, word [bp+004h]                    ; 8b 46 04                    ; 0xf7e3f scsi.c:281
    mov dx, word [bp+006h]                    ; 8b 56 06                    ; 0xf7e42
    mov cx, strict word 00008h                ; b9 08 00                    ; 0xf7e45
    sal ax, 1                                 ; d1 e0                       ; 0xf7e48
    rcl dx, 1                                 ; d1 d2                       ; 0xf7e4a
    loop 07e48h                               ; e2 fa                       ; 0xf7e4c
    mov word [es:si], ax                      ; 26 89 04                    ; 0xf7e4e
    mov word [es:si+002h], dx                 ; 26 89 54 02                 ; 0xf7e51
    db  066h, 026h, 0c7h, 044h, 004h, 000h, 000h, 000h, 000h
    ; mov dword [es:si+004h], strict dword 000000000h ; 66 26 c7 44 04 00 00 00 00; 0xf7e55
    mov ax, word [bp+00ah]                    ; 8b 46 0a                    ; 0xf7e5e scsi.c:282
    mov word [es:si+008h], ax                 ; 26 89 44 08                 ; 0xf7e61
    mov ax, word [bp+00ch]                    ; 8b 46 0c                    ; 0xf7e65
    mov word [es:si+00ah], ax                 ; 26 89 44 0a                 ; 0xf7e68
    mov bx, word [es:si+010h]                 ; 26 8b 5c 10                 ; 0xf7e6c scsi.c:283
    mov ax, word [bp+004h]                    ; 8b 46 04                    ; 0xf7e70
    mov dx, word [bp+006h]                    ; 8b 56 06                    ; 0xf7e73
    xor cx, cx                                ; 31 c9                       ; 0xf7e76
    call 0ad20h                               ; e8 a5 2e                    ; 0xf7e78
    mov word [es:si+00eh], ax                 ; 26 89 44 0e                 ; 0xf7e7b
    movzx di, byte [bp-00ah]                  ; 0f b6 7e f6                 ; 0xf7e7f scsi.c:288
    imul di, di, strict byte 0000ch           ; 6b ff 0c                    ; 0xf7e83
    push dword [bp+004h]                      ; 66 ff 76 04                 ; 0xf7e86
    db  066h, 026h, 0ffh, 074h, 008h
    ; push dword [es:si+008h]                   ; 66 26 ff 74 08            ; 0xf7e8a
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf7e8f
    push ax                                   ; 50                          ; 0xf7e93
    push word [bp-00eh]                       ; ff 76 f2                    ; 0xf7e94
    push word [bp-012h]                       ; ff 76 ee                    ; 0xf7e97
    movzx bx, byte [bp-008h]                  ; 0f b6 5e f8                 ; 0xf7e9a
    xor ax, ax                                ; 31 c0                       ; 0xf7e9e
    mov dx, word [bp-014h]                    ; 8b 56 ec                    ; 0xf7ea0
    call word [di+000a4h]                     ; ff 95 a4 00                 ; 0xf7ea3
    mov dl, al                                ; 88 c2                       ; 0xf7ea7
    test al, al                               ; 84 c0                       ; 0xf7ea9 scsi.c:290
    jne short 07ebeh                          ; 75 11                       ; 0xf7eab
    mov ax, word [bp+004h]                    ; 8b 46 04                    ; 0xf7ead scsi.c:291
    mov es, [bp-00ch]                         ; 8e 46 f4                    ; 0xf7eb0
    mov word [es:si+01ah], ax                 ; 26 89 44 1a                 ; 0xf7eb3
    mov ax, word [bp+006h]                    ; 8b 46 06                    ; 0xf7eb7
    mov word [es:si+01ch], ax                 ; 26 89 44 1c                 ; 0xf7eba
    mov ax, word [bp-010h]                    ; 8b 46 f0                    ; 0xf7ebe scsi.c:88
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf7ec1 scsi.c:90
    movzx ax, dl                              ; 0f b6 c2                    ; 0xf7ec5 scsi.c:296
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf7ec8 scsi.c:297
    pop di                                    ; 5f                          ; 0xf7ecb
    pop si                                    ; 5e                          ; 0xf7ecc
    pop bp                                    ; 5d                          ; 0xf7ecd
    retn 0000ah                               ; c2 0a 00                    ; 0xf7ece
  ; disGetNextSymbol 0xf7ed1 LB 0x2f4b -> off=0x0 cb=000000000000048b uValue=00000000000f68d1 'scsi_enumerate_attached_devices'
scsi_enumerate_attached_devices:             ; 0xf7ed1 LB 0x48b
    push bp                                   ; 55                          ; 0xf7ed1 scsi.c:305
    mov bp, sp                                ; 89 e5                       ; 0xf7ed2
    push bx                                   ; 53                          ; 0xf7ed4
    push cx                                   ; 51                          ; 0xf7ed5
    push si                                   ; 56                          ; 0xf7ed6
    push di                                   ; 57                          ; 0xf7ed7
    sub sp, 0023eh                            ; 81 ec 3e 02                 ; 0xf7ed8
    push ax                                   ; 50                          ; 0xf7edc
    mov byte [bp-00eh], dl                    ; 88 56 f2                    ; 0xf7edd
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf7ee0 scsi.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf7ee3
    mov es, ax                                ; 8e c0                       ; 0xf7ee6
    mov ax, word [es:bx]                      ; 26 8b 07                    ; 0xf7ee8
    mov di, strict word 0005eh                ; bf 5e 00                    ; 0xf7eeb scsi.c:59
    mov word [bp-022h], ax                    ; 89 46 de                    ; 0xf7eee
    mov word [bp-030h], strict word 00000h    ; c7 46 d0 00 00              ; 0xf7ef1 scsi.c:314
    jmp near 08310h                           ; e9 17 04                    ; 0xf7ef6
    mov es, [bp-022h]                         ; 8e 46 de                    ; 0xf7ef9 scsi.c:320
    mov al, byte [es:di+002a0h]               ; 26 8a 85 a0 02              ; 0xf7efc
    mov byte [bp-00ch], al                    ; 88 46 f4                    ; 0xf7f01
    test byte [bp-00246h], 0e0h               ; f6 86 ba fd e0              ; 0xf7f04 scsi.c:337
    jne near 08252h                           ; 0f 85 45 03                 ; 0xf7f09
    test byte [bp-00246h], 01fh               ; f6 86 ba fd 1f              ; 0xf7f0d
    jne near 08252h                           ; 0f 85 3c 03                 ; 0xf7f12
    cmp AL, strict byte 004h                  ; 3c 04                       ; 0xf7f16 scsi.c:343
    jnc near 08353h                           ; 0f 83 37 04                 ; 0xf7f18
    mov cx, strict word 00010h                ; b9 10 00                    ; 0xf7f1c scsi.c:352
    xor bx, bx                                ; 31 db                       ; 0xf7f1f
    mov dx, ss                                ; 8c d2                       ; 0xf7f21
    lea ax, [bp-046h]                         ; 8d 46 ba                    ; 0xf7f23
    call 0ad80h                               ; e8 57 2e                    ; 0xf7f26
    mov byte [bp-046h], 09eh                  ; c6 46 ba 9e                 ; 0xf7f29 scsi.c:353
    mov byte [bp-045h], 010h                  ; c6 46 bb 10                 ; 0xf7f2d scsi.c:354
    mov byte [bp-039h], 020h                  ; c6 46 c7 20                 ; 0xf7f31 scsi.c:355
    movzx si, byte [bp-00eh]                  ; 0f b6 76 f2                 ; 0xf7f35 scsi.c:357
    imul si, si, strict byte 0000ch           ; 6b f6 0c                    ; 0xf7f39
    push dword 000000020h                     ; 66 6a 20                    ; 0xf7f3c
    lea dx, [bp-00246h]                       ; 8d 96 ba fd                 ; 0xf7f3f
    push SS                                   ; 16                          ; 0xf7f43
    push dx                                   ; 52                          ; 0xf7f44
    push strict byte 00010h                   ; 6a 10                       ; 0xf7f45
    lea dx, [bp-046h]                         ; 8d 56 ba                    ; 0xf7f47
    push SS                                   ; 16                          ; 0xf7f4a
    push dx                                   ; 52                          ; 0xf7f4b
    movzx bx, byte [bp-030h]                  ; 0f b6 5e d0                 ; 0xf7f4c
    xor ax, ax                                ; 31 c0                       ; 0xf7f50
    mov dx, word [bp-00248h]                  ; 8b 96 b8 fd                 ; 0xf7f52
    call word [si+000a4h]                     ; ff 94 a4 00                 ; 0xf7f56
    test al, al                               ; 84 c0                       ; 0xf7f5a scsi.c:358
    je short 07f6ch                           ; 74 0e                       ; 0xf7f5c
    push 00c22h                               ; 68 22 0c                    ; 0xf7f5e scsi.c:359
    push 00c42h                               ; 68 42 0c                    ; 0xf7f61
    push strict byte 00007h                   ; 6a 07                       ; 0xf7f64
    call 01a68h                               ; e8 ff 9a                    ; 0xf7f66
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf7f69
    mov ax, word [bp-00240h]                  ; 8b 86 c0 fd                 ; 0xf7f6c scsi.c:364
    mov bx, word [bp-00242h]                  ; 8b 9e be fd                 ; 0xf7f70
    mov cx, word [bp-00244h]                  ; 8b 8e bc fd                 ; 0xf7f74
    mov dx, word [bp-00246h]                  ; 8b 96 ba fd                 ; 0xf7f78
    xchg ah, al                               ; 86 c4                       ; 0xf7f7c
    xchg bh, bl                               ; 86 df                       ; 0xf7f7e
    xchg ch, cl                               ; 86 cd                       ; 0xf7f80
    xchg dh, dl                               ; 86 d6                       ; 0xf7f82
    xchg dx, ax                               ; 92                          ; 0xf7f84
    xchg bx, cx                               ; 87 cb                       ; 0xf7f85
    add dx, strict byte 00001h                ; 83 c2 01                    ; 0xf7f87
    mov word [bp-014h], dx                    ; 89 56 ec                    ; 0xf7f8a
    adc cx, strict byte 00000h                ; 83 d1 00                    ; 0xf7f8d
    mov word [bp-01ah], cx                    ; 89 4e e6                    ; 0xf7f90
    adc bx, strict byte 00000h                ; 83 d3 00                    ; 0xf7f93
    mov word [bp-032h], bx                    ; 89 5e ce                    ; 0xf7f96
    adc ax, strict word 00000h                ; 15 00 00                    ; 0xf7f99
    mov word [bp-010h], ax                    ; 89 46 f0                    ; 0xf7f9c
    movzx si, byte [bp-0023eh]                ; 0f b6 b6 c2 fd              ; 0xf7f9f scsi.c:366
    sal si, 008h                              ; c1 e6 08                    ; 0xf7fa4
    movzx ax, byte [bp-0023dh]                ; 0f b6 86 c3 fd              ; 0xf7fa7
    xor bx, bx                                ; 31 db                       ; 0xf7fac
    or si, ax                                 ; 09 c6                       ; 0xf7fae
    movzx ax, byte [bp-0023ch]                ; 0f b6 86 c4 fd              ; 0xf7fb0
    xor dx, dx                                ; 31 d2                       ; 0xf7fb5
    mov cx, strict word 00008h                ; b9 08 00                    ; 0xf7fb7
    sal ax, 1                                 ; d1 e0                       ; 0xf7fba
    rcl dx, 1                                 ; d1 d2                       ; 0xf7fbc
    loop 07fbah                               ; e2 fa                       ; 0xf7fbe
    or bx, ax                                 ; 09 c3                       ; 0xf7fc0
    or dx, si                                 ; 09 f2                       ; 0xf7fc2
    movzx ax, byte [bp-0023bh]                ; 0f b6 86 c5 fd              ; 0xf7fc4
    or bx, ax                                 ; 09 c3                       ; 0xf7fc9
    mov word [bp-026h], bx                    ; 89 5e da                    ; 0xf7fcb
    test dx, dx                               ; 85 d2                       ; 0xf7fce scsi.c:372
    jne short 07fd8h                          ; 75 06                       ; 0xf7fd0
    cmp bx, 00200h                            ; 81 fb 00 02                 ; 0xf7fd2
    je short 07ff8h                           ; 74 20                       ; 0xf7fd6
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf7fd8 scsi.c:375
    mov cx, ds                                ; 8c d9                       ; 0xf7fdb
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf7fdd
    call 01a27h                               ; e8 44 9a                    ; 0xf7fe0
    push dx                                   ; 52                          ; 0xf7fe3
    push word [bp-026h]                       ; ff 76 da                    ; 0xf7fe4
    push word [bp-030h]                       ; ff 76 d0                    ; 0xf7fe7
    push 00c61h                               ; 68 61 0c                    ; 0xf7fea
    push strict byte 00004h                   ; 6a 04                       ; 0xf7fed
    call 01a68h                               ; e8 76 9a                    ; 0xf7fef
    add sp, strict byte 0000ah                ; 83 c4 0a                    ; 0xf7ff2
    jmp near 08307h                           ; e9 0f 03                    ; 0xf7ff5 scsi.c:376
    mov al, byte [bp-00ch]                    ; 8a 46 f4                    ; 0xf7ff8 scsi.c:380
    cmp AL, strict byte 001h                  ; 3c 01                       ; 0xf7ffb
    jc short 0800bh                           ; 72 0c                       ; 0xf7ffd
    jbe short 08013h                          ; 76 12                       ; 0xf7fff
    cmp AL, strict byte 003h                  ; 3c 03                       ; 0xf8001
    je short 0801bh                           ; 74 16                       ; 0xf8003
    cmp AL, strict byte 002h                  ; 3c 02                       ; 0xf8005
    je short 08017h                           ; 74 0e                       ; 0xf8007
    jmp short 08052h                          ; eb 47                       ; 0xf8009
    test al, al                               ; 84 c0                       ; 0xf800b
    jne short 08052h                          ; 75 43                       ; 0xf800d
    mov BL, strict byte 090h                  ; b3 90                       ; 0xf800f scsi.c:383
    jmp short 0801dh                          ; eb 0a                       ; 0xf8011 scsi.c:384
    mov BL, strict byte 098h                  ; b3 98                       ; 0xf8013 scsi.c:386
    jmp short 0801dh                          ; eb 06                       ; 0xf8015 scsi.c:387
    mov BL, strict byte 0a0h                  ; b3 a0                       ; 0xf8017 scsi.c:389
    jmp short 0801dh                          ; eb 02                       ; 0xf8019 scsi.c:390
    mov BL, strict byte 0a8h                  ; b3 a8                       ; 0xf801b scsi.c:392
    mov al, bl                                ; 88 d8                       ; 0xf801d scsi.c:396
    add AL, strict byte 007h                  ; 04 07                       ; 0xf801f
    movzx cx, al                              ; 0f b6 c8                    ; 0xf8021
    mov ax, cx                                ; 89 c8                       ; 0xf8024
    call 0176ah                               ; e8 41 97                    ; 0xf8026
    test al, al                               ; 84 c0                       ; 0xf8029
    je short 08052h                           ; 74 25                       ; 0xf802b
    movzx ax, bl                              ; 0f b6 c3                    ; 0xf802d scsi.c:401
    call 017a6h                               ; e8 73 97                    ; 0xf8030
    mov dx, ax                                ; 89 c2                       ; 0xf8033
    xor si, si                                ; 31 f6                       ; 0xf8035
    mov al, bl                                ; 88 d8                       ; 0xf8037 scsi.c:402
    add AL, strict byte 002h                  ; 04 02                       ; 0xf8039
    xor ah, ah                                ; 30 e4                       ; 0xf803b
    call 0176ah                               ; e8 2a 97                    ; 0xf803d
    xor ah, ah                                ; 30 e4                       ; 0xf8040
    mov word [bp-012h], ax                    ; 89 46 ee                    ; 0xf8042
    mov ax, cx                                ; 89 c8                       ; 0xf8045 scsi.c:403
    call 0176ah                               ; e8 20 97                    ; 0xf8047
    xor ah, ah                                ; 30 e4                       ; 0xf804a
    mov word [bp-016h], ax                    ; 89 46 ea                    ; 0xf804c
    jmp near 0813dh                           ; e9 eb 00                    ; 0xf804f scsi.c:405
    mov ax, word [bp-010h]                    ; 8b 46 f0                    ; 0xf8052 scsi.c:406
    mov bx, word [bp-032h]                    ; 8b 5e ce                    ; 0xf8055
    mov cx, word [bp-01ah]                    ; 8b 4e e6                    ; 0xf8058
    mov dx, word [bp-014h]                    ; 8b 56 ec                    ; 0xf805b
    mov si, strict word 0000ch                ; be 0c 00                    ; 0xf805e
    call 0ad60h                               ; e8 fc 2c                    ; 0xf8061
    mov word [bp-01ch], ax                    ; 89 46 e4                    ; 0xf8064
    mov word [bp-018h], bx                    ; 89 5e e8                    ; 0xf8067
    mov word [bp-024h], cx                    ; 89 4e dc                    ; 0xf806a
    mov word [bp-01eh], dx                    ; 89 56 e2                    ; 0xf806d
    mov ax, word [bp-010h]                    ; 8b 46 f0                    ; 0xf8070 scsi.c:410
    test ax, ax                               ; 85 c0                       ; 0xf8073
    jnbe short 0808dh                         ; 77 16                       ; 0xf8075
    jne near 08100h                           ; 0f 85 85 00                 ; 0xf8077
    cmp word [bp-032h], strict byte 00000h    ; 83 7e ce 00                 ; 0xf807b
    jnbe short 0808dh                         ; 77 0c                       ; 0xf807f
    jne near 08100h                           ; 0f 85 7b 00                 ; 0xf8081
    cmp word [bp-01ah], strict byte 00040h    ; 83 7e e6 40                 ; 0xf8085
    jnbe short 0808dh                         ; 77 02                       ; 0xf8089
    jne short 08100h                          ; 75 73                       ; 0xf808b
    mov word [bp-012h], 000ffh                ; c7 46 ee ff 00              ; 0xf808d scsi.c:412
    mov word [bp-016h], strict word 0003fh    ; c7 46 ea 3f 00              ; 0xf8092 scsi.c:413
    mov bx, word [bp-032h]                    ; 8b 5e ce                    ; 0xf8097 scsi.c:415
    mov cx, word [bp-01ah]                    ; 8b 4e e6                    ; 0xf809a
    mov dx, word [bp-014h]                    ; 8b 56 ec                    ; 0xf809d
    mov si, strict word 00006h                ; be 06 00                    ; 0xf80a0
    call 0ad60h                               ; e8 ba 2c                    ; 0xf80a3
    mov si, word [bp-01eh]                    ; 8b 76 e2                    ; 0xf80a6
    add si, dx                                ; 01 d6                       ; 0xf80a9
    mov word [bp-028h], si                    ; 89 76 d8                    ; 0xf80ab
    mov dx, word [bp-024h]                    ; 8b 56 dc                    ; 0xf80ae
    adc dx, cx                                ; 11 ca                       ; 0xf80b1
    mov word [bp-020h], dx                    ; 89 56 e0                    ; 0xf80b3
    mov dx, word [bp-018h]                    ; 8b 56 e8                    ; 0xf80b6
    adc dx, bx                                ; 11 da                       ; 0xf80b9
    mov word [bp-036h], dx                    ; 89 56 ca                    ; 0xf80bb
    mov dx, word [bp-01ch]                    ; 8b 56 e4                    ; 0xf80be
    adc dx, ax                                ; 11 c2                       ; 0xf80c1
    mov word [bp-034h], dx                    ; 89 56 cc                    ; 0xf80c3
    mov ax, dx                                ; 89 d0                       ; 0xf80c6 scsi.c:416
    mov bx, word [bp-036h]                    ; 8b 5e ca                    ; 0xf80c8
    mov cx, word [bp-020h]                    ; 8b 4e e0                    ; 0xf80cb
    mov dx, si                                ; 89 f2                       ; 0xf80ce
    mov si, strict word 00008h                ; be 08 00                    ; 0xf80d0
    call 0ad60h                               ; e8 8a 2c                    ; 0xf80d3
    mov word [bp-02ah], bx                    ; 89 5e d6                    ; 0xf80d6
    mov word [bp-02ch], cx                    ; 89 4e d4                    ; 0xf80d9
    mov word [bp-02eh], dx                    ; 89 56 d2                    ; 0xf80dc
    mov ax, word [bp-034h]                    ; 8b 46 cc                    ; 0xf80df
    mov bx, word [bp-036h]                    ; 8b 5e ca                    ; 0xf80e2
    mov cx, word [bp-020h]                    ; 8b 4e e0                    ; 0xf80e5
    mov dx, word [bp-028h]                    ; 8b 56 d8                    ; 0xf80e8
    mov si, strict word 00010h                ; be 10 00                    ; 0xf80eb
    call 0ad60h                               ; e8 6f 2c                    ; 0xf80ee
    add dx, word [bp-02eh]                    ; 03 56 d2                    ; 0xf80f1
    mov si, word [bp-02ch]                    ; 8b 76 d4                    ; 0xf80f4
    adc si, cx                                ; 11 ce                       ; 0xf80f7
    mov ax, word [bp-02ah]                    ; 8b 46 d6                    ; 0xf80f9
    adc ax, bx                                ; 11 d8                       ; 0xf80fc
    jmp short 0813dh                          ; eb 3d                       ; 0xf80fe scsi.c:418
    test ax, ax                               ; 85 c0                       ; 0xf8100
    jnbe short 08116h                         ; 77 12                       ; 0xf8102
    jne short 08122h                          ; 75 1c                       ; 0xf8104
    cmp word [bp-032h], strict byte 00000h    ; 83 7e ce 00                 ; 0xf8106
    jnbe short 08116h                         ; 77 0a                       ; 0xf810a
    jne short 08122h                          ; 75 14                       ; 0xf810c
    cmp word [bp-01ah], strict byte 00020h    ; 83 7e e6 20                 ; 0xf810e
    jnbe short 08116h                         ; 77 02                       ; 0xf8112
    jne short 08122h                          ; 75 0c                       ; 0xf8114
    mov word [bp-012h], 00080h                ; c7 46 ee 80 00              ; 0xf8116 scsi.c:420
    mov word [bp-016h], strict word 00020h    ; c7 46 ea 20 00              ; 0xf811b scsi.c:421
    jmp short 0813bh                          ; eb 19                       ; 0xf8120 scsi.c:424
    mov word [bp-012h], strict word 00040h    ; c7 46 ee 40 00              ; 0xf8122 scsi.c:426
    mov word [bp-016h], strict word 00020h    ; c7 46 ea 20 00              ; 0xf8127 scsi.c:427
    mov bx, word [bp-032h]                    ; 8b 5e ce                    ; 0xf812c scsi.c:428
    mov cx, word [bp-01ah]                    ; 8b 4e e6                    ; 0xf812f
    mov dx, word [bp-014h]                    ; 8b 56 ec                    ; 0xf8132
    mov si, strict word 0000bh                ; be 0b 00                    ; 0xf8135
    call 0ad60h                               ; e8 25 2c                    ; 0xf8138
    mov si, cx                                ; 89 ce                       ; 0xf813b
    mov al, byte [bp-00ch]                    ; 8a 46 f4                    ; 0xf813d scsi.c:433
    add AL, strict byte 008h                  ; 04 08                       ; 0xf8140
    mov byte [bp-00ah], al                    ; 88 46 f6                    ; 0xf8142
    movzx ax, byte [bp-00ch]                  ; 0f b6 46 f4                 ; 0xf8145 scsi.c:435
    sal ax, 002h                              ; c1 e0 02                    ; 0xf8149
    mov es, [bp-022h]                         ; 8e 46 de                    ; 0xf814c
    mov bx, di                                ; 89 fb                       ; 0xf814f
    add bx, ax                                ; 01 c3                       ; 0xf8151
    mov ax, word [bp-00248h]                  ; 8b 86 b8 fd                 ; 0xf8153
    mov word [es:bx+00290h], ax               ; 26 89 87 90 02              ; 0xf8157
    mov al, byte [bp-00eh]                    ; 8a 46 f2                    ; 0xf815c scsi.c:436
    mov byte [es:bx+00292h], al               ; 26 88 87 92 02              ; 0xf815f
    mov al, byte [bp-030h]                    ; 8a 46 d0                    ; 0xf8164 scsi.c:437
    mov byte [es:bx+00293h], al               ; 26 88 87 93 02              ; 0xf8167
    movzx bx, byte [bp-00ah]                  ; 0f b6 5e f6                 ; 0xf816c scsi.c:438
    imul bx, bx, strict byte 0001ch           ; 6b db 1c                    ; 0xf8170
    add bx, di                                ; 01 fb                       ; 0xf8173
    db  066h, 026h, 0c7h, 047h, 01eh, 004h, 0ffh, 000h, 000h
    ; mov dword [es:bx+01eh], strict dword 00000ff04h ; 66 26 c7 47 1e 04 ff 00 00; 0xf8175
    mov ax, word [bp-026h]                    ; 8b 46 da                    ; 0xf817e scsi.c:442
    mov word [es:bx+024h], ax                 ; 26 89 47 24                 ; 0xf8181
    mov byte [es:bx+023h], 001h               ; 26 c6 47 23 01              ; 0xf8185 scsi.c:443
    mov ax, word [bp-012h]                    ; 8b 46 ee                    ; 0xf818a scsi.c:446
    mov word [es:bx+026h], ax                 ; 26 89 47 26                 ; 0xf818d
    mov ax, word [bp-016h]                    ; 8b 46 ea                    ; 0xf8191 scsi.c:447
    mov word [es:bx+02ah], ax                 ; 26 89 47 2a                 ; 0xf8194
    mov ax, word [bp-012h]                    ; 8b 46 ee                    ; 0xf8198 scsi.c:448
    mov word [es:bx+02ch], ax                 ; 26 89 47 2c                 ; 0xf819b
    mov ax, word [bp-016h]                    ; 8b 46 ea                    ; 0xf819f scsi.c:449
    mov word [es:bx+030h], ax                 ; 26 89 47 30                 ; 0xf81a2
    test si, si                               ; 85 f6                       ; 0xf81a6 scsi.c:451
    jne short 081b0h                          ; 75 06                       ; 0xf81a8
    cmp dx, 00400h                            ; 81 fa 00 04                 ; 0xf81aa
    jbe short 081beh                          ; 76 0e                       ; 0xf81ae
    mov word [es:bx+028h], 00400h             ; 26 c7 47 28 00 04           ; 0xf81b0 scsi.c:452
    mov word [es:bx+02eh], 00400h             ; 26 c7 47 2e 00 04           ; 0xf81b6 scsi.c:453
    jmp short 081c6h                          ; eb 08                       ; 0xf81bc scsi.c:454
    mov word [es:bx+028h], dx                 ; 26 89 57 28                 ; 0xf81be scsi.c:455
    mov word [es:bx+02eh], dx                 ; 26 89 57 2e                 ; 0xf81c2 scsi.c:456
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf81c6 scsi.c:460
    mov cx, ds                                ; 8c d9                       ; 0xf81c9
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf81cb
    call 01a27h                               ; e8 56 98                    ; 0xf81ce
    push word [bp-010h]                       ; ff 76 f0                    ; 0xf81d1
    push word [bp-032h]                       ; ff 76 ce                    ; 0xf81d4
    push word [bp-01ah]                       ; ff 76 e6                    ; 0xf81d7
    push dword [bp-016h]                      ; 66 ff 76 ea                 ; 0xf81da
    push word [bp-012h]                       ; ff 76 ee                    ; 0xf81de
    push si                                   ; 56                          ; 0xf81e1
    push dx                                   ; 52                          ; 0xf81e2
    push word [bp-030h]                       ; ff 76 d0                    ; 0xf81e3
    movzx ax, byte [bp-00ch]                  ; 0f b6 46 f4                 ; 0xf81e6
    push ax                                   ; 50                          ; 0xf81ea
    push 00c8fh                               ; 68 8f 0c                    ; 0xf81eb
    push strict byte 00004h                   ; 6a 04                       ; 0xf81ee
    call 01a68h                               ; e8 75 98                    ; 0xf81f0
    add sp, strict byte 00018h                ; 83 c4 18                    ; 0xf81f3
    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6                 ; 0xf81f6 scsi.c:462
    imul ax, ax, strict byte 0001ch           ; 6b c0 1c                    ; 0xf81fa
    mov es, [bp-022h]                         ; 8e 46 de                    ; 0xf81fd
    mov bx, di                                ; 89 fb                       ; 0xf8200
    add bx, ax                                ; 01 c3                       ; 0xf8202
    mov ax, word [bp-010h]                    ; 8b 46 f0                    ; 0xf8204
    mov word [es:bx+038h], ax                 ; 26 89 47 38                 ; 0xf8207
    mov ax, word [bp-032h]                    ; 8b 46 ce                    ; 0xf820b
    mov word [es:bx+036h], ax                 ; 26 89 47 36                 ; 0xf820e
    mov ax, word [bp-01ah]                    ; 8b 46 e6                    ; 0xf8212
    mov word [es:bx+034h], ax                 ; 26 89 47 34                 ; 0xf8215
    mov ax, word [bp-014h]                    ; 8b 46 ec                    ; 0xf8219
    mov word [es:bx+032h], ax                 ; 26 89 47 32                 ; 0xf821c
    mov al, byte [es:di+0024eh]               ; 26 8a 85 4e 02              ; 0xf8220 scsi.c:465
    mov ah, byte [bp-00ch]                    ; 8a 66 f4                    ; 0xf8225 scsi.c:466
    add ah, 008h                              ; 80 c4 08                    ; 0xf8228
    movzx bx, al                              ; 0f b6 d8                    ; 0xf822b
    add bx, di                                ; 01 fb                       ; 0xf822e
    mov byte [es:bx+0024fh], ah               ; 26 88 a7 4f 02              ; 0xf8230
    db  0feh, 0c0h
    ; inc al                                    ; fe c0                     ; 0xf8235 scsi.c:467
    mov byte [es:di+0024eh], al               ; 26 88 85 4e 02              ; 0xf8237 scsi.c:468
    mov bx, strict word 00075h                ; bb 75 00                    ; 0xf823c scsi.c:48
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf823f
    mov es, ax                                ; 8e c0                       ; 0xf8242
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf8244
    db  0feh, 0c0h
    ; inc al                                    ; fe c0                     ; 0xf8247 scsi.c:472
    mov byte [es:bx], al                      ; 26 88 07                    ; 0xf8249 scsi.c:53
    inc byte [bp-00ch]                        ; fe 46 f4                    ; 0xf824c scsi.c:475
    jmp near 082fch                           ; e9 aa 00                    ; 0xf824f scsi.c:477
    test byte [bp-00246h], 0e0h               ; f6 86 ba fd e0              ; 0xf8252 scsi.c:483
    jne near 082fch                           ; 0f 85 a1 00                 ; 0xf8257
    mov al, byte [bp-00246h]                  ; 8a 86 ba fd                 ; 0xf825b
    and AL, strict byte 01fh                  ; 24 1f                       ; 0xf825f
    cmp AL, strict byte 005h                  ; 3c 05                       ; 0xf8261
    jne near 082fch                           ; 0f 85 95 00                 ; 0xf8263
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf8267 scsi.c:489
    mov cx, ds                                ; 8c d9                       ; 0xf826a
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf826c
    call 01a27h                               ; e8 b5 97                    ; 0xf826f
    push word [bp-030h]                       ; ff 76 d0                    ; 0xf8272
    movzx ax, byte [bp-00ch]                  ; 0f b6 46 f4                 ; 0xf8275
    push ax                                   ; 50                          ; 0xf8279
    push 00cbdh                               ; 68 bd 0c                    ; 0xf827a
    push strict byte 00004h                   ; 6a 04                       ; 0xf827d
    call 01a68h                               ; e8 e6 97                    ; 0xf827f
    add sp, strict byte 00008h                ; 83 c4 08                    ; 0xf8282
    mov al, byte [bp-00ch]                    ; 8a 46 f4                    ; 0xf8285 scsi.c:492
    add AL, strict byte 008h                  ; 04 08                       ; 0xf8288
    mov byte [bp-00ah], al                    ; 88 46 f6                    ; 0xf828a
    test byte [bp-00245h], 080h               ; f6 86 bb fd 80              ; 0xf828d scsi.c:494
    db  00fh, 095h, 0c0h
    ; setne al                                  ; 0f 95 c0                  ; 0xf8292
    xor ah, ah                                ; 30 e4                       ; 0xf8295
    mov dx, ax                                ; 89 c2                       ; 0xf8297
    movzx bx, byte [bp-00ch]                  ; 0f b6 5e f4                 ; 0xf8299 scsi.c:496
    sal bx, 002h                              ; c1 e3 02                    ; 0xf829d
    mov es, [bp-022h]                         ; 8e 46 de                    ; 0xf82a0
    add bx, di                                ; 01 fb                       ; 0xf82a3
    mov ax, word [bp-00248h]                  ; 8b 86 b8 fd                 ; 0xf82a5
    mov word [es:bx+00290h], ax               ; 26 89 87 90 02              ; 0xf82a9
    mov al, byte [bp-00eh]                    ; 8a 46 f2                    ; 0xf82ae scsi.c:497
    mov byte [es:bx+00292h], al               ; 26 88 87 92 02              ; 0xf82b1
    mov al, byte [bp-030h]                    ; 8a 46 d0                    ; 0xf82b6 scsi.c:498
    mov byte [es:bx+00293h], al               ; 26 88 87 93 02              ; 0xf82b9
    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6                 ; 0xf82be scsi.c:499
    imul ax, ax, strict byte 0001ch           ; 6b c0 1c                    ; 0xf82c2
    mov bx, di                                ; 89 fb                       ; 0xf82c5
    add bx, ax                                ; 01 c3                       ; 0xf82c7
    mov word [es:bx+01eh], 00504h             ; 26 c7 47 1e 04 05           ; 0xf82c9
    mov byte [es:bx+020h], dl                 ; 26 88 57 20                 ; 0xf82cf scsi.c:501
    mov word [es:bx+024h], 00800h             ; 26 c7 47 24 00 08           ; 0xf82d3 scsi.c:502
    mov byte [es:bx+023h], dh                 ; 26 88 77 23                 ; 0xf82d9 scsi.c:503
    mov al, byte [es:di+00263h]               ; 26 8a 85 63 02              ; 0xf82dd scsi.c:506
    mov ah, byte [bp-00ch]                    ; 8a 66 f4                    ; 0xf82e2 scsi.c:507
    add ah, 008h                              ; 80 c4 08                    ; 0xf82e5
    movzx bx, al                              ; 0f b6 d8                    ; 0xf82e8
    add bx, di                                ; 01 fb                       ; 0xf82eb
    mov byte [es:bx+00264h], ah               ; 26 88 a7 64 02              ; 0xf82ed
    db  0feh, 0c0h
    ; inc al                                    ; fe c0                     ; 0xf82f2 scsi.c:508
    mov byte [es:di+00263h], al               ; 26 88 85 63 02              ; 0xf82f4 scsi.c:509
    inc byte [bp-00ch]                        ; fe 46 f4                    ; 0xf82f9 scsi.c:511
    mov al, byte [bp-00ch]                    ; 8a 46 f4                    ; 0xf82fc scsi.c:516
    mov es, [bp-022h]                         ; 8e 46 de                    ; 0xf82ff
    mov byte [es:di+002a0h], al               ; 26 88 85 a0 02              ; 0xf8302
    inc word [bp-030h]                        ; ff 46 d0                    ; 0xf8307 scsi.c:517
    cmp word [bp-030h], strict byte 00010h    ; 83 7e d0 10                 ; 0xf830a
    jnl short 08353h                          ; 7d 43                       ; 0xf830e
    mov byte [bp-046h], 012h                  ; c6 46 ba 12                 ; 0xf8310
    xor al, al                                ; 30 c0                       ; 0xf8314
    mov byte [bp-045h], al                    ; 88 46 bb                    ; 0xf8316
    mov byte [bp-044h], al                    ; 88 46 bc                    ; 0xf8319
    mov byte [bp-043h], al                    ; 88 46 bd                    ; 0xf831c
    mov byte [bp-042h], 005h                  ; c6 46 be 05                 ; 0xf831f
    mov byte [bp-041h], al                    ; 88 46 bf                    ; 0xf8323
    movzx si, byte [bp-00eh]                  ; 0f b6 76 f2                 ; 0xf8326
    imul si, si, strict byte 0000ch           ; 6b f6 0c                    ; 0xf832a
    push dword 000000005h                     ; 66 6a 05                    ; 0xf832d
    lea dx, [bp-00246h]                       ; 8d 96 ba fd                 ; 0xf8330
    push SS                                   ; 16                          ; 0xf8334
    push dx                                   ; 52                          ; 0xf8335
    push strict byte 00006h                   ; 6a 06                       ; 0xf8336
    lea dx, [bp-046h]                         ; 8d 56 ba                    ; 0xf8338
    push SS                                   ; 16                          ; 0xf833b
    push dx                                   ; 52                          ; 0xf833c
    movzx bx, byte [bp-030h]                  ; 0f b6 5e d0                 ; 0xf833d
    xor ah, ah                                ; 30 e4                       ; 0xf8341
    mov dx, word [bp-00248h]                  ; 8b 96 b8 fd                 ; 0xf8343
    call word [si+000a4h]                     ; ff 94 a4 00                 ; 0xf8347
    test al, al                               ; 84 c0                       ; 0xf834b
    je near 07ef9h                            ; 0f 84 a8 fb                 ; 0xf834d
    jmp short 08307h                          ; eb b4                       ; 0xf8351
    lea sp, [bp-008h]                         ; 8d 66 f8                    ; 0xf8353 scsi.c:518
    pop di                                    ; 5f                          ; 0xf8356
    pop si                                    ; 5e                          ; 0xf8357
    pop cx                                    ; 59                          ; 0xf8358
    pop bx                                    ; 5b                          ; 0xf8359
    pop bp                                    ; 5d                          ; 0xf835a
    retn                                      ; c3                          ; 0xf835b
  ; disGetNextSymbol 0xf835c LB 0x2ac0 -> off=0x0 cb=0000000000000081 uValue=00000000000f6d5c 'scsi_init'
scsi_init:                                   ; 0xf835c LB 0x81
    push bp                                   ; 55                          ; 0xf835c scsi.c:523
    mov bp, sp                                ; 89 e5                       ; 0xf835d
    push si                                   ; 56                          ; 0xf835f
    push di                                   ; 57                          ; 0xf8360
    push ax                                   ; 50                          ; 0xf8361
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf8362 scsi.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf8365
    mov es, ax                                ; 8e c0                       ; 0xf8368
    mov es, [es:bx]                           ; 26 8e 07                    ; 0xf836a
    mov bx, strict word 0005eh                ; bb 5e 00                    ; 0xf836d scsi.c:59
    mov byte [es:bx+002a0h], 000h             ; 26 c6 87 a0 02 00           ; 0xf8370 scsi.c:529
    mov word [bp-006h], strict word 00000h    ; c7 46 fa 00 00              ; 0xf8376 scsi.c:532
    jmp short 083c5h                          ; eb 48                       ; 0xf837b
    mov dx, word [bx+0009ch]                  ; 8b 97 9c 00                 ; 0xf837d scsi.c:536
    mov ax, word [bx+0009ah]                  ; 8b 87 9a 00                 ; 0xf8381
    call 0aafdh                               ; e8 75 27                    ; 0xf8385
    mov cx, ax                                ; 89 c1                       ; 0xf8388
    cmp cx, strict byte 0ffffh                ; 83 f9 ff                    ; 0xf838a scsi.c:542
    je short 083bch                           ; 74 2d                       ; 0xf838d
    call 07b8ch                               ; e8 fa f7                    ; 0xf838f scsi.c:546
    mov si, ax                                ; 89 c6                       ; 0xf8392
    test ax, ax                               ; 85 c0                       ; 0xf8394 scsi.c:547
    je short 083d6h                           ; 74 3e                       ; 0xf8396
    mov bx, cx                                ; 89 cb                       ; 0xf8398 scsi.c:550
    xor bl, cl                                ; 30 cb                       ; 0xf839a
    shr bx, 008h                              ; c1 eb 08                    ; 0xf839c
    imul di, word [bp-006h], strict byte 0000ch ; 6b 7e fa 0c               ; 0xf839f scsi.c:554
    xor ch, ch                                ; 30 ed                       ; 0xf83a3
    xor bh, bh                                ; 30 ff                       ; 0xf83a5
    xor ax, ax                                ; 31 c0                       ; 0xf83a7
    mov dx, si                                ; 89 f2                       ; 0xf83a9
    call word [di+000a0h]                     ; ff 95 a0 00                 ; 0xf83ab
    test ax, ax                               ; 85 c0                       ; 0xf83af scsi.c:555
    jne short 083bch                          ; 75 09                       ; 0xf83b1
    movzx dx, byte [bp-006h]                  ; 0f b6 56 fa                 ; 0xf83b3 scsi.c:556
    mov ax, si                                ; 89 f0                       ; 0xf83b7
    call 07ed1h                               ; e8 15 fb                    ; 0xf83b9
    inc word [bp-006h]                        ; ff 46 fa                    ; 0xf83bc scsi.c:559
    cmp word [bp-006h], strict byte 00005h    ; 83 7e fa 05                 ; 0xf83bf
    jnc short 083d6h                          ; 73 11                       ; 0xf83c3
    imul bx, word [bp-006h], strict byte 0000ch ; 6b 5e fa 0c               ; 0xf83c5
    cmp word [bx+0009eh], strict byte 00000h  ; 83 bf 9e 00 00              ; 0xf83c9
    je short 0837dh                           ; 74 ad                       ; 0xf83ce
    call word [bx+0009eh]                     ; ff 97 9e 00                 ; 0xf83d0
    jmp short 08388h                          ; eb b2                       ; 0xf83d4
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf83d6 scsi.c:560
    pop di                                    ; 5f                          ; 0xf83d9
    pop si                                    ; 5e                          ; 0xf83da
    pop bp                                    ; 5d                          ; 0xf83db
    retn                                      ; c3                          ; 0xf83dc
  ; disGetNextSymbol 0xf83dd LB 0x2a3f -> off=0x0 cb=000000000000001b uValue=00000000000f6ddd 'ahci_ctrl_extract_bits'
ahci_ctrl_extract_bits:                      ; 0xf83dd LB 0x1b
    push si                                   ; 56                          ; 0xf83dd ahci.c:287
    push bp                                   ; 55                          ; 0xf83de
    mov bp, sp                                ; 89 e5                       ; 0xf83df
    mov si, bx                                ; 89 de                       ; 0xf83e1
    and ax, bx                                ; 21 d8                       ; 0xf83e3 ahci.c:289
    and dx, cx                                ; 21 ca                       ; 0xf83e5
    movzx cx, byte [bp+006h]                  ; 0f b6 4e 06                 ; 0xf83e7
    jcxz 083f3h                               ; e3 06                       ; 0xf83eb
    shr dx, 1                                 ; d1 ea                       ; 0xf83ed
    rcr ax, 1                                 ; d1 d8                       ; 0xf83ef
    loop 083edh                               ; e2 fa                       ; 0xf83f1
    pop bp                                    ; 5d                          ; 0xf83f3 ahci.c:290
    pop si                                    ; 5e                          ; 0xf83f4
    retn 00002h                               ; c2 02 00                    ; 0xf83f5
  ; disGetNextSymbol 0xf83f8 LB 0x2a24 -> off=0x0 cb=000000000000001e uValue=00000000000f6df8 'ahci_addr_to_phys'
ahci_addr_to_phys:                           ; 0xf83f8 LB 0x1e
    push bx                                   ; 53                          ; 0xf83f8 ahci.c:295
    push cx                                   ; 51                          ; 0xf83f9
    push bp                                   ; 55                          ; 0xf83fa
    mov bp, sp                                ; 89 e5                       ; 0xf83fb
    mov bx, ax                                ; 89 c3                       ; 0xf83fd
    mov ax, dx                                ; 89 d0                       ; 0xf83ff
    xor dx, dx                                ; 31 d2                       ; 0xf8401 ahci.c:297
    mov cx, strict word 00004h                ; b9 04 00                    ; 0xf8403
    sal ax, 1                                 ; d1 e0                       ; 0xf8406
    rcl dx, 1                                 ; d1 d2                       ; 0xf8408
    loop 08406h                               ; e2 fa                       ; 0xf840a
    xor cx, cx                                ; 31 c9                       ; 0xf840c
    add ax, bx                                ; 01 d8                       ; 0xf840e
    adc dx, cx                                ; 11 ca                       ; 0xf8410
    pop bp                                    ; 5d                          ; 0xf8412 ahci.c:298
    pop cx                                    ; 59                          ; 0xf8413
    pop bx                                    ; 5b                          ; 0xf8414
    retn                                      ; c3                          ; 0xf8415
  ; disGetNextSymbol 0xf8416 LB 0x2a06 -> off=0x0 cb=000000000000014b uValue=00000000000f6e16 'ahci_port_cmd_sync'
ahci_port_cmd_sync:                          ; 0xf8416 LB 0x14b
    push bp                                   ; 55                          ; 0xf8416 ahci.c:303
    mov bp, sp                                ; 89 e5                       ; 0xf8417
    push cx                                   ; 51                          ; 0xf8419
    push si                                   ; 56                          ; 0xf841a
    push di                                   ; 57                          ; 0xf841b
    push ax                                   ; 50                          ; 0xf841c
    mov si, ax                                ; 89 c6                       ; 0xf841d
    mov cx, dx                                ; 89 d1                       ; 0xf841f
    mov al, bl                                ; 88 d8                       ; 0xf8421
    mov es, dx                                ; 8e c2                       ; 0xf8423 ahci.c:308
    mov ah, byte [es:si+00262h]               ; 26 8a a4 62 02              ; 0xf8425
    mov byte [bp-008h], ah                    ; 88 66 f8                    ; 0xf842a
    mov bx, word [es:si+00260h]               ; 26 8b 9c 60 02              ; 0xf842d ahci.c:309
    cmp ah, 0ffh                              ; 80 fc ff                    ; 0xf8432 ahci.c:311
    je near 08559h                            ; 0f 84 20 01                 ; 0xf8435
    movzx dx, byte [es:si+00263h]             ; 26 0f b6 94 63 02           ; 0xf8439 ahci.c:314
    xor di, di                                ; 31 ff                       ; 0xf843f
    or di, 00080h                             ; 81 cf 80 00                 ; 0xf8441
    xor ah, ah                                ; 30 e4                       ; 0xf8445
    or di, ax                                 ; 09 c7                       ; 0xf8447
    mov word [es:si], di                      ; 26 89 3c                    ; 0xf8449
    mov word [es:si+002h], dx                 ; 26 89 54 02                 ; 0xf844c
    db  066h, 026h, 0c7h, 044h, 004h, 000h, 000h, 000h, 000h
    ; mov dword [es:si+004h], strict dword 000000000h ; 66 26 c7 44 04 00 00 00 00; 0xf8450 ahci.c:315
    lea ax, [si+00080h]                       ; 8d 84 80 00                 ; 0xf8459 ahci.c:316
    mov dx, cx                                ; 89 ca                       ; 0xf845d
    call 083f8h                               ; e8 96 ff                    ; 0xf845f
    mov es, cx                                ; 8e c1                       ; 0xf8462
    mov word [es:si+008h], ax                 ; 26 89 44 08                 ; 0xf8464
    mov word [es:si+00ah], dx                 ; 26 89 54 0a                 ; 0xf8468
    movzx di, byte [bp-008h]                  ; 0f b6 7e f8                 ; 0xf846c ahci.c:319
    sal di, 007h                              ; c1 e7 07                    ; 0xf8470
    lea ax, [di+00118h]                       ; 8d 85 18 01                 ; 0xf8473
    xor cx, cx                                ; 31 c9                       ; 0xf8477 ahci.c:260
    mov dx, bx                                ; 89 da                       ; 0xf8479
    xchg cx, ax                               ; 91                          ; 0xf847b
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf847c
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8480
    out DX, eax                               ; 66 ef                       ; 0xf8482
    lea si, [bx+004h]                         ; 8d 77 04                    ; 0xf8484 ahci.c:261
    mov dx, si                                ; 89 f2                       ; 0xf8487
    in eax, DX                                ; 66 ed                       ; 0xf8489
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xf848b
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xf848d
    xchg dx, ax                               ; 92                          ; 0xf8491
    or AL, strict byte 011h                   ; 0c 11                       ; 0xf8492
    mov cx, dx                                ; 89 d1                       ; 0xf8494
    mov dx, si                                ; 89 f2                       ; 0xf8496
    xchg cx, ax                               ; 91                          ; 0xf8498
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8499
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf849d
    out DX, eax                               ; 66 ef                       ; 0xf849f
    lea ax, [di+00138h]                       ; 8d 85 38 01                 ; 0xf84a1 ahci.c:323
    cwd                                       ; 99                          ; 0xf84a5
    mov cx, dx                                ; 89 d1                       ; 0xf84a6
    mov dx, bx                                ; 89 da                       ; 0xf84a8
    xchg cx, ax                               ; 91                          ; 0xf84aa
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf84ab
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf84af
    out DX, eax                               ; 66 ef                       ; 0xf84b1
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xf84b3
    xor cx, cx                                ; 31 c9                       ; 0xf84b6
    mov dx, si                                ; 89 f2                       ; 0xf84b8
    xchg cx, ax                               ; 91                          ; 0xf84ba
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf84bb
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf84bf
    out DX, eax                               ; 66 ef                       ; 0xf84c1
    movzx ax, byte [bp-008h]                  ; 0f b6 46 f8                 ; 0xf84c3 ahci.c:327
    sal ax, 007h                              ; c1 e0 07                    ; 0xf84c7
    add ax, 00110h                            ; 05 10 01                    ; 0xf84ca
    xor cx, cx                                ; 31 c9                       ; 0xf84cd ahci.c:279
    mov dx, bx                                ; 89 da                       ; 0xf84cf
    xchg cx, ax                               ; 91                          ; 0xf84d1
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf84d2
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf84d6
    out DX, eax                               ; 66 ef                       ; 0xf84d8
    lea dx, [bx+004h]                         ; 8d 57 04                    ; 0xf84da ahci.c:280
    in eax, DX                                ; 66 ed                       ; 0xf84dd
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xf84df
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xf84e1
    xchg dx, ax                               ; 92                          ; 0xf84e5
    test dh, 040h                             ; f6 c6 40                    ; 0xf84e6
    jne short 084efh                          ; 75 04                       ; 0xf84e9
    test AL, strict byte 001h                 ; a8 01                       ; 0xf84eb
    je short 084f3h                           ; 74 04                       ; 0xf84ed
    mov AL, strict byte 001h                  ; b0 01                       ; 0xf84ef
    jmp short 084f5h                          ; eb 02                       ; 0xf84f1
    xor al, al                                ; 30 c0                       ; 0xf84f3
    test al, al                               ; 84 c0                       ; 0xf84f5 ahci.c:281
    je short 084c3h                           ; 74 ca                       ; 0xf84f7
    movzx di, byte [bp-008h]                  ; 0f b6 7e f8                 ; 0xf84f9 ahci.c:333
    sal di, 007h                              ; c1 e7 07                    ; 0xf84fd
    lea ax, [di+00110h]                       ; 8d 85 10 01                 ; 0xf8500
    xor cx, cx                                ; 31 c9                       ; 0xf8504 ahci.c:260
    mov dx, bx                                ; 89 da                       ; 0xf8506
    xchg cx, ax                               ; 91                          ; 0xf8508
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8509
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf850d
    out DX, eax                               ; 66 ef                       ; 0xf850f
    lea si, [bx+004h]                         ; 8d 77 04                    ; 0xf8511 ahci.c:261
    mov dx, si                                ; 89 f2                       ; 0xf8514
    in eax, DX                                ; 66 ed                       ; 0xf8516
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xf8518
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xf851a
    xchg dx, ax                               ; 92                          ; 0xf851e
    or AL, strict byte 001h                   ; 0c 01                       ; 0xf851f
    mov cx, dx                                ; 89 d1                       ; 0xf8521
    mov dx, si                                ; 89 f2                       ; 0xf8523
    xchg cx, ax                               ; 91                          ; 0xf8525
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8526
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf852a
    out DX, eax                               ; 66 ef                       ; 0xf852c
    lea ax, [di+00118h]                       ; 8d 85 18 01                 ; 0xf852e ahci.c:337
    xor cx, cx                                ; 31 c9                       ; 0xf8532 ahci.c:269
    mov dx, bx                                ; 89 da                       ; 0xf8534
    xchg cx, ax                               ; 91                          ; 0xf8536
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8537
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf853b
    out DX, eax                               ; 66 ef                       ; 0xf853d
    mov dx, si                                ; 89 f2                       ; 0xf853f ahci.c:270
    in eax, DX                                ; 66 ed                       ; 0xf8541
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xf8543
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xf8545
    xchg dx, ax                               ; 92                          ; 0xf8549
    and AL, strict byte 0feh                  ; 24 fe                       ; 0xf854a
    mov cx, dx                                ; 89 d1                       ; 0xf854c
    mov dx, si                                ; 89 f2                       ; 0xf854e
    xchg cx, ax                               ; 91                          ; 0xf8550
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8551
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8555
    out DX, eax                               ; 66 ef                       ; 0xf8557
    lea sp, [bp-006h]                         ; 8d 66 fa                    ; 0xf8559 ahci.c:343
    pop di                                    ; 5f                          ; 0xf855c
    pop si                                    ; 5e                          ; 0xf855d
    pop cx                                    ; 59                          ; 0xf855e
    pop bp                                    ; 5d                          ; 0xf855f
    retn                                      ; c3                          ; 0xf8560
  ; disGetNextSymbol 0xf8561 LB 0x28bb -> off=0x0 cb=0000000000000216 uValue=00000000000f6f61 'ahci_cmd_data'
ahci_cmd_data:                               ; 0xf8561 LB 0x216
    push bp                                   ; 55                          ; 0xf8561 ahci.c:348
    mov bp, sp                                ; 89 e5                       ; 0xf8562
    push cx                                   ; 51                          ; 0xf8564
    push si                                   ; 56                          ; 0xf8565
    push di                                   ; 57                          ; 0xf8566
    sub sp, strict byte 00010h                ; 83 ec 10                    ; 0xf8567
    mov di, ax                                ; 89 c7                       ; 0xf856a
    mov word [bp-00ch], dx                    ; 89 56 f4                    ; 0xf856c
    mov byte [bp-008h], bl                    ; 88 5e f8                    ; 0xf856f
    mov word [bp-012h], strict word 00000h    ; c7 46 ee 00 00              ; 0xf8572 ahci.c:350
    mov es, dx                                ; 8e c2                       ; 0xf8577
    mov ax, word [es:di+002a6h]               ; 26 8b 85 a6 02              ; 0xf8579
    mov word [bp-00ah], ax                    ; 89 46 f6                    ; 0xf857e
    mov word [bp-010h], strict word 00000h    ; c7 46 f0 00 00              ; 0xf8581
    mov word [bp-00eh], ax                    ; 89 46 f2                    ; 0xf8586
    mov ax, word [es:di+00eh]                 ; 26 8b 45 0e                 ; 0xf8589 ahci.c:351
    mov word [bp-016h], ax                    ; 89 46 ea                    ; 0xf858d
    mov ax, word [es:di+010h]                 ; 26 8b 45 10                 ; 0xf8590 ahci.c:352
    mov word [bp-014h], ax                    ; 89 46 ec                    ; 0xf8594
    mov cx, strict word 00040h                ; b9 40 00                    ; 0xf8597 ahci.c:355
    xor bx, bx                                ; 31 db                       ; 0xf859a
    mov ax, 00080h                            ; b8 80 00                    ; 0xf859c
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xf859f
    call 0ad80h                               ; e8 db 27                    ; 0xf85a2
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf85a5 ahci.c:358
    mov bx, word [bp-012h]                    ; 8b 5e ee                    ; 0xf85a8
    mov word [es:bx+00080h], 08027h           ; 26 c7 87 80 00 27 80        ; 0xf85ab
    mov al, byte [bp-008h]                    ; 8a 46 f8                    ; 0xf85b2 ahci.c:360
    mov byte [es:bx+00082h], al               ; 26 88 87 82 00              ; 0xf85b5
    mov byte [es:bx+00083h], 000h             ; 26 c6 87 83 00 00           ; 0xf85ba ahci.c:361
    mov es, [bp-00ch]                         ; 8e 46 f4                    ; 0xf85c0 ahci.c:363
    mov ax, word [es:di]                      ; 26 8b 05                    ; 0xf85c3
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf85c6
    mov byte [es:bx+00084h], al               ; 26 88 87 84 00              ; 0xf85c9
    mov es, [bp-00ch]                         ; 8e 46 f4                    ; 0xf85ce ahci.c:364
    mov ax, word [es:di+006h]                 ; 26 8b 45 06                 ; 0xf85d1
    mov bx, word [es:di+004h]                 ; 26 8b 5d 04                 ; 0xf85d5
    mov cx, word [es:di+002h]                 ; 26 8b 4d 02                 ; 0xf85d9
    mov dx, word [es:di]                      ; 26 8b 15                    ; 0xf85dd
    mov si, strict word 00008h                ; be 08 00                    ; 0xf85e0
    call 0ad60h                               ; e8 7a 27                    ; 0xf85e3
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf85e6
    mov bx, word [bp-012h]                    ; 8b 5e ee                    ; 0xf85e9
    mov byte [es:bx+00085h], dl               ; 26 88 97 85 00              ; 0xf85ec
    mov es, [bp-00ch]                         ; 8e 46 f4                    ; 0xf85f1 ahci.c:365
    mov ax, word [es:di+006h]                 ; 26 8b 45 06                 ; 0xf85f4
    mov bx, word [es:di+004h]                 ; 26 8b 5d 04                 ; 0xf85f8
    mov cx, word [es:di+002h]                 ; 26 8b 4d 02                 ; 0xf85fc
    mov dx, word [es:di]                      ; 26 8b 15                    ; 0xf8600
    mov si, strict word 00010h                ; be 10 00                    ; 0xf8603
    call 0ad60h                               ; e8 57 27                    ; 0xf8606
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf8609
    mov bx, word [bp-012h]                    ; 8b 5e ee                    ; 0xf860c
    mov byte [es:bx+00086h], dl               ; 26 88 97 86 00              ; 0xf860f
    mov byte [es:bx+00087h], 040h             ; 26 c6 87 87 00 40           ; 0xf8614 ahci.c:366
    mov es, [bp-00ch]                         ; 8e 46 f4                    ; 0xf861a ahci.c:368
    mov ax, word [es:di+006h]                 ; 26 8b 45 06                 ; 0xf861d
    mov bx, word [es:di+004h]                 ; 26 8b 5d 04                 ; 0xf8621
    mov cx, word [es:di+002h]                 ; 26 8b 4d 02                 ; 0xf8625
    mov dx, word [es:di]                      ; 26 8b 15                    ; 0xf8629
    mov si, strict word 00018h                ; be 18 00                    ; 0xf862c
    call 0ad60h                               ; e8 2e 27                    ; 0xf862f
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf8632
    mov bx, word [bp-012h]                    ; 8b 5e ee                    ; 0xf8635
    mov byte [es:bx+00088h], dl               ; 26 88 97 88 00              ; 0xf8638
    mov es, [bp-00ch]                         ; 8e 46 f4                    ; 0xf863d ahci.c:369
    mov ax, word [es:di+006h]                 ; 26 8b 45 06                 ; 0xf8640
    mov bx, word [es:di+004h]                 ; 26 8b 5d 04                 ; 0xf8644
    mov cx, word [es:di+002h]                 ; 26 8b 4d 02                 ; 0xf8648
    mov dx, word [es:di]                      ; 26 8b 15                    ; 0xf864c
    mov si, strict word 00020h                ; be 20 00                    ; 0xf864f
    call 0ad60h                               ; e8 0b 27                    ; 0xf8652
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf8655
    mov bx, word [bp-012h]                    ; 8b 5e ee                    ; 0xf8658
    mov byte [es:bx+00089h], dl               ; 26 88 97 89 00              ; 0xf865b
    mov es, [bp-00ch]                         ; 8e 46 f4                    ; 0xf8660 ahci.c:370
    mov ax, word [es:di+006h]                 ; 26 8b 45 06                 ; 0xf8663
    mov bx, word [es:di+004h]                 ; 26 8b 5d 04                 ; 0xf8667
    mov cx, word [es:di+002h]                 ; 26 8b 4d 02                 ; 0xf866b
    mov dx, word [es:di]                      ; 26 8b 15                    ; 0xf866f
    mov si, strict word 00028h                ; be 28 00                    ; 0xf8672
    call 0ad60h                               ; e8 e8 26                    ; 0xf8675
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf8678
    mov bx, word [bp-012h]                    ; 8b 5e ee                    ; 0xf867b
    mov byte [es:bx+0008ah], dl               ; 26 88 97 8a 00              ; 0xf867e
    mov byte [es:bx+0008bh], 000h             ; 26 c6 87 8b 00 00           ; 0xf8683 ahci.c:371
    mov al, byte [bp-016h]                    ; 8a 46 ea                    ; 0xf8689 ahci.c:373
    mov byte [es:bx+0008ch], al               ; 26 88 87 8c 00              ; 0xf868c
    mov ax, word [bp-016h]                    ; 8b 46 ea                    ; 0xf8691 ahci.c:374
    shr ax, 008h                              ; c1 e8 08                    ; 0xf8694
    mov byte [es:bx+0008dh], al               ; 26 88 87 8d 00              ; 0xf8697
    mov word [es:bx+00272h], strict word 00010h ; 26 c7 87 72 02 10 00      ; 0xf869c ahci.c:377
    mov ax, word [bp-016h]                    ; 8b 46 ea                    ; 0xf86a3 ahci.c:379
    xor dx, dx                                ; 31 d2                       ; 0xf86a6
    mov bx, word [bp-014h]                    ; 8b 5e ec                    ; 0xf86a8
    xor cx, cx                                ; 31 c9                       ; 0xf86ab
    call 0ace0h                               ; e8 30 26                    ; 0xf86ad
    push dx                                   ; 52                          ; 0xf86b0
    push ax                                   ; 50                          ; 0xf86b1
    mov es, [bp-00ch]                         ; 8e 46 f4                    ; 0xf86b2
    mov bx, word [es:di+008h]                 ; 26 8b 5d 08                 ; 0xf86b5
    mov cx, word [es:di+00ah]                 ; 26 8b 4d 0a                 ; 0xf86b9
    mov ax, 00266h                            ; b8 66 02                    ; 0xf86bd
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xf86c0
    call 0ac31h                               ; e8 6b 25                    ; 0xf86c3
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf86c6 ahci.c:382
    mov bx, word [bp-012h]                    ; 8b 5e ee                    ; 0xf86c9
    mov ax, word [es:bx+0027ah]               ; 26 8b 87 7a 02              ; 0xf86cc
    add ax, strict word 0ffffh                ; 05 ff ff                    ; 0xf86d1
    mov dx, word [es:bx+0027ch]               ; 26 8b 97 7c 02              ; 0xf86d4
    adc dx, strict byte 0ffffh                ; 83 d2 ff                    ; 0xf86d9
    mov di, bx                                ; 89 df                       ; 0xf86dc
    movzx di, byte [es:di+00263h]             ; 26 0f b6 bd 63 02           ; 0xf86de
    sal di, 004h                              ; c1 e7 04                    ; 0xf86e4
    mov word [es:di+0010ch], ax               ; 26 89 85 0c 01              ; 0xf86e7
    mov word [es:di+0010eh], dx               ; 26 89 95 0e 01              ; 0xf86ec
    mov di, bx                                ; 89 df                       ; 0xf86f1 ahci.c:383
    movzx di, byte [es:di+00263h]             ; 26 0f b6 bd 63 02           ; 0xf86f3
    sal di, 004h                              ; c1 e7 04                    ; 0xf86f9
    mov si, bx                                ; 89 de                       ; 0xf86fc
    mov dx, word [es:si+00276h]               ; 26 8b 94 76 02              ; 0xf86fe
    mov ax, word [es:si+00278h]               ; 26 8b 84 78 02              ; 0xf8703
    mov word [es:di+00100h], dx               ; 26 89 95 00 01              ; 0xf8708
    mov word [es:di+00102h], ax               ; 26 89 85 02 01              ; 0xf870d
    inc byte [es:bx+00263h]                   ; 26 fe 87 63 02              ; 0xf8712 ahci.c:384
    mov al, byte [bp-008h]                    ; 8a 46 f8                    ; 0xf8717 ahci.c:398
    cmp AL, strict byte 035h                  ; 3c 35                       ; 0xf871a
    jne short 08724h                          ; 75 06                       ; 0xf871c
    mov byte [bp-008h], 040h                  ; c6 46 f8 40                 ; 0xf871e ahci.c:399
    jmp short 08738h                          ; eb 14                       ; 0xf8722 ahci.c:400
    cmp AL, strict byte 0a0h                  ; 3c a0                       ; 0xf8724
    jne short 08734h                          ; 75 0c                       ; 0xf8726
    or byte [bp-008h], 020h                   ; 80 4e f8 20                 ; 0xf8728 ahci.c:401
    or byte [es:bx+00083h], 001h              ; 26 80 8f 83 00 01           ; 0xf872c ahci.c:402
    jmp short 08738h                          ; eb 04                       ; 0xf8732 ahci.c:403
    mov byte [bp-008h], 000h                  ; c6 46 f8 00                 ; 0xf8734 ahci.c:404
    or byte [bp-008h], 005h                   ; 80 4e f8 05                 ; 0xf8738 ahci.c:406
    movzx bx, byte [bp-008h]                  ; 0f b6 5e f8                 ; 0xf873c ahci.c:408
    mov ax, word [bp-010h]                    ; 8b 46 f0                    ; 0xf8740
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf8743
    call 08416h                               ; e8 cd fc                    ; 0xf8746
    mov bx, word [bp-00eh]                    ; 8b 5e f2                    ; 0xf8749 ahci.c:411
    mov di, word [bp-010h]                    ; 8b 7e f0                    ; 0xf874c
    add di, 00240h                            ; 81 c7 40 02                 ; 0xf874f
    mov ax, word [bp-010h]                    ; 8b 46 f0                    ; 0xf8753 ahci.c:415
    add ax, 00266h                            ; 05 66 02                    ; 0xf8756
    mov dx, bx                                ; 89 da                       ; 0xf8759
    call 0acaah                               ; e8 4c 25                    ; 0xf875b
    mov es, bx                                ; 8e c3                       ; 0xf875e ahci.c:416
    mov al, byte [es:di+003h]                 ; 26 8a 45 03                 ; 0xf8760
    test al, al                               ; 84 c0                       ; 0xf8764
    je short 0876dh                           ; 74 05                       ; 0xf8766
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf8768
    jmp short 0876fh                          ; eb 02                       ; 0xf876b
    xor ah, ah                                ; 30 e4                       ; 0xf876d
    lea sp, [bp-006h]                         ; 8d 66 fa                    ; 0xf876f ahci.c:417
    pop di                                    ; 5f                          ; 0xf8772
    pop si                                    ; 5e                          ; 0xf8773
    pop cx                                    ; 59                          ; 0xf8774
    pop bp                                    ; 5d                          ; 0xf8775
    retn                                      ; c3                          ; 0xf8776
  ; disGetNextSymbol 0xf8777 LB 0x26a5 -> off=0x0 cb=000000000000017f uValue=00000000000f7177 'ahci_port_deinit_current'
ahci_port_deinit_current:                    ; 0xf8777 LB 0x17f
    push bp                                   ; 55                          ; 0xf8777 ahci.c:422
    mov bp, sp                                ; 89 e5                       ; 0xf8778
    push bx                                   ; 53                          ; 0xf877a
    push cx                                   ; 51                          ; 0xf877b
    push si                                   ; 56                          ; 0xf877c
    push di                                   ; 57                          ; 0xf877d
    sub sp, strict byte 00006h                ; 83 ec 06                    ; 0xf877e
    mov di, ax                                ; 89 c7                       ; 0xf8781
    mov word [bp-00ch], dx                    ; 89 56 f4                    ; 0xf8783
    mov es, dx                                ; 8e c2                       ; 0xf8786 ahci.c:427
    mov si, word [es:di+00260h]               ; 26 8b b5 60 02              ; 0xf8788
    mov al, byte [es:di+00262h]               ; 26 8a 85 62 02              ; 0xf878d ahci.c:428
    mov byte [bp-00ah], al                    ; 88 46 f6                    ; 0xf8792
    cmp AL, strict byte 0ffh                  ; 3c ff                       ; 0xf8795 ahci.c:430
    je near 088edh                            ; 0f 84 52 01                 ; 0xf8797
    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6                 ; 0xf879b ahci.c:433
    sal ax, 007h                              ; c1 e0 07                    ; 0xf879f
    add ax, 00118h                            ; 05 18 01                    ; 0xf87a2
    xor cx, cx                                ; 31 c9                       ; 0xf87a5 ahci.c:269
    mov dx, si                                ; 89 f2                       ; 0xf87a7
    xchg cx, ax                               ; 91                          ; 0xf87a9
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf87aa
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf87ae
    out DX, eax                               ; 66 ef                       ; 0xf87b0
    lea bx, [si+004h]                         ; 8d 5c 04                    ; 0xf87b2 ahci.c:270
    mov dx, bx                                ; 89 da                       ; 0xf87b5
    in eax, DX                                ; 66 ed                       ; 0xf87b7
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xf87b9
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xf87bb
    xchg dx, ax                               ; 92                          ; 0xf87bf
    and AL, strict byte 0eeh                  ; 24 ee                       ; 0xf87c0
    mov cx, dx                                ; 89 d1                       ; 0xf87c2
    mov dx, bx                                ; 89 da                       ; 0xf87c4
    xchg cx, ax                               ; 91                          ; 0xf87c6
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf87c7
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf87cb
    out DX, eax                               ; 66 ef                       ; 0xf87cd
    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6                 ; 0xf87cf ahci.c:436
    sal ax, 007h                              ; c1 e0 07                    ; 0xf87d3
    add ax, 00118h                            ; 05 18 01                    ; 0xf87d6
    xor cx, cx                                ; 31 c9                       ; 0xf87d9 ahci.c:279
    mov dx, si                                ; 89 f2                       ; 0xf87db
    xchg cx, ax                               ; 91                          ; 0xf87dd
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf87de
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf87e2
    out DX, eax                               ; 66 ef                       ; 0xf87e4
    lea dx, [si+004h]                         ; 8d 54 04                    ; 0xf87e6 ahci.c:280
    in eax, DX                                ; 66 ed                       ; 0xf87e9
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xf87eb
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xf87ed
    xchg dx, ax                               ; 92                          ; 0xf87f1
    test ax, 0c011h                           ; a9 11 c0                    ; 0xf87f2
    je short 087fbh                           ; 74 04                       ; 0xf87f5
    mov AL, strict byte 001h                  ; b0 01                       ; 0xf87f7
    jmp short 087fdh                          ; eb 02                       ; 0xf87f9
    xor al, al                                ; 30 c0                       ; 0xf87fb
    cmp AL, strict byte 001h                  ; 3c 01                       ; 0xf87fd ahci.c:281
    je short 087cfh                           ; 74 ce                       ; 0xf87ff
    mov cx, strict word 00020h                ; b9 20 00                    ; 0xf8801 ahci.c:447
    xor bx, bx                                ; 31 db                       ; 0xf8804
    mov ax, di                                ; 89 f8                       ; 0xf8806
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf8808
    call 0ad80h                               ; e8 72 25                    ; 0xf880b
    lea ax, [di+00080h]                       ; 8d 85 80 00                 ; 0xf880e ahci.c:448
    mov cx, strict word 00040h                ; b9 40 00                    ; 0xf8812
    xor bx, bx                                ; 31 db                       ; 0xf8815
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf8817
    call 0ad80h                               ; e8 63 25                    ; 0xf881a
    lea ax, [di+00200h]                       ; 8d 85 00 02                 ; 0xf881d ahci.c:449
    mov cx, strict word 00060h                ; b9 60 00                    ; 0xf8821
    xor bx, bx                                ; 31 db                       ; 0xf8824
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf8826
    call 0ad80h                               ; e8 54 25                    ; 0xf8829
    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6                 ; 0xf882c ahci.c:451
    sal ax, 007h                              ; c1 e0 07                    ; 0xf8830
    mov word [bp-00eh], ax                    ; 89 46 f2                    ; 0xf8833
    add ax, 00108h                            ; 05 08 01                    ; 0xf8836
    cwd                                       ; 99                          ; 0xf8839
    mov cx, dx                                ; 89 d1                       ; 0xf883a
    mov dx, si                                ; 89 f2                       ; 0xf883c
    xchg cx, ax                               ; 91                          ; 0xf883e
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf883f
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8843
    out DX, eax                               ; 66 ef                       ; 0xf8845
    lea bx, [si+004h]                         ; 8d 5c 04                    ; 0xf8847
    xor ax, ax                                ; 31 c0                       ; 0xf884a
    xor cx, cx                                ; 31 c9                       ; 0xf884c
    mov dx, bx                                ; 89 da                       ; 0xf884e
    xchg cx, ax                               ; 91                          ; 0xf8850
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8851
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8855
    out DX, eax                               ; 66 ef                       ; 0xf8857
    mov ax, word [bp-00eh]                    ; 8b 46 f2                    ; 0xf8859 ahci.c:452
    add ax, 0010ch                            ; 05 0c 01                    ; 0xf885c
    cwd                                       ; 99                          ; 0xf885f
    mov cx, dx                                ; 89 d1                       ; 0xf8860
    mov dx, si                                ; 89 f2                       ; 0xf8862
    xchg cx, ax                               ; 91                          ; 0xf8864
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8865
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8869
    out DX, eax                               ; 66 ef                       ; 0xf886b
    xor ax, ax                                ; 31 c0                       ; 0xf886d
    xor cx, cx                                ; 31 c9                       ; 0xf886f
    mov dx, bx                                ; 89 da                       ; 0xf8871
    xchg cx, ax                               ; 91                          ; 0xf8873
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8874
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8878
    out DX, eax                               ; 66 ef                       ; 0xf887a
    mov ax, word [bp-00eh]                    ; 8b 46 f2                    ; 0xf887c ahci.c:454
    db  0feh, 0c4h
    ; inc ah                                    ; fe c4                     ; 0xf887f
    cwd                                       ; 99                          ; 0xf8881
    mov cx, dx                                ; 89 d1                       ; 0xf8882
    mov dx, si                                ; 89 f2                       ; 0xf8884
    xchg cx, ax                               ; 91                          ; 0xf8886
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8887
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf888b
    out DX, eax                               ; 66 ef                       ; 0xf888d
    xor ax, ax                                ; 31 c0                       ; 0xf888f
    xor cx, cx                                ; 31 c9                       ; 0xf8891
    mov dx, bx                                ; 89 da                       ; 0xf8893
    xchg cx, ax                               ; 91                          ; 0xf8895
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8896
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf889a
    out DX, eax                               ; 66 ef                       ; 0xf889c
    mov ax, word [bp-00eh]                    ; 8b 46 f2                    ; 0xf889e ahci.c:455
    add ax, 00104h                            ; 05 04 01                    ; 0xf88a1
    cwd                                       ; 99                          ; 0xf88a4
    mov cx, dx                                ; 89 d1                       ; 0xf88a5
    mov dx, si                                ; 89 f2                       ; 0xf88a7
    xchg cx, ax                               ; 91                          ; 0xf88a9
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf88aa
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf88ae
    out DX, eax                               ; 66 ef                       ; 0xf88b0
    xor ax, ax                                ; 31 c0                       ; 0xf88b2
    xor cx, cx                                ; 31 c9                       ; 0xf88b4
    mov dx, bx                                ; 89 da                       ; 0xf88b6
    xchg cx, ax                               ; 91                          ; 0xf88b8
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf88b9
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf88bd
    out DX, eax                               ; 66 ef                       ; 0xf88bf
    mov ax, word [bp-00eh]                    ; 8b 46 f2                    ; 0xf88c1 ahci.c:458
    add ax, 00114h                            ; 05 14 01                    ; 0xf88c4
    cwd                                       ; 99                          ; 0xf88c7
    mov cx, dx                                ; 89 d1                       ; 0xf88c8
    mov dx, si                                ; 89 f2                       ; 0xf88ca
    xchg cx, ax                               ; 91                          ; 0xf88cc
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf88cd
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf88d1
    out DX, eax                               ; 66 ef                       ; 0xf88d3
    xor ax, ax                                ; 31 c0                       ; 0xf88d5
    xor cx, cx                                ; 31 c9                       ; 0xf88d7
    mov dx, bx                                ; 89 da                       ; 0xf88d9
    xchg cx, ax                               ; 91                          ; 0xf88db
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf88dc
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf88e0
    out DX, eax                               ; 66 ef                       ; 0xf88e2
    mov es, [bp-00ch]                         ; 8e 46 f4                    ; 0xf88e4 ahci.c:460
    mov byte [es:di+00262h], 0ffh             ; 26 c6 85 62 02 ff           ; 0xf88e7
    lea sp, [bp-008h]                         ; 8d 66 f8                    ; 0xf88ed ahci.c:462
    pop di                                    ; 5f                          ; 0xf88f0
    pop si                                    ; 5e                          ; 0xf88f1
    pop cx                                    ; 59                          ; 0xf88f2
    pop bx                                    ; 5b                          ; 0xf88f3
    pop bp                                    ; 5d                          ; 0xf88f4
    retn                                      ; c3                          ; 0xf88f5
  ; disGetNextSymbol 0xf88f6 LB 0x2526 -> off=0x0 cb=000000000000024a uValue=00000000000f72f6 'ahci_port_init'
ahci_port_init:                              ; 0xf88f6 LB 0x24a
    push bp                                   ; 55                          ; 0xf88f6 ahci.c:468
    mov bp, sp                                ; 89 e5                       ; 0xf88f7
    push cx                                   ; 51                          ; 0xf88f9
    push si                                   ; 56                          ; 0xf88fa
    push di                                   ; 57                          ; 0xf88fb
    sub sp, strict byte 00006h                ; 83 ec 06                    ; 0xf88fc
    mov si, ax                                ; 89 c6                       ; 0xf88ff
    mov word [bp-00ah], dx                    ; 89 56 f6                    ; 0xf8901
    mov byte [bp-008h], bl                    ; 88 5e f8                    ; 0xf8904
    call 08777h                               ; e8 6d fe                    ; 0xf8907 ahci.c:471
    movzx ax, bl                              ; 0f b6 c3                    ; 0xf890a ahci.c:474
    sal ax, 007h                              ; c1 e0 07                    ; 0xf890d
    add ax, 00118h                            ; 05 18 01                    ; 0xf8910
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf8913 ahci.c:267
    mov bx, word [es:si+00260h]               ; 26 8b 9c 60 02              ; 0xf8916
    xor cx, cx                                ; 31 c9                       ; 0xf891b ahci.c:269
    mov dx, bx                                ; 89 da                       ; 0xf891d
    xchg cx, ax                               ; 91                          ; 0xf891f
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8920
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8924
    out DX, eax                               ; 66 ef                       ; 0xf8926
    add bx, strict byte 00004h                ; 83 c3 04                    ; 0xf8928 ahci.c:270
    mov dx, bx                                ; 89 da                       ; 0xf892b
    in eax, DX                                ; 66 ed                       ; 0xf892d
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xf892f
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xf8931
    xchg dx, ax                               ; 92                          ; 0xf8935
    and AL, strict byte 0eeh                  ; 24 ee                       ; 0xf8936
    mov cx, dx                                ; 89 d1                       ; 0xf8938
    mov dx, bx                                ; 89 da                       ; 0xf893a
    xchg cx, ax                               ; 91                          ; 0xf893c
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf893d
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8941
    out DX, eax                               ; 66 ef                       ; 0xf8943
    movzx ax, byte [bp-008h]                  ; 0f b6 46 f8                 ; 0xf8945 ahci.c:477
    sal ax, 007h                              ; c1 e0 07                    ; 0xf8949
    add ax, 00118h                            ; 05 18 01                    ; 0xf894c
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf894f ahci.c:277
    mov bx, word [es:si+00260h]               ; 26 8b 9c 60 02              ; 0xf8952
    xor cx, cx                                ; 31 c9                       ; 0xf8957 ahci.c:279
    mov dx, bx                                ; 89 da                       ; 0xf8959
    xchg cx, ax                               ; 91                          ; 0xf895b
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf895c
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8960
    out DX, eax                               ; 66 ef                       ; 0xf8962
    lea dx, [bx+004h]                         ; 8d 57 04                    ; 0xf8964 ahci.c:280
    in eax, DX                                ; 66 ed                       ; 0xf8967
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xf8969
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xf896b
    xchg dx, ax                               ; 92                          ; 0xf896f
    test ax, 0c011h                           ; a9 11 c0                    ; 0xf8970
    je short 08979h                           ; 74 04                       ; 0xf8973
    mov AL, strict byte 001h                  ; b0 01                       ; 0xf8975
    jmp short 0897bh                          ; eb 02                       ; 0xf8977
    xor al, al                                ; 30 c0                       ; 0xf8979
    cmp AL, strict byte 001h                  ; 3c 01                       ; 0xf897b ahci.c:281
    je short 08945h                           ; 74 c6                       ; 0xf897d
    mov cx, strict word 00020h                ; b9 20 00                    ; 0xf897f ahci.c:488
    xor bx, bx                                ; 31 db                       ; 0xf8982
    mov ax, si                                ; 89 f0                       ; 0xf8984
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xf8986
    call 0ad80h                               ; e8 f4 23                    ; 0xf8989
    lea ax, [si+00080h]                       ; 8d 84 80 00                 ; 0xf898c ahci.c:489
    mov cx, strict word 00040h                ; b9 40 00                    ; 0xf8990
    xor bx, bx                                ; 31 db                       ; 0xf8993
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xf8995
    call 0ad80h                               ; e8 e5 23                    ; 0xf8998
    lea di, [si+00200h]                       ; 8d bc 00 02                 ; 0xf899b ahci.c:490
    mov cx, strict word 00060h                ; b9 60 00                    ; 0xf899f
    xor bx, bx                                ; 31 db                       ; 0xf89a2
    mov ax, di                                ; 89 f8                       ; 0xf89a4
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xf89a6
    call 0ad80h                               ; e8 d4 23                    ; 0xf89a9
    movzx bx, byte [bp-008h]                  ; 0f b6 5e f8                 ; 0xf89ac ahci.c:494
    sal bx, 007h                              ; c1 e3 07                    ; 0xf89b0
    lea ax, [bx+00108h]                       ; 8d 87 08 01                 ; 0xf89b3
    cwd                                       ; 99                          ; 0xf89b7
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf89b8
    mov cx, word [es:si+00260h]               ; 26 8b 8c 60 02              ; 0xf89bb
    mov word [bp-00ch], cx                    ; 89 4e f4                    ; 0xf89c0
    mov cx, dx                                ; 89 d1                       ; 0xf89c3
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf89c5
    xchg cx, ax                               ; 91                          ; 0xf89c8
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf89c9
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf89cd
    out DX, eax                               ; 66 ef                       ; 0xf89cf
    mov ax, di                                ; 89 f8                       ; 0xf89d1
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xf89d3
    call 083f8h                               ; e8 1f fa                    ; 0xf89d6
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf89d9
    mov di, word [es:si+00260h]               ; 26 8b bc 60 02              ; 0xf89dc
    add di, strict byte 00004h                ; 83 c7 04                    ; 0xf89e1
    mov cx, dx                                ; 89 d1                       ; 0xf89e4
    mov dx, di                                ; 89 fa                       ; 0xf89e6
    xchg cx, ax                               ; 91                          ; 0xf89e8
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf89e9
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf89ed
    out DX, eax                               ; 66 ef                       ; 0xf89ef
    lea ax, [bx+0010ch]                       ; 8d 87 0c 01                 ; 0xf89f1 ahci.c:495
    cwd                                       ; 99                          ; 0xf89f5
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf89f6
    mov di, word [es:si+00260h]               ; 26 8b bc 60 02              ; 0xf89f9
    mov cx, dx                                ; 89 d1                       ; 0xf89fe
    mov dx, di                                ; 89 fa                       ; 0xf8a00
    xchg cx, ax                               ; 91                          ; 0xf8a02
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8a03
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8a07
    out DX, eax                               ; 66 ef                       ; 0xf8a09
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf8a0b
    mov dx, word [es:si+00260h]               ; 26 8b 94 60 02              ; 0xf8a0e
    add dx, strict byte 00004h                ; 83 c2 04                    ; 0xf8a13
    xor ax, ax                                ; 31 c0                       ; 0xf8a16
    xor cx, cx                                ; 31 c9                       ; 0xf8a18
    xchg cx, ax                               ; 91                          ; 0xf8a1a
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8a1b
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8a1f
    out DX, eax                               ; 66 ef                       ; 0xf8a21
    lea ax, [bx+00100h]                       ; 8d 87 00 01                 ; 0xf8a23 ahci.c:498
    cwd                                       ; 99                          ; 0xf8a27
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf8a28
    mov di, word [es:si+00260h]               ; 26 8b bc 60 02              ; 0xf8a2b
    mov cx, dx                                ; 89 d1                       ; 0xf8a30
    mov dx, di                                ; 89 fa                       ; 0xf8a32
    xchg cx, ax                               ; 91                          ; 0xf8a34
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8a35
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8a39
    out DX, eax                               ; 66 ef                       ; 0xf8a3b
    mov ax, si                                ; 89 f0                       ; 0xf8a3d
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xf8a3f
    call 083f8h                               ; e8 b3 f9                    ; 0xf8a42
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf8a45
    mov di, word [es:si+00260h]               ; 26 8b bc 60 02              ; 0xf8a48
    add di, strict byte 00004h                ; 83 c7 04                    ; 0xf8a4d
    mov cx, dx                                ; 89 d1                       ; 0xf8a50
    mov dx, di                                ; 89 fa                       ; 0xf8a52
    xchg cx, ax                               ; 91                          ; 0xf8a54
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8a55
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8a59
    out DX, eax                               ; 66 ef                       ; 0xf8a5b
    lea ax, [bx+00104h]                       ; 8d 87 04 01                 ; 0xf8a5d ahci.c:499
    cwd                                       ; 99                          ; 0xf8a61
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf8a62
    mov di, word [es:si+00260h]               ; 26 8b bc 60 02              ; 0xf8a65
    mov cx, dx                                ; 89 d1                       ; 0xf8a6a
    mov dx, di                                ; 89 fa                       ; 0xf8a6c
    xchg cx, ax                               ; 91                          ; 0xf8a6e
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8a6f
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8a73
    out DX, eax                               ; 66 ef                       ; 0xf8a75
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf8a77
    mov dx, word [es:si+00260h]               ; 26 8b 94 60 02              ; 0xf8a7a
    add dx, strict byte 00004h                ; 83 c2 04                    ; 0xf8a7f
    xor ax, ax                                ; 31 c0                       ; 0xf8a82
    xor cx, cx                                ; 31 c9                       ; 0xf8a84
    xchg cx, ax                               ; 91                          ; 0xf8a86
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8a87
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8a8b
    out DX, eax                               ; 66 ef                       ; 0xf8a8d
    lea ax, [bx+00114h]                       ; 8d 87 14 01                 ; 0xf8a8f ahci.c:502
    cwd                                       ; 99                          ; 0xf8a93
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf8a94
    mov di, word [es:si+00260h]               ; 26 8b bc 60 02              ; 0xf8a97
    mov cx, dx                                ; 89 d1                       ; 0xf8a9c
    mov dx, di                                ; 89 fa                       ; 0xf8a9e
    xchg cx, ax                               ; 91                          ; 0xf8aa0
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8aa1
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8aa5
    out DX, eax                               ; 66 ef                       ; 0xf8aa7
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf8aa9
    mov dx, word [es:si+00260h]               ; 26 8b 94 60 02              ; 0xf8aac
    add dx, strict byte 00004h                ; 83 c2 04                    ; 0xf8ab1
    xor ax, ax                                ; 31 c0                       ; 0xf8ab4
    xor cx, cx                                ; 31 c9                       ; 0xf8ab6
    xchg cx, ax                               ; 91                          ; 0xf8ab8
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8ab9
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8abd
    out DX, eax                               ; 66 ef                       ; 0xf8abf
    lea ax, [bx+00110h]                       ; 8d 87 10 01                 ; 0xf8ac1 ahci.c:503
    cwd                                       ; 99                          ; 0xf8ac5
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf8ac6
    mov di, word [es:si+00260h]               ; 26 8b bc 60 02              ; 0xf8ac9
    mov cx, dx                                ; 89 d1                       ; 0xf8ace
    mov dx, di                                ; 89 fa                       ; 0xf8ad0
    xchg cx, ax                               ; 91                          ; 0xf8ad2
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8ad3
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8ad7
    out DX, eax                               ; 66 ef                       ; 0xf8ad9
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf8adb
    mov dx, word [es:si+00260h]               ; 26 8b 94 60 02              ; 0xf8ade
    add dx, strict byte 00004h                ; 83 c2 04                    ; 0xf8ae3
    mov ax, strict word 0ffffh                ; b8 ff ff                    ; 0xf8ae6
    mov cx, ax                                ; 89 c1                       ; 0xf8ae9
    xchg cx, ax                               ; 91                          ; 0xf8aeb
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8aec
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8af0
    out DX, eax                               ; 66 ef                       ; 0xf8af2
    lea ax, [bx+00130h]                       ; 8d 87 30 01                 ; 0xf8af4 ahci.c:505
    cwd                                       ; 99                          ; 0xf8af8
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf8af9
    mov bx, word [es:si+00260h]               ; 26 8b 9c 60 02              ; 0xf8afc
    mov cx, dx                                ; 89 d1                       ; 0xf8b01
    mov dx, bx                                ; 89 da                       ; 0xf8b03
    xchg cx, ax                               ; 91                          ; 0xf8b05
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8b06
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8b0a
    out DX, eax                               ; 66 ef                       ; 0xf8b0c
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf8b0e
    mov dx, word [es:si+00260h]               ; 26 8b 94 60 02              ; 0xf8b11
    add dx, strict byte 00004h                ; 83 c2 04                    ; 0xf8b16
    mov ax, strict word 0ffffh                ; b8 ff ff                    ; 0xf8b19
    mov cx, ax                                ; 89 c1                       ; 0xf8b1c
    xchg cx, ax                               ; 91                          ; 0xf8b1e
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8b1f
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8b23
    out DX, eax                               ; 66 ef                       ; 0xf8b25
    mov al, byte [bp-008h]                    ; 8a 46 f8                    ; 0xf8b27 ahci.c:507
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf8b2a
    mov byte [es:si+00262h], al               ; 26 88 84 62 02              ; 0xf8b2d
    mov byte [es:si+00263h], 000h             ; 26 c6 84 63 02 00           ; 0xf8b32 ahci.c:508
    lea sp, [bp-006h]                         ; 8d 66 fa                    ; 0xf8b38 ahci.c:509
    pop di                                    ; 5f                          ; 0xf8b3b
    pop si                                    ; 5e                          ; 0xf8b3c
    pop cx                                    ; 59                          ; 0xf8b3d
    pop bp                                    ; 5d                          ; 0xf8b3e
    retn                                      ; c3                          ; 0xf8b3f
  ; disGetNextSymbol 0xf8b40 LB 0x22dc -> off=0x0 cb=00000000000000a6 uValue=00000000000f7540 'ahci_read_sectors'
ahci_read_sectors:                           ; 0xf8b40 LB 0xa6
    push bp                                   ; 55                          ; 0xf8b40 ahci.c:518
    mov bp, sp                                ; 89 e5                       ; 0xf8b41
    push si                                   ; 56                          ; 0xf8b43
    push di                                   ; 57                          ; 0xf8b44
    push ax                                   ; 50                          ; 0xf8b45
    les di, [bp+004h]                         ; c4 7e 04                    ; 0xf8b46 ahci.c:523
    movzx di, byte [es:di+00ch]               ; 26 0f b6 7d 0c              ; 0xf8b49
    sub di, strict byte 0000ch                ; 83 ef 0c                    ; 0xf8b4e
    cmp di, strict byte 00004h                ; 83 ff 04                    ; 0xf8b51 ahci.c:524
    jbe short 08b65h                          ; 76 0f                       ; 0xf8b54
    push di                                   ; 57                          ; 0xf8b56 ahci.c:525
    push 00cd8h                               ; 68 d8 0c                    ; 0xf8b57
    push 00ceah                               ; 68 ea 0c                    ; 0xf8b5a
    push strict byte 00007h                   ; 6a 07                       ; 0xf8b5d
    call 01a68h                               ; e8 06 8f                    ; 0xf8b5f
    add sp, strict byte 00008h                ; 83 c4 08                    ; 0xf8b62
    xor bx, bx                                ; 31 db                       ; 0xf8b65 ahci.c:531
    les si, [bp+004h]                         ; c4 76 04                    ; 0xf8b67
    mov dx, word [es:si+002a6h]               ; 26 8b 94 a6 02              ; 0xf8b6a
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xf8b6f ahci.c:247
    mov es, dx                                ; 8e c2                       ; 0xf8b73
    mov word [es:bx+00264h], ax               ; 26 89 87 64 02              ; 0xf8b75
    mov es, [bp+006h]                         ; 8e 46 06                    ; 0xf8b7a ahci.c:532
    add di, si                                ; 01 f7                       ; 0xf8b7d
    movzx bx, byte [es:di+002a1h]             ; 26 0f b6 9d a1 02           ; 0xf8b7f
    mov di, si                                ; 89 f7                       ; 0xf8b85
    mov dx, word [es:di+002a6h]               ; 26 8b 95 a6 02              ; 0xf8b87
    xor ax, ax                                ; 31 c0                       ; 0xf8b8c
    call 088f6h                               ; e8 65 fd                    ; 0xf8b8e
    mov bx, strict word 00025h                ; bb 25 00                    ; 0xf8b91 ahci.c:533
    mov ax, si                                ; 89 f0                       ; 0xf8b94
    mov dx, word [bp+006h]                    ; 8b 56 06                    ; 0xf8b96
    call 08561h                               ; e8 c5 f9                    ; 0xf8b99
    mov word [bp-006h], ax                    ; 89 46 fa                    ; 0xf8b9c
    mov es, [bp+006h]                         ; 8e 46 06                    ; 0xf8b9f ahci.c:535
    mov bx, si                                ; 89 f3                       ; 0xf8ba2
    mov ax, word [es:bx+00eh]                 ; 26 8b 47 0e                 ; 0xf8ba4
    mov word [es:bx+018h], ax                 ; 26 89 47 18                 ; 0xf8ba8
    mov cx, ax                                ; 89 c1                       ; 0xf8bac ahci.c:537
    sal cx, 009h                              ; c1 e1 09                    ; 0xf8bae
    shr cx, 1                                 ; d1 e9                       ; 0xf8bb1
    mov di, word [es:di+008h]                 ; 26 8b 7d 08                 ; 0xf8bb3
    mov ax, word [es:bx+00ah]                 ; 26 8b 47 0a                 ; 0xf8bb7
    mov si, di                                ; 89 fe                       ; 0xf8bbb
    mov dx, ax                                ; 89 c2                       ; 0xf8bbd
    mov es, ax                                ; 8e c0                       ; 0xf8bbf
    push DS                                   ; 1e                          ; 0xf8bc1
    mov ds, dx                                ; 8e da                       ; 0xf8bc2
    rep movsw                                 ; f3 a5                       ; 0xf8bc4
    pop DS                                    ; 1f                          ; 0xf8bc6
    xor bx, bx                                ; 31 db                       ; 0xf8bc7 ahci.c:539
    les di, [bp+004h]                         ; c4 7e 04                    ; 0xf8bc9
    mov es, [es:di+002a6h]                    ; 26 8e 85 a6 02              ; 0xf8bcc
    mov ax, word [es:bx+00264h]               ; 26 8b 87 64 02              ; 0xf8bd1 ahci.c:252
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8bd6
    mov ax, word [bp-006h]                    ; 8b 46 fa                    ; 0xf8bda ahci.c:541
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf8bdd
    pop di                                    ; 5f                          ; 0xf8be0
    pop si                                    ; 5e                          ; 0xf8be1
    pop bp                                    ; 5d                          ; 0xf8be2
    retn 00004h                               ; c2 04 00                    ; 0xf8be3
  ; disGetNextSymbol 0xf8be6 LB 0x2236 -> off=0x0 cb=0000000000000084 uValue=00000000000f75e6 'ahci_write_sectors'
ahci_write_sectors:                          ; 0xf8be6 LB 0x84
    push bp                                   ; 55                          ; 0xf8be6 ahci.c:550
    mov bp, sp                                ; 89 e5                       ; 0xf8be7
    push si                                   ; 56                          ; 0xf8be9
    push di                                   ; 57                          ; 0xf8bea
    mov si, word [bp+004h]                    ; 8b 76 04                    ; 0xf8beb
    mov cx, word [bp+006h]                    ; 8b 4e 06                    ; 0xf8bee
    mov es, cx                                ; 8e c1                       ; 0xf8bf1 ahci.c:555
    movzx dx, byte [es:si+00ch]               ; 26 0f b6 54 0c              ; 0xf8bf3
    sub dx, strict byte 0000ch                ; 83 ea 0c                    ; 0xf8bf8
    cmp dx, strict byte 00004h                ; 83 fa 04                    ; 0xf8bfb ahci.c:556
    jbe short 08c0fh                          ; 76 0f                       ; 0xf8bfe
    push dx                                   ; 52                          ; 0xf8c00 ahci.c:557
    push 00d09h                               ; 68 09 0d                    ; 0xf8c01
    push 00ceah                               ; 68 ea 0c                    ; 0xf8c04
    push strict byte 00007h                   ; 6a 07                       ; 0xf8c07
    call 01a68h                               ; e8 5c 8e                    ; 0xf8c09
    add sp, strict byte 00008h                ; 83 c4 08                    ; 0xf8c0c
    xor bx, bx                                ; 31 db                       ; 0xf8c0f ahci.c:563
    mov es, cx                                ; 8e c1                       ; 0xf8c11
    mov di, word [es:si+002a6h]               ; 26 8b bc a6 02              ; 0xf8c13
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xf8c18 ahci.c:247
    mov es, di                                ; 8e c7                       ; 0xf8c1c
    mov word [es:bx+00264h], ax               ; 26 89 87 64 02              ; 0xf8c1e
    mov es, cx                                ; 8e c1                       ; 0xf8c23 ahci.c:564
    mov bx, si                                ; 89 f3                       ; 0xf8c25
    add bx, dx                                ; 01 d3                       ; 0xf8c27
    movzx bx, byte [es:bx+002a1h]             ; 26 0f b6 9f a1 02           ; 0xf8c29
    mov dx, word [es:si+002a6h]               ; 26 8b 94 a6 02              ; 0xf8c2f
    xor ax, ax                                ; 31 c0                       ; 0xf8c34
    call 088f6h                               ; e8 bd fc                    ; 0xf8c36
    mov bx, strict word 00035h                ; bb 35 00                    ; 0xf8c39 ahci.c:565
    mov ax, si                                ; 89 f0                       ; 0xf8c3c
    mov dx, cx                                ; 89 ca                       ; 0xf8c3e
    call 08561h                               ; e8 1e f9                    ; 0xf8c40
    mov dx, ax                                ; 89 c2                       ; 0xf8c43
    mov es, cx                                ; 8e c1                       ; 0xf8c45 ahci.c:567
    mov ax, word [es:si+00eh]                 ; 26 8b 44 0e                 ; 0xf8c47
    mov word [es:si+018h], ax                 ; 26 89 44 18                 ; 0xf8c4b
    xor bx, bx                                ; 31 db                       ; 0xf8c4f ahci.c:568
    mov es, [es:si+002a6h]                    ; 26 8e 84 a6 02              ; 0xf8c51
    mov ax, word [es:bx+00264h]               ; 26 8b 87 64 02              ; 0xf8c56 ahci.c:252
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8c5b
    mov ax, dx                                ; 89 d0                       ; 0xf8c5f ahci.c:570
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf8c61
    pop di                                    ; 5f                          ; 0xf8c64
    pop si                                    ; 5e                          ; 0xf8c65
    pop bp                                    ; 5d                          ; 0xf8c66
    retn 00004h                               ; c2 04 00                    ; 0xf8c67
  ; disGetNextSymbol 0xf8c6a LB 0x21b2 -> off=0x0 cb=000000000000014c uValue=00000000000f766a 'ahci_cmd_packet'
ahci_cmd_packet:                             ; 0xf8c6a LB 0x14c
    push bp                                   ; 55                          ; 0xf8c6a ahci.c:577
    mov bp, sp                                ; 89 e5                       ; 0xf8c6b
    push si                                   ; 56                          ; 0xf8c6d
    push di                                   ; 57                          ; 0xf8c6e
    sub sp, strict byte 0000ch                ; 83 ec 0c                    ; 0xf8c6f
    mov di, ax                                ; 89 c7                       ; 0xf8c72
    mov byte [bp-006h], dl                    ; 88 56 fa                    ; 0xf8c74
    mov word [bp-00eh], bx                    ; 89 5e f2                    ; 0xf8c77
    mov word [bp-010h], cx                    ; 89 4e f0                    ; 0xf8c7a
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf8c7d ahci.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf8c80
    mov es, ax                                ; 8e c0                       ; 0xf8c83
    mov ax, word [es:bx]                      ; 26 8b 07                    ; 0xf8c85
    mov si, strict word 0005eh                ; be 5e 00                    ; 0xf8c88 ahci.c:59
    mov word [bp-008h], ax                    ; 89 46 f8                    ; 0xf8c8b
    cmp byte [bp+008h], 002h                  ; 80 7e 08 02                 ; 0xf8c8e ahci.c:584
    jne short 08cb3h                          ; 75 1f                       ; 0xf8c92
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf8c94 ahci.c:585
    mov cx, ds                                ; 8c d9                       ; 0xf8c97
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf8c99
    call 01a27h                               ; e8 88 8d                    ; 0xf8c9c
    push 00d1ch                               ; 68 1c 0d                    ; 0xf8c9f
    push 00d2ch                               ; 68 2c 0d                    ; 0xf8ca2
    push strict byte 00004h                   ; 6a 04                       ; 0xf8ca5
    call 01a68h                               ; e8 be 8d                    ; 0xf8ca7
    add sp, strict byte 00006h                ; 83 c4 06                    ; 0xf8caa
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xf8cad ahci.c:586
    jmp near 08dadh                           ; e9 fa 00                    ; 0xf8cb0
    mov ax, word [bp+004h]                    ; 8b 46 04                    ; 0xf8cb3 ahci.c:597
    mov dx, word [bp+006h]                    ; 8b 56 06                    ; 0xf8cb6
    mov cx, strict word 00008h                ; b9 08 00                    ; 0xf8cb9
    sal ax, 1                                 ; d1 e0                       ; 0xf8cbc
    rcl dx, 1                                 ; d1 d2                       ; 0xf8cbe
    loop 08cbch                               ; e2 fa                       ; 0xf8cc0
    mov es, [bp-008h]                         ; 8e 46 f8                    ; 0xf8cc2
    mov word [es:si], ax                      ; 26 89 04                    ; 0xf8cc5
    mov word [es:si+002h], dx                 ; 26 89 54 02                 ; 0xf8cc8
    db  066h, 026h, 0c7h, 044h, 004h, 000h, 000h, 000h, 000h
    ; mov dword [es:si+004h], strict dword 000000000h ; 66 26 c7 44 04 00 00 00 00; 0xf8ccc
    mov ax, word [bp+00ah]                    ; 8b 46 0a                    ; 0xf8cd5 ahci.c:598
    mov word [es:si+008h], ax                 ; 26 89 44 08                 ; 0xf8cd8
    mov ax, word [bp+00ch]                    ; 8b 46 0c                    ; 0xf8cdc
    mov word [es:si+00ah], ax                 ; 26 89 44 0a                 ; 0xf8cdf
    mov bx, word [es:si+010h]                 ; 26 8b 5c 10                 ; 0xf8ce3 ahci.c:599
    mov ax, word [bp+004h]                    ; 8b 46 04                    ; 0xf8ce7
    mov dx, word [bp+006h]                    ; 8b 56 06                    ; 0xf8cea
    xor cx, cx                                ; 31 c9                       ; 0xf8ced
    call 0ad20h                               ; e8 2e 20                    ; 0xf8cef
    mov word [es:si+00eh], ax                 ; 26 89 44 0e                 ; 0xf8cf2
    mov word [bp-00ch], strict word 00000h    ; c7 46 f4 00 00              ; 0xf8cf6 ahci.c:602
    mov ax, word [es:si+002a6h]               ; 26 8b 84 a6 02              ; 0xf8cfb
    mov word [bp-00ah], ax                    ; 89 46 f6                    ; 0xf8d00
    sub di, strict byte 0000ch                ; 83 ef 0c                    ; 0xf8d03 ahci.c:590
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xf8d06 ahci.c:247
    les bx, [bp-00ch]                         ; c4 5e f4                    ; 0xf8d0a
    mov word [es:bx+00264h], ax               ; 26 89 87 64 02              ; 0xf8d0d
    mov es, [bp-008h]                         ; 8e 46 f8                    ; 0xf8d12 ahci.c:605
    add di, si                                ; 01 f7                       ; 0xf8d15
    movzx bx, byte [es:di+002a1h]             ; 26 0f b6 9d a1 02           ; 0xf8d17
    mov dx, word [es:si+002a6h]               ; 26 8b 94 a6 02              ; 0xf8d1d
    xor ax, ax                                ; 31 c0                       ; 0xf8d22
    call 088f6h                               ; e8 cf fb                    ; 0xf8d24
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf8d27 ahci.c:608
    push ax                                   ; 50                          ; 0xf8d2b
    mov bx, word [bp-00eh]                    ; 8b 5e f2                    ; 0xf8d2c
    mov cx, word [bp-010h]                    ; 8b 4e f0                    ; 0xf8d2f
    mov ax, 000c0h                            ; b8 c0 00                    ; 0xf8d32
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xf8d35
    call 0ad90h                               ; e8 55 20                    ; 0xf8d38
    mov es, [bp-008h]                         ; 8e 46 f8                    ; 0xf8d3b ahci.c:612
    db  066h, 026h, 0c7h, 044h, 018h, 000h, 000h, 000h, 000h
    ; mov dword [es:si+018h], strict dword 000000000h ; 66 26 c7 44 18 00 00 00 00; 0xf8d3e
    mov word [es:si+01ch], strict word 00000h ; 26 c7 44 1c 00 00           ; 0xf8d47 ahci.c:613
    mov bx, 000a0h                            ; bb a0 00                    ; 0xf8d4d ahci.c:615
    mov ax, si                                ; 89 f0                       ; 0xf8d50
    mov dx, es                                ; 8c c2                       ; 0xf8d52
    call 08561h                               ; e8 0a f8                    ; 0xf8d54
    les bx, [bp-00ch]                         ; c4 5e f4                    ; 0xf8d57 ahci.c:617
    mov dx, word [es:bx+004h]                 ; 26 8b 57 04                 ; 0xf8d5a
    mov ax, word [es:bx+006h]                 ; 26 8b 47 06                 ; 0xf8d5e
    mov es, [bp-008h]                         ; 8e 46 f8                    ; 0xf8d62
    mov word [es:si+01ah], dx                 ; 26 89 54 1a                 ; 0xf8d65
    mov word [es:si+01ch], ax                 ; 26 89 44 1c                 ; 0xf8d69
    mov bx, word [es:si+01ah]                 ; 26 8b 5c 1a                 ; 0xf8d6d ahci.c:619
    mov cx, ax                                ; 89 c1                       ; 0xf8d71
    shr cx, 1                                 ; d1 e9                       ; 0xf8d73
    rcr bx, 1                                 ; d1 db                       ; 0xf8d75
    mov di, word [es:si+008h]                 ; 26 8b 7c 08                 ; 0xf8d77
    mov ax, word [es:si+00ah]                 ; 26 8b 44 0a                 ; 0xf8d7b
    mov cx, bx                                ; 89 d9                       ; 0xf8d7f
    mov si, di                                ; 89 fe                       ; 0xf8d81
    mov dx, ax                                ; 89 c2                       ; 0xf8d83
    mov es, ax                                ; 8e c0                       ; 0xf8d85
    push DS                                   ; 1e                          ; 0xf8d87
    mov ds, dx                                ; 8e da                       ; 0xf8d88
    rep movsw                                 ; f3 a5                       ; 0xf8d8a
    pop DS                                    ; 1f                          ; 0xf8d8c
    les bx, [bp-00ch]                         ; c4 5e f4                    ; 0xf8d8d ahci.c:252
    mov ax, word [es:bx+00264h]               ; 26 8b 87 64 02              ; 0xf8d90
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8d95
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf8d99 ahci.c:623
    mov ax, word [es:bx+006h]                 ; 26 8b 47 06                 ; 0xf8d9c
    or ax, word [es:bx+004h]                  ; 26 0b 47 04                 ; 0xf8da0
    jne short 08dabh                          ; 75 05                       ; 0xf8da4
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf8da6
    jmp short 08dadh                          ; eb 02                       ; 0xf8da9
    xor ax, ax                                ; 31 c0                       ; 0xf8dab
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf8dad ahci.c:624
    pop di                                    ; 5f                          ; 0xf8db0
    pop si                                    ; 5e                          ; 0xf8db1
    pop bp                                    ; 5d                          ; 0xf8db2
    retn 0000ah                               ; c2 0a 00                    ; 0xf8db3
  ; disGetNextSymbol 0xf8db6 LB 0x2066 -> off=0x0 cb=0000000000000005 uValue=00000000000f77b6 'wait_ticks_device_init'
wait_ticks_device_init:                      ; 0xf8db6 LB 0x5
    push bp                                   ; 55                          ; 0xf8db6 ahci.c:627
    mov bp, sp                                ; 89 e5                       ; 0xf8db7
    pop bp                                    ; 5d                          ; 0xf8db9 ahci.c:629
    retn                                      ; c3                          ; 0xf8dba
  ; disGetNextSymbol 0xf8dbb LB 0x2061 -> off=0x0 cb=000000000000049f uValue=00000000000f77bb 'ahci_port_detect_device'
ahci_port_detect_device:                     ; 0xf8dbb LB 0x49f
    push bp                                   ; 55                          ; 0xf8dbb ahci.c:631
    mov bp, sp                                ; 89 e5                       ; 0xf8dbc
    push cx                                   ; 51                          ; 0xf8dbe
    push si                                   ; 56                          ; 0xf8dbf
    push di                                   ; 57                          ; 0xf8dc0
    sub sp, 00228h                            ; 81 ec 28 02                 ; 0xf8dc1
    mov si, ax                                ; 89 c6                       ; 0xf8dc5
    mov word [bp-012h], dx                    ; 89 56 ee                    ; 0xf8dc7
    mov byte [bp-00ah], bl                    ; 88 5e f6                    ; 0xf8dca
    mov word [bp-028h], strict word 00000h    ; c7 46 d8 00 00              ; 0xf8dcd ahci.c:637
    movzx di, bl                              ; 0f b6 fb                    ; 0xf8dd2 ahci.c:639
    mov bx, di                                ; 89 fb                       ; 0xf8dd5
    call 088f6h                               ; e8 1c fb                    ; 0xf8dd7
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf8dda ahci.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf8ddd
    mov es, ax                                ; 8e c0                       ; 0xf8de0
    mov ax, word [es:bx]                      ; 26 8b 07                    ; 0xf8de2
    mov word [bp-010h], strict word 0005eh    ; c7 46 f0 5e 00              ; 0xf8de5 ahci.c:59
    mov word [bp-00eh], ax                    ; 89 46 f2                    ; 0xf8dea
    mov ax, di                                ; 89 f8                       ; 0xf8ded ahci.c:644
    sal ax, 007h                              ; c1 e0 07                    ; 0xf8def
    add ax, 0012ch                            ; 05 2c 01                    ; 0xf8df2
    cwd                                       ; 99                          ; 0xf8df5
    mov di, ax                                ; 89 c7                       ; 0xf8df6
    mov bx, dx                                ; 89 d3                       ; 0xf8df8
    mov es, [bp-012h]                         ; 8e 46 ee                    ; 0xf8dfa
    mov dx, word [es:si+00260h]               ; 26 8b 94 60 02              ; 0xf8dfd
    mov cx, bx                                ; 89 d9                       ; 0xf8e02
    xchg cx, ax                               ; 91                          ; 0xf8e04
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8e05
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8e09
    out DX, eax                               ; 66 ef                       ; 0xf8e0b
    mov es, [bp-012h]                         ; 8e 46 ee                    ; 0xf8e0d
    mov dx, word [es:si+00260h]               ; 26 8b 94 60 02              ; 0xf8e10
    add dx, strict byte 00004h                ; 83 c2 04                    ; 0xf8e15
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xf8e18
    xor cx, cx                                ; 31 c9                       ; 0xf8e1b
    xchg cx, ax                               ; 91                          ; 0xf8e1d
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8e1e
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8e22
    out DX, eax                               ; 66 ef                       ; 0xf8e24
    mov es, [bp-012h]                         ; 8e 46 ee                    ; 0xf8e26 ahci.c:649
    mov dx, word [es:si+00260h]               ; 26 8b 94 60 02              ; 0xf8e29
    mov ax, di                                ; 89 f8                       ; 0xf8e2e
    mov cx, bx                                ; 89 d9                       ; 0xf8e30
    xchg cx, ax                               ; 91                          ; 0xf8e32
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8e33
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8e37
    out DX, eax                               ; 66 ef                       ; 0xf8e39
    mov es, [bp-012h]                         ; 8e 46 ee                    ; 0xf8e3b
    mov dx, word [es:si+00260h]               ; 26 8b 94 60 02              ; 0xf8e3e
    add dx, strict byte 00004h                ; 83 c2 04                    ; 0xf8e43
    xor ax, ax                                ; 31 c0                       ; 0xf8e46
    xor cx, cx                                ; 31 c9                       ; 0xf8e48
    xchg cx, ax                               ; 91                          ; 0xf8e4a
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8e4b
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8e4f
    out DX, eax                               ; 66 ef                       ; 0xf8e51
    mov di, strict word 0006ch                ; bf 6c 00                    ; 0xf8e53 ahci.c:658
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf8e56
    mov word [bp-016h], ax                    ; 89 46 ea                    ; 0xf8e59
    mov es, ax                                ; 8e c0                       ; 0xf8e5c ahci.c:659
    mov ax, word [es:di]                      ; 26 8b 05                    ; 0xf8e5e
    add ax, strict word 00003h                ; 05 03 00                    ; 0xf8e61
    mov word [bp-024h], ax                    ; 89 46 dc                    ; 0xf8e64
    mov ax, word [es:di+002h]                 ; 26 8b 45 02                 ; 0xf8e67
    adc ax, strict word 00000h                ; 15 00 00                    ; 0xf8e6b
    mov word [bp-020h], ax                    ; 89 46 e0                    ; 0xf8e6e
    mov es, [bp-016h]                         ; 8e 46 ea                    ; 0xf8e71 ahci.c:661
    mov ax, word [es:di+002h]                 ; 26 8b 45 02                 ; 0xf8e74
    cmp ax, word [bp-020h]                    ; 3b 46 e0                    ; 0xf8e78
    jc short 08e8eh                           ; 72 11                       ; 0xf8e7b
    mov ax, word [es:di+002h]                 ; 26 8b 45 02                 ; 0xf8e7d
    cmp ax, word [bp-020h]                    ; 3b 46 e0                    ; 0xf8e81
    jne short 08ed9h                          ; 75 53                       ; 0xf8e84
    mov ax, word [es:di]                      ; 26 8b 05                    ; 0xf8e86
    cmp ax, word [bp-024h]                    ; 3b 46 dc                    ; 0xf8e89
    jnc short 08ed9h                          ; 73 4b                       ; 0xf8e8c
    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6                 ; 0xf8e8e ahci.c:664
    sal ax, 007h                              ; c1 e0 07                    ; 0xf8e92
    add ax, 00128h                            ; 05 28 01                    ; 0xf8e95
    cwd                                       ; 99                          ; 0xf8e98
    mov es, [bp-012h]                         ; 8e 46 ee                    ; 0xf8e99
    mov bx, word [es:si+00260h]               ; 26 8b 9c 60 02              ; 0xf8e9c
    mov cx, dx                                ; 89 d1                       ; 0xf8ea1
    mov dx, bx                                ; 89 da                       ; 0xf8ea3
    xchg cx, ax                               ; 91                          ; 0xf8ea5
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8ea6
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8eaa
    out DX, eax                               ; 66 ef                       ; 0xf8eac
    mov es, [bp-012h]                         ; 8e 46 ee                    ; 0xf8eae
    mov dx, word [es:si+00260h]               ; 26 8b 94 60 02              ; 0xf8eb1
    add dx, strict byte 00004h                ; 83 c2 04                    ; 0xf8eb6
    in eax, DX                                ; 66 ed                       ; 0xf8eb9
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xf8ebb
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xf8ebd
    xchg dx, ax                               ; 92                          ; 0xf8ec1
    mov word [bp-026h], ax                    ; 89 46 da                    ; 0xf8ec2
    mov word [bp-022h], dx                    ; 89 56 de                    ; 0xf8ec5
    push strict byte 00000h                   ; 6a 00                       ; 0xf8ec8 ahci.c:665
    mov bx, strict word 0000fh                ; bb 0f 00                    ; 0xf8eca
    xor cx, cx                                ; 31 c9                       ; 0xf8ecd
    call 083ddh                               ; e8 0b f5                    ; 0xf8ecf
    cmp ax, strict word 00003h                ; 3d 03 00                    ; 0xf8ed2
    jne short 08e71h                          ; 75 9a                       ; 0xf8ed5
    jmp short 08ee1h                          ; eb 08                       ; 0xf8ed7 ahci.c:667
    cmp word [bp-028h], strict byte 00000h    ; 83 7e d8 00                 ; 0xf8ed9 ahci.c:672
    je near 09252h                            ; 0f 84 71 03                 ; 0xf8edd
    push strict byte 00000h                   ; 6a 00                       ; 0xf8ee1 ahci.c:677
    mov bx, strict word 0000fh                ; bb 0f 00                    ; 0xf8ee3
    xor cx, cx                                ; 31 c9                       ; 0xf8ee6
    mov ax, word [bp-026h]                    ; 8b 46 da                    ; 0xf8ee8
    mov dx, word [bp-022h]                    ; 8b 56 de                    ; 0xf8eeb
    call 083ddh                               ; e8 ec f4                    ; 0xf8eee
    cmp ax, strict word 00003h                ; 3d 03 00                    ; 0xf8ef1
    jne near 09252h                           ; 0f 85 5a 03                 ; 0xf8ef4
    movzx di, byte [bp-00ah]                  ; 0f b6 7e f6                 ; 0xf8ef8 ahci.c:685
    sal di, 007h                              ; c1 e7 07                    ; 0xf8efc
    lea ax, [di+00130h]                       ; 8d 85 30 01                 ; 0xf8eff
    cwd                                       ; 99                          ; 0xf8f03
    mov es, [bp-012h]                         ; 8e 46 ee                    ; 0xf8f04
    mov bx, word [es:si+00260h]               ; 26 8b 9c 60 02              ; 0xf8f07
    mov cx, dx                                ; 89 d1                       ; 0xf8f0c
    mov dx, bx                                ; 89 da                       ; 0xf8f0e
    xchg cx, ax                               ; 91                          ; 0xf8f10
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8f11
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8f15
    out DX, eax                               ; 66 ef                       ; 0xf8f17
    mov es, [bp-012h]                         ; 8e 46 ee                    ; 0xf8f19
    mov dx, word [es:si+00260h]               ; 26 8b 94 60 02              ; 0xf8f1c
    add dx, strict byte 00004h                ; 83 c2 04                    ; 0xf8f21
    mov ax, strict word 0ffffh                ; b8 ff ff                    ; 0xf8f24
    mov cx, ax                                ; 89 c1                       ; 0xf8f27
    xchg cx, ax                               ; 91                          ; 0xf8f29
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8f2a
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8f2e
    out DX, eax                               ; 66 ef                       ; 0xf8f30
    les bx, [bp-010h]                         ; c4 5e f0                    ; 0xf8f32 ahci.c:687
    mov al, byte [es:bx+002a5h]               ; 26 8a 87 a5 02              ; 0xf8f35
    mov byte [bp-008h], al                    ; 88 46 f8                    ; 0xf8f3a
    cmp AL, strict byte 004h                  ; 3c 04                       ; 0xf8f3d ahci.c:692
    jnc near 09252h                           ; 0f 83 0f 03                 ; 0xf8f3f
    lea ax, [di+00118h]                       ; 8d 85 18 01                 ; 0xf8f43 ahci.c:695
    mov es, [bp-012h]                         ; 8e 46 ee                    ; 0xf8f47 ahci.c:258
    mov bx, word [es:si+00260h]               ; 26 8b 9c 60 02              ; 0xf8f4a
    xor cx, cx                                ; 31 c9                       ; 0xf8f4f ahci.c:260
    mov dx, bx                                ; 89 da                       ; 0xf8f51
    xchg cx, ax                               ; 91                          ; 0xf8f53
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8f54
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8f58
    out DX, eax                               ; 66 ef                       ; 0xf8f5a
    add bx, strict byte 00004h                ; 83 c3 04                    ; 0xf8f5c ahci.c:261
    mov dx, bx                                ; 89 da                       ; 0xf8f5f
    in eax, DX                                ; 66 ed                       ; 0xf8f61
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xf8f63
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xf8f65
    xchg dx, ax                               ; 92                          ; 0xf8f69
    or AL, strict byte 010h                   ; 0c 10                       ; 0xf8f6a
    mov cx, dx                                ; 89 d1                       ; 0xf8f6c
    mov dx, bx                                ; 89 da                       ; 0xf8f6e
    xchg cx, ax                               ; 91                          ; 0xf8f70
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8f71
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8f75
    out DX, eax                               ; 66 ef                       ; 0xf8f77
    lea ax, [di+00124h]                       ; 8d 85 24 01                 ; 0xf8f79 ahci.c:699
    cwd                                       ; 99                          ; 0xf8f7d
    mov es, [bp-012h]                         ; 8e 46 ee                    ; 0xf8f7e
    mov bx, word [es:si+00260h]               ; 26 8b 9c 60 02              ; 0xf8f81
    mov cx, dx                                ; 89 d1                       ; 0xf8f86
    mov dx, bx                                ; 89 da                       ; 0xf8f88
    xchg cx, ax                               ; 91                          ; 0xf8f8a
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf8f8b
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf8f8f
    out DX, eax                               ; 66 ef                       ; 0xf8f91
    mov es, [bp-012h]                         ; 8e 46 ee                    ; 0xf8f93
    mov dx, word [es:si+00260h]               ; 26 8b 94 60 02              ; 0xf8f96
    add dx, strict byte 00004h                ; 83 c2 04                    ; 0xf8f9b
    in eax, DX                                ; 66 ed                       ; 0xf8f9e
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xf8fa0
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xf8fa2
    xchg dx, ax                               ; 92                          ; 0xf8fa6
    mov bx, ax                                ; 89 c3                       ; 0xf8fa7
    mov ax, dx                                ; 89 d0                       ; 0xf8fa9
    mov cl, byte [bp-008h]                    ; 8a 4e f8                    ; 0xf8fab
    add cl, 00ch                              ; 80 c1 0c                    ; 0xf8fae
    test dx, dx                               ; 85 d2                       ; 0xf8fb1 ahci.c:700
    jne near 091a0h                           ; 0f 85 e9 01                 ; 0xf8fb3
    cmp bx, 00101h                            ; 81 fb 01 01                 ; 0xf8fb7
    jne near 091a0h                           ; 0f 85 e1 01                 ; 0xf8fbb
    les bx, [bp-010h]                         ; c4 5e f0                    ; 0xf8fbf ahci.c:710
    db  066h, 026h, 0c7h, 047h, 004h, 000h, 000h, 000h, 000h
    ; mov dword [es:bx+004h], strict dword 000000000h ; 66 26 c7 47 04 00 00 00 00; 0xf8fc2
    db  066h, 026h, 0c7h, 007h, 000h, 000h, 000h, 000h
    ; mov dword [es:bx], strict dword 000000000h ; 66 26 c7 07 00 00 00 00  ; 0xf8fcb
    lea dx, [bp-0022eh]                       ; 8d 96 d2 fd                 ; 0xf8fd3 ahci.c:711
    mov word [es:bx+008h], dx                 ; 26 89 57 08                 ; 0xf8fd7
    mov [es:bx+00ah], ss                      ; 26 8c 57 0a                 ; 0xf8fdb
    db  066h, 026h, 0c7h, 047h, 00eh, 001h, 000h, 000h, 002h
    ; mov dword [es:bx+00eh], strict dword 002000001h ; 66 26 c7 47 0e 01 00 00 02; 0xf8fdf ahci.c:712
    mov bx, 000ech                            ; bb ec 00                    ; 0xf8fe8 ahci.c:714
    mov ax, word [bp-010h]                    ; 8b 46 f0                    ; 0xf8feb
    mov dx, es                                ; 8c c2                       ; 0xf8fee
    call 08561h                               ; e8 6e f5                    ; 0xf8ff0
    mov byte [bp-00ch], cl                    ; 88 4e f4                    ; 0xf8ff3 ahci.c:717
    test byte [bp-0022eh], 080h               ; f6 86 d2 fd 80              ; 0xf8ff6 ahci.c:719
    db  00fh, 095h, 0c0h
    ; setne al                                  ; 0f 95 c0                  ; 0xf8ffb
    xor ah, ah                                ; 30 e4                       ; 0xf8ffe
    mov dx, word [bp-0022ch]                  ; 8b 96 d4 fd                 ; 0xf9000 ahci.c:720
    mov word [bp-01ch], dx                    ; 89 56 e4                    ; 0xf9004
    mov dx, word [bp-00228h]                  ; 8b 96 d8 fd                 ; 0xf9007 ahci.c:721
    mov word [bp-01ah], dx                    ; 89 56 e6                    ; 0xf900b
    mov dx, word [bp-00222h]                  ; 8b 96 de fd                 ; 0xf900e ahci.c:722
    mov word [bp-01eh], dx                    ; 89 56 e2                    ; 0xf9012
    mov si, word [bp-001b6h]                  ; 8b b6 4a fe                 ; 0xf9015 ahci.c:723
    mov di, word [bp-001b4h]                  ; 8b be 4c fe                 ; 0xf9019
    mov word [bp-018h], strict word 00000h    ; c7 46 e8 00 00              ; 0xf901d
    mov word [bp-014h], strict word 00000h    ; c7 46 ec 00 00              ; 0xf9022
    cmp di, 00fffh                            ; 81 ff ff 0f                 ; 0xf9027 ahci.c:725
    jne short 09048h                          ; 75 1b                       ; 0xf902b
    cmp si, strict byte 0ffffh                ; 83 fe ff                    ; 0xf902d
    jne short 09048h                          ; 75 16                       ; 0xf9030
    mov dx, word [bp-00160h]                  ; 8b 96 a0 fe                 ; 0xf9032 ahci.c:726
    mov word [bp-014h], dx                    ; 89 56 ec                    ; 0xf9036
    mov dx, word [bp-00162h]                  ; 8b 96 9e fe                 ; 0xf9039
    mov word [bp-018h], dx                    ; 89 56 e8                    ; 0xf903d
    mov di, word [bp-00164h]                  ; 8b be 9c fe                 ; 0xf9040
    mov si, word [bp-00166h]                  ; 8b b6 9a fe                 ; 0xf9044
    movzx bx, byte [bp-008h]                  ; 0f b6 5e f8                 ; 0xf9048 ahci.c:730
    mov es, [bp-00eh]                         ; 8e 46 f2                    ; 0xf904c
    add bx, word [bp-010h]                    ; 03 5e f0                    ; 0xf904f
    mov ah, byte [bp-00ah]                    ; 8a 66 f6                    ; 0xf9052
    mov byte [es:bx+002a1h], ah               ; 26 88 a7 a1 02              ; 0xf9055
    movzx dx, byte [bp-00ch]                  ; 0f b6 56 f4                 ; 0xf905a ahci.c:731
    imul dx, dx, strict byte 0001ch           ; 6b d2 1c                    ; 0xf905e
    mov bx, word [bp-010h]                    ; 8b 5e f0                    ; 0xf9061
    add bx, dx                                ; 01 d3                       ; 0xf9064
    mov word [es:bx+01eh], 0ff05h             ; 26 c7 47 1e 05 ff           ; 0xf9066
    mov byte [es:bx+020h], al                 ; 26 88 47 20                 ; 0xf906c ahci.c:733
    mov byte [es:bx+021h], 000h               ; 26 c6 47 21 00              ; 0xf9070 ahci.c:734
    mov word [es:bx+024h], 00200h             ; 26 c7 47 24 00 02           ; 0xf9075 ahci.c:735
    mov byte [es:bx+023h], 001h               ; 26 c6 47 23 01              ; 0xf907b ahci.c:736
    mov ax, word [bp-014h]                    ; 8b 46 ec                    ; 0xf9080 ahci.c:737
    mov word [es:bx+038h], ax                 ; 26 89 47 38                 ; 0xf9083
    mov ax, word [bp-018h]                    ; 8b 46 e8                    ; 0xf9087
    mov word [es:bx+036h], ax                 ; 26 89 47 36                 ; 0xf908a
    mov word [es:bx+034h], di                 ; 26 89 7f 34                 ; 0xf908e
    mov word [es:bx+032h], si                 ; 26 89 77 32                 ; 0xf9092
    mov ax, word [bp-01ah]                    ; 8b 46 e6                    ; 0xf9096 ahci.c:739
    mov word [es:bx+02ch], ax                 ; 26 89 47 2c                 ; 0xf9099
    mov ax, word [bp-01ch]                    ; 8b 46 e4                    ; 0xf909d ahci.c:740
    mov word [es:bx+02eh], ax                 ; 26 89 47 2e                 ; 0xf90a0
    mov ax, word [bp-01eh]                    ; 8b 46 e2                    ; 0xf90a4 ahci.c:741
    mov word [es:bx+030h], ax                 ; 26 89 47 30                 ; 0xf90a7
    mov al, byte [bp-008h]                    ; 8a 46 f8                    ; 0xf90ab ahci.c:744
    cmp AL, strict byte 001h                  ; 3c 01                       ; 0xf90ae
    jc short 090beh                           ; 72 0c                       ; 0xf90b0
    jbe short 090c6h                          ; 76 12                       ; 0xf90b2
    cmp AL, strict byte 003h                  ; 3c 03                       ; 0xf90b4
    je short 090ceh                           ; 74 16                       ; 0xf90b6
    cmp AL, strict byte 002h                  ; 3c 02                       ; 0xf90b8
    je short 090cah                           ; 74 0e                       ; 0xf90ba
    jmp short 09103h                          ; eb 45                       ; 0xf90bc
    test al, al                               ; 84 c0                       ; 0xf90be
    jne short 09103h                          ; 75 41                       ; 0xf90c0
    mov BL, strict byte 040h                  ; b3 40                       ; 0xf90c2 ahci.c:747
    jmp short 090d0h                          ; eb 0a                       ; 0xf90c4 ahci.c:748
    mov BL, strict byte 048h                  ; b3 48                       ; 0xf90c6 ahci.c:750
    jmp short 090d0h                          ; eb 06                       ; 0xf90c8 ahci.c:751
    mov BL, strict byte 050h                  ; b3 50                       ; 0xf90ca ahci.c:753
    jmp short 090d0h                          ; eb 02                       ; 0xf90cc ahci.c:754
    mov BL, strict byte 058h                  ; b3 58                       ; 0xf90ce ahci.c:756
    mov al, bl                                ; 88 d8                       ; 0xf90d0 ahci.c:760
    add AL, strict byte 007h                  ; 04 07                       ; 0xf90d2
    movzx dx, al                              ; 0f b6 d0                    ; 0xf90d4
    mov ax, dx                                ; 89 d0                       ; 0xf90d7
    call 0176ah                               ; e8 8e 86                    ; 0xf90d9
    test al, al                               ; 84 c0                       ; 0xf90dc
    je short 09103h                           ; 74 23                       ; 0xf90de
    movzx ax, bl                              ; 0f b6 c3                    ; 0xf90e0 ahci.c:763
    call 017a6h                               ; e8 c0 86                    ; 0xf90e3
    mov word [bp-02ch], ax                    ; 89 46 d4                    ; 0xf90e6
    mov al, bl                                ; 88 d8                       ; 0xf90e9 ahci.c:764
    add AL, strict byte 002h                  ; 04 02                       ; 0xf90eb
    xor ah, ah                                ; 30 e4                       ; 0xf90ed
    call 0176ah                               ; e8 78 86                    ; 0xf90ef
    xor ah, ah                                ; 30 e4                       ; 0xf90f2
    mov word [bp-02eh], ax                    ; 89 46 d2                    ; 0xf90f4
    mov ax, dx                                ; 89 d0                       ; 0xf90f7 ahci.c:765
    call 0176ah                               ; e8 6e 86                    ; 0xf90f9
    xor ah, ah                                ; 30 e4                       ; 0xf90fc
    mov word [bp-02ah], ax                    ; 89 46 d6                    ; 0xf90fe
    jmp short 09113h                          ; eb 10                       ; 0xf9101 ahci.c:767
    push word [bp-014h]                       ; ff 76 ec                    ; 0xf9103 ahci.c:768
    push word [bp-018h]                       ; ff 76 e8                    ; 0xf9106
    push di                                   ; 57                          ; 0xf9109
    push si                                   ; 56                          ; 0xf910a
    mov dx, ss                                ; 8c d2                       ; 0xf910b
    lea ax, [bp-02eh]                         ; 8d 46 d2                    ; 0xf910d
    call 05880h                               ; e8 6d c7                    ; 0xf9110
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xf9113 ahci.c:772
    mov cx, ds                                ; 8c d9                       ; 0xf9116
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf9118
    call 01a27h                               ; e8 09 89                    ; 0xf911b
    push word [bp-014h]                       ; ff 76 ec                    ; 0xf911e
    push word [bp-018h]                       ; ff 76 e8                    ; 0xf9121
    push di                                   ; 57                          ; 0xf9124
    push si                                   ; 56                          ; 0xf9125
    mov ax, word [bp-02ah]                    ; 8b 46 d6                    ; 0xf9126
    push ax                                   ; 50                          ; 0xf9129
    mov ax, word [bp-02eh]                    ; 8b 46 d2                    ; 0xf912a
    push ax                                   ; 50                          ; 0xf912d
    mov ax, word [bp-02ch]                    ; 8b 46 d4                    ; 0xf912e
    push ax                                   ; 50                          ; 0xf9131
    push word [bp-01eh]                       ; ff 76 e2                    ; 0xf9132
    push dword [bp-01ch]                      ; 66 ff 76 e4                 ; 0xf9135
    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6                 ; 0xf9139
    push ax                                   ; 50                          ; 0xf913d
    movzx ax, byte [bp-008h]                  ; 0f b6 46 f8                 ; 0xf913e
    push ax                                   ; 50                          ; 0xf9142
    push 00d4ch                               ; 68 4c 0d                    ; 0xf9143
    push strict byte 00004h                   ; 6a 04                       ; 0xf9146
    call 01a68h                               ; e8 1d 89                    ; 0xf9148
    add sp, strict byte 0001ch                ; 83 c4 1c                    ; 0xf914b
    movzx ax, byte [bp-00ch]                  ; 0f b6 46 f4                 ; 0xf914e ahci.c:774
    imul ax, ax, strict byte 0001ch           ; 6b c0 1c                    ; 0xf9152
    mov di, word [bp-010h]                    ; 8b 7e f0                    ; 0xf9155
    add di, ax                                ; 01 c7                       ; 0xf9158
    mov es, [bp-00eh]                         ; 8e 46 f2                    ; 0xf915a
    lea di, [di+026h]                         ; 8d 7d 26                    ; 0xf915d
    push DS                                   ; 1e                          ; 0xf9160
    push SS                                   ; 16                          ; 0xf9161
    pop DS                                    ; 1f                          ; 0xf9162
    lea si, [bp-02eh]                         ; 8d 76 d2                    ; 0xf9163
    movsw                                     ; a5                          ; 0xf9166
    movsw                                     ; a5                          ; 0xf9167
    movsw                                     ; a5                          ; 0xf9168
    pop DS                                    ; 1f                          ; 0xf9169
    mov bx, word [bp-010h]                    ; 8b 5e f0                    ; 0xf916a ahci.c:777
    mov al, byte [es:bx+0024eh]               ; 26 8a 87 4e 02              ; 0xf916d
    mov ah, byte [bp-008h]                    ; 8a 66 f8                    ; 0xf9172 ahci.c:778
    add ah, 00ch                              ; 80 c4 0c                    ; 0xf9175
    movzx bx, al                              ; 0f b6 d8                    ; 0xf9178
    add bx, word [bp-010h]                    ; 03 5e f0                    ; 0xf917b
    mov byte [es:bx+0024fh], ah               ; 26 88 a7 4f 02              ; 0xf917e
    db  0feh, 0c0h
    ; inc al                                    ; fe c0                     ; 0xf9183 ahci.c:779
    mov bx, word [bp-010h]                    ; 8b 5e f0                    ; 0xf9185 ahci.c:780
    mov byte [es:bx+0024eh], al               ; 26 88 87 4e 02              ; 0xf9188
    mov bx, strict word 00075h                ; bb 75 00                    ; 0xf918d ahci.c:48
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf9190
    mov es, ax                                ; 8e c0                       ; 0xf9193
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf9195
    db  0feh, 0c0h
    ; inc al                                    ; fe c0                     ; 0xf9198 ahci.c:784
    mov byte [es:bx], al                      ; 26 88 07                    ; 0xf919a ahci.c:53
    jmp near 09244h                           ; e9 a4 00                    ; 0xf919d ahci.c:787
    cmp dx, 0eb14h                            ; 81 fa 14 eb                 ; 0xf91a0
    jne near 09244h                           ; 0f 85 9c 00                 ; 0xf91a4
    cmp bx, 00101h                            ; 81 fb 01 01                 ; 0xf91a8
    jne near 09244h                           ; 0f 85 94 00                 ; 0xf91ac
    les bx, [bp-010h]                         ; c4 5e f0                    ; 0xf91b0 ahci.c:792
    db  066h, 026h, 0c7h, 047h, 004h, 000h, 000h, 000h, 000h
    ; mov dword [es:bx+004h], strict dword 000000000h ; 66 26 c7 47 04 00 00 00 00; 0xf91b3
    db  066h, 026h, 0c7h, 007h, 000h, 000h, 000h, 000h
    ; mov dword [es:bx], strict dword 000000000h ; 66 26 c7 07 00 00 00 00  ; 0xf91bc
    lea dx, [bp-0022eh]                       ; 8d 96 d2 fd                 ; 0xf91c4 ahci.c:793
    mov word [es:bx+008h], dx                 ; 26 89 57 08                 ; 0xf91c8
    mov [es:bx+00ah], ss                      ; 26 8c 57 0a                 ; 0xf91cc
    db  066h, 026h, 0c7h, 047h, 00eh, 001h, 000h, 000h, 002h
    ; mov dword [es:bx+00eh], strict dword 002000001h ; 66 26 c7 47 0e 01 00 00 02; 0xf91d0 ahci.c:794
    mov bx, 000a1h                            ; bb a1 00                    ; 0xf91d9 ahci.c:796
    mov ax, word [bp-010h]                    ; 8b 46 f0                    ; 0xf91dc
    mov dx, es                                ; 8c c2                       ; 0xf91df
    call 08561h                               ; e8 7d f3                    ; 0xf91e1
    test byte [bp-0022eh], 080h               ; f6 86 d2 fd 80              ; 0xf91e4 ahci.c:801
    db  00fh, 095h, 0c0h
    ; setne al                                  ; 0f 95 c0                  ; 0xf91e9
    movzx dx, al                              ; 0f b6 d0                    ; 0xf91ec
    movzx bx, byte [bp-008h]                  ; 0f b6 5e f8                 ; 0xf91ef ahci.c:803
    mov es, [bp-00eh]                         ; 8e 46 f2                    ; 0xf91f3
    add bx, word [bp-010h]                    ; 03 5e f0                    ; 0xf91f6
    mov al, byte [bp-00ah]                    ; 8a 46 f6                    ; 0xf91f9
    mov byte [es:bx+002a1h], al               ; 26 88 87 a1 02              ; 0xf91fc
    movzx ax, cl                              ; 0f b6 c1                    ; 0xf9201 ahci.c:804
    imul ax, ax, strict byte 0001ch           ; 6b c0 1c                    ; 0xf9204
    mov bx, word [bp-010h]                    ; 8b 5e f0                    ; 0xf9207
    add bx, ax                                ; 01 c3                       ; 0xf920a
    mov word [es:bx+01eh], 00505h             ; 26 c7 47 1e 05 05           ; 0xf920c
    mov byte [es:bx+020h], dl                 ; 26 88 57 20                 ; 0xf9212 ahci.c:806
    mov word [es:bx+024h], 00800h             ; 26 c7 47 24 00 08           ; 0xf9216 ahci.c:807
    mov byte [es:bx+023h], 000h               ; 26 c6 47 23 00              ; 0xf921c ahci.c:808
    mov bx, word [bp-010h]                    ; 8b 5e f0                    ; 0xf9221 ahci.c:811
    mov al, byte [es:bx+00263h]               ; 26 8a 87 63 02              ; 0xf9224
    mov ah, byte [bp-008h]                    ; 8a 66 f8                    ; 0xf9229 ahci.c:812
    add ah, 00ch                              ; 80 c4 0c                    ; 0xf922c
    movzx bx, al                              ; 0f b6 d8                    ; 0xf922f
    add bx, word [bp-010h]                    ; 03 5e f0                    ; 0xf9232
    mov byte [es:bx+00264h], ah               ; 26 88 a7 64 02              ; 0xf9235
    db  0feh, 0c0h
    ; inc al                                    ; fe c0                     ; 0xf923a ahci.c:813
    mov bx, word [bp-010h]                    ; 8b 5e f0                    ; 0xf923c ahci.c:814
    mov byte [es:bx+00263h], al               ; 26 88 87 63 02              ; 0xf923f
    inc byte [bp-008h]                        ; fe 46 f8                    ; 0xf9244 ahci.c:819
    mov al, byte [bp-008h]                    ; 8a 46 f8                    ; 0xf9247 ahci.c:820
    les bx, [bp-010h]                         ; c4 5e f0                    ; 0xf924a
    mov byte [es:bx+002a5h], al               ; 26 88 87 a5 02              ; 0xf924d
    lea sp, [bp-006h]                         ; 8d 66 fa                    ; 0xf9252 ahci.c:825
    pop di                                    ; 5f                          ; 0xf9255
    pop si                                    ; 5e                          ; 0xf9256
    pop cx                                    ; 59                          ; 0xf9257
    pop bp                                    ; 5d                          ; 0xf9258
    retn                                      ; c3                          ; 0xf9259
  ; disGetNextSymbol 0xf925a LB 0x1bc2 -> off=0x0 cb=000000000000003a uValue=00000000000f7c5a 'ahci_mem_alloc'
ahci_mem_alloc:                              ; 0xf925a LB 0x3a
    push bx                                   ; 53                          ; 0xf925a ahci.c:830
    push cx                                   ; 51                          ; 0xf925b
    push dx                                   ; 52                          ; 0xf925c
    push di                                   ; 57                          ; 0xf925d
    push bp                                   ; 55                          ; 0xf925e
    mov bp, sp                                ; 89 e5                       ; 0xf925f
    mov di, 00413h                            ; bf 13 04                    ; 0xf9261 ahci.c:58
    xor ax, ax                                ; 31 c0                       ; 0xf9264
    mov es, ax                                ; 8e c0                       ; 0xf9266
    mov ax, word [es:di]                      ; 26 8b 05                    ; 0xf9268
    test ax, ax                               ; 85 c0                       ; 0xf926b ahci.c:839
    je short 0928eh                           ; 74 1f                       ; 0xf926d
    dec ax                                    ; 48                          ; 0xf926f ahci.c:840
    mov bx, ax                                ; 89 c3                       ; 0xf9270
    xor dx, dx                                ; 31 d2                       ; 0xf9272 ahci.c:843
    mov cx, strict word 0000ah                ; b9 0a 00                    ; 0xf9274
    sal ax, 1                                 ; d1 e0                       ; 0xf9277
    rcl dx, 1                                 ; d1 d2                       ; 0xf9279
    loop 09277h                               ; e2 fa                       ; 0xf927b
    mov di, dx                                ; 89 d7                       ; 0xf927d
    mov cx, strict word 00004h                ; b9 04 00                    ; 0xf927f
    shr di, 1                                 ; d1 ef                       ; 0xf9282
    rcr ax, 1                                 ; d1 d8                       ; 0xf9284
    loop 09282h                               ; e2 fa                       ; 0xf9286
    mov di, 00413h                            ; bf 13 04                    ; 0xf9288 ahci.c:63
    mov word [es:di], bx                      ; 26 89 1d                    ; 0xf928b
    pop bp                                    ; 5d                          ; 0xf928e ahci.c:848
    pop di                                    ; 5f                          ; 0xf928f
    pop dx                                    ; 5a                          ; 0xf9290
    pop cx                                    ; 59                          ; 0xf9291
    pop bx                                    ; 5b                          ; 0xf9292
    retn                                      ; c3                          ; 0xf9293
  ; disGetNextSymbol 0xf9294 LB 0x1b88 -> off=0x0 cb=0000000000000145 uValue=00000000000f7c94 'ahci_hba_init'
ahci_hba_init:                               ; 0xf9294 LB 0x145
    push bp                                   ; 55                          ; 0xf9294 ahci.c:853
    mov bp, sp                                ; 89 e5                       ; 0xf9295
    push bx                                   ; 53                          ; 0xf9297
    push cx                                   ; 51                          ; 0xf9298
    push dx                                   ; 52                          ; 0xf9299
    push si                                   ; 56                          ; 0xf929a
    push di                                   ; 57                          ; 0xf929b
    sub sp, strict byte 00006h                ; 83 ec 06                    ; 0xf929c
    mov si, ax                                ; 89 c6                       ; 0xf929f
    mov bx, strict word 0000eh                ; bb 0e 00                    ; 0xf92a1 ahci.c:58
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xf92a4
    mov es, ax                                ; 8e c0                       ; 0xf92a7
    mov di, word [es:bx]                      ; 26 8b 3f                    ; 0xf92a9
    mov bx, strict word 0005eh                ; bb 5e 00                    ; 0xf92ac ahci.c:864
    mov ax, strict word 00010h                ; b8 10 00                    ; 0xf92af ahci.c:866
    xor cx, cx                                ; 31 c9                       ; 0xf92b2
    mov dx, si                                ; 89 f2                       ; 0xf92b4
    xchg cx, ax                               ; 91                          ; 0xf92b6
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf92b7
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf92bb
    out DX, eax                               ; 66 ef                       ; 0xf92bd
    lea dx, [si+004h]                         ; 8d 54 04                    ; 0xf92bf
    in eax, DX                                ; 66 ed                       ; 0xf92c2
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xf92c4
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xf92c6
    xchg dx, ax                               ; 92                          ; 0xf92ca
    call 0925ah                               ; e8 8c ff                    ; 0xf92cb ahci.c:872
    mov word [bp-010h], ax                    ; 89 46 f0                    ; 0xf92ce
    test ax, ax                               ; 85 c0                       ; 0xf92d1 ahci.c:873
    je near 093cfh                            ; 0f 84 f8 00                 ; 0xf92d3
    mov ax, word [bp-010h]                    ; 8b 46 f0                    ; 0xf92d7 ahci.c:876
    mov es, di                                ; 8e c7                       ; 0xf92da
    mov word [es:bx+002a6h], ax               ; 26 89 87 a6 02              ; 0xf92dc
    mov byte [es:bx+002a5h], 000h             ; 26 c6 87 a5 02 00           ; 0xf92e1 ahci.c:882
    xor bx, bx                                ; 31 db                       ; 0xf92e7 ahci.c:884
    mov es, ax                                ; 8e c0                       ; 0xf92e9
    mov byte [es:bx+00262h], 0ffh             ; 26 c6 87 62 02 ff           ; 0xf92eb ahci.c:885
    mov word [es:bx+00260h], si               ; 26 89 b7 60 02              ; 0xf92f1 ahci.c:886
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf92f6 ahci.c:260
    xor cx, cx                                ; 31 c9                       ; 0xf92f9
    mov dx, si                                ; 89 f2                       ; 0xf92fb
    xchg cx, ax                               ; 91                          ; 0xf92fd
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf92fe
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf9302
    out DX, eax                               ; 66 ef                       ; 0xf9304
    lea bx, [si+004h]                         ; 8d 5c 04                    ; 0xf9306 ahci.c:261
    mov dx, bx                                ; 89 da                       ; 0xf9309
    in eax, DX                                ; 66 ed                       ; 0xf930b
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xf930d
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xf930f
    xchg dx, ax                               ; 92                          ; 0xf9313
    or AL, strict byte 001h                   ; 0c 01                       ; 0xf9314
    mov cx, dx                                ; 89 d1                       ; 0xf9316
    mov dx, bx                                ; 89 da                       ; 0xf9318
    xchg cx, ax                               ; 91                          ; 0xf931a
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf931b
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf931f
    out DX, eax                               ; 66 ef                       ; 0xf9321
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf9323 ahci.c:892
    xor cx, cx                                ; 31 c9                       ; 0xf9326
    mov dx, si                                ; 89 f2                       ; 0xf9328
    xchg cx, ax                               ; 91                          ; 0xf932a
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf932b
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf932f
    out DX, eax                               ; 66 ef                       ; 0xf9331
    lea bx, [si+004h]                         ; 8d 5c 04                    ; 0xf9333
    mov dx, bx                                ; 89 da                       ; 0xf9336
    in eax, DX                                ; 66 ed                       ; 0xf9338
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xf933a
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xf933c
    xchg dx, ax                               ; 92                          ; 0xf9340
    test AL, strict byte 001h                 ; a8 01                       ; 0xf9341 ahci.c:893
    jne short 09323h                          ; 75 de                       ; 0xf9343
    xor ax, ax                                ; 31 c0                       ; 0xf9345 ahci.c:895
    xor cx, cx                                ; 31 c9                       ; 0xf9347
    mov dx, si                                ; 89 f2                       ; 0xf9349
    xchg cx, ax                               ; 91                          ; 0xf934b
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf934c
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf9350
    out DX, eax                               ; 66 ef                       ; 0xf9352
    mov dx, bx                                ; 89 da                       ; 0xf9354
    in eax, DX                                ; 66 ed                       ; 0xf9356
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xf9358
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xf935a
    xchg dx, ax                               ; 92                          ; 0xf935e
    push strict byte 00000h                   ; 6a 00                       ; 0xf935f ahci.c:896
    mov bx, strict word 0001fh                ; bb 1f 00                    ; 0xf9361
    xor cx, cx                                ; 31 c9                       ; 0xf9364
    call 083ddh                               ; e8 74 f0                    ; 0xf9366
    db  0feh, 0c0h
    ; inc al                                    ; fe c0                     ; 0xf9369
    mov byte [bp-00eh], al                    ; 88 46 f2                    ; 0xf936b
    mov byte [bp-00ch], 000h                  ; c6 46 f4 00                 ; 0xf936e ahci.c:901
    jmp short 09394h                          ; eb 20                       ; 0xf9372 ahci.c:902
    xor al, al                                ; 30 c0                       ; 0xf9374 ahci.c:280
    test al, al                               ; 84 c0                       ; 0xf9376 ahci.c:281
    je short 0938bh                           ; 74 11                       ; 0xf9378
    movzx bx, byte [bp-00ch]                  ; 0f b6 5e f4                 ; 0xf937a ahci.c:907
    xor ax, ax                                ; 31 c0                       ; 0xf937e
    mov dx, word [bp-010h]                    ; 8b 56 f0                    ; 0xf9380
    call 08dbbh                               ; e8 35 fa                    ; 0xf9383
    dec byte [bp-00eh]                        ; fe 4e f2                    ; 0xf9386 ahci.c:908
    je short 093cdh                           ; 74 42                       ; 0xf9389 ahci.c:909
    inc byte [bp-00ch]                        ; fe 46 f4                    ; 0xf938b ahci.c:912
    cmp byte [bp-00ch], 020h                  ; 80 7e f4 20                 ; 0xf938e ahci.c:913
    jnc short 093cdh                          ; 73 39                       ; 0xf9392
    movzx cx, byte [bp-00ch]                  ; 0f b6 4e f4                 ; 0xf9394
    mov bx, strict word 00001h                ; bb 01 00                    ; 0xf9398
    xor di, di                                ; 31 ff                       ; 0xf939b
    jcxz 093a5h                               ; e3 06                       ; 0xf939d
    sal bx, 1                                 ; d1 e3                       ; 0xf939f
    rcl di, 1                                 ; d1 d7                       ; 0xf93a1
    loop 0939fh                               ; e2 fa                       ; 0xf93a3
    mov ax, strict word 0000ch                ; b8 0c 00                    ; 0xf93a5
    xor cx, cx                                ; 31 c9                       ; 0xf93a8
    mov dx, si                                ; 89 f2                       ; 0xf93aa
    xchg cx, ax                               ; 91                          ; 0xf93ac
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xf93ad
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xf93b1
    out DX, eax                               ; 66 ef                       ; 0xf93b3
    lea dx, [si+004h]                         ; 8d 54 04                    ; 0xf93b5
    in eax, DX                                ; 66 ed                       ; 0xf93b8
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xf93ba
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xf93bc
    xchg dx, ax                               ; 92                          ; 0xf93c0
    test dx, di                               ; 85 fa                       ; 0xf93c1
    jne short 093c9h                          ; 75 04                       ; 0xf93c3
    test ax, bx                               ; 85 d8                       ; 0xf93c5
    je short 09374h                           ; 74 ab                       ; 0xf93c7
    mov AL, strict byte 001h                  ; b0 01                       ; 0xf93c9
    jmp short 09376h                          ; eb a9                       ; 0xf93cb
    xor ax, ax                                ; 31 c0                       ; 0xf93cd ahci.c:915
    lea sp, [bp-00ah]                         ; 8d 66 f6                    ; 0xf93cf ahci.c:916
    pop di                                    ; 5f                          ; 0xf93d2
    pop si                                    ; 5e                          ; 0xf93d3
    pop dx                                    ; 5a                          ; 0xf93d4
    pop cx                                    ; 59                          ; 0xf93d5
    pop bx                                    ; 5b                          ; 0xf93d6
    pop bp                                    ; 5d                          ; 0xf93d7
    retn                                      ; c3                          ; 0xf93d8
  ; disGetNextSymbol 0xf93d9 LB 0x1a43 -> off=0x17 cb=0000000000000116 uValue=00000000000f7df0 'ahci_init'
    db  00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0c0h, 094h, 09eh, 094h, 0a4h, 094h, 0aah, 094h, 0b0h
    db  094h, 0b6h, 094h, 0bch, 094h, 0c0h, 094h
ahci_init:                                   ; 0xf93f0 LB 0x116
    push bp                                   ; 55                          ; 0xf93f0 ahci.c:921
    mov bp, sp                                ; 89 e5                       ; 0xf93f1
    push si                                   ; 56                          ; 0xf93f3
    push di                                   ; 57                          ; 0xf93f4
    sub sp, strict byte 00008h                ; 83 ec 08                    ; 0xf93f5
    mov ax, 00601h                            ; b8 01 06                    ; 0xf93f8 ahci.c:925
    mov dx, strict word 00001h                ; ba 01 00                    ; 0xf93fb
    call 0aab8h                               ; e8 b7 16                    ; 0xf93fe
    mov bx, ax                                ; 89 c3                       ; 0xf9401
    cmp ax, strict word 0ffffh                ; 3d ff ff                    ; 0xf9403 ahci.c:926
    je near 094ffh                            ; 0f 84 f5 00                 ; 0xf9406
    xor al, al                                ; 30 c0                       ; 0xf940a ahci.c:931
    shr ax, 008h                              ; c1 e8 08                    ; 0xf940c
    mov byte [bp-00ah], al                    ; 88 46 f6                    ; 0xf940f
    mov byte [bp-008h], bl                    ; 88 5e f8                    ; 0xf9412 ahci.c:932
    movzx dx, bl                              ; 0f b6 d3                    ; 0xf9415 ahci.c:937
    xor ah, ah                                ; 30 e4                       ; 0xf9418
    mov bx, strict word 00034h                ; bb 34 00                    ; 0xf941a
    call 0ab22h                               ; e8 02 17                    ; 0xf941d
    mov cl, al                                ; 88 c1                       ; 0xf9420
    test cl, cl                               ; 84 c9                       ; 0xf9422 ahci.c:939
    je short 09449h                           ; 74 23                       ; 0xf9424
    movzx bx, cl                              ; 0f b6 d9                    ; 0xf9426 ahci.c:941
    movzx di, byte [bp-008h]                  ; 0f b6 7e f8                 ; 0xf9429
    movzx si, byte [bp-00ah]                  ; 0f b6 76 f6                 ; 0xf942d
    mov dx, di                                ; 89 fa                       ; 0xf9431
    mov ax, si                                ; 89 f0                       ; 0xf9433
    call 0ab22h                               ; e8 ea 16                    ; 0xf9435
    cmp AL, strict byte 012h                  ; 3c 12                       ; 0xf9438 ahci.c:945
    je short 09449h                           ; 74 0d                       ; 0xf943a
    mov al, cl                                ; 88 c8                       ; 0xf943c ahci.c:949
    db  0feh, 0c0h
    ; inc al                                    ; fe c0                     ; 0xf943e
    movzx bx, al                              ; 0f b6 d8                    ; 0xf9440
    mov dx, di                                ; 89 fa                       ; 0xf9443
    mov ax, si                                ; 89 f0                       ; 0xf9445
    jmp short 0941dh                          ; eb d4                       ; 0xf9447 ahci.c:950
    test cl, cl                               ; 84 c9                       ; 0xf9449 ahci.c:952
    je near 094ffh                            ; 0f 84 b0 00                 ; 0xf944b
    add cl, 002h                              ; 80 c1 02                    ; 0xf944f ahci.c:959
    movzx bx, cl                              ; 0f b6 d9                    ; 0xf9452 ahci.c:961
    movzx si, byte [bp-008h]                  ; 0f b6 76 f8                 ; 0xf9455
    movzx di, byte [bp-00ah]                  ; 0f b6 7e f6                 ; 0xf9459
    mov dx, si                                ; 89 f2                       ; 0xf945d
    mov ax, di                                ; 89 f8                       ; 0xf945f
    call 0ab22h                               ; e8 be 16                    ; 0xf9461
    cmp AL, strict byte 010h                  ; 3c 10                       ; 0xf9464 ahci.c:962
    jne near 094ffh                           ; 0f 85 95 00                 ; 0xf9466
    mov byte [bp-006h], 000h                  ; c6 46 fa 00                 ; 0xf946a ahci.c:965
    mov al, cl                                ; 88 c8                       ; 0xf946e ahci.c:967
    add AL, strict byte 002h                  ; 04 02                       ; 0xf9470
    movzx bx, al                              ; 0f b6 d8                    ; 0xf9472
    mov dx, si                                ; 89 f2                       ; 0xf9475
    mov ax, di                                ; 89 f8                       ; 0xf9477
    call 0ab46h                               ; e8 ca 16                    ; 0xf9479
    mov dx, ax                                ; 89 c2                       ; 0xf947c
    and ax, strict word 0000fh                ; 25 0f 00                    ; 0xf947e ahci.c:971
    sub ax, strict word 00004h                ; 2d 04 00                    ; 0xf9481
    cmp ax, strict word 0000bh                ; 3d 0b 00                    ; 0xf9484
    jnbe short 094c0h                         ; 77 37                       ; 0xf9487
    push CS                                   ; 0e                          ; 0xf9489
    pop ES                                    ; 07                          ; 0xf948a
    mov cx, strict word 00008h                ; b9 08 00                    ; 0xf948b
    mov di, 093d9h                            ; bf d9 93                    ; 0xf948e
    repne scasb                               ; f2 ae                       ; 0xf9491
    sal cx, 1                                 ; d1 e1                       ; 0xf9493
    mov di, cx                                ; 89 cf                       ; 0xf9495
    mov ax, word [cs:di-06c20h]               ; 2e 8b 85 e0 93              ; 0xf9497
    jmp ax                                    ; ff e0                       ; 0xf949c
    mov byte [bp-006h], 010h                  ; c6 46 fa 10                 ; 0xf949e ahci.c:974
    jmp short 094c0h                          ; eb 1c                       ; 0xf94a2 ahci.c:975
    mov byte [bp-006h], 014h                  ; c6 46 fa 14                 ; 0xf94a4 ahci.c:977
    jmp short 094c0h                          ; eb 16                       ; 0xf94a8 ahci.c:978
    mov byte [bp-006h], 018h                  ; c6 46 fa 18                 ; 0xf94aa ahci.c:980
    jmp short 094c0h                          ; eb 10                       ; 0xf94ae ahci.c:981
    mov byte [bp-006h], 01ch                  ; c6 46 fa 1c                 ; 0xf94b0 ahci.c:983
    jmp short 094c0h                          ; eb 0a                       ; 0xf94b4 ahci.c:984
    mov byte [bp-006h], 020h                  ; c6 46 fa 20                 ; 0xf94b6 ahci.c:986
    jmp short 094c0h                          ; eb 04                       ; 0xf94ba ahci.c:987
    mov byte [bp-006h], 024h                  ; c6 46 fa 24                 ; 0xf94bc ahci.c:989
    mov cx, dx                                ; 89 d1                       ; 0xf94c0 ahci.c:998
    shr cx, 004h                              ; c1 e9 04                    ; 0xf94c2
    sal cx, 002h                              ; c1 e1 02                    ; 0xf94c5
    mov al, byte [bp-006h]                    ; 8a 46 fa                    ; 0xf94c8 ahci.c:1000
    test al, al                               ; 84 c0                       ; 0xf94cb
    je short 094ffh                           ; 74 30                       ; 0xf94cd
    movzx bx, al                              ; 0f b6 d8                    ; 0xf94cf ahci.c:1002
    movzx di, byte [bp-008h]                  ; 0f b6 7e f8                 ; 0xf94d2
    movzx si, byte [bp-00ah]                  ; 0f b6 76 f6                 ; 0xf94d6
    mov dx, di                                ; 89 fa                       ; 0xf94da
    mov ax, si                                ; 89 f0                       ; 0xf94dc
    call 0ab68h                               ; e8 87 16                    ; 0xf94de
    test AL, strict byte 001h                 ; a8 01                       ; 0xf94e1 ahci.c:1006
    je short 094ffh                           ; 74 1a                       ; 0xf94e3
    and AL, strict byte 0f0h                  ; 24 f0                       ; 0xf94e5 ahci.c:1009
    add ax, cx                                ; 01 c8                       ; 0xf94e7
    mov word [bp-00ch], ax                    ; 89 46 f4                    ; 0xf94e9
    mov cx, strict word 00007h                ; b9 07 00                    ; 0xf94ec ahci.c:1012
    mov bx, strict word 00004h                ; bb 04 00                    ; 0xf94ef
    mov dx, di                                ; 89 fa                       ; 0xf94f2
    mov ax, si                                ; 89 f0                       ; 0xf94f4
    call 0ab8fh                               ; e8 96 16                    ; 0xf94f6
    mov ax, word [bp-00ch]                    ; 8b 46 f4                    ; 0xf94f9 ahci.c:1015
    call 09294h                               ; e8 95 fd                    ; 0xf94fc
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf94ff ahci.c:1029
    pop di                                    ; 5f                          ; 0xf9502
    pop si                                    ; 5e                          ; 0xf9503
    pop bp                                    ; 5d                          ; 0xf9504
    retn                                      ; c3                          ; 0xf9505
  ; disGetNextSymbol 0xf9506 LB 0x1916 -> off=0x0 cb=0000000000000070 uValue=00000000000f7f06 'virtio_reg_set_bar_offset_length'
virtio_reg_set_bar_offset_length:            ; 0xf9506 LB 0x70
    push bp                                   ; 55                          ; 0xf9506 virtio.c:287
    mov bp, sp                                ; 89 e5                       ; 0xf9507
    push cx                                   ; 51                          ; 0xf9509
    push si                                   ; 56                          ; 0xf950a
    push di                                   ; 57                          ; 0xf950b
    mov si, ax                                ; 89 c6                       ; 0xf950c
    mov di, dx                                ; 89 d7                       ; 0xf950e
    movzx cx, bl                              ; 0f b6 cb                    ; 0xf9510 virtio.c:289
    mov es, dx                                ; 8e c2                       ; 0xf9513
    mov al, byte [es:si+0008ch]               ; 26 8a 84 8c 00              ; 0xf9515
    add AL, strict byte 004h                  ; 04 04                       ; 0xf951a
    movzx bx, al                              ; 0f b6 d8                    ; 0xf951c
    movzx dx, byte [es:si+00093h]             ; 26 0f b6 94 93 00           ; 0xf951f
    movzx ax, byte [es:si+00092h]             ; 26 0f b6 84 92 00           ; 0xf9525
    call 0ababh                               ; e8 7d 16                    ; 0xf952b
    push dword [bp+004h]                      ; 66 ff 76 04                 ; 0xf952e virtio.c:290
    mov es, di                                ; 8e c7                       ; 0xf9532
    mov al, byte [es:si+0008ch]               ; 26 8a 84 8c 00              ; 0xf9534
    add AL, strict byte 008h                  ; 04 08                       ; 0xf9539
    movzx bx, al                              ; 0f b6 d8                    ; 0xf953b
    movzx dx, byte [es:si+00093h]             ; 26 0f b6 94 93 00           ; 0xf953e
    movzx ax, byte [es:si+00092h]             ; 26 0f b6 84 92 00           ; 0xf9544
    call 0abc7h                               ; e8 7a 16                    ; 0xf954a
    push dword [bp+008h]                      ; 66 ff 76 08                 ; 0xf954d virtio.c:291
    mov es, di                                ; 8e c7                       ; 0xf9551
    mov al, byte [es:si+0008ch]               ; 26 8a 84 8c 00              ; 0xf9553
    add AL, strict byte 00ch                  ; 04 0c                       ; 0xf9558
    movzx bx, al                              ; 0f b6 d8                    ; 0xf955a
    movzx dx, byte [es:si+00093h]             ; 26 0f b6 94 93 00           ; 0xf955d
    movzx ax, byte [es:si+00092h]             ; 26 0f b6 84 92 00           ; 0xf9563
    call 0abc7h                               ; e8 5b 16                    ; 0xf9569
    lea sp, [bp-006h]                         ; 8d 66 fa                    ; 0xf956c virtio.c:292
    pop di                                    ; 5f                          ; 0xf956f
    pop si                                    ; 5e                          ; 0xf9570
    pop cx                                    ; 59                          ; 0xf9571
    pop bp                                    ; 5d                          ; 0xf9572
    retn 00008h                               ; c2 08 00                    ; 0xf9573
  ; disGetNextSymbol 0xf9576 LB 0x18a6 -> off=0x0 cb=0000000000000030 uValue=00000000000f7f76 'virtio_reg_common_access_prepare'
virtio_reg_common_access_prepare:            ; 0xf9576 LB 0x30
    push bp                                   ; 55                          ; 0xf9576 virtio.c:294
    mov bp, sp                                ; 89 e5                       ; 0xf9577
    push si                                   ; 56                          ; 0xf9579
    mov si, ax                                ; 89 c6                       ; 0xf957a
    mov es, dx                                ; 8e c2                       ; 0xf957c
    push dword [bp+004h]                      ; 66 ff 76 04                 ; 0xf957e virtio.c:296
    xor dx, dx                                ; 31 d2                       ; 0xf9582
    mov ax, word [es:si+060h]                 ; 26 8b 44 60                 ; 0xf9584
    add ax, bx                                ; 01 d8                       ; 0xf9588
    mov bx, word [es:si+062h]                 ; 26 8b 5c 62                 ; 0xf958a
    adc bx, dx                                ; 11 d3                       ; 0xf958e
    push bx                                   ; 53                          ; 0xf9590
    push ax                                   ; 50                          ; 0xf9591
    movzx bx, byte [es:si+05ch]               ; 26 0f b6 5c 5c              ; 0xf9592
    mov ax, si                                ; 89 f0                       ; 0xf9597
    mov dx, es                                ; 8c c2                       ; 0xf9599
    call 09506h                               ; e8 68 ff                    ; 0xf959b
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xf959e virtio.c:300
    pop si                                    ; 5e                          ; 0xf95a1
    pop bp                                    ; 5d                          ; 0xf95a2
    retn 00004h                               ; c2 04 00                    ; 0xf95a3
  ; disGetNextSymbol 0xf95a6 LB 0x1876 -> off=0x0 cb=0000000000000033 uValue=00000000000f7fa6 'virtio_reg_dev_access_prepare'
virtio_reg_dev_access_prepare:               ; 0xf95a6 LB 0x33
    push bp                                   ; 55                          ; 0xf95a6 virtio.c:302
    mov bp, sp                                ; 89 e5                       ; 0xf95a7
    push si                                   ; 56                          ; 0xf95a9
    mov si, ax                                ; 89 c6                       ; 0xf95aa
    mov es, dx                                ; 8e c2                       ; 0xf95ac
    push dword [bp+004h]                      ; 66 ff 76 04                 ; 0xf95ae virtio.c:304
    xor dx, dx                                ; 31 d2                       ; 0xf95b2
    mov ax, word [es:si+00084h]               ; 26 8b 84 84 00              ; 0xf95b4
    add ax, bx                                ; 01 d8                       ; 0xf95b9
    mov bx, word [es:si+00086h]               ; 26 8b 9c 86 00              ; 0xf95bb
    adc bx, dx                                ; 11 d3                       ; 0xf95c0
    push bx                                   ; 53                          ; 0xf95c2
    push ax                                   ; 50                          ; 0xf95c3
    movzx bx, byte [es:si+00080h]             ; 26 0f b6 9c 80 00           ; 0xf95c4
    mov ax, si                                ; 89 f0                       ; 0xf95ca
    mov dx, es                                ; 8c c2                       ; 0xf95cc
    call 09506h                               ; e8 35 ff                    ; 0xf95ce
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xf95d1 virtio.c:308
    pop si                                    ; 5e                          ; 0xf95d4
    pop bp                                    ; 5d                          ; 0xf95d5
    retn 00004h                               ; c2 04 00                    ; 0xf95d6
  ; disGetNextSymbol 0xf95d9 LB 0x1843 -> off=0x0 cb=0000000000000030 uValue=00000000000f7fd9 'virtio_reg_notify_access_prepare'
virtio_reg_notify_access_prepare:            ; 0xf95d9 LB 0x30
    push bp                                   ; 55                          ; 0xf95d9 virtio.c:310
    mov bp, sp                                ; 89 e5                       ; 0xf95da
    push si                                   ; 56                          ; 0xf95dc
    mov si, ax                                ; 89 c6                       ; 0xf95dd
    mov es, dx                                ; 8e c2                       ; 0xf95df
    push dword [bp+004h]                      ; 66 ff 76 04                 ; 0xf95e1 virtio.c:312
    xor dx, dx                                ; 31 d2                       ; 0xf95e5
    mov ax, word [es:si+06ch]                 ; 26 8b 44 6c                 ; 0xf95e7
    add ax, bx                                ; 01 d8                       ; 0xf95eb
    mov bx, word [es:si+06eh]                 ; 26 8b 5c 6e                 ; 0xf95ed
    adc bx, dx                                ; 11 d3                       ; 0xf95f1
    push bx                                   ; 53                          ; 0xf95f3
    push ax                                   ; 50                          ; 0xf95f4
    movzx bx, byte [es:si+068h]               ; 26 0f b6 5c 68              ; 0xf95f5
    mov ax, si                                ; 89 f0                       ; 0xf95fa
    mov dx, es                                ; 8c c2                       ; 0xf95fc
    call 09506h                               ; e8 05 ff                    ; 0xf95fe
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xf9601 virtio.c:316
    pop si                                    ; 5e                          ; 0xf9604
    pop bp                                    ; 5d                          ; 0xf9605
    retn 00004h                               ; c2 04 00                    ; 0xf9606
  ; disGetNextSymbol 0xf9609 LB 0x1813 -> off=0x0 cb=000000000000001d uValue=00000000000f8009 'virtio_reg_isr_prepare'
virtio_reg_isr_prepare:                      ; 0xf9609 LB 0x1d
    push bp                                   ; 55                          ; 0xf9609 virtio.c:318
    mov bp, sp                                ; 89 e5                       ; 0xf960a
    push si                                   ; 56                          ; 0xf960c
    mov si, ax                                ; 89 c6                       ; 0xf960d
    mov es, dx                                ; 8e c2                       ; 0xf960f
    push cx                                   ; 51                          ; 0xf9611 virtio.c:320
    push bx                                   ; 53                          ; 0xf9612
    db  066h, 026h, 0ffh, 074h, 078h
    ; push dword [es:si+078h]                   ; 66 26 ff 74 78            ; 0xf9613
    movzx bx, byte [es:si+074h]               ; 26 0f b6 5c 74              ; 0xf9618
    call 09506h                               ; e8 e6 fe                    ; 0xf961d
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xf9620 virtio.c:324
    pop si                                    ; 5e                          ; 0xf9623
    pop bp                                    ; 5d                          ; 0xf9624
    retn                                      ; c3                          ; 0xf9625
  ; disGetNextSymbol 0xf9626 LB 0x17f6 -> off=0x0 cb=0000000000000031 uValue=00000000000f8026 'virtio_reg_common_read_u8'
virtio_reg_common_read_u8:                   ; 0xf9626 LB 0x31
    push bp                                   ; 55                          ; 0xf9626 virtio.c:326
    mov bp, sp                                ; 89 e5                       ; 0xf9627
    push cx                                   ; 51                          ; 0xf9629
    push si                                   ; 56                          ; 0xf962a
    mov si, ax                                ; 89 c6                       ; 0xf962b
    mov cx, dx                                ; 89 d1                       ; 0xf962d
    push dword 000000001h                     ; 66 6a 01                    ; 0xf962f virtio.c:328
    call 09576h                               ; e8 41 ff                    ; 0xf9632
    mov es, cx                                ; 8e c1                       ; 0xf9635 virtio.c:329
    mov al, byte [es:si+0008ch]               ; 26 8a 84 8c 00              ; 0xf9637
    add AL, strict byte 010h                  ; 04 10                       ; 0xf963c
    movzx bx, al                              ; 0f b6 d8                    ; 0xf963e
    movzx dx, byte [es:si+00093h]             ; 26 0f b6 94 93 00           ; 0xf9641
    movzx ax, byte [es:si+00092h]             ; 26 0f b6 84 92 00           ; 0xf9647
    call 0ab22h                               ; e8 d2 14                    ; 0xf964d
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf9650 virtio.c:330
    pop si                                    ; 5e                          ; 0xf9653
    pop cx                                    ; 59                          ; 0xf9654
    pop bp                                    ; 5d                          ; 0xf9655
    retn                                      ; c3                          ; 0xf9656
  ; disGetNextSymbol 0xf9657 LB 0x17c5 -> off=0x0 cb=0000000000000033 uValue=00000000000f8057 'virtio_reg_common_write_u8'
virtio_reg_common_write_u8:                  ; 0xf9657 LB 0x33
    push bp                                   ; 55                          ; 0xf9657 virtio.c:332
    mov bp, sp                                ; 89 e5                       ; 0xf9658
    push si                                   ; 56                          ; 0xf965a
    push di                                   ; 57                          ; 0xf965b
    mov si, ax                                ; 89 c6                       ; 0xf965c
    mov di, dx                                ; 89 d7                       ; 0xf965e
    push dword 000000001h                     ; 66 6a 01                    ; 0xf9660 virtio.c:334
    call 09576h                               ; e8 10 ff                    ; 0xf9663
    xor ch, ch                                ; 30 ed                       ; 0xf9666 virtio.c:335
    mov es, di                                ; 8e c7                       ; 0xf9668
    mov al, byte [es:si+0008ch]               ; 26 8a 84 8c 00              ; 0xf966a
    add AL, strict byte 010h                  ; 04 10                       ; 0xf966f
    movzx bx, al                              ; 0f b6 d8                    ; 0xf9671
    movzx dx, byte [es:si+00093h]             ; 26 0f b6 94 93 00           ; 0xf9674
    movzx ax, byte [es:si+00092h]             ; 26 0f b6 84 92 00           ; 0xf967a
    call 0ababh                               ; e8 28 15                    ; 0xf9680
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf9683 virtio.c:336
    pop di                                    ; 5f                          ; 0xf9686
    pop si                                    ; 5e                          ; 0xf9687
    pop bp                                    ; 5d                          ; 0xf9688
    retn                                      ; c3                          ; 0xf9689
  ; disGetNextSymbol 0xf968a LB 0x1792 -> off=0x0 cb=0000000000000031 uValue=00000000000f808a 'virtio_reg_common_read_u16'
virtio_reg_common_read_u16:                  ; 0xf968a LB 0x31
    push bp                                   ; 55                          ; 0xf968a virtio.c:338
    mov bp, sp                                ; 89 e5                       ; 0xf968b
    push cx                                   ; 51                          ; 0xf968d
    push si                                   ; 56                          ; 0xf968e
    mov si, ax                                ; 89 c6                       ; 0xf968f
    mov cx, dx                                ; 89 d1                       ; 0xf9691
    push dword 000000002h                     ; 66 6a 02                    ; 0xf9693 virtio.c:340
    call 09576h                               ; e8 dd fe                    ; 0xf9696
    mov es, cx                                ; 8e c1                       ; 0xf9699 virtio.c:341
    mov al, byte [es:si+0008ch]               ; 26 8a 84 8c 00              ; 0xf969b
    add AL, strict byte 010h                  ; 04 10                       ; 0xf96a0
    movzx bx, al                              ; 0f b6 d8                    ; 0xf96a2
    movzx dx, byte [es:si+00093h]             ; 26 0f b6 94 93 00           ; 0xf96a5
    movzx ax, byte [es:si+00092h]             ; 26 0f b6 84 92 00           ; 0xf96ab
    call 0ab46h                               ; e8 92 14                    ; 0xf96b1
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf96b4 virtio.c:342
    pop si                                    ; 5e                          ; 0xf96b7
    pop cx                                    ; 59                          ; 0xf96b8
    pop bp                                    ; 5d                          ; 0xf96b9
    retn                                      ; c3                          ; 0xf96ba
  ; disGetNextSymbol 0xf96bb LB 0x1761 -> off=0x0 cb=0000000000000031 uValue=00000000000f80bb 'virtio_reg_common_write_u16'
virtio_reg_common_write_u16:                 ; 0xf96bb LB 0x31
    push bp                                   ; 55                          ; 0xf96bb virtio.c:344
    mov bp, sp                                ; 89 e5                       ; 0xf96bc
    push si                                   ; 56                          ; 0xf96be
    push di                                   ; 57                          ; 0xf96bf
    mov si, ax                                ; 89 c6                       ; 0xf96c0
    mov di, dx                                ; 89 d7                       ; 0xf96c2
    push dword 000000002h                     ; 66 6a 02                    ; 0xf96c4 virtio.c:346
    call 09576h                               ; e8 ac fe                    ; 0xf96c7
    mov es, di                                ; 8e c7                       ; 0xf96ca virtio.c:347
    mov al, byte [es:si+0008ch]               ; 26 8a 84 8c 00              ; 0xf96cc
    add AL, strict byte 010h                  ; 04 10                       ; 0xf96d1
    movzx bx, al                              ; 0f b6 d8                    ; 0xf96d3
    movzx dx, byte [es:si+00093h]             ; 26 0f b6 94 93 00           ; 0xf96d6
    movzx ax, byte [es:si+00092h]             ; 26 0f b6 84 92 00           ; 0xf96dc
    call 0ab8fh                               ; e8 aa 14                    ; 0xf96e2
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf96e5 virtio.c:348
    pop di                                    ; 5f                          ; 0xf96e8
    pop si                                    ; 5e                          ; 0xf96e9
    pop bp                                    ; 5d                          ; 0xf96ea
    retn                                      ; c3                          ; 0xf96eb
  ; disGetNextSymbol 0xf96ec LB 0x1730 -> off=0x0 cb=0000000000000037 uValue=00000000000f80ec 'virtio_reg_common_write_u32'
virtio_reg_common_write_u32:                 ; 0xf96ec LB 0x37
    push bp                                   ; 55                          ; 0xf96ec virtio.c:350
    mov bp, sp                                ; 89 e5                       ; 0xf96ed
    push cx                                   ; 51                          ; 0xf96ef
    push si                                   ; 56                          ; 0xf96f0
    mov si, ax                                ; 89 c6                       ; 0xf96f1
    mov cx, dx                                ; 89 d1                       ; 0xf96f3
    push dword 000000004h                     ; 66 6a 04                    ; 0xf96f5 virtio.c:352
    call 09576h                               ; e8 7b fe                    ; 0xf96f8
    push dword [bp+004h]                      ; 66 ff 76 04                 ; 0xf96fb virtio.c:353
    mov es, cx                                ; 8e c1                       ; 0xf96ff
    mov al, byte [es:si+0008ch]               ; 26 8a 84 8c 00              ; 0xf9701
    add AL, strict byte 010h                  ; 04 10                       ; 0xf9706
    movzx bx, al                              ; 0f b6 d8                    ; 0xf9708
    movzx dx, byte [es:si+00093h]             ; 26 0f b6 94 93 00           ; 0xf970b
    movzx ax, byte [es:si+00092h]             ; 26 0f b6 84 92 00           ; 0xf9711
    call 0abc7h                               ; e8 ad 14                    ; 0xf9717
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf971a virtio.c:354
    pop si                                    ; 5e                          ; 0xf971d
    pop cx                                    ; 59                          ; 0xf971e
    pop bp                                    ; 5d                          ; 0xf971f
    retn 00004h                               ; c2 04 00                    ; 0xf9720
  ; disGetNextSymbol 0xf9723 LB 0x16f9 -> off=0x0 cb=0000000000000031 uValue=00000000000f8123 'virtio_reg_dev_cfg_read_u32'
virtio_reg_dev_cfg_read_u32:                 ; 0xf9723 LB 0x31
    push bp                                   ; 55                          ; 0xf9723 virtio.c:356
    mov bp, sp                                ; 89 e5                       ; 0xf9724
    push cx                                   ; 51                          ; 0xf9726
    push si                                   ; 56                          ; 0xf9727
    mov si, ax                                ; 89 c6                       ; 0xf9728
    mov cx, dx                                ; 89 d1                       ; 0xf972a
    push dword 000000004h                     ; 66 6a 04                    ; 0xf972c virtio.c:358
    call 095a6h                               ; e8 74 fe                    ; 0xf972f
    mov es, cx                                ; 8e c1                       ; 0xf9732 virtio.c:359
    mov al, byte [es:si+0008ch]               ; 26 8a 84 8c 00              ; 0xf9734
    add AL, strict byte 010h                  ; 04 10                       ; 0xf9739
    movzx bx, al                              ; 0f b6 d8                    ; 0xf973b
    movzx dx, byte [es:si+00093h]             ; 26 0f b6 94 93 00           ; 0xf973e
    movzx ax, byte [es:si+00092h]             ; 26 0f b6 84 92 00           ; 0xf9744
    call 0ab68h                               ; e8 1b 14                    ; 0xf974a
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf974d virtio.c:360
    pop si                                    ; 5e                          ; 0xf9750
    pop cx                                    ; 59                          ; 0xf9751
    pop bp                                    ; 5d                          ; 0xf9752
    retn                                      ; c3                          ; 0xf9753
  ; disGetNextSymbol 0xf9754 LB 0x16c8 -> off=0x0 cb=0000000000000037 uValue=00000000000f8154 'virtio_reg_dev_cfg_write_u32'
virtio_reg_dev_cfg_write_u32:                ; 0xf9754 LB 0x37
    push bp                                   ; 55                          ; 0xf9754 virtio.c:362
    mov bp, sp                                ; 89 e5                       ; 0xf9755
    push cx                                   ; 51                          ; 0xf9757
    push si                                   ; 56                          ; 0xf9758
    mov si, ax                                ; 89 c6                       ; 0xf9759
    mov cx, dx                                ; 89 d1                       ; 0xf975b
    push dword 000000004h                     ; 66 6a 04                    ; 0xf975d virtio.c:364
    call 095a6h                               ; e8 43 fe                    ; 0xf9760
    push dword [bp+004h]                      ; 66 ff 76 04                 ; 0xf9763 virtio.c:365
    mov es, cx                                ; 8e c1                       ; 0xf9767
    mov al, byte [es:si+0008ch]               ; 26 8a 84 8c 00              ; 0xf9769
    add AL, strict byte 010h                  ; 04 10                       ; 0xf976e
    movzx bx, al                              ; 0f b6 d8                    ; 0xf9770
    movzx dx, byte [es:si+00093h]             ; 26 0f b6 94 93 00           ; 0xf9773
    movzx ax, byte [es:si+00092h]             ; 26 0f b6 84 92 00           ; 0xf9779
    call 0abc7h                               ; e8 45 14                    ; 0xf977f
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf9782 virtio.c:366
    pop si                                    ; 5e                          ; 0xf9785
    pop cx                                    ; 59                          ; 0xf9786
    pop bp                                    ; 5d                          ; 0xf9787
    retn 00004h                               ; c2 04 00                    ; 0xf9788
  ; disGetNextSymbol 0xf978b LB 0x1691 -> off=0x0 cb=0000000000000031 uValue=00000000000f818b 'virtio_reg_notify_write_u16'
virtio_reg_notify_write_u16:                 ; 0xf978b LB 0x31
    push bp                                   ; 55                          ; 0xf978b virtio.c:368
    mov bp, sp                                ; 89 e5                       ; 0xf978c
    push si                                   ; 56                          ; 0xf978e
    push di                                   ; 57                          ; 0xf978f
    mov si, ax                                ; 89 c6                       ; 0xf9790
    mov di, dx                                ; 89 d7                       ; 0xf9792
    push dword 000000002h                     ; 66 6a 02                    ; 0xf9794 virtio.c:370
    call 095d9h                               ; e8 3f fe                    ; 0xf9797
    mov es, di                                ; 8e c7                       ; 0xf979a virtio.c:371
    mov al, byte [es:si+0008ch]               ; 26 8a 84 8c 00              ; 0xf979c
    add AL, strict byte 010h                  ; 04 10                       ; 0xf97a1
    movzx bx, al                              ; 0f b6 d8                    ; 0xf97a3
    movzx dx, byte [es:si+00093h]             ; 26 0f b6 94 93 00           ; 0xf97a6
    movzx ax, byte [es:si+00092h]             ; 26 0f b6 84 92 00           ; 0xf97ac
    call 0ab8fh                               ; e8 da 13                    ; 0xf97b2
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf97b5 virtio.c:372
    pop di                                    ; 5f                          ; 0xf97b8
    pop si                                    ; 5e                          ; 0xf97b9
    pop bp                                    ; 5d                          ; 0xf97ba
    retn                                      ; c3                          ; 0xf97bb
  ; disGetNextSymbol 0xf97bc LB 0x1660 -> off=0x0 cb=0000000000000037 uValue=00000000000f81bc 'virtio_reg_isr_read_u8'
virtio_reg_isr_read_u8:                      ; 0xf97bc LB 0x37
    push bp                                   ; 55                          ; 0xf97bc virtio.c:374
    mov bp, sp                                ; 89 e5                       ; 0xf97bd
    push bx                                   ; 53                          ; 0xf97bf
    push cx                                   ; 51                          ; 0xf97c0
    push si                                   ; 56                          ; 0xf97c1
    push di                                   ; 57                          ; 0xf97c2
    mov si, ax                                ; 89 c6                       ; 0xf97c3
    mov di, dx                                ; 89 d7                       ; 0xf97c5
    mov bx, strict word 00001h                ; bb 01 00                    ; 0xf97c7 virtio.c:376
    xor cx, cx                                ; 31 c9                       ; 0xf97ca
    call 09609h                               ; e8 3a fe                    ; 0xf97cc
    mov es, di                                ; 8e c7                       ; 0xf97cf virtio.c:377
    mov al, byte [es:si+0008ch]               ; 26 8a 84 8c 00              ; 0xf97d1
    add AL, strict byte 010h                  ; 04 10                       ; 0xf97d6
    movzx bx, al                              ; 0f b6 d8                    ; 0xf97d8
    movzx dx, byte [es:si+00093h]             ; 26 0f b6 94 93 00           ; 0xf97db
    movzx ax, byte [es:si+00092h]             ; 26 0f b6 84 92 00           ; 0xf97e1
    call 0ab22h                               ; e8 38 13                    ; 0xf97e7
    lea sp, [bp-008h]                         ; 8d 66 f8                    ; 0xf97ea virtio.c:378
    pop di                                    ; 5f                          ; 0xf97ed
    pop si                                    ; 5e                          ; 0xf97ee
    pop cx                                    ; 59                          ; 0xf97ef
    pop bx                                    ; 5b                          ; 0xf97f0
    pop bp                                    ; 5d                          ; 0xf97f1
    retn                                      ; c3                          ; 0xf97f2
  ; disGetNextSymbol 0xf97f3 LB 0x1629 -> off=0x0 cb=000000000000001e uValue=00000000000f81f3 'virtio_addr_to_phys'
virtio_addr_to_phys:                         ; 0xf97f3 LB 0x1e
    push bx                                   ; 53                          ; 0xf97f3 virtio.c:383
    push cx                                   ; 51                          ; 0xf97f4
    push bp                                   ; 55                          ; 0xf97f5
    mov bp, sp                                ; 89 e5                       ; 0xf97f6
    mov bx, ax                                ; 89 c3                       ; 0xf97f8
    mov ax, dx                                ; 89 d0                       ; 0xf97fa
    xor dx, dx                                ; 31 d2                       ; 0xf97fc virtio.c:385
    mov cx, strict word 00004h                ; b9 04 00                    ; 0xf97fe
    sal ax, 1                                 ; d1 e0                       ; 0xf9801
    rcl dx, 1                                 ; d1 d2                       ; 0xf9803
    loop 09801h                               ; e2 fa                       ; 0xf9805
    xor cx, cx                                ; 31 c9                       ; 0xf9807
    add ax, bx                                ; 01 d8                       ; 0xf9809
    adc dx, cx                                ; 11 ca                       ; 0xf980b
    pop bp                                    ; 5d                          ; 0xf980d virtio.c:386
    pop cx                                    ; 59                          ; 0xf980e
    pop bx                                    ; 5b                          ; 0xf980f
    retn                                      ; c3                          ; 0xf9810
  ; disGetNextSymbol 0xf9811 LB 0x160b -> off=0x0 cb=0000000000000156 uValue=00000000000f8211 'virtio_scsi_cmd_data_out'
virtio_scsi_cmd_data_out:                    ; 0xf9811 LB 0x156
    push bp                                   ; 55                          ; 0xf9811 virtio.c:388
    mov bp, sp                                ; 89 e5                       ; 0xf9812
    push cx                                   ; 51                          ; 0xf9814
    push si                                   ; 56                          ; 0xf9815
    push di                                   ; 57                          ; 0xf9816
    sub sp, strict byte 0000ch                ; 83 ec 0c                    ; 0xf9817
    mov si, ax                                ; 89 c6                       ; 0xf981a
    mov word [bp-012h], dx                    ; 89 56 ee                    ; 0xf981c
    mov byte [bp-008h], bl                    ; 88 5e f8                    ; 0xf981f
    mov di, ax                                ; 89 c7                       ; 0xf9822 virtio.c:391
    mov es, dx                                ; 8e c2                       ; 0xf9824
    mov word [bp-00ah], dx                    ; 89 56 f6                    ; 0xf9826
    mov ax, word [es:si+03eh]                 ; 26 8b 44 3e                 ; 0xf9829
    mov word [bp-00ch], ax                    ; 89 46 f4                    ; 0xf982d
    lea ax, [si+00094h]                       ; 8d 84 94 00                 ; 0xf9830 virtio.c:394
    mov word [bp-00eh], ax                    ; 89 46 f2                    ; 0xf9834
    mov cx, strict word 00024h                ; b9 24 00                    ; 0xf9837
    xor bx, bx                                ; 31 db                       ; 0xf983a
    call 0ad80h                               ; e8 41 15                    ; 0xf983c
    lea ax, [si+000b8h]                       ; 8d 84 b8 00                 ; 0xf983f virtio.c:395
    mov word [bp-010h], ax                    ; 89 46 f0                    ; 0xf9843
    mov cx, strict word 0002ch                ; b9 2c 00                    ; 0xf9846
    xor bx, bx                                ; 31 db                       ; 0xf9849
    mov dx, word [bp-012h]                    ; 8b 56 ee                    ; 0xf984b
    call 0ad80h                               ; e8 2f 15                    ; 0xf984e
    mov es, [bp-012h]                         ; 8e 46 ee                    ; 0xf9851 virtio.c:397
    mov byte [es:si+00094h], 001h             ; 26 c6 84 94 00 01           ; 0xf9854
    mov al, byte [bp-008h]                    ; 8a 46 f8                    ; 0xf985a virtio.c:398
    mov byte [es:si+00095h], al               ; 26 88 84 95 00              ; 0xf985d
    mov word [es:si+00096h], strict word 00000h ; 26 c7 84 96 00 00 00      ; 0xf9862 virtio.c:399
    movzx ax, byte [bp+008h]                  ; 0f b6 46 08                 ; 0xf9869 virtio.c:401
    push ax                                   ; 50                          ; 0xf986d
    lea ax, [si+000a7h]                       ; 8d 84 a7 00                 ; 0xf986e
    mov bx, word [bp+004h]                    ; 8b 5e 04                    ; 0xf9872
    mov cx, word [bp+006h]                    ; 8b 4e 06                    ; 0xf9875
    mov dx, es                                ; 8c c2                       ; 0xf9878
    call 0ad90h                               ; e8 13 15                    ; 0xf987a
    mov ax, word [bp-00eh]                    ; 8b 46 f2                    ; 0xf987d virtio.c:404
    mov dx, word [bp-012h]                    ; 8b 56 ee                    ; 0xf9880
    call 097f3h                               ; e8 6d ff                    ; 0xf9883
    mov es, [bp-012h]                         ; 8e 46 ee                    ; 0xf9886
    mov word [es:si], ax                      ; 26 89 04                    ; 0xf9889
    mov word [es:si+002h], dx                 ; 26 89 54 02                 ; 0xf988c
    db  066h, 026h, 0c7h, 044h, 004h, 000h, 000h, 000h, 000h
    ; mov dword [es:si+004h], strict dword 000000000h ; 66 26 c7 44 04 00 00 00 00; 0xf9890 virtio.c:405
    db  066h, 026h, 0c7h, 044h, 008h, 024h, 000h, 000h, 000h
    ; mov dword [es:si+008h], strict dword 000000024h ; 66 26 c7 44 08 24 00 00 00; 0xf9899 virtio.c:406
    db  066h, 026h, 0c7h, 044h, 00ch, 001h, 000h, 001h, 000h
    ; mov dword [es:si+00ch], strict dword 000010001h ; 66 26 c7 44 0c 01 00 01 00; 0xf98a2 virtio.c:407
    mov ax, word [bp+00ah]                    ; 8b 46 0a                    ; 0xf98ab virtio.c:410
    mov dx, word [bp+00ch]                    ; 8b 56 0c                    ; 0xf98ae
    call 097f3h                               ; e8 3f ff                    ; 0xf98b1
    mov es, [bp-012h]                         ; 8e 46 ee                    ; 0xf98b4
    mov word [es:si+010h], ax                 ; 26 89 44 10                 ; 0xf98b7
    mov word [es:si+012h], dx                 ; 26 89 54 12                 ; 0xf98bb
    db  066h, 026h, 0c7h, 044h, 014h, 000h, 000h, 000h, 000h
    ; mov dword [es:si+014h], strict dword 000000000h ; 66 26 c7 44 14 00 00 00 00; 0xf98bf virtio.c:411
    mov ax, word [bp+00eh]                    ; 8b 46 0e                    ; 0xf98c8 virtio.c:412
    mov word [es:si+018h], ax                 ; 26 89 44 18                 ; 0xf98cb
    mov ax, word [bp+010h]                    ; 8b 46 10                    ; 0xf98cf
    mov word [es:si+01ah], ax                 ; 26 89 44 1a                 ; 0xf98d2
    db  066h, 026h, 0c7h, 044h, 01ch, 001h, 000h, 002h, 000h
    ; mov dword [es:si+01ch], strict dword 000020001h ; 66 26 c7 44 1c 01 00 02 00; 0xf98d6 virtio.c:413
    mov ax, word [bp-010h]                    ; 8b 46 f0                    ; 0xf98df virtio.c:416
    mov dx, es                                ; 8c c2                       ; 0xf98e2
    call 097f3h                               ; e8 0c ff                    ; 0xf98e4
    mov es, [bp-012h]                         ; 8e 46 ee                    ; 0xf98e7
    mov word [es:si+020h], ax                 ; 26 89 44 20                 ; 0xf98ea
    mov word [es:si+022h], dx                 ; 26 89 54 22                 ; 0xf98ee
    db  066h, 026h, 0c7h, 044h, 024h, 000h, 000h, 000h, 000h
    ; mov dword [es:si+024h], strict dword 000000000h ; 66 26 c7 44 24 00 00 00 00; 0xf98f2 virtio.c:417
    db  066h, 026h, 0c7h, 044h, 028h, 02ch, 000h, 000h, 000h
    ; mov dword [es:si+028h], strict dword 00000002ch ; 66 26 c7 44 28 2c 00 00 00; 0xf98fb virtio.c:418
    db  066h, 026h, 0c7h, 044h, 02ch, 002h, 000h, 000h, 000h
    ; mov dword [es:si+02ch], strict dword 000000002h ; 66 26 c7 44 2c 02 00 00 00; 0xf9904 virtio.c:419
    mov ax, word [es:si+032h]                 ; 26 8b 44 32                 ; 0xf990d virtio.c:420
    xor dx, dx                                ; 31 d2                       ; 0xf9911
    mov bx, strict word 00003h                ; bb 03 00                    ; 0xf9913
    div bx                                    ; f7 f3                       ; 0xf9916
    add dx, dx                                ; 01 d2                       ; 0xf9918
    mov bx, si                                ; 89 f3                       ; 0xf991a
    add bx, dx                                ; 01 d3                       ; 0xf991c
    mov word [es:bx+034h], strict word 00000h ; 26 c7 47 34 00 00           ; 0xf991e
    mov ax, word [es:si+032h]                 ; 26 8b 44 32                 ; 0xf9924 virtio.c:424
    inc word [es:si+032h]                     ; 26 ff 44 32                 ; 0xf9928
    mov bx, word [es:si+058h]                 ; 26 8b 5c 58                 ; 0xf992c virtio.c:428
    mov cx, strict word 00002h                ; b9 02 00                    ; 0xf9930
    mov ax, si                                ; 89 f0                       ; 0xf9933
    mov dx, es                                ; 8c c2                       ; 0xf9935
    call 0978bh                               ; e8 51 fe                    ; 0xf9937
    les ax, [bp-00ch]                         ; c4 46 f4                    ; 0xf993a virtio.c:431
    cmp ax, word [es:di+03eh]                 ; 26 3b 45 3e                 ; 0xf993d
    je short 0993ah                           ; 74 f7                       ; 0xf9941
    mov ax, di                                ; 89 f8                       ; 0xf9943 virtio.c:436
    mov dx, es                                ; 8c c2                       ; 0xf9945
    call 097bch                               ; e8 72 fe                    ; 0xf9947
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf994a virtio.c:438
    mov al, byte [es:di+000c3h]               ; 26 8a 85 c3 00              ; 0xf994d
    test al, al                               ; 84 c0                       ; 0xf9952
    je short 0995bh                           ; 74 05                       ; 0xf9954
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf9956 virtio.c:439
    jmp short 0995dh                          ; eb 02                       ; 0xf9959
    xor ah, ah                                ; 30 e4                       ; 0xf995b virtio.c:441
    lea sp, [bp-006h]                         ; 8d 66 fa                    ; 0xf995d virtio.c:442
    pop di                                    ; 5f                          ; 0xf9960
    pop si                                    ; 5e                          ; 0xf9961
    pop cx                                    ; 59                          ; 0xf9962
    pop bp                                    ; 5d                          ; 0xf9963
    retn 0000eh                               ; c2 0e 00                    ; 0xf9964
  ; disGetNextSymbol 0xf9967 LB 0x14b5 -> off=0x0 cb=0000000000000156 uValue=00000000000f8367 'virtio_scsi_cmd_data_in'
virtio_scsi_cmd_data_in:                     ; 0xf9967 LB 0x156
    push bp                                   ; 55                          ; 0xf9967 virtio.c:444
    mov bp, sp                                ; 89 e5                       ; 0xf9968
    push cx                                   ; 51                          ; 0xf996a
    push si                                   ; 56                          ; 0xf996b
    push di                                   ; 57                          ; 0xf996c
    sub sp, strict byte 0000ch                ; 83 ec 0c                    ; 0xf996d
    mov si, ax                                ; 89 c6                       ; 0xf9970
    mov word [bp-012h], dx                    ; 89 56 ee                    ; 0xf9972
    mov byte [bp-008h], bl                    ; 88 5e f8                    ; 0xf9975
    mov di, ax                                ; 89 c7                       ; 0xf9978 virtio.c:447
    mov es, dx                                ; 8e c2                       ; 0xf997a
    mov word [bp-00ah], dx                    ; 89 56 f6                    ; 0xf997c
    mov ax, word [es:si+03eh]                 ; 26 8b 44 3e                 ; 0xf997f
    mov word [bp-00ch], ax                    ; 89 46 f4                    ; 0xf9983
    lea ax, [si+00094h]                       ; 8d 84 94 00                 ; 0xf9986 virtio.c:450
    mov word [bp-00eh], ax                    ; 89 46 f2                    ; 0xf998a
    mov cx, strict word 00024h                ; b9 24 00                    ; 0xf998d
    xor bx, bx                                ; 31 db                       ; 0xf9990
    call 0ad80h                               ; e8 eb 13                    ; 0xf9992
    lea ax, [si+000b8h]                       ; 8d 84 b8 00                 ; 0xf9995 virtio.c:451
    mov word [bp-010h], ax                    ; 89 46 f0                    ; 0xf9999
    mov cx, strict word 0002ch                ; b9 2c 00                    ; 0xf999c
    xor bx, bx                                ; 31 db                       ; 0xf999f
    mov dx, word [bp-012h]                    ; 8b 56 ee                    ; 0xf99a1
    call 0ad80h                               ; e8 d9 13                    ; 0xf99a4
    mov es, [bp-012h]                         ; 8e 46 ee                    ; 0xf99a7 virtio.c:453
    mov byte [es:si+00094h], 001h             ; 26 c6 84 94 00 01           ; 0xf99aa
    mov al, byte [bp-008h]                    ; 8a 46 f8                    ; 0xf99b0 virtio.c:454
    mov byte [es:si+00095h], al               ; 26 88 84 95 00              ; 0xf99b3
    mov word [es:si+00096h], strict word 00000h ; 26 c7 84 96 00 00 00      ; 0xf99b8 virtio.c:455
    movzx ax, byte [bp+008h]                  ; 0f b6 46 08                 ; 0xf99bf virtio.c:457
    push ax                                   ; 50                          ; 0xf99c3
    lea ax, [si+000a7h]                       ; 8d 84 a7 00                 ; 0xf99c4
    mov bx, word [bp+004h]                    ; 8b 5e 04                    ; 0xf99c8
    mov cx, word [bp+006h]                    ; 8b 4e 06                    ; 0xf99cb
    mov dx, es                                ; 8c c2                       ; 0xf99ce
    call 0ad90h                               ; e8 bd 13                    ; 0xf99d0
    mov ax, word [bp-00eh]                    ; 8b 46 f2                    ; 0xf99d3 virtio.c:460
    mov dx, word [bp-012h]                    ; 8b 56 ee                    ; 0xf99d6
    call 097f3h                               ; e8 17 fe                    ; 0xf99d9
    mov es, [bp-012h]                         ; 8e 46 ee                    ; 0xf99dc
    mov word [es:si], ax                      ; 26 89 04                    ; 0xf99df
    mov word [es:si+002h], dx                 ; 26 89 54 02                 ; 0xf99e2
    db  066h, 026h, 0c7h, 044h, 004h, 000h, 000h, 000h, 000h
    ; mov dword [es:si+004h], strict dword 000000000h ; 66 26 c7 44 04 00 00 00 00; 0xf99e6 virtio.c:461
    db  066h, 026h, 0c7h, 044h, 008h, 024h, 000h, 000h, 000h
    ; mov dword [es:si+008h], strict dword 000000024h ; 66 26 c7 44 08 24 00 00 00; 0xf99ef virtio.c:462
    db  066h, 026h, 0c7h, 044h, 00ch, 001h, 000h, 001h, 000h
    ; mov dword [es:si+00ch], strict dword 000010001h ; 66 26 c7 44 0c 01 00 01 00; 0xf99f8 virtio.c:463
    mov ax, word [bp-010h]                    ; 8b 46 f0                    ; 0xf9a01 virtio.c:467
    mov dx, es                                ; 8c c2                       ; 0xf9a04
    call 097f3h                               ; e8 ea fd                    ; 0xf9a06
    mov es, [bp-012h]                         ; 8e 46 ee                    ; 0xf9a09
    mov word [es:si+010h], ax                 ; 26 89 44 10                 ; 0xf9a0c
    mov word [es:si+012h], dx                 ; 26 89 54 12                 ; 0xf9a10
    db  066h, 026h, 0c7h, 044h, 014h, 000h, 000h, 000h, 000h
    ; mov dword [es:si+014h], strict dword 000000000h ; 66 26 c7 44 14 00 00 00 00; 0xf9a14 virtio.c:468
    db  066h, 026h, 0c7h, 044h, 018h, 02ch, 000h, 000h, 000h
    ; mov dword [es:si+018h], strict dword 00000002ch ; 66 26 c7 44 18 2c 00 00 00; 0xf9a1d virtio.c:469
    db  066h, 026h, 0c7h, 044h, 01ch, 003h, 000h, 002h, 000h
    ; mov dword [es:si+01ch], strict dword 000020003h ; 66 26 c7 44 1c 03 00 02 00; 0xf9a26 virtio.c:470
    mov ax, word [bp+00ah]                    ; 8b 46 0a                    ; 0xf9a2f virtio.c:473
    mov dx, word [bp+00ch]                    ; 8b 56 0c                    ; 0xf9a32
    call 097f3h                               ; e8 bb fd                    ; 0xf9a35
    mov es, [bp-012h]                         ; 8e 46 ee                    ; 0xf9a38
    mov word [es:si+020h], ax                 ; 26 89 44 20                 ; 0xf9a3b
    mov word [es:si+022h], dx                 ; 26 89 54 22                 ; 0xf9a3f
    db  066h, 026h, 0c7h, 044h, 024h, 000h, 000h, 000h, 000h
    ; mov dword [es:si+024h], strict dword 000000000h ; 66 26 c7 44 24 00 00 00 00; 0xf9a43 virtio.c:474
    mov ax, word [bp+00eh]                    ; 8b 46 0e                    ; 0xf9a4c virtio.c:475
    mov word [es:si+028h], ax                 ; 26 89 44 28                 ; 0xf9a4f
    mov ax, word [bp+010h]                    ; 8b 46 10                    ; 0xf9a53
    mov word [es:si+02ah], ax                 ; 26 89 44 2a                 ; 0xf9a56
    db  066h, 026h, 0c7h, 044h, 02ch, 002h, 000h, 000h, 000h
    ; mov dword [es:si+02ch], strict dword 000000002h ; 66 26 c7 44 2c 02 00 00 00; 0xf9a5a virtio.c:476
    mov ax, word [es:si+032h]                 ; 26 8b 44 32                 ; 0xf9a63 virtio.c:477
    xor dx, dx                                ; 31 d2                       ; 0xf9a67
    mov bx, strict word 00003h                ; bb 03 00                    ; 0xf9a69
    div bx                                    ; f7 f3                       ; 0xf9a6c
    add dx, dx                                ; 01 d2                       ; 0xf9a6e
    mov bx, si                                ; 89 f3                       ; 0xf9a70
    add bx, dx                                ; 01 d3                       ; 0xf9a72
    mov word [es:bx+034h], strict word 00000h ; 26 c7 47 34 00 00           ; 0xf9a74
    mov ax, word [es:si+032h]                 ; 26 8b 44 32                 ; 0xf9a7a virtio.c:482
    inc word [es:si+032h]                     ; 26 ff 44 32                 ; 0xf9a7e
    mov bx, word [es:si+058h]                 ; 26 8b 5c 58                 ; 0xf9a82 virtio.c:486
    mov cx, strict word 00002h                ; b9 02 00                    ; 0xf9a86
    mov ax, si                                ; 89 f0                       ; 0xf9a89
    mov dx, es                                ; 8c c2                       ; 0xf9a8b
    call 0978bh                               ; e8 fb fc                    ; 0xf9a8d
    les ax, [bp-00ch]                         ; c4 46 f4                    ; 0xf9a90 virtio.c:489
    cmp ax, word [es:di+03eh]                 ; 26 3b 45 3e                 ; 0xf9a93
    je short 09a90h                           ; 74 f7                       ; 0xf9a97
    mov ax, di                                ; 89 f8                       ; 0xf9a99 virtio.c:494
    mov dx, es                                ; 8c c2                       ; 0xf9a9b
    call 097bch                               ; e8 1c fd                    ; 0xf9a9d
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xf9aa0 virtio.c:496
    mov al, byte [es:di+000c3h]               ; 26 8a 85 c3 00              ; 0xf9aa3
    test al, al                               ; 84 c0                       ; 0xf9aa8
    je short 09ab1h                           ; 74 05                       ; 0xf9aaa
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xf9aac virtio.c:497
    jmp short 09ab3h                          ; eb 02                       ; 0xf9aaf
    xor ah, ah                                ; 30 e4                       ; 0xf9ab1 virtio.c:499
    lea sp, [bp-006h]                         ; 8d 66 fa                    ; 0xf9ab3 virtio.c:500
    pop di                                    ; 5f                          ; 0xf9ab6
    pop si                                    ; 5e                          ; 0xf9ab7
    pop cx                                    ; 59                          ; 0xf9ab8
    pop bp                                    ; 5d                          ; 0xf9ab9
    retn 0000eh                               ; c2 0e 00                    ; 0xf9aba
  ; disGetNextSymbol 0xf9abd LB 0x135f -> off=0x0 cb=000000000000031f uValue=00000000000f84bd 'virtio_scsi_hba_init'
virtio_scsi_hba_init:                        ; 0xf9abd LB 0x31f
    push bp                                   ; 55                          ; 0xf9abd virtio.c:505
    mov bp, sp                                ; 89 e5                       ; 0xf9abe
    push si                                   ; 56                          ; 0xf9ac0
    push di                                   ; 57                          ; 0xf9ac1
    sub sp, strict byte 00012h                ; 83 ec 12                    ; 0xf9ac2
    mov si, ax                                ; 89 c6                       ; 0xf9ac5
    mov word [bp-00eh], dx                    ; 89 56 f2                    ; 0xf9ac7
    mov byte [bp-006h], bl                    ; 88 5e fa                    ; 0xf9aca
    mov ch, cl                                ; 88 cd                       ; 0xf9acd
    mov es, dx                                ; 8e c2                       ; 0xf9acf virtio.c:510
    mov byte [es:si+00092h], bl               ; 26 88 9c 92 00              ; 0xf9ad1
    mov byte [es:si+00093h], cl               ; 26 88 8c 93 00              ; 0xf9ad6 virtio.c:511
    mov cl, byte [bp+004h]                    ; 8a 4e 04                    ; 0xf9adb virtio.c:517
    test cl, cl                               ; 84 c9                       ; 0xf9ade virtio.c:518
    je near 09be8h                            ; 0f 84 04 01                 ; 0xf9ae0
    movzx bx, cl                              ; 0f b6 d9                    ; 0xf9ae4 virtio.c:520
    movzx ax, ch                              ; 0f b6 c5                    ; 0xf9ae7
    mov word [bp-00ch], ax                    ; 89 46 f4                    ; 0xf9aea
    movzx di, byte [bp-006h]                  ; 0f b6 7e fa                 ; 0xf9aed
    mov dx, ax                                ; 89 c2                       ; 0xf9af1
    mov ax, di                                ; 89 f8                       ; 0xf9af3
    call 0ab22h                               ; e8 2a 10                    ; 0xf9af5
    mov word [bp-012h], ax                    ; 89 46 ee                    ; 0xf9af8
    mov al, cl                                ; 88 c8                       ; 0xf9afb virtio.c:521
    add AL, strict byte 002h                  ; 04 02                       ; 0xf9afd
    movzx bx, al                              ; 0f b6 d8                    ; 0xf9aff
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf9b02
    mov ax, di                                ; 89 f8                       ; 0xf9b05
    call 0ab22h                               ; e8 18 10                    ; 0xf9b07
    cmp byte [bp-012h], 009h                  ; 80 7e ee 09                 ; 0xf9b0a virtio.c:525
    jne near 09bd2h                           ; 0f 85 c0 00                 ; 0xf9b0e
    cmp AL, strict byte 010h                  ; 3c 10                       ; 0xf9b12
    jc near 09bd2h                            ; 0f 82 ba 00                 ; 0xf9b14
    mov al, cl                                ; 88 c8                       ; 0xf9b18 virtio.c:529
    add AL, strict byte 003h                  ; 04 03                       ; 0xf9b1a
    movzx bx, al                              ; 0f b6 d8                    ; 0xf9b1c
    mov dx, word [bp-00ch]                    ; 8b 56 f4                    ; 0xf9b1f
    mov ax, di                                ; 89 f8                       ; 0xf9b22
    call 0ab22h                               ; e8 fb 0f                    ; 0xf9b24
    mov byte [bp-008h], al                    ; 88 46 f8                    ; 0xf9b27
    cmp AL, strict byte 005h                  ; 3c 05                       ; 0xf9b2a virtio.c:532
    je near 09bcah                            ; 0f 84 9a 00                 ; 0xf9b2c
    cmp AL, strict byte 001h                  ; 3c 01                       ; 0xf9b30
    jc near 09bd2h                            ; 0f 82 9c 00                 ; 0xf9b32
    cmp AL, strict byte 004h                  ; 3c 04                       ; 0xf9b36
    jnbe near 09bd2h                          ; 0f 87 96 00                 ; 0xf9b38
    movzx ax, byte [bp-008h]                  ; 0f b6 46 f8                 ; 0xf9b3c virtio.c:539
    dec ax                                    ; 48                          ; 0xf9b40
    imul ax, ax, strict byte 0000ch           ; 6b c0 0c                    ; 0xf9b41
    lea di, [si+05ch]                         ; 8d 7c 5c                    ; 0xf9b44
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9b47
    mov word [bp-010h], dx                    ; 89 56 f0                    ; 0xf9b4a
    add di, ax                                ; 01 c7                       ; 0xf9b4d
    mov al, cl                                ; 88 c8                       ; 0xf9b4f virtio.c:541
    add AL, strict byte 004h                  ; 04 04                       ; 0xf9b51
    movzx bx, al                              ; 0f b6 d8                    ; 0xf9b53
    movzx ax, ch                              ; 0f b6 c5                    ; 0xf9b56
    mov word [bp-014h], ax                    ; 89 46 ec                    ; 0xf9b59
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf9b5c
    mov word [bp-016h], ax                    ; 89 46 ea                    ; 0xf9b60
    mov dx, word [bp-014h]                    ; 8b 56 ec                    ; 0xf9b63
    call 0ab22h                               ; e8 b9 0f                    ; 0xf9b66
    mov es, [bp-010h]                         ; 8e 46 f0                    ; 0xf9b69
    mov byte [es:di], al                      ; 26 88 05                    ; 0xf9b6c
    mov al, cl                                ; 88 c8                       ; 0xf9b6f virtio.c:542
    add AL, strict byte 008h                  ; 04 08                       ; 0xf9b71
    movzx bx, al                              ; 0f b6 d8                    ; 0xf9b73
    mov dx, word [bp-014h]                    ; 8b 56 ec                    ; 0xf9b76
    mov ax, word [bp-016h]                    ; 8b 46 ea                    ; 0xf9b79
    call 0ab68h                               ; e8 e9 0f                    ; 0xf9b7c
    mov es, [bp-010h]                         ; 8e 46 f0                    ; 0xf9b7f
    mov word [es:di+004h], ax                 ; 26 89 45 04                 ; 0xf9b82
    mov word [es:di+006h], dx                 ; 26 89 55 06                 ; 0xf9b86
    mov al, cl                                ; 88 c8                       ; 0xf9b8a virtio.c:543
    add AL, strict byte 00ch                  ; 04 0c                       ; 0xf9b8c
    movzx bx, al                              ; 0f b6 d8                    ; 0xf9b8e
    mov dx, word [bp-014h]                    ; 8b 56 ec                    ; 0xf9b91
    mov ax, word [bp-016h]                    ; 8b 46 ea                    ; 0xf9b94
    call 0ab68h                               ; e8 ce 0f                    ; 0xf9b97
    mov es, [bp-010h]                         ; 8e 46 f0                    ; 0xf9b9a
    mov word [es:di+008h], ax                 ; 26 89 45 08                 ; 0xf9b9d
    mov word [es:di+00ah], dx                 ; 26 89 55 0a                 ; 0xf9ba1
    cmp byte [bp-008h], 002h                  ; 80 7e f8 02                 ; 0xf9ba5 virtio.c:544
    jne short 09bd2h                          ; 75 27                       ; 0xf9ba9
    mov al, cl                                ; 88 c8                       ; 0xf9bab virtio.c:546
    add AL, strict byte 010h                  ; 04 10                       ; 0xf9bad
    movzx bx, al                              ; 0f b6 d8                    ; 0xf9baf
    mov dx, word [bp-014h]                    ; 8b 56 ec                    ; 0xf9bb2
    mov ax, word [bp-016h]                    ; 8b 46 ea                    ; 0xf9bb5
    call 0ab68h                               ; e8 ad 0f                    ; 0xf9bb8
    mov es, [bp-00eh]                         ; 8e 46 f2                    ; 0xf9bbb
    mov word [es:si+0008eh], ax               ; 26 89 84 8e 00              ; 0xf9bbe
    mov word [es:si+00090h], dx               ; 26 89 94 90 00              ; 0xf9bc3
    jmp short 09bd2h                          ; eb 08                       ; 0xf9bc8 virtio.c:549
    mov es, [bp-00eh]                         ; 8e 46 f2                    ; 0xf9bca virtio.c:552
    mov byte [es:si+0008ch], cl               ; 26 88 8c 8c 00              ; 0xf9bcd
    mov al, cl                                ; 88 c8                       ; 0xf9bd2 virtio.c:561
    db  0feh, 0c0h
    ; inc al                                    ; fe c0                     ; 0xf9bd4
    movzx bx, al                              ; 0f b6 d8                    ; 0xf9bd6
    movzx dx, ch                              ; 0f b6 d5                    ; 0xf9bd9
    movzx ax, byte [bp-006h]                  ; 0f b6 46 fa                 ; 0xf9bdc
    call 0ab22h                               ; e8 3f 0f                    ; 0xf9be0
    mov cl, al                                ; 88 c1                       ; 0xf9be3
    jmp near 09adeh                           ; e9 f6 fe                    ; 0xf9be5 virtio.c:562
    xor ch, ch                                ; 30 ed                       ; 0xf9be8 virtio.c:566
    mov bx, strict word 00014h                ; bb 14 00                    ; 0xf9bea
    mov ax, si                                ; 89 f0                       ; 0xf9bed
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9bef
    call 09657h                               ; e8 62 fa                    ; 0xf9bf2
    mov cx, strict word 00001h                ; b9 01 00                    ; 0xf9bf5 virtio.c:569
    mov bx, strict word 00014h                ; bb 14 00                    ; 0xf9bf8
    mov ax, si                                ; 89 f0                       ; 0xf9bfb
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9bfd
    call 09657h                               ; e8 54 fa                    ; 0xf9c00
    mov byte [bp-00ah], 003h                  ; c6 46 f6 03                 ; 0xf9c03 virtio.c:571
    mov cx, strict word 00003h                ; b9 03 00                    ; 0xf9c07 virtio.c:572
    mov bx, strict word 00014h                ; bb 14 00                    ; 0xf9c0a
    mov ax, si                                ; 89 f0                       ; 0xf9c0d
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9c0f
    call 09657h                               ; e8 42 fa                    ; 0xf9c12
    xor bx, bx                                ; 31 db                       ; 0xf9c15 virtio.c:581
    mov ax, si                                ; 89 f0                       ; 0xf9c17
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9c19
    call 09723h                               ; e8 04 fb                    ; 0xf9c1c
    test dx, dx                               ; 85 d2                       ; 0xf9c1f
    jne short 09c28h                          ; 75 05                       ; 0xf9c21
    cmp ax, strict word 00001h                ; 3d 01 00                    ; 0xf9c23
    jc short 09c64h                           ; 72 3c                       ; 0xf9c26
    mov bx, strict word 00018h                ; bb 18 00                    ; 0xf9c28
    mov ax, si                                ; 89 f0                       ; 0xf9c2b
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9c2d
    call 09723h                               ; e8 f0 fa                    ; 0xf9c30
    test dx, dx                               ; 85 d2                       ; 0xf9c33
    jne short 09c3ch                          ; 75 05                       ; 0xf9c35
    cmp ax, strict word 00010h                ; 3d 10 00                    ; 0xf9c37
    jc short 09c64h                           ; 72 28                       ; 0xf9c3a
    mov bx, strict word 00014h                ; bb 14 00                    ; 0xf9c3c
    mov ax, si                                ; 89 f0                       ; 0xf9c3f
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9c41
    call 09723h                               ; e8 dc fa                    ; 0xf9c44
    test dx, dx                               ; 85 d2                       ; 0xf9c47
    jne short 09c50h                          ; 75 05                       ; 0xf9c49
    cmp ax, strict word 00020h                ; 3d 20 00                    ; 0xf9c4b
    jc short 09c64h                           ; 72 14                       ; 0xf9c4e
    mov bx, strict word 00008h                ; bb 08 00                    ; 0xf9c50
    mov ax, si                                ; 89 f0                       ; 0xf9c53
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9c55
    call 09723h                               ; e8 c8 fa                    ; 0xf9c58
    test dx, dx                               ; 85 d2                       ; 0xf9c5b
    jne short 09c6ah                          ; 75 0b                       ; 0xf9c5d
    cmp ax, strict word 00001h                ; 3d 01 00                    ; 0xf9c5f
    jnc short 09c6ah                          ; 73 06                       ; 0xf9c62
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xf9c64 virtio.c:587
    jmp near 09dd3h                           ; e9 69 01                    ; 0xf9c67
    push dword 000000001h                     ; 66 6a 01                    ; 0xf9c6a virtio.c:590
    mov bx, strict word 0000ch                ; bb 0c 00                    ; 0xf9c6d
    mov ax, si                                ; 89 f0                       ; 0xf9c70
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9c72
    call 096ech                               ; e8 74 fa                    ; 0xf9c75
    or byte [bp-00ah], 008h                   ; 80 4e f6 08                 ; 0xf9c78 virtio.c:593
    movzx cx, byte [bp-00ah]                  ; 0f b6 4e f6                 ; 0xf9c7c virtio.c:594
    mov bx, strict word 00014h                ; bb 14 00                    ; 0xf9c80
    mov ax, si                                ; 89 f0                       ; 0xf9c83
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9c85
    call 09657h                               ; e8 cc f9                    ; 0xf9c88
    mov bx, strict word 00014h                ; bb 14 00                    ; 0xf9c8b virtio.c:597
    mov ax, si                                ; 89 f0                       ; 0xf9c8e
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9c90
    call 09626h                               ; e8 90 f9                    ; 0xf9c93
    test AL, strict byte 008h                 ; a8 08                       ; 0xf9c96
    je short 09c64h                           ; 74 ca                       ; 0xf9c98
    xor cx, cx                                ; 31 c9                       ; 0xf9c9a virtio.c:604
    mov bx, strict word 00016h                ; bb 16 00                    ; 0xf9c9c
    mov ax, si                                ; 89 f0                       ; 0xf9c9f
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9ca1
    call 096bbh                               ; e8 14 fa                    ; 0xf9ca4
    xor cx, cx                                ; 31 c9                       ; 0xf9ca7 virtio.c:605
    mov bx, strict word 00018h                ; bb 18 00                    ; 0xf9ca9
    mov ax, si                                ; 89 f0                       ; 0xf9cac
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9cae
    call 096bbh                               ; e8 07 fa                    ; 0xf9cb1
    xor cx, cx                                ; 31 c9                       ; 0xf9cb4 virtio.c:606
    mov bx, strict word 0001ch                ; bb 1c 00                    ; 0xf9cb6
    mov ax, si                                ; 89 f0                       ; 0xf9cb9
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9cbb
    call 096bbh                               ; e8 fa f9                    ; 0xf9cbe
    mov cx, strict word 00001h                ; b9 01 00                    ; 0xf9cc1 virtio.c:608
    mov bx, strict word 00016h                ; bb 16 00                    ; 0xf9cc4
    mov ax, si                                ; 89 f0                       ; 0xf9cc7
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9cc9
    call 096bbh                               ; e8 ec f9                    ; 0xf9ccc
    xor cx, cx                                ; 31 c9                       ; 0xf9ccf virtio.c:609
    mov bx, strict word 00018h                ; bb 18 00                    ; 0xf9cd1
    mov ax, si                                ; 89 f0                       ; 0xf9cd4
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9cd6
    call 096bbh                               ; e8 df f9                    ; 0xf9cd9
    xor cx, cx                                ; 31 c9                       ; 0xf9cdc virtio.c:610
    mov bx, strict word 0001ch                ; bb 1c 00                    ; 0xf9cde
    mov ax, si                                ; 89 f0                       ; 0xf9ce1
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9ce3
    call 096bbh                               ; e8 d2 f9                    ; 0xf9ce6
    mov cx, strict word 00002h                ; b9 02 00                    ; 0xf9ce9 virtio.c:613
    mov bx, strict word 00016h                ; bb 16 00                    ; 0xf9cec
    mov ax, si                                ; 89 f0                       ; 0xf9cef
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9cf1
    call 096bbh                               ; e8 c4 f9                    ; 0xf9cf4
    mov cx, strict word 00003h                ; b9 03 00                    ; 0xf9cf7 virtio.c:614
    mov bx, strict word 00018h                ; bb 18 00                    ; 0xf9cfa
    mov ax, si                                ; 89 f0                       ; 0xf9cfd
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9cff
    call 096bbh                               ; e8 b6 f9                    ; 0xf9d02
    mov cx, strict word 00001h                ; b9 01 00                    ; 0xf9d05 virtio.c:615
    mov bx, strict word 0001ch                ; bb 1c 00                    ; 0xf9d08
    mov ax, si                                ; 89 f0                       ; 0xf9d0b
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9d0d
    call 096bbh                               ; e8 a8 f9                    ; 0xf9d10
    mov ax, si                                ; 89 f0                       ; 0xf9d13 virtio.c:618
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9d15
    call 097f3h                               ; e8 d8 fa                    ; 0xf9d18
    push dx                                   ; 52                          ; 0xf9d1b
    push ax                                   ; 50                          ; 0xf9d1c
    mov bx, strict word 00020h                ; bb 20 00                    ; 0xf9d1d
    mov ax, si                                ; 89 f0                       ; 0xf9d20
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9d22
    call 096ech                               ; e8 c4 f9                    ; 0xf9d25
    push dword 000000000h                     ; 66 6a 00                    ; 0xf9d28 virtio.c:619
    mov bx, strict word 00024h                ; bb 24 00                    ; 0xf9d2b
    mov ax, si                                ; 89 f0                       ; 0xf9d2e
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9d30
    call 096ech                               ; e8 b6 f9                    ; 0xf9d33
    lea ax, [si+030h]                         ; 8d 44 30                    ; 0xf9d36 virtio.c:621
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9d39
    call 097f3h                               ; e8 b4 fa                    ; 0xf9d3c
    push dx                                   ; 52                          ; 0xf9d3f
    push ax                                   ; 50                          ; 0xf9d40
    mov bx, strict word 00028h                ; bb 28 00                    ; 0xf9d41
    mov ax, si                                ; 89 f0                       ; 0xf9d44
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9d46
    call 096ech                               ; e8 a0 f9                    ; 0xf9d49
    push dword 000000000h                     ; 66 6a 00                    ; 0xf9d4c virtio.c:622
    mov bx, strict word 0002ch                ; bb 2c 00                    ; 0xf9d4f
    mov ax, si                                ; 89 f0                       ; 0xf9d52
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9d54
    call 096ech                               ; e8 92 f9                    ; 0xf9d57
    lea ax, [si+03ch]                         ; 8d 44 3c                    ; 0xf9d5a virtio.c:624
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9d5d
    call 097f3h                               ; e8 90 fa                    ; 0xf9d60
    push dx                                   ; 52                          ; 0xf9d63
    push ax                                   ; 50                          ; 0xf9d64
    mov bx, strict word 00030h                ; bb 30 00                    ; 0xf9d65
    mov ax, si                                ; 89 f0                       ; 0xf9d68
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9d6a
    call 096ech                               ; e8 7c f9                    ; 0xf9d6d
    push dword 000000000h                     ; 66 6a 00                    ; 0xf9d70 virtio.c:625
    mov bx, strict word 00034h                ; bb 34 00                    ; 0xf9d73
    mov ax, si                                ; 89 f0                       ; 0xf9d76
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9d78
    call 096ech                               ; e8 6e f9                    ; 0xf9d7b
    push dword 000000010h                     ; 66 6a 10                    ; 0xf9d7e virtio.c:627
    mov bx, strict word 00018h                ; bb 18 00                    ; 0xf9d81
    mov ax, si                                ; 89 f0                       ; 0xf9d84
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9d86
    call 09754h                               ; e8 c8 f9                    ; 0xf9d89
    push dword 000000020h                     ; 66 6a 20                    ; 0xf9d8c virtio.c:628
    mov bx, strict word 00014h                ; bb 14 00                    ; 0xf9d8f
    mov ax, si                                ; 89 f0                       ; 0xf9d92
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9d94
    call 09754h                               ; e8 ba f9                    ; 0xf9d97
    mov bx, strict word 0001eh                ; bb 1e 00                    ; 0xf9d9a virtio.c:631
    mov ax, si                                ; 89 f0                       ; 0xf9d9d
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9d9f
    call 0968ah                               ; e8 e5 f8                    ; 0xf9da2
    mov es, [bp-00eh]                         ; 8e 46 f2                    ; 0xf9da5
    mov bx, word [es:si+0008eh]               ; 26 8b 9c 8e 00              ; 0xf9da8
    mov cx, word [es:si+00090h]               ; 26 8b 8c 90 00              ; 0xf9dad
    xor dx, dx                                ; 31 d2                       ; 0xf9db2
    call 0ace0h                               ; e8 29 0f                    ; 0xf9db4
    mov word [es:si+058h], ax                 ; 26 89 44 58                 ; 0xf9db7
    mov word [es:si+05ah], dx                 ; 26 89 54 5a                 ; 0xf9dbb
    or byte [bp-00ah], 004h                   ; 80 4e f6 04                 ; 0xf9dbf virtio.c:634
    movzx cx, byte [bp-00ah]                  ; 0f b6 4e f6                 ; 0xf9dc3 virtio.c:635
    mov bx, strict word 00014h                ; bb 14 00                    ; 0xf9dc7
    mov ax, si                                ; 89 f0                       ; 0xf9dca
    mov dx, es                                ; 8c c2                       ; 0xf9dcc
    call 09657h                               ; e8 86 f8                    ; 0xf9dce
    xor ax, ax                                ; 31 c0                       ; 0xf9dd1 virtio.c:637
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf9dd3 virtio.c:638
    pop di                                    ; 5f                          ; 0xf9dd6
    pop si                                    ; 5e                          ; 0xf9dd7
    pop bp                                    ; 5d                          ; 0xf9dd8
    retn 00002h                               ; c2 02 00                    ; 0xf9dd9
  ; disGetNextSymbol 0xf9ddc LB 0x1040 -> off=0x0 cb=00000000000000d5 uValue=00000000000f87dc 'virtio_scsi_init'
virtio_scsi_init:                            ; 0xf9ddc LB 0xd5
    push bp                                   ; 55                          ; 0xf9ddc virtio.c:643
    mov bp, sp                                ; 89 e5                       ; 0xf9ddd
    push si                                   ; 56                          ; 0xf9ddf
    push di                                   ; 57                          ; 0xf9de0
    sub sp, strict byte 0000eh                ; 83 ec 0e                    ; 0xf9de1
    mov byte [bp-00ah], bl                    ; 88 5e f6                    ; 0xf9de4
    mov byte [bp-006h], cl                    ; 88 4e fa                    ; 0xf9de7
    mov word [bp-012h], ax                    ; 89 46 ee                    ; 0xf9dea virtio.c:645
    mov word [bp-00eh], dx                    ; 89 56 f2                    ; 0xf9ded
    mov byte [bp-008h], 0ffh                  ; c6 46 f8 ff                 ; 0xf9df0 virtio.c:647
    mov byte [bp-00ch], 000h                  ; c6 46 f4 00                 ; 0xf9df4 virtio.c:648
    movzx dx, cl                              ; 0f b6 d1                    ; 0xf9df8 virtio.c:651
    movzx ax, bl                              ; 0f b6 c3                    ; 0xf9dfb
    mov bx, strict word 00034h                ; bb 34 00                    ; 0xf9dfe
    call 0ab22h                               ; e8 1e 0d                    ; 0xf9e01
    mov ch, al                                ; 88 c5                       ; 0xf9e04
    test ch, ch                               ; 84 ed                       ; 0xf9e06 virtio.c:653
    je short 09e72h                           ; 74 68                       ; 0xf9e08
    movzx bx, ch                              ; 0f b6 dd                    ; 0xf9e0a virtio.c:655
    movzx si, byte [bp-006h]                  ; 0f b6 76 fa                 ; 0xf9e0d
    movzx di, byte [bp-00ah]                  ; 0f b6 7e f6                 ; 0xf9e11
    mov dx, si                                ; 89 f2                       ; 0xf9e15
    mov ax, di                                ; 89 f8                       ; 0xf9e17
    call 0ab22h                               ; e8 06 0d                    ; 0xf9e19
    mov word [bp-010h], ax                    ; 89 46 f0                    ; 0xf9e1c
    mov al, ch                                ; 88 e8                       ; 0xf9e1f virtio.c:656
    add AL, strict byte 002h                  ; 04 02                       ; 0xf9e21
    movzx bx, al                              ; 0f b6 d8                    ; 0xf9e23
    mov dx, si                                ; 89 f2                       ; 0xf9e26
    mov ax, di                                ; 89 f8                       ; 0xf9e28
    call 0ab22h                               ; e8 f5 0c                    ; 0xf9e2a
    cmp byte [bp-010h], 009h                  ; 80 7e f0 09                 ; 0xf9e2d virtio.c:660
    jne short 09e61h                          ; 75 2e                       ; 0xf9e31
    cmp AL, strict byte 010h                  ; 3c 10                       ; 0xf9e33
    jc short 09e61h                           ; 72 2a                       ; 0xf9e35
    mov al, ch                                ; 88 e8                       ; 0xf9e37 virtio.c:664
    add AL, strict byte 003h                  ; 04 03                       ; 0xf9e39
    movzx bx, al                              ; 0f b6 d8                    ; 0xf9e3b
    mov dx, si                                ; 89 f2                       ; 0xf9e3e
    mov ax, di                                ; 89 f8                       ; 0xf9e40
    call 0ab22h                               ; e8 dd 0c                    ; 0xf9e42
    cmp byte [bp-008h], 0ffh                  ; 80 7e f8 ff                 ; 0xf9e45 virtio.c:666
    jne short 09e4eh                          ; 75 03                       ; 0xf9e49
    mov byte [bp-008h], ch                    ; 88 6e f8                    ; 0xf9e4b virtio.c:667
    cmp AL, strict byte 001h                  ; 3c 01                       ; 0xf9e4e virtio.c:670
    jc short 09e61h                           ; 72 0f                       ; 0xf9e50
    cmp AL, strict byte 005h                  ; 3c 05                       ; 0xf9e52
    jnbe short 09e61h                         ; 77 0b                       ; 0xf9e54
    mov cl, al                                ; 88 c1                       ; 0xf9e56 virtio.c:677
    db  0feh, 0c9h
    ; dec cl                                    ; fe c9                     ; 0xf9e58
    mov AL, strict byte 001h                  ; b0 01                       ; 0xf9e5a
    sal al, CL                                ; d2 e0                       ; 0xf9e5c
    or byte [bp-00ch], al                     ; 08 46 f4                    ; 0xf9e5e
    mov al, ch                                ; 88 e8                       ; 0xf9e61 virtio.c:684
    db  0feh, 0c0h
    ; inc al                                    ; fe c0                     ; 0xf9e63
    movzx bx, al                              ; 0f b6 d8                    ; 0xf9e65
    movzx dx, byte [bp-006h]                  ; 0f b6 56 fa                 ; 0xf9e68
    movzx ax, byte [bp-00ah]                  ; 0f b6 46 f6                 ; 0xf9e6c
    jmp short 09e01h                          ; eb 8f                       ; 0xf9e70 virtio.c:685
    cmp byte [bp-008h], 0ffh                  ; 80 7e f8 ff                 ; 0xf9e72 virtio.c:688
    je short 09ea7h                           ; 74 2f                       ; 0xf9e76
    cmp byte [bp-00ch], 01fh                  ; 80 7e f4 1f                 ; 0xf9e78
    jne short 09ea7h                          ; 75 29                       ; 0xf9e7c
    movzx di, byte [bp-006h]                  ; 0f b6 7e fa                 ; 0xf9e7e virtio.c:694
    movzx si, byte [bp-00ah]                  ; 0f b6 76 f6                 ; 0xf9e82
    mov cx, strict word 00007h                ; b9 07 00                    ; 0xf9e86
    mov bx, strict word 00004h                ; bb 04 00                    ; 0xf9e89
    mov dx, di                                ; 89 fa                       ; 0xf9e8c
    mov ax, si                                ; 89 f0                       ; 0xf9e8e
    call 0ab8fh                               ; e8 fc 0c                    ; 0xf9e90
    movzx ax, byte [bp-008h]                  ; 0f b6 46 f8                 ; 0xf9e93 virtio.c:695
    push ax                                   ; 50                          ; 0xf9e97
    mov cx, di                                ; 89 f9                       ; 0xf9e98
    mov bx, si                                ; 89 f3                       ; 0xf9e9a
    mov ax, word [bp-012h]                    ; 8b 46 ee                    ; 0xf9e9c
    mov dx, word [bp-00eh]                    ; 8b 56 f2                    ; 0xf9e9f
    call 09abdh                               ; e8 18 fc                    ; 0xf9ea2
    jmp short 09eaah                          ; eb 03                       ; 0xf9ea5
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xf9ea7 virtio.c:700
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xf9eaa virtio.c:701
    pop di                                    ; 5f                          ; 0xf9ead
    pop si                                    ; 5e                          ; 0xf9eae
    pop bp                                    ; 5d                          ; 0xf9eaf
    retn                                      ; c3                          ; 0xf9eb0
  ; disGetNextSymbol 0xf9eb1 LB 0xf6b -> off=0x0 cb=000000000000001e uValue=00000000000f88b1 'buslogic_addr_to_phys'
buslogic_addr_to_phys:                       ; 0xf9eb1 LB 0x1e
    push bx                                   ; 53                          ; 0xf9eb1 buslogic.c:122
    push cx                                   ; 51                          ; 0xf9eb2
    push bp                                   ; 55                          ; 0xf9eb3
    mov bp, sp                                ; 89 e5                       ; 0xf9eb4
    mov bx, ax                                ; 89 c3                       ; 0xf9eb6
    mov ax, dx                                ; 89 d0                       ; 0xf9eb8
    xor dx, dx                                ; 31 d2                       ; 0xf9eba buslogic.c:124
    mov cx, strict word 00004h                ; b9 04 00                    ; 0xf9ebc
    sal ax, 1                                 ; d1 e0                       ; 0xf9ebf
    rcl dx, 1                                 ; d1 d2                       ; 0xf9ec1
    loop 09ebfh                               ; e2 fa                       ; 0xf9ec3
    xor cx, cx                                ; 31 c9                       ; 0xf9ec5
    add ax, bx                                ; 01 d8                       ; 0xf9ec7
    adc dx, cx                                ; 11 ca                       ; 0xf9ec9
    pop bp                                    ; 5d                          ; 0xf9ecb buslogic.c:125
    pop cx                                    ; 59                          ; 0xf9ecc
    pop bx                                    ; 5b                          ; 0xf9ecd
    retn                                      ; c3                          ; 0xf9ece
  ; disGetNextSymbol 0xf9ecf LB 0xf4d -> off=0x0 cb=0000000000000084 uValue=00000000000f88cf 'buslogic_cmd'
buslogic_cmd:                                ; 0xf9ecf LB 0x84
    push bp                                   ; 55                          ; 0xf9ecf buslogic.c:127
    mov bp, sp                                ; 89 e5                       ; 0xf9ed0
    push cx                                   ; 51                          ; 0xf9ed2
    push si                                   ; 56                          ; 0xf9ed3
    push di                                   ; 57                          ; 0xf9ed4
    mov si, ax                                ; 89 c6                       ; 0xf9ed5
    mov cx, dx                                ; 89 d1                       ; 0xf9ed7
    mov es, dx                                ; 8e c2                       ; 0xf9ed9 buslogic.c:132
    mov dx, word [es:si+01ch]                 ; 26 8b 54 1c                 ; 0xf9edb
    inc dx                                    ; 42                          ; 0xf9edf
    mov al, bl                                ; 88 d8                       ; 0xf9ee0
    out DX, AL                                ; ee                          ; 0xf9ee2
    xor bx, bx                                ; 31 db                       ; 0xf9ee3 buslogic.c:133
    cmp bx, word [bp+008h]                    ; 3b 5e 08                    ; 0xf9ee5
    jnc short 09f03h                          ; 73 19                       ; 0xf9ee8
    mov di, word [bp+004h]                    ; 8b 7e 04                    ; 0xf9eea buslogic.c:134
    mov ax, word [bp+006h]                    ; 8b 46 06                    ; 0xf9eed
    inc word [bp+004h]                        ; ff 46 04                    ; 0xf9ef0
    mov es, cx                                ; 8e c1                       ; 0xf9ef3
    mov dx, word [es:si+01ch]                 ; 26 8b 54 1c                 ; 0xf9ef5
    inc dx                                    ; 42                          ; 0xf9ef9
    mov es, ax                                ; 8e c0                       ; 0xf9efa
    mov al, byte [es:di]                      ; 26 8a 05                    ; 0xf9efc
    out DX, AL                                ; ee                          ; 0xf9eff
    inc bx                                    ; 43                          ; 0xf9f00
    jmp short 09ee5h                          ; eb e2                       ; 0xf9f01
    cmp word [bp+00eh], strict byte 00000h    ; 83 7e 0e 00                 ; 0xf9f03 buslogic.c:137
    je short 09f33h                           ; 74 2a                       ; 0xf9f07
    mov es, cx                                ; 8e c1                       ; 0xf9f09 buslogic.c:139
    mov dx, word [es:si+01ch]                 ; 26 8b 54 1c                 ; 0xf9f0b
    in AL, DX                                 ; ec                          ; 0xf9f0f
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf9f10
    test AL, strict byte 004h                 ; a8 04                       ; 0xf9f12
    je short 09f09h                           ; 74 f3                       ; 0xf9f14
    xor bx, bx                                ; 31 db                       ; 0xf9f16 buslogic.c:140
    cmp bx, word [bp+00eh]                    ; 3b 5e 0e                    ; 0xf9f18
    jnc short 09f33h                          ; 73 16                       ; 0xf9f1b
    mov es, cx                                ; 8e c1                       ; 0xf9f1d buslogic.c:141
    mov dx, word [es:si+01ch]                 ; 26 8b 54 1c                 ; 0xf9f1f
    inc dx                                    ; 42                          ; 0xf9f23
    in AL, DX                                 ; ec                          ; 0xf9f24
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf9f25
    les di, [bp+00ah]                         ; c4 7e 0a                    ; 0xf9f27
    mov byte [es:di], al                      ; 26 88 05                    ; 0xf9f2a
    inc word [bp+00ah]                        ; ff 46 0a                    ; 0xf9f2d
    inc bx                                    ; 43                          ; 0xf9f30
    jmp short 09f18h                          ; eb e5                       ; 0xf9f31
    mov es, cx                                ; 8e c1                       ; 0xf9f33 buslogic.c:144
    mov dx, word [es:si+01ch]                 ; 26 8b 54 1c                 ; 0xf9f35
    in AL, DX                                 ; ec                          ; 0xf9f39
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xf9f3a
    test AL, strict byte 010h                 ; a8 10                       ; 0xf9f3c
    je short 09f33h                           ; 74 f3                       ; 0xf9f3e
    mov dx, word [es:si+01ch]                 ; 26 8b 54 1c                 ; 0xf9f40 buslogic.c:147
    mov AL, strict byte 020h                  ; b0 20                       ; 0xf9f44
    out DX, AL                                ; ee                          ; 0xf9f46
    xor ax, ax                                ; 31 c0                       ; 0xf9f47 buslogic.c:150
    lea sp, [bp-006h]                         ; 8d 66 fa                    ; 0xf9f49
    pop di                                    ; 5f                          ; 0xf9f4c
    pop si                                    ; 5e                          ; 0xf9f4d
    pop cx                                    ; 59                          ; 0xf9f4e
    pop bp                                    ; 5d                          ; 0xf9f4f
    retn 0000ch                               ; c2 0c 00                    ; 0xf9f50
  ; disGetNextSymbol 0xf9f53 LB 0xec9 -> off=0x0 cb=00000000000000b4 uValue=00000000000f8953 'buslogic_scsi_cmd_data_out'
buslogic_scsi_cmd_data_out:                  ; 0xf9f53 LB 0xb4
    push bp                                   ; 55                          ; 0xf9f53 buslogic.c:152
    mov bp, sp                                ; 89 e5                       ; 0xf9f54
    push cx                                   ; 51                          ; 0xf9f56
    push si                                   ; 56                          ; 0xf9f57
    push di                                   ; 57                          ; 0xf9f58
    sub sp, strict byte 00008h                ; 83 ec 08                    ; 0xf9f59
    mov si, ax                                ; 89 c6                       ; 0xf9f5c
    mov byte [bp-008h], bl                    ; 88 5e f8                    ; 0xf9f5e
    mov word [bp-00ah], ax                    ; 89 46 f6                    ; 0xf9f61 buslogic.c:155
    mov di, dx                                ; 89 d7                       ; 0xf9f64
    mov cx, strict word 0001ch                ; b9 1c 00                    ; 0xf9f66 buslogic.c:160
    xor bx, bx                                ; 31 db                       ; 0xf9f69
    call 0ad80h                               ; e8 12 0e                    ; 0xf9f6b
    mov cx, strict word 00004h                ; b9 04 00                    ; 0xf9f6e buslogic.c:161
    xor bx, bx                                ; 31 db                       ; 0xf9f71
    mov dx, ss                                ; 8c d2                       ; 0xf9f73
    lea ax, [bp-00eh]                         ; 8d 46 f2                    ; 0xf9f75
    call 0ad80h                               ; e8 05 0e                    ; 0xf9f78
    mov ax, word [bp+00eh]                    ; 8b 46 0e                    ; 0xf9f7b buslogic.c:163
    mov es, di                                ; 8e c7                       ; 0xf9f7e
    mov word [es:si], ax                      ; 26 89 04                    ; 0xf9f80
    mov ax, word [bp+010h]                    ; 8b 46 10                    ; 0xf9f83
    mov word [es:si+002h], ax                 ; 26 89 44 02                 ; 0xf9f86
    mov ax, word [bp+00ah]                    ; 8b 46 0a                    ; 0xf9f8a buslogic.c:164
    mov dx, word [bp+00ch]                    ; 8b 56 0c                    ; 0xf9f8d
    call 09eb1h                               ; e8 1e ff                    ; 0xf9f90
    mov es, di                                ; 8e c7                       ; 0xf9f93
    mov word [es:si+004h], ax                 ; 26 89 44 04                 ; 0xf9f95
    mov word [es:si+006h], dx                 ; 26 89 54 06                 ; 0xf9f99
    mov al, byte [bp-008h]                    ; 8a 46 f8                    ; 0xf9f9d buslogic.c:165
    mov byte [es:si+008h], al                 ; 26 88 44 08                 ; 0xf9fa0
    mov byte [es:si+009h], 000h               ; 26 c6 44 09 00              ; 0xf9fa4 buslogic.c:166
    and byte [es:si+00ah], 0e7h               ; 26 80 64 0a e7              ; 0xf9fa9 buslogic.c:167
    mov al, byte [bp+008h]                    ; 8a 46 08                    ; 0xf9fae buslogic.c:168
    mov byte [es:si+00bh], al                 ; 26 88 44 0b                 ; 0xf9fb1
    xor si, si                                ; 31 f6                       ; 0xf9fb5 buslogic.c:170
    movzx ax, byte [bp+008h]                  ; 0f b6 46 08                 ; 0xf9fb7
    cmp si, ax                                ; 39 c6                       ; 0xf9fbb
    jnl short 09fd7h                          ; 7d 18                       ; 0xf9fbd
    les bx, [bp+004h]                         ; c4 5e 04                    ; 0xf9fbf buslogic.c:171
    add bx, si                                ; 01 f3                       ; 0xf9fc2
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xf9fc4
    add dx, si                                ; 01 f2                       ; 0xf9fc7
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xf9fc9
    mov es, di                                ; 8e c7                       ; 0xf9fcc
    mov bx, dx                                ; 89 d3                       ; 0xf9fce
    mov byte [es:bx+00ch], al                 ; 26 88 47 0c                 ; 0xf9fd0
    inc si                                    ; 46                          ; 0xf9fd4
    jmp short 09fb7h                          ; eb e0                       ; 0xf9fd5
    push strict byte 00004h                   ; 6a 04                       ; 0xf9fd7 buslogic.c:173
    lea dx, [bp-00eh]                         ; 8d 56 f2                    ; 0xf9fd9
    push SS                                   ; 16                          ; 0xf9fdc
    push dx                                   ; 52                          ; 0xf9fdd
    movzx ax, byte [bp+008h]                  ; 0f b6 46 08                 ; 0xf9fde
    add ax, strict word 0000ch                ; 05 0c 00                    ; 0xf9fe2
    push ax                                   ; 50                          ; 0xf9fe5
    push di                                   ; 57                          ; 0xf9fe6
    push word [bp-00ah]                       ; ff 76 f6                    ; 0xf9fe7
    mov bx, 00083h                            ; bb 83 00                    ; 0xf9fea
    mov ax, word [bp-00ah]                    ; 8b 46 f6                    ; 0xf9fed
    mov dx, di                                ; 89 fa                       ; 0xf9ff0
    call 09ecfh                               ; e8 da fe                    ; 0xf9ff2
    test ax, ax                               ; 85 c0                       ; 0xf9ff5 buslogic.c:175
    jne short 09ffdh                          ; 75 04                       ; 0xf9ff7
    movzx ax, byte [bp-00ch]                  ; 0f b6 46 f4                 ; 0xf9ff9 buslogic.c:176
    lea sp, [bp-006h]                         ; 8d 66 fa                    ; 0xf9ffd buslogic.c:179
    pop di                                    ; 5f                          ; 0xfa000
    pop si                                    ; 5e                          ; 0xfa001
    pop cx                                    ; 59                          ; 0xfa002
    pop bp                                    ; 5d                          ; 0xfa003
    retn 0000eh                               ; c2 0e 00                    ; 0xfa004
  ; disGetNextSymbol 0xfa007 LB 0xe15 -> off=0x0 cb=00000000000000b4 uValue=00000000000f8a07 'buslogic_scsi_cmd_data_in'
buslogic_scsi_cmd_data_in:                   ; 0xfa007 LB 0xb4
    push bp                                   ; 55                          ; 0xfa007 buslogic.c:181
    mov bp, sp                                ; 89 e5                       ; 0xfa008
    push cx                                   ; 51                          ; 0xfa00a
    push si                                   ; 56                          ; 0xfa00b
    push di                                   ; 57                          ; 0xfa00c
    sub sp, strict byte 00008h                ; 83 ec 08                    ; 0xfa00d
    mov si, ax                                ; 89 c6                       ; 0xfa010
    mov byte [bp-008h], bl                    ; 88 5e f8                    ; 0xfa012
    mov word [bp-00ah], ax                    ; 89 46 f6                    ; 0xfa015 buslogic.c:184
    mov di, dx                                ; 89 d7                       ; 0xfa018
    mov cx, strict word 0001ch                ; b9 1c 00                    ; 0xfa01a buslogic.c:191
    xor bx, bx                                ; 31 db                       ; 0xfa01d
    call 0ad80h                               ; e8 5e 0d                    ; 0xfa01f
    mov cx, strict word 00004h                ; b9 04 00                    ; 0xfa022 buslogic.c:192
    xor bx, bx                                ; 31 db                       ; 0xfa025
    mov dx, ss                                ; 8c d2                       ; 0xfa027
    lea ax, [bp-00eh]                         ; 8d 46 f2                    ; 0xfa029
    call 0ad80h                               ; e8 51 0d                    ; 0xfa02c
    mov ax, word [bp+00eh]                    ; 8b 46 0e                    ; 0xfa02f buslogic.c:194
    mov es, di                                ; 8e c7                       ; 0xfa032
    mov word [es:si], ax                      ; 26 89 04                    ; 0xfa034
    mov ax, word [bp+010h]                    ; 8b 46 10                    ; 0xfa037
    mov word [es:si+002h], ax                 ; 26 89 44 02                 ; 0xfa03a
    mov ax, word [bp+00ah]                    ; 8b 46 0a                    ; 0xfa03e buslogic.c:195
    mov dx, word [bp+00ch]                    ; 8b 56 0c                    ; 0xfa041
    call 09eb1h                               ; e8 6a fe                    ; 0xfa044
    mov es, di                                ; 8e c7                       ; 0xfa047
    mov word [es:si+004h], ax                 ; 26 89 44 04                 ; 0xfa049
    mov word [es:si+006h], dx                 ; 26 89 54 06                 ; 0xfa04d
    mov al, byte [bp-008h]                    ; 8a 46 f8                    ; 0xfa051 buslogic.c:196
    mov byte [es:si+008h], al                 ; 26 88 44 08                 ; 0xfa054
    mov byte [es:si+009h], 000h               ; 26 c6 44 09 00              ; 0xfa058 buslogic.c:197
    and byte [es:si+00ah], 0e7h               ; 26 80 64 0a e7              ; 0xfa05d buslogic.c:198
    mov al, byte [bp+008h]                    ; 8a 46 08                    ; 0xfa062 buslogic.c:199
    mov byte [es:si+00bh], al                 ; 26 88 44 0b                 ; 0xfa065
    xor si, si                                ; 31 f6                       ; 0xfa069 buslogic.c:201
    movzx ax, byte [bp+008h]                  ; 0f b6 46 08                 ; 0xfa06b
    cmp si, ax                                ; 39 c6                       ; 0xfa06f
    jnl short 0a08bh                          ; 7d 18                       ; 0xfa071
    les bx, [bp+004h]                         ; c4 5e 04                    ; 0xfa073 buslogic.c:202
    add bx, si                                ; 01 f3                       ; 0xfa076
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xfa078
    add dx, si                                ; 01 f2                       ; 0xfa07b
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xfa07d
    mov es, di                                ; 8e c7                       ; 0xfa080
    mov bx, dx                                ; 89 d3                       ; 0xfa082
    mov byte [es:bx+00ch], al                 ; 26 88 47 0c                 ; 0xfa084
    inc si                                    ; 46                          ; 0xfa088
    jmp short 0a06bh                          ; eb e0                       ; 0xfa089
    push strict byte 00004h                   ; 6a 04                       ; 0xfa08b buslogic.c:204
    lea dx, [bp-00eh]                         ; 8d 56 f2                    ; 0xfa08d
    push SS                                   ; 16                          ; 0xfa090
    push dx                                   ; 52                          ; 0xfa091
    movzx ax, byte [bp+008h]                  ; 0f b6 46 08                 ; 0xfa092
    add ax, strict word 0000ch                ; 05 0c 00                    ; 0xfa096
    push ax                                   ; 50                          ; 0xfa099
    push di                                   ; 57                          ; 0xfa09a
    push word [bp-00ah]                       ; ff 76 f6                    ; 0xfa09b
    mov bx, 00083h                            ; bb 83 00                    ; 0xfa09e
    mov ax, word [bp-00ah]                    ; 8b 46 f6                    ; 0xfa0a1
    mov dx, di                                ; 89 fa                       ; 0xfa0a4
    call 09ecfh                               ; e8 26 fe                    ; 0xfa0a6
    test ax, ax                               ; 85 c0                       ; 0xfa0a9 buslogic.c:206
    jne short 0a0b1h                          ; 75 04                       ; 0xfa0ab
    movzx ax, byte [bp-00ch]                  ; 0f b6 46 f4                 ; 0xfa0ad buslogic.c:207
    lea sp, [bp-006h]                         ; 8d 66 fa                    ; 0xfa0b1 buslogic.c:210
    pop di                                    ; 5f                          ; 0xfa0b4
    pop si                                    ; 5e                          ; 0xfa0b5
    pop cx                                    ; 59                          ; 0xfa0b6
    pop bp                                    ; 5d                          ; 0xfa0b7
    retn 0000eh                               ; c2 0e 00                    ; 0xfa0b8
  ; disGetNextSymbol 0xfa0bb LB 0xd61 -> off=0x0 cb=0000000000000022 uValue=00000000000f8abb 'buslogic_scsi_hba_init'
buslogic_scsi_hba_init:                      ; 0xfa0bb LB 0x22
    push bp                                   ; 55                          ; 0xfa0bb buslogic.c:215
    mov bp, sp                                ; 89 e5                       ; 0xfa0bc
    push bx                                   ; 53                          ; 0xfa0be
    mov bx, ax                                ; 89 c3                       ; 0xfa0bf
    mov es, dx                                ; 8e c2                       ; 0xfa0c1
    mov dx, word [es:bx+01ch]                 ; 26 8b 57 1c                 ; 0xfa0c3 buslogic.c:218
    mov AL, strict byte 080h                  ; b0 80                       ; 0xfa0c7
    out DX, AL                                ; ee                          ; 0xfa0c9
    mov dx, word [es:bx+01ch]                 ; 26 8b 57 1c                 ; 0xfa0ca buslogic.c:219
    in AL, DX                                 ; ec                          ; 0xfa0ce
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xfa0cf
    test AL, strict byte 010h                 ; a8 10                       ; 0xfa0d1
    je short 0a0cah                           ; 74 f5                       ; 0xfa0d3
    xor ax, ax                                ; 31 c0                       ; 0xfa0d5 buslogic.c:222
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xfa0d7
    pop bx                                    ; 5b                          ; 0xfa0da
    pop bp                                    ; 5d                          ; 0xfa0db
    retn                                      ; c3                          ; 0xfa0dc
  ; disGetNextSymbol 0xfa0dd LB 0xd3f -> off=0x0 cb=0000000000000051 uValue=00000000000f8add 'buslogic_scsi_init'
buslogic_scsi_init:                          ; 0xfa0dd LB 0x51
    push bp                                   ; 55                          ; 0xfa0dd buslogic.c:227
    mov bp, sp                                ; 89 e5                       ; 0xfa0de
    push si                                   ; 56                          ; 0xfa0e0
    push di                                   ; 57                          ; 0xfa0e1
    sub sp, strict byte 00006h                ; 83 ec 06                    ; 0xfa0e2
    mov si, ax                                ; 89 c6                       ; 0xfa0e5
    mov word [bp-008h], dx                    ; 89 56 f8                    ; 0xfa0e7
    movzx ax, cl                              ; 0f b6 c1                    ; 0xfa0ea buslogic.c:234
    mov word [bp-006h], ax                    ; 89 46 fa                    ; 0xfa0ed
    movzx di, bl                              ; 0f b6 fb                    ; 0xfa0f0
    mov bx, strict word 00010h                ; bb 10 00                    ; 0xfa0f3
    mov dx, ax                                ; 89 c2                       ; 0xfa0f6
    mov ax, di                                ; 89 f8                       ; 0xfa0f8
    call 0ab68h                               ; e8 6b 0a                    ; 0xfa0fa
    test AL, strict byte 001h                 ; a8 01                       ; 0xfa0fd buslogic.c:238
    je short 0a124h                           ; 74 23                       ; 0xfa0ff
    and AL, strict byte 0f0h                  ; 24 f0                       ; 0xfa101 buslogic.c:240
    mov word [bp-00ah], ax                    ; 89 46 f6                    ; 0xfa103
    mov cx, strict word 00007h                ; b9 07 00                    ; 0xfa106 buslogic.c:243
    mov bx, strict word 00004h                ; bb 04 00                    ; 0xfa109
    mov dx, word [bp-006h]                    ; 8b 56 fa                    ; 0xfa10c
    mov ax, di                                ; 89 f8                       ; 0xfa10f
    call 0ab8fh                               ; e8 7b 0a                    ; 0xfa111
    les ax, [bp-00ah]                         ; c4 46 f6                    ; 0xfa114 buslogic.c:246
    mov word [es:si+01ch], ax                 ; 26 89 44 1c                 ; 0xfa117
    mov ax, si                                ; 89 f0                       ; 0xfa11b buslogic.c:247
    mov dx, es                                ; 8c c2                       ; 0xfa11d
    call 0a0bbh                               ; e8 99 ff                    ; 0xfa11f
    jmp short 0a127h                          ; eb 03                       ; 0xfa122
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xfa124 buslogic.c:252
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xfa127 buslogic.c:253
    pop di                                    ; 5f                          ; 0xfa12a
    pop si                                    ; 5e                          ; 0xfa12b
    pop bp                                    ; 5d                          ; 0xfa12c
    retn                                      ; c3                          ; 0xfa12d
  ; disGetNextSymbol 0xfa12e LB 0xcee -> off=0x0 cb=0000000000000024 uValue=00000000000f8b2e 'btaha_scsi_init'
btaha_scsi_init:                             ; 0xfa12e LB 0x24
    push bp                                   ; 55                          ; 0xfa12e buslogic.c:259
    mov bp, sp                                ; 89 e5                       ; 0xfa12f
    push si                                   ; 56                          ; 0xfa131
    mov si, ax                                ; 89 c6                       ; 0xfa132
    mov es, dx                                ; 8e c2                       ; 0xfa134
    movzx dx, bl                              ; 0f b6 d3                    ; 0xfa136 buslogic.c:263
    sal dx, 008h                              ; c1 e2 08                    ; 0xfa139
    movzx ax, cl                              ; 0f b6 c1                    ; 0xfa13c
    or dx, ax                                 ; 09 c2                       ; 0xfa13f
    mov word [es:si+01ch], dx                 ; 26 89 54 1c                 ; 0xfa141
    mov ax, si                                ; 89 f0                       ; 0xfa145 buslogic.c:266
    mov dx, es                                ; 8c c2                       ; 0xfa147
    call 0a0bbh                               ; e8 6f ff                    ; 0xfa149
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xfa14c buslogic.c:267
    pop si                                    ; 5e                          ; 0xfa14f
    pop bp                                    ; 5d                          ; 0xfa150
    retn                                      ; c3                          ; 0xfa151
  ; disGetNextSymbol 0xfa152 LB 0xcca -> off=0x0 cb=0000000000000055 uValue=00000000000f8b52 'btaha_scsi_detect'
btaha_scsi_detect:                           ; 0xfa152 LB 0x55
    push bp                                   ; 55                          ; 0xfa152 buslogic.c:272
    mov bp, sp                                ; 89 e5                       ; 0xfa153
    push bx                                   ; 53                          ; 0xfa155
    push cx                                   ; 51                          ; 0xfa156
    push dx                                   ; 52                          ; 0xfa157
    push si                                   ; 56                          ; 0xfa158
    push di                                   ; 57                          ; 0xfa159
    sub sp, strict byte 00006h                ; 83 ec 06                    ; 0xfa15a
    push SS                                   ; 16                          ; 0xfa15d buslogic.c:274
    pop ES                                    ; 07                          ; 0xfa15e
    lea di, [bp-010h]                         ; 8d 7e f0                    ; 0xfa15f
    mov si, 000d6h                            ; be d6 00                    ; 0xfa162
    movsw                                     ; a5                          ; 0xfa165
    movsw                                     ; a5                          ; 0xfa166
    movsw                                     ; a5                          ; 0xfa167
    xor cx, cx                                ; 31 c9                       ; 0xfa168 buslogic.c:279
    mov bx, word [bp-010h]                    ; 8b 5e f0                    ; 0xfa16a
    test bx, bx                               ; 85 db                       ; 0xfa16d
    je short 0a192h                           ; 74 21                       ; 0xfa16f
    mov dx, bx                                ; 89 da                       ; 0xfa171 buslogic.c:284
    in AL, DX                                 ; ec                          ; 0xfa173
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xfa174
    cmp AL, strict byte 030h                  ; 3c 30                       ; 0xfa176 buslogic.c:285
    je short 0a17eh                           ; 74 04                       ; 0xfa178
    cmp AL, strict byte 010h                  ; 3c 10                       ; 0xfa17a
    jne short 0a188h                          ; 75 0a                       ; 0xfa17c
    lea dx, [bx+003h]                         ; 8d 57 03                    ; 0xfa17e buslogic.c:303
    in AL, DX                                 ; ec                          ; 0xfa181
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xfa182
    test AL, strict byte 040h                 ; a8 40                       ; 0xfa184 buslogic.c:304
    jne short 0a192h                          ; 75 0a                       ; 0xfa186
    inc cx                                    ; 41                          ; 0xfa188 buslogic.c:309
    mov si, cx                                ; 89 ce                       ; 0xfa189
    add si, cx                                ; 01 ce                       ; 0xfa18b
    mov bx, word [bp+si-010h]                 ; 8b 5a f0                    ; 0xfa18d
    jmp short 0a16dh                          ; eb db                       ; 0xfa190
    test bx, bx                               ; 85 db                       ; 0xfa192 buslogic.c:311
    je short 0a19ah                           ; 74 04                       ; 0xfa194
    mov ax, bx                                ; 89 d8                       ; 0xfa196
    jmp short 0a19dh                          ; eb 03                       ; 0xfa198
    mov ax, strict word 0ffffh                ; b8 ff ff                    ; 0xfa19a
    lea sp, [bp-00ah]                         ; 8d 66 f6                    ; 0xfa19d buslogic.c:312
    pop di                                    ; 5f                          ; 0xfa1a0
    pop si                                    ; 5e                          ; 0xfa1a1
    pop dx                                    ; 5a                          ; 0xfa1a2
    pop cx                                    ; 59                          ; 0xfa1a3
    pop bx                                    ; 5b                          ; 0xfa1a4
    pop bp                                    ; 5d                          ; 0xfa1a5
    retn                                      ; c3                          ; 0xfa1a6
  ; disGetNextSymbol 0xfa1a7 LB 0xc75 -> off=0x0 cb=000000000000001e uValue=00000000000f8ba7 'lsilogic_addr_to_phys'
lsilogic_addr_to_phys:                       ; 0xfa1a7 LB 0x1e
    push bx                                   ; 53                          ; 0xfa1a7 lsilogic.c:331
    push cx                                   ; 51                          ; 0xfa1a8
    push bp                                   ; 55                          ; 0xfa1a9
    mov bp, sp                                ; 89 e5                       ; 0xfa1aa
    mov bx, ax                                ; 89 c3                       ; 0xfa1ac
    mov ax, dx                                ; 89 d0                       ; 0xfa1ae
    xor dx, dx                                ; 31 d2                       ; 0xfa1b0 lsilogic.c:333
    mov cx, strict word 00004h                ; b9 04 00                    ; 0xfa1b2
    sal ax, 1                                 ; d1 e0                       ; 0xfa1b5
    rcl dx, 1                                 ; d1 d2                       ; 0xfa1b7
    loop 0a1b5h                               ; e2 fa                       ; 0xfa1b9
    xor cx, cx                                ; 31 c9                       ; 0xfa1bb
    add ax, bx                                ; 01 d8                       ; 0xfa1bd
    adc dx, cx                                ; 11 ca                       ; 0xfa1bf
    pop bp                                    ; 5d                          ; 0xfa1c1 lsilogic.c:334
    pop cx                                    ; 59                          ; 0xfa1c2
    pop bx                                    ; 5b                          ; 0xfa1c3
    retn                                      ; c3                          ; 0xfa1c4
  ; disGetNextSymbol 0xfa1c5 LB 0xc57 -> off=0x0 cb=00000000000000f6 uValue=00000000000f8bc5 'lsilogic_cmd'
lsilogic_cmd:                                ; 0xfa1c5 LB 0xf6
    push bp                                   ; 55                          ; 0xfa1c5 lsilogic.c:336
    mov bp, sp                                ; 89 e5                       ; 0xfa1c6
    push si                                   ; 56                          ; 0xfa1c8
    push di                                   ; 57                          ; 0xfa1c9
    sub sp, strict byte 00010h                ; 83 ec 10                    ; 0xfa1ca
    mov si, ax                                ; 89 c6                       ; 0xfa1cd
    mov word [bp-006h], dx                    ; 89 56 fa                    ; 0xfa1cf
    mov word [bp-00ah], bx                    ; 89 5e f6                    ; 0xfa1d2 lsilogic.c:340
    mov word [bp-014h], cx                    ; 89 4e ec                    ; 0xfa1d5
    mov [bp-00ch], ds                         ; 8c 5e f4                    ; 0xfa1d8 lsilogic.c:341
    mov ax, word [bp+006h]                    ; 8b 46 06                    ; 0xfa1db
    mov word [bp-012h], ax                    ; 89 46 ee                    ; 0xfa1de
    mov ax, word [bp+004h]                    ; 8b 46 04                    ; 0xfa1e1 lsilogic.c:342
    shr ax, 002h                              ; c1 e8 02                    ; 0xfa1e4
    mov word [bp-00eh], ax                    ; 89 46 f2                    ; 0xfa1e7
    mov word [bp-008h], strict word 00000h    ; c7 46 f8 00 00              ; 0xfa1ea
    mov dx, word [bp+00ah]                    ; 8b 56 0a                    ; 0xfa1ef lsilogic.c:343
    shr dx, 1                                 ; d1 ea                       ; 0xfa1f2
    mov word [bp-010h], dx                    ; 89 56 f0                    ; 0xfa1f4
    or ah, 042h                               ; 80 cc 42                    ; 0xfa1f7 lsilogic.c:344
    mov cx, ax                                ; 89 c1                       ; 0xfa1fa
    test byte [bp+004h], 003h                 ; f6 46 04 03                 ; 0xfa1fc lsilogic.c:346
    jne short 0a208h                          ; 75 06                       ; 0xfa200
    test byte [bp+00ah], 001h                 ; f6 46 0a 01                 ; 0xfa202
    je short 0a20eh                           ; 74 06                       ; 0xfa206
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xfa208 lsilogic.c:348
    jmp near 0a2b2h                           ; e9 a4 00                    ; 0xfa20b
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xfa20e lsilogic.c:350
    mov dx, word [es:si+000b8h]               ; 26 8b 94 b8 00              ; 0xfa211
    xor ax, ax                                ; 31 c0                       ; 0xfa216
    xchg cx, ax                               ; 91                          ; 0xfa218
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xfa219
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xfa21d
    out DX, eax                               ; 66 ef                       ; 0xfa21f
    xor bx, bx                                ; 31 db                       ; 0xfa221 lsilogic.c:351
    mov ax, word [bp-008h]                    ; 8b 46 f8                    ; 0xfa223
    test ax, ax                               ; 85 c0                       ; 0xfa226
    jnbe short 0a231h                         ; 77 07                       ; 0xfa228
    jne short 0a257h                          ; 75 2b                       ; 0xfa22a
    cmp bx, word [bp-00eh]                    ; 3b 5e f2                    ; 0xfa22c
    jnc short 0a257h                          ; 73 26                       ; 0xfa22f
    mov di, bx                                ; 89 df                       ; 0xfa231 lsilogic.c:352
    sal di, 002h                              ; c1 e7 02                    ; 0xfa233
    mov es, [bp-014h]                         ; 8e 46 ec                    ; 0xfa236
    add di, word [bp-00ah]                    ; 03 7e f6                    ; 0xfa239
    mov ax, word [es:di]                      ; 26 8b 05                    ; 0xfa23c
    mov cx, word [es:di+002h]                 ; 26 8b 4d 02                 ; 0xfa23f
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xfa243
    mov dx, word [es:si+000b8h]               ; 26 8b 94 b8 00              ; 0xfa246
    xchg cx, ax                               ; 91                          ; 0xfa24b
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xfa24c
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xfa250
    out DX, eax                               ; 66 ef                       ; 0xfa252
    inc bx                                    ; 43                          ; 0xfa254
    jmp short 0a223h                          ; eb cc                       ; 0xfa255
    xor bx, bx                                ; 31 db                       ; 0xfa257 lsilogic.c:354
    cmp bx, word [bp-010h]                    ; 3b 5e f0                    ; 0xfa259
    jnc short 0a2b0h                          ; 73 52                       ; 0xfa25c
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xfa25e lsilogic.c:357
    mov dx, word [es:si+000b8h]               ; 26 8b 94 b8 00              ; 0xfa261
    add dx, strict byte 00030h                ; 83 c2 30                    ; 0xfa266
    in eax, DX                                ; 66 ed                       ; 0xfa269
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xfa26b
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xfa26d
    xchg dx, ax                               ; 92                          ; 0xfa271
    test AL, strict byte 001h                 ; a8 01                       ; 0xfa272
    je short 0a25eh                           ; 74 e8                       ; 0xfa274
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xfa276 lsilogic.c:359
    mov dx, word [es:si+000b8h]               ; 26 8b 94 b8 00              ; 0xfa279
    in eax, DX                                ; 66 ed                       ; 0xfa27e
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xfa280
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xfa282
    xchg dx, ax                               ; 92                          ; 0xfa286
    mov di, bx                                ; 89 df                       ; 0xfa287
    add di, bx                                ; 01 df                       ; 0xfa289
    mov es, [bp-00ch]                         ; 8e 46 f4                    ; 0xfa28b
    add di, word [bp-012h]                    ; 03 7e ee                    ; 0xfa28e
    mov word [es:di], ax                      ; 26 89 05                    ; 0xfa291
    mov es, [bp-006h]                         ; 8e 46 fa                    ; 0xfa294 lsilogic.c:360
    mov dx, word [es:si+000b8h]               ; 26 8b 94 b8 00              ; 0xfa297
    add dx, strict byte 00030h                ; 83 c2 30                    ; 0xfa29c
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xfa29f
    xor cx, cx                                ; 31 c9                       ; 0xfa2a2
    xchg cx, ax                               ; 91                          ; 0xfa2a4
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xfa2a5
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xfa2a9
    out DX, eax                               ; 66 ef                       ; 0xfa2ab
    inc bx                                    ; 43                          ; 0xfa2ad lsilogic.c:361
    jmp short 0a259h                          ; eb a9                       ; 0xfa2ae
    xor ax, ax                                ; 31 c0                       ; 0xfa2b0 lsilogic.c:363
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xfa2b2 lsilogic.c:364
    pop di                                    ; 5f                          ; 0xfa2b5
    pop si                                    ; 5e                          ; 0xfa2b6
    pop bp                                    ; 5d                          ; 0xfa2b7
    retn 00008h                               ; c2 08 00                    ; 0xfa2b8
  ; disGetNextSymbol 0xfa2bb LB 0xb61 -> off=0x0 cb=00000000000000d7 uValue=00000000000f8cbb 'lsilogic_scsi_cmd_exec'
lsilogic_scsi_cmd_exec:                      ; 0xfa2bb LB 0xd7
    push bp                                   ; 55                          ; 0xfa2bb lsilogic.c:366
    mov bp, sp                                ; 89 e5                       ; 0xfa2bc
    push bx                                   ; 53                          ; 0xfa2be
    push cx                                   ; 51                          ; 0xfa2bf
    push si                                   ; 56                          ; 0xfa2c0
    push di                                   ; 57                          ; 0xfa2c1
    push ax                                   ; 50                          ; 0xfa2c2
    mov bx, ax                                ; 89 c3                       ; 0xfa2c3
    mov word [bp-00ah], dx                    ; 89 56 f6                    ; 0xfa2c5
    call 0a1a7h                               ; e8 dc fe                    ; 0xfa2c8 lsilogic.c:372
    mov cx, dx                                ; 89 d1                       ; 0xfa2cb
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xfa2cd
    mov dx, word [es:bx+000b8h]               ; 26 8b 97 b8 00              ; 0xfa2d0
    add dx, strict byte 00040h                ; 83 c2 40                    ; 0xfa2d5
    xchg cx, ax                               ; 91                          ; 0xfa2d8
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xfa2d9
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xfa2dd
    out DX, eax                               ; 66 ef                       ; 0xfa2df
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xfa2e1 lsilogic.c:375
    mov dx, word [es:bx+000b8h]               ; 26 8b 97 b8 00              ; 0xfa2e4
    add dx, strict byte 00030h                ; 83 c2 30                    ; 0xfa2e9
    in eax, DX                                ; 66 ed                       ; 0xfa2ec
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xfa2ee
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xfa2f0
    xchg dx, ax                               ; 92                          ; 0xfa2f4
    test AL, strict byte 008h                 ; a8 08                       ; 0xfa2f5
    je short 0a2e1h                           ; 74 e8                       ; 0xfa2f7
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xfa2f9 lsilogic.c:377
    mov dx, word [es:bx+000b8h]               ; 26 8b 97 b8 00              ; 0xfa2fc
    add dx, strict byte 00030h                ; 83 c2 30                    ; 0xfa301
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xfa304
    xor cx, cx                                ; 31 c9                       ; 0xfa307
    xchg cx, ax                               ; 91                          ; 0xfa309
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xfa30a
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xfa30e
    out DX, eax                               ; 66 ef                       ; 0xfa310
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xfa312 lsilogic.c:380
    mov dx, word [es:bx+000b8h]               ; 26 8b 97 b8 00              ; 0xfa315
    add dx, strict byte 00044h                ; 83 c2 44                    ; 0xfa31a
    in eax, DX                                ; 66 ed                       ; 0xfa31d
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xfa31f
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xfa321
    xchg dx, ax                               ; 92                          ; 0xfa325
    mov cx, dx                                ; 89 d1                       ; 0xfa326
    mov di, ax                                ; 89 c7                       ; 0xfa328
    mov si, dx                                ; 89 d6                       ; 0xfa32a
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xfa32c lsilogic.c:381
    mov dx, word [es:bx+000b8h]               ; 26 8b 97 b8 00              ; 0xfa32f
    add dx, strict byte 00044h                ; 83 c2 44                    ; 0xfa334
    in eax, DX                                ; 66 ed                       ; 0xfa337
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xfa339
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xfa33b
    xchg dx, ax                               ; 92                          ; 0xfa33f
    cmp dx, strict byte 0ffffh                ; 83 fa ff                    ; 0xfa340 lsilogic.c:382
    jne short 0a34ah                          ; 75 05                       ; 0xfa343
    cmp ax, strict word 0ffffh                ; 3d ff ff                    ; 0xfa345
    je short 0a34fh                           ; 74 05                       ; 0xfa348
    mov ax, strict word 00005h                ; b8 05 00                    ; 0xfa34a lsilogic.c:383
    jmp short 0a389h                          ; eb 3a                       ; 0xfa34d
    test ch, 080h                             ; f6 c5 80                    ; 0xfa34f lsilogic.c:384
    je short 0a378h                           ; 74 24                       ; 0xfa352
    lea ax, [bx+038h]                         ; 8d 47 38                    ; 0xfa354 lsilogic.c:392
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xfa357
    call 0a1a7h                               ; e8 4a fe                    ; 0xfa35a
    mov cx, dx                                ; 89 d1                       ; 0xfa35d
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xfa35f
    mov dx, word [es:bx+000b8h]               ; 26 8b 97 b8 00              ; 0xfa362
    add dx, strict byte 00044h                ; 83 c2 44                    ; 0xfa367
    xchg cx, ax                               ; 91                          ; 0xfa36a
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xfa36b
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xfa36f
    out DX, eax                               ; 66 ef                       ; 0xfa371
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xfa373 lsilogic.c:393
    jmp short 0a389h                          ; eb 11                       ; 0xfa376
    test si, si                               ; 85 f6                       ; 0xfa378 lsilogic.c:396
    jne short 0a382h                          ; 75 06                       ; 0xfa37a
    cmp di, 0cafeh                            ; 81 ff fe ca                 ; 0xfa37c
    je short 0a387h                           ; 74 05                       ; 0xfa380
    mov ax, strict word 00003h                ; b8 03 00                    ; 0xfa382 lsilogic.c:397
    jmp short 0a389h                          ; eb 02                       ; 0xfa385
    xor ax, ax                                ; 31 c0                       ; 0xfa387 lsilogic.c:399
    lea sp, [bp-008h]                         ; 8d 66 f8                    ; 0xfa389 lsilogic.c:400
    pop di                                    ; 5f                          ; 0xfa38c
    pop si                                    ; 5e                          ; 0xfa38d
    pop cx                                    ; 59                          ; 0xfa38e
    pop bx                                    ; 5b                          ; 0xfa38f
    pop bp                                    ; 5d                          ; 0xfa390
    retn                                      ; c3                          ; 0xfa391
  ; disGetNextSymbol 0xfa392 LB 0xa8a -> off=0x0 cb=00000000000000d6 uValue=00000000000f8d92 'lsilogic_scsi_cmd_data_out'
lsilogic_scsi_cmd_data_out:                  ; 0xfa392 LB 0xd6
    push bp                                   ; 55                          ; 0xfa392 lsilogic.c:402
    mov bp, sp                                ; 89 e5                       ; 0xfa393
    push cx                                   ; 51                          ; 0xfa395
    push si                                   ; 56                          ; 0xfa396
    push di                                   ; 57                          ; 0xfa397
    sub sp, strict byte 00006h                ; 83 ec 06                    ; 0xfa398
    mov di, ax                                ; 89 c7                       ; 0xfa39b
    mov word [bp-00ah], dx                    ; 89 56 f6                    ; 0xfa39d
    mov byte [bp-008h], bl                    ; 88 5e f8                    ; 0xfa3a0
    mov si, ax                                ; 89 c6                       ; 0xfa3a3 lsilogic.c:405
    mov word [bp-00ch], dx                    ; 89 56 f4                    ; 0xfa3a5
    mov cx, strict word 00030h                ; b9 30 00                    ; 0xfa3a8 lsilogic.c:408
    xor bx, bx                                ; 31 db                       ; 0xfa3ab
    call 0ad80h                               ; e8 d0 09                    ; 0xfa3ad
    mov al, byte [bp-008h]                    ; 8a 46 f8                    ; 0xfa3b0 lsilogic.c:410
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xfa3b3
    mov byte [es:di], al                      ; 26 88 05                    ; 0xfa3b6
    mov word [es:di+001h], strict word 00000h ; 26 c7 45 01 00 00           ; 0xfa3b9 lsilogic.c:411
    mov byte [es:di+003h], 000h               ; 26 c6 45 03 00              ; 0xfa3bf lsilogic.c:413
    mov al, byte [bp+008h]                    ; 8a 46 08                    ; 0xfa3c4 lsilogic.c:414
    mov byte [es:di+004h], al                 ; 26 88 45 04                 ; 0xfa3c7
    mov byte [es:di+005h], 000h               ; 26 c6 45 05 00              ; 0xfa3cb lsilogic.c:415
    db  066h, 026h, 0c7h, 045h, 008h, 0feh, 0cah, 000h, 000h
    ; mov dword [es:di+008h], strict dword 00000cafeh ; 66 26 c7 45 08 fe ca 00 00; 0xfa3d0 lsilogic.c:416
    db  066h, 026h, 0c7h, 045h, 014h, 000h, 000h, 000h, 001h
    ; mov dword [es:di+014h], strict dword 001000000h ; 66 26 c7 45 14 00 00 00 01; 0xfa3d9 lsilogic.c:417
    mov ax, word [bp+00eh]                    ; 8b 46 0e                    ; 0xfa3e2 lsilogic.c:418
    mov word [es:di+028h], ax                 ; 26 89 45 28                 ; 0xfa3e5
    mov ax, word [bp+010h]                    ; 8b 46 10                    ; 0xfa3e9
    mov word [es:di+02ah], ax                 ; 26 89 45 2a                 ; 0xfa3ec
    xor di, di                                ; 31 ff                       ; 0xfa3f0 lsilogic.c:419
    movzx ax, byte [bp+008h]                  ; 0f b6 46 08                 ; 0xfa3f2
    cmp di, ax                                ; 39 c7                       ; 0xfa3f6
    jnl short 0a414h                          ; 7d 1a                       ; 0xfa3f8
    les bx, [bp+004h]                         ; c4 5e 04                    ; 0xfa3fa lsilogic.c:420
    add bx, di                                ; 01 fb                       ; 0xfa3fd
    mov cx, word [bp-00ch]                    ; 8b 4e f4                    ; 0xfa3ff
    mov dx, si                                ; 89 f2                       ; 0xfa402
    add dx, di                                ; 01 fa                       ; 0xfa404
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xfa406
    mov es, cx                                ; 8e c1                       ; 0xfa409
    mov bx, dx                                ; 89 d3                       ; 0xfa40b
    mov byte [es:bx+018h], al                 ; 26 88 47 18                 ; 0xfa40d
    inc di                                    ; 47                          ; 0xfa411
    jmp short 0a3f2h                          ; eb de                       ; 0xfa412
    mov ax, word [bp+010h]                    ; 8b 46 10                    ; 0xfa414 lsilogic.c:422
    xor ah, ah                                ; 30 e4                       ; 0xfa417
    mov es, [bp-00ch]                         ; 8e 46 f4                    ; 0xfa419
    mov word [es:si+030h], strict word 00000h ; 26 c7 44 30 00 00           ; 0xfa41c
    mov byte [es:si+032h], ah                 ; 26 88 64 32                 ; 0xfa422
    mov dx, word [bp+00eh]                    ; 8b 56 0e                    ; 0xfa426
    or word [es:si+030h], dx                  ; 26 09 54 30                 ; 0xfa429
    or word [es:si+032h], ax                  ; 26 09 44 32                 ; 0xfa42d
    mov byte [es:si+033h], ah                 ; 26 88 64 33                 ; 0xfa431 lsilogic.c:423
    or byte [es:si+033h], 0d1h                ; 26 80 4c 33 d1              ; 0xfa435
    mov ax, word [bp+00ah]                    ; 8b 46 0a                    ; 0xfa43a lsilogic.c:430
    mov dx, word [bp+00ch]                    ; 8b 56 0c                    ; 0xfa43d
    call 0a1a7h                               ; e8 64 fd                    ; 0xfa440
    mov es, [bp-00ch]                         ; 8e 46 f4                    ; 0xfa443
    db  066h, 026h, 0c7h, 044h, 034h, 000h, 000h, 000h, 000h
    ; mov dword [es:si+034h], strict dword 000000000h ; 66 26 c7 44 34 00 00 00 00; 0xfa446
    or word [es:si+034h], ax                  ; 26 09 44 34                 ; 0xfa44f
    or word [es:si+036h], dx                  ; 26 09 54 36                 ; 0xfa453
    mov ax, si                                ; 89 f0                       ; 0xfa457 lsilogic.c:432
    mov dx, es                                ; 8c c2                       ; 0xfa459
    call 0a2bbh                               ; e8 5d fe                    ; 0xfa45b
    lea sp, [bp-006h]                         ; 8d 66 fa                    ; 0xfa45e lsilogic.c:433
    pop di                                    ; 5f                          ; 0xfa461
    pop si                                    ; 5e                          ; 0xfa462
    pop cx                                    ; 59                          ; 0xfa463
    pop bp                                    ; 5d                          ; 0xfa464
    retn 0000eh                               ; c2 0e 00                    ; 0xfa465
  ; disGetNextSymbol 0xfa468 LB 0x9b4 -> off=0x0 cb=00000000000000d6 uValue=00000000000f8e68 'lsilogic_scsi_cmd_data_in'
lsilogic_scsi_cmd_data_in:                   ; 0xfa468 LB 0xd6
    push bp                                   ; 55                          ; 0xfa468 lsilogic.c:435
    mov bp, sp                                ; 89 e5                       ; 0xfa469
    push cx                                   ; 51                          ; 0xfa46b
    push si                                   ; 56                          ; 0xfa46c
    push di                                   ; 57                          ; 0xfa46d
    sub sp, strict byte 00006h                ; 83 ec 06                    ; 0xfa46e
    mov di, ax                                ; 89 c7                       ; 0xfa471
    mov word [bp-00ah], dx                    ; 89 56 f6                    ; 0xfa473
    mov byte [bp-008h], bl                    ; 88 5e f8                    ; 0xfa476
    mov si, ax                                ; 89 c6                       ; 0xfa479 lsilogic.c:438
    mov word [bp-00ch], dx                    ; 89 56 f4                    ; 0xfa47b
    mov cx, strict word 00030h                ; b9 30 00                    ; 0xfa47e lsilogic.c:441
    xor bx, bx                                ; 31 db                       ; 0xfa481
    call 0ad80h                               ; e8 fa 08                    ; 0xfa483
    mov al, byte [bp-008h]                    ; 8a 46 f8                    ; 0xfa486 lsilogic.c:443
    mov es, [bp-00ah]                         ; 8e 46 f6                    ; 0xfa489
    mov byte [es:di], al                      ; 26 88 05                    ; 0xfa48c
    mov word [es:di+001h], strict word 00000h ; 26 c7 45 01 00 00           ; 0xfa48f lsilogic.c:444
    mov byte [es:di+003h], 000h               ; 26 c6 45 03 00              ; 0xfa495 lsilogic.c:446
    mov al, byte [bp+008h]                    ; 8a 46 08                    ; 0xfa49a lsilogic.c:447
    mov byte [es:di+004h], al                 ; 26 88 45 04                 ; 0xfa49d
    mov byte [es:di+005h], 000h               ; 26 c6 45 05 00              ; 0xfa4a1 lsilogic.c:448
    db  066h, 026h, 0c7h, 045h, 008h, 0feh, 0cah, 000h, 000h
    ; mov dword [es:di+008h], strict dword 00000cafeh ; 66 26 c7 45 08 fe ca 00 00; 0xfa4a6 lsilogic.c:449
    db  066h, 026h, 0c7h, 045h, 014h, 000h, 000h, 000h, 002h
    ; mov dword [es:di+014h], strict dword 002000000h ; 66 26 c7 45 14 00 00 00 02; 0xfa4af lsilogic.c:450
    mov ax, word [bp+00eh]                    ; 8b 46 0e                    ; 0xfa4b8 lsilogic.c:451
    mov word [es:di+028h], ax                 ; 26 89 45 28                 ; 0xfa4bb
    mov ax, word [bp+010h]                    ; 8b 46 10                    ; 0xfa4bf
    mov word [es:di+02ah], ax                 ; 26 89 45 2a                 ; 0xfa4c2
    xor di, di                                ; 31 ff                       ; 0xfa4c6 lsilogic.c:452
    movzx ax, byte [bp+008h]                  ; 0f b6 46 08                 ; 0xfa4c8
    cmp di, ax                                ; 39 c7                       ; 0xfa4cc
    jnl short 0a4eah                          ; 7d 1a                       ; 0xfa4ce
    les bx, [bp+004h]                         ; c4 5e 04                    ; 0xfa4d0 lsilogic.c:453
    add bx, di                                ; 01 fb                       ; 0xfa4d3
    mov cx, word [bp-00ch]                    ; 8b 4e f4                    ; 0xfa4d5
    mov dx, si                                ; 89 f2                       ; 0xfa4d8
    add dx, di                                ; 01 fa                       ; 0xfa4da
    mov al, byte [es:bx]                      ; 26 8a 07                    ; 0xfa4dc
    mov es, cx                                ; 8e c1                       ; 0xfa4df
    mov bx, dx                                ; 89 d3                       ; 0xfa4e1
    mov byte [es:bx+018h], al                 ; 26 88 47 18                 ; 0xfa4e3
    inc di                                    ; 47                          ; 0xfa4e7
    jmp short 0a4c8h                          ; eb de                       ; 0xfa4e8
    mov ax, word [bp+010h]                    ; 8b 46 10                    ; 0xfa4ea lsilogic.c:455
    xor ah, ah                                ; 30 e4                       ; 0xfa4ed
    mov es, [bp-00ch]                         ; 8e 46 f4                    ; 0xfa4ef
    mov word [es:si+030h], strict word 00000h ; 26 c7 44 30 00 00           ; 0xfa4f2
    mov byte [es:si+032h], ah                 ; 26 88 64 32                 ; 0xfa4f8
    mov dx, word [bp+00eh]                    ; 8b 56 0e                    ; 0xfa4fc
    or word [es:si+030h], dx                  ; 26 09 54 30                 ; 0xfa4ff
    or word [es:si+032h], ax                  ; 26 09 44 32                 ; 0xfa503
    mov byte [es:si+033h], ah                 ; 26 88 64 33                 ; 0xfa507 lsilogic.c:456
    or byte [es:si+033h], 0d1h                ; 26 80 4c 33 d1              ; 0xfa50b
    mov ax, word [bp+00ah]                    ; 8b 46 0a                    ; 0xfa510 lsilogic.c:463
    mov dx, word [bp+00ch]                    ; 8b 56 0c                    ; 0xfa513
    call 0a1a7h                               ; e8 8e fc                    ; 0xfa516
    mov es, [bp-00ch]                         ; 8e 46 f4                    ; 0xfa519
    db  066h, 026h, 0c7h, 044h, 034h, 000h, 000h, 000h, 000h
    ; mov dword [es:si+034h], strict dword 000000000h ; 66 26 c7 44 34 00 00 00 00; 0xfa51c
    or word [es:si+034h], ax                  ; 26 09 44 34                 ; 0xfa525
    or word [es:si+036h], dx                  ; 26 09 54 36                 ; 0xfa529
    mov ax, si                                ; 89 f0                       ; 0xfa52d lsilogic.c:465
    mov dx, es                                ; 8c c2                       ; 0xfa52f
    call 0a2bbh                               ; e8 87 fd                    ; 0xfa531
    lea sp, [bp-006h]                         ; 8d 66 fa                    ; 0xfa534 lsilogic.c:466
    pop di                                    ; 5f                          ; 0xfa537
    pop si                                    ; 5e                          ; 0xfa538
    pop cx                                    ; 59                          ; 0xfa539
    pop bp                                    ; 5d                          ; 0xfa53a
    retn 0000eh                               ; c2 0e 00                    ; 0xfa53b
  ; disGetNextSymbol 0xfa53e LB 0x8de -> off=0x0 cb=00000000000000f1 uValue=00000000000f8f3e 'lsilogic_scsi_hba_init'
lsilogic_scsi_hba_init:                      ; 0xfa53e LB 0xf1
    push bp                                   ; 55                          ; 0xfa53e lsilogic.c:471
    mov bp, sp                                ; 89 e5                       ; 0xfa53f
    push bx                                   ; 53                          ; 0xfa541
    push cx                                   ; 51                          ; 0xfa542
    push si                                   ; 56                          ; 0xfa543
    push di                                   ; 57                          ; 0xfa544
    sub sp, strict byte 0002ch                ; 83 ec 2c                    ; 0xfa545
    mov si, ax                                ; 89 c6                       ; 0xfa548
    mov di, dx                                ; 89 d7                       ; 0xfa54a
    mov es, dx                                ; 8e c2                       ; 0xfa54c lsilogic.c:483
    mov dx, word [es:si+000b8h]               ; 26 8b 94 b8 00              ; 0xfa54e
    add dx, strict byte 00004h                ; 83 c2 04                    ; 0xfa553
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xfa556
    xor cx, cx                                ; 31 c9                       ; 0xfa559
    xchg cx, ax                               ; 91                          ; 0xfa55b
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xfa55c
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xfa560
    out DX, eax                               ; 66 ef                       ; 0xfa562
    mov es, di                                ; 8e c7                       ; 0xfa564 lsilogic.c:484
    mov dx, word [es:si+000b8h]               ; 26 8b 94 b8 00              ; 0xfa566
    add dx, strict byte 00004h                ; 83 c2 04                    ; 0xfa56b
    mov ax, strict word 00002h                ; b8 02 00                    ; 0xfa56e
    xor cx, cx                                ; 31 c9                       ; 0xfa571
    xchg cx, ax                               ; 91                          ; 0xfa573
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xfa574
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xfa578
    out DX, eax                               ; 66 ef                       ; 0xfa57a
    mov es, di                                ; 8e c7                       ; 0xfa57c lsilogic.c:485
    mov dx, word [es:si+000b8h]               ; 26 8b 94 b8 00              ; 0xfa57e
    add dx, strict byte 00004h                ; 83 c2 04                    ; 0xfa583
    mov ax, strict word 00007h                ; b8 07 00                    ; 0xfa586
    xor cx, cx                                ; 31 c9                       ; 0xfa589
    xchg cx, ax                               ; 91                          ; 0xfa58b
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xfa58c
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xfa590
    out DX, eax                               ; 66 ef                       ; 0xfa592
    mov es, di                                ; 8e c7                       ; 0xfa594 lsilogic.c:486
    mov dx, word [es:si+000b8h]               ; 26 8b 94 b8 00              ; 0xfa596
    add dx, strict byte 00004h                ; 83 c2 04                    ; 0xfa59b
    mov ax, strict word 0000dh                ; b8 0d 00                    ; 0xfa59e
    xor cx, cx                                ; 31 c9                       ; 0xfa5a1
    xchg cx, ax                               ; 91                          ; 0xfa5a3
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xfa5a4
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xfa5a8
    out DX, eax                               ; 66 ef                       ; 0xfa5aa
    mov es, di                                ; 8e c7                       ; 0xfa5ac lsilogic.c:487
    mov dx, word [es:si+000b8h]               ; 26 8b 94 b8 00              ; 0xfa5ae
    add dx, strict byte 00008h                ; 83 c2 08                    ; 0xfa5b3
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xfa5b6
    xor cx, cx                                ; 31 c9                       ; 0xfa5b9
    xchg cx, ax                               ; 91                          ; 0xfa5bb
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xfa5bc
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xfa5c0
    out DX, eax                               ; 66 ef                       ; 0xfa5c2
    mov byte [bp-034h], 001h                  ; c6 46 cc 01                 ; 0xfa5c4 lsilogic.c:489
    mov byte [bp-031h], 002h                  ; c6 46 cf 02                 ; 0xfa5c8 lsilogic.c:490
    xor ax, ax                                ; 31 c0                       ; 0xfa5cc lsilogic.c:491
    mov word [bp-024h], ax                    ; 89 46 dc                    ; 0xfa5ce
    mov word [bp-022h], ax                    ; 89 46 de                    ; 0xfa5d1
    mov word [bp-020h], ax                    ; 89 46 e0                    ; 0xfa5d4 lsilogic.c:492
    mov word [bp-01eh], ax                    ; 89 46 e2                    ; 0xfa5d7
    mov byte [bp-02eh], 001h                  ; c6 46 d2 01                 ; 0xfa5da lsilogic.c:493
    mov byte [bp-02fh], 004h                  ; c6 46 d1 04                 ; 0xfa5de lsilogic.c:494
    mov word [bp-028h], 00080h                ; c7 46 d8 80 00              ; 0xfa5e2 lsilogic.c:495
    push strict byte 00014h                   ; 6a 14                       ; 0xfa5e7 lsilogic.c:496
    lea dx, [bp-01ch]                         ; 8d 56 e4                    ; 0xfa5e9
    push SS                                   ; 16                          ; 0xfa5ec
    push dx                                   ; 52                          ; 0xfa5ed
    push strict byte 00018h                   ; 6a 18                       ; 0xfa5ee
    mov cx, ss                                ; 8c d1                       ; 0xfa5f0
    lea bx, [bp-034h]                         ; 8d 5e cc                    ; 0xfa5f2
    mov ax, si                                ; 89 f0                       ; 0xfa5f5
    mov dx, di                                ; 89 fa                       ; 0xfa5f7
    call 0a1c5h                               ; e8 c9 fb                    ; 0xfa5f9
    test ax, ax                               ; 85 c0                       ; 0xfa5fc lsilogic.c:497
    jne short 0a623h                          ; 75 23                       ; 0xfa5fe
    lea ax, [si+038h]                         ; 8d 44 38                    ; 0xfa600 lsilogic.c:500
    mov dx, di                                ; 89 fa                       ; 0xfa603
    call 0a1a7h                               ; e8 9f fb                    ; 0xfa605
    mov es, di                                ; 8e c7                       ; 0xfa608
    mov si, word [es:si+000b8h]               ; 26 8b b4 b8 00              ; 0xfa60a
    add si, strict byte 00044h                ; 83 c6 44                    ; 0xfa60f
    mov cx, dx                                ; 89 d1                       ; 0xfa612
    mov dx, si                                ; 89 f2                       ; 0xfa614
    xchg cx, ax                               ; 91                          ; 0xfa616
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xfa617
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xfa61b
    out DX, eax                               ; 66 ef                       ; 0xfa61d
    xor ax, ax                                ; 31 c0                       ; 0xfa61f lsilogic.c:501
    jmp short 0a626h                          ; eb 03                       ; 0xfa621
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xfa623 lsilogic.c:504
    lea sp, [bp-008h]                         ; 8d 66 f8                    ; 0xfa626 lsilogic.c:505
    pop di                                    ; 5f                          ; 0xfa629
    pop si                                    ; 5e                          ; 0xfa62a
    pop cx                                    ; 59                          ; 0xfa62b
    pop bx                                    ; 5b                          ; 0xfa62c
    pop bp                                    ; 5d                          ; 0xfa62d
    retn                                      ; c3                          ; 0xfa62e
  ; disGetNextSymbol 0xfa62f LB 0x7ed -> off=0x0 cb=0000000000000052 uValue=00000000000f902f 'lsilogic_scsi_init'
lsilogic_scsi_init:                          ; 0xfa62f LB 0x52
    push bp                                   ; 55                          ; 0xfa62f lsilogic.c:510
    mov bp, sp                                ; 89 e5                       ; 0xfa630
    push si                                   ; 56                          ; 0xfa632
    push di                                   ; 57                          ; 0xfa633
    sub sp, strict byte 00006h                ; 83 ec 06                    ; 0xfa634
    mov si, ax                                ; 89 c6                       ; 0xfa637
    mov word [bp-008h], dx                    ; 89 56 f8                    ; 0xfa639
    movzx ax, cl                              ; 0f b6 c1                    ; 0xfa63c lsilogic.c:517
    mov word [bp-006h], ax                    ; 89 46 fa                    ; 0xfa63f
    movzx di, bl                              ; 0f b6 fb                    ; 0xfa642
    mov bx, strict word 00010h                ; bb 10 00                    ; 0xfa645
    mov dx, ax                                ; 89 c2                       ; 0xfa648
    mov ax, di                                ; 89 f8                       ; 0xfa64a
    call 0ab68h                               ; e8 19 05                    ; 0xfa64c
    test AL, strict byte 001h                 ; a8 01                       ; 0xfa64f lsilogic.c:521
    je short 0a677h                           ; 74 24                       ; 0xfa651
    and AL, strict byte 0f0h                  ; 24 f0                       ; 0xfa653 lsilogic.c:523
    mov word [bp-00ah], ax                    ; 89 46 f6                    ; 0xfa655
    mov cx, strict word 00007h                ; b9 07 00                    ; 0xfa658 lsilogic.c:526
    mov bx, strict word 00004h                ; bb 04 00                    ; 0xfa65b
    mov dx, word [bp-006h]                    ; 8b 56 fa                    ; 0xfa65e
    mov ax, di                                ; 89 f8                       ; 0xfa661
    call 0ab8fh                               ; e8 29 05                    ; 0xfa663
    les ax, [bp-00ah]                         ; c4 46 f6                    ; 0xfa666 lsilogic.c:529
    mov word [es:si+000b8h], ax               ; 26 89 84 b8 00              ; 0xfa669
    mov ax, si                                ; 89 f0                       ; 0xfa66e lsilogic.c:530
    mov dx, es                                ; 8c c2                       ; 0xfa670
    call 0a53eh                               ; e8 c9 fe                    ; 0xfa672
    jmp short 0a67ah                          ; eb 03                       ; 0xfa675
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xfa677 lsilogic.c:535
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xfa67a lsilogic.c:536
    pop di                                    ; 5f                          ; 0xfa67d
    pop si                                    ; 5e                          ; 0xfa67e
    pop bp                                    ; 5d                          ; 0xfa67f
    retn                                      ; c3                          ; 0xfa680
  ; disGetNextSymbol 0xfa681 LB 0x79b -> off=0x0 cb=0000000000000020 uValue=00000000000f9081 'apm_out_str'
apm_out_str:                                 ; 0xfa681 LB 0x20
    push bp                                   ; 55                          ; 0xfa681 apm.c:142
    mov bp, sp                                ; 89 e5                       ; 0xfa682
    push bx                                   ; 53                          ; 0xfa684
    push dx                                   ; 52                          ; 0xfa685
    mov bx, ax                                ; 89 c3                       ; 0xfa686
    cmp byte [bx], 000h                       ; 80 3f 00                    ; 0xfa688 apm.c:144
    je short 0a69ah                           ; 74 0d                       ; 0xfa68b
    mov dx, 0040fh                            ; ba 0f 04                    ; 0xfa68d apm.c:145
    mov al, byte [bx]                         ; 8a 07                       ; 0xfa690
    out DX, AL                                ; ee                          ; 0xfa692
    inc bx                                    ; 43                          ; 0xfa693
    mov al, byte [bx]                         ; 8a 07                       ; 0xfa694
    db  00ah, 0c0h
    ; or al, al                                 ; 0a c0                     ; 0xfa696
    jne short 0a692h                          ; 75 f8                       ; 0xfa698
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xfa69a apm.c:146
    pop dx                                    ; 5a                          ; 0xfa69d
    pop bx                                    ; 5b                          ; 0xfa69e
    pop bp                                    ; 5d                          ; 0xfa69f
    retn                                      ; c3                          ; 0xfa6a0
  ; disGetNextSymbol 0xfa6a1 LB 0x77b -> off=0x1e cb=00000000000000fb uValue=00000000000f90bf 'apm_function'
    db  0e2h, 0a6h, 0b4h, 0a7h, 0f4h, 0a6h, 00fh, 0a7h, 0b4h, 0a7h, 03ah, 0a7h, 0b4h, 0a7h, 03fh, 0a7h
    db  089h, 0a7h, 089h, 0a7h, 075h, 0a7h, 084h, 0a7h, 089h, 0a7h, 089h, 0a7h, 06eh, 0a7h
apm_function:                                ; 0xfa6bf LB 0xfb
    push bp                                   ; 55                          ; 0xfa6bf apm.c:148
    mov bp, sp                                ; 89 e5                       ; 0xfa6c0
    push si                                   ; 56                          ; 0xfa6c2
    and byte [bp+018h], 0feh                  ; 80 66 18 fe                 ; 0xfa6c3 apm.c:152
    mov ax, word [bp+012h]                    ; 8b 46 12                    ; 0xfa6c7 apm.c:153
    xor ah, ah                                ; 30 e4                       ; 0xfa6ca
    cmp ax, strict word 0000eh                ; 3d 0e 00                    ; 0xfa6cc
    jnbe near 0a789h                          ; 0f 87 b6 00                 ; 0xfa6cf
    mov bx, ax                                ; 89 c3                       ; 0xfa6d3
    add bx, ax                                ; 01 c3                       ; 0xfa6d5
    mov si, word [bp+018h]                    ; 8b 76 18                    ; 0xfa6d7
    or si, strict byte 00001h                 ; 83 ce 01                    ; 0xfa6da
    jmp word [cs:bx-0595fh]                   ; 2e ff a7 a1 a6              ; 0xfa6dd
    mov word [bp+012h], 00102h                ; c7 46 12 02 01              ; 0xfa6e2 apm.c:155
    mov word [bp+00ch], 0504dh                ; c7 46 0c 4d 50              ; 0xfa6e7 apm.c:156
    mov word [bp+010h], strict word 00003h    ; c7 46 10 03 00              ; 0xfa6ec apm.c:157
    jmp near 0a7b4h                           ; e9 c0 00                    ; 0xfa6f1 apm.c:158
    mov word [bp+012h], 0f000h                ; c7 46 12 00 f0              ; 0xfa6f4 apm.c:168
    mov word [bp+00ch], 0ae0bh                ; c7 46 0c 0b ae              ; 0xfa6f9 apm.c:169
    mov word [bp+010h], 0f000h                ; c7 46 10 00 f0              ; 0xfa6fe apm.c:170
    mov ax, strict word 0fff0h                ; b8 f0 ff                    ; 0xfa703 apm.c:171
    mov word [bp+006h], ax                    ; 89 46 06                    ; 0xfa706
    mov word [bp+004h], ax                    ; 89 46 04                    ; 0xfa709 apm.c:172
    jmp near 0a7b4h                           ; e9 a5 00                    ; 0xfa70c apm.c:173
    mov word [bp+012h], 0f000h                ; c7 46 12 00 f0              ; 0xfa70f apm.c:179
    mov word [bp+00ch], 0da40h                ; c7 46 0c 40 da              ; 0xfa714 apm.c:180
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfa719 apm.c:181
    mov word [bp+010h], ax                    ; 89 46 10                    ; 0xfa71c
    mov word [bp+00eh], ax                    ; 89 46 0e                    ; 0xfa71f apm.c:182
    mov ax, strict word 0fff0h                ; b8 f0 ff                    ; 0xfa722 apm.c:183
    mov word [bp+006h], ax                    ; 89 46 06                    ; 0xfa725
    mov word [bp+004h], ax                    ; 89 46 04                    ; 0xfa728 apm.c:184
    xor bx, bx                                ; 31 db                       ; 0xfa72b apm.c:185
    sal ebx, 010h                             ; 66 c1 e3 10                 ; 0xfa72d
    mov si, ax                                ; 89 c6                       ; 0xfa731 apm.c:186
    sal esi, 010h                             ; 66 c1 e6 10                 ; 0xfa733
    jmp near 0a7b4h                           ; e9 7a 00                    ; 0xfa737 apm.c:187
    sti                                       ; fb                          ; 0xfa73a apm.c:190
    hlt                                       ; f4                          ; 0xfa73b apm.c:191
    jmp near 0a7b4h                           ; e9 75 00                    ; 0xfa73c apm.c:192
    cmp word [bp+010h], strict byte 00003h    ; 83 7e 10 03                 ; 0xfa73f apm.c:196
    je short 0a75eh                           ; 74 19                       ; 0xfa743
    cmp word [bp+010h], strict byte 00002h    ; 83 7e 10 02                 ; 0xfa745
    je short 0a759h                           ; 74 0e                       ; 0xfa749
    cmp word [bp+010h], strict byte 00001h    ; 83 7e 10 01                 ; 0xfa74b
    jne short 0a763h                          ; 75 12                       ; 0xfa74f
    mov ax, 00d86h                            ; b8 86 0d                    ; 0xfa751 apm.c:198
    call 0a681h                               ; e8 2a ff                    ; 0xfa754
    jmp short 0a7b4h                          ; eb 5b                       ; 0xfa757 apm.c:199
    mov ax, 00d8eh                            ; b8 8e 0d                    ; 0xfa759 apm.c:201
    jmp short 0a754h                          ; eb f6                       ; 0xfa75c
    mov ax, 00d96h                            ; b8 96 0d                    ; 0xfa75e apm.c:204
    jmp short 0a754h                          ; eb f1                       ; 0xfa761
    or ah, 00ah                               ; 80 cc 0a                    ; 0xfa763 apm.c:207
    mov word [bp+012h], ax                    ; 89 46 12                    ; 0xfa766
    mov word [bp+018h], si                    ; 89 76 18                    ; 0xfa769 apm.c:208
    jmp short 0a7b4h                          ; eb 46                       ; 0xfa76c apm.c:210
    mov word [bp+012h], 00102h                ; c7 46 12 02 01              ; 0xfa76e apm.c:212
    jmp short 0a7b4h                          ; eb 3f                       ; 0xfa773 apm.c:213
    mov word [bp+00ch], 001ffh                ; c7 46 0c ff 01              ; 0xfa775 apm.c:220
    mov dword [bp+00eh], strict dword 080ffffffh ; 66 c7 46 0e ff ff ff 80  ; 0xfa77a apm.c:221
    jmp short 0a7b4h                          ; eb 30                       ; 0xfa782 apm.c:223
    or ah, 080h                               ; 80 cc 80                    ; 0xfa784 apm.c:226
    jmp short 0a766h                          ; eb dd                       ; 0xfa787
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xfa789 apm.c:230
    mov cx, ds                                ; 8c d9                       ; 0xfa78c
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xfa78e
    call 01a27h                               ; e8 93 72                    ; 0xfa791
    push word [bp+00ch]                       ; ff 76 0c                    ; 0xfa794
    push word [bp+012h]                       ; ff 76 12                    ; 0xfa797
    push 00d9fh                               ; 68 9f 0d                    ; 0xfa79a
    push strict byte 00004h                   ; 6a 04                       ; 0xfa79d
    call 01a68h                               ; e8 c6 72                    ; 0xfa79f
    add sp, strict byte 00008h                ; 83 c4 08                    ; 0xfa7a2
    mov ax, word [bp+012h]                    ; 8b 46 12                    ; 0xfa7a5 apm.c:231
    xor ah, ah                                ; 30 e4                       ; 0xfa7a8
    or ah, 00ch                               ; 80 cc 0c                    ; 0xfa7aa
    mov word [bp+012h], ax                    ; 89 46 12                    ; 0xfa7ad
    or byte [bp+018h], 001h                   ; 80 4e 18 01                 ; 0xfa7b0 apm.c:232
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xfa7b4 apm.c:234
    pop si                                    ; 5e                          ; 0xfa7b7
    pop bp                                    ; 5d                          ; 0xfa7b8
    retn                                      ; c3                          ; 0xfa7b9
  ; disGetNextSymbol 0xfa7ba LB 0x662 -> off=0x0 cb=0000000000000024 uValue=00000000000f91ba 'pci16_select_reg'
pci16_select_reg:                            ; 0xfa7ba LB 0x24
    push bp                                   ; 55                          ; 0xfa7ba pcibios.c:198
    mov bp, sp                                ; 89 e5                       ; 0xfa7bb
    push bx                                   ; 53                          ; 0xfa7bd
    and dl, 0fch                              ; 80 e2 fc                    ; 0xfa7be pcibios.c:200
    mov bx, dx                                ; 89 d3                       ; 0xfa7c1
    mov dx, 00cf8h                            ; ba f8 0c                    ; 0xfa7c3
    movzx eax, ax                             ; 66 0f b7 c0                 ; 0xfa7c6
    sal eax, 008h                             ; 66 c1 e0 08                 ; 0xfa7ca
    or eax, strict dword 080000000h           ; 66 0d 00 00 00 80           ; 0xfa7ce
    db  08ah, 0c3h
    ; mov al, bl                                ; 8a c3                     ; 0xfa7d4
    out DX, eax                               ; 66 ef                       ; 0xfa7d6
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xfa7d8 pcibios.c:201
    pop bx                                    ; 5b                          ; 0xfa7db
    pop bp                                    ; 5d                          ; 0xfa7dc
    retn                                      ; c3                          ; 0xfa7dd
  ; disGetNextSymbol 0xfa7de LB 0x63e -> off=0x0 cb=00000000000000f3 uValue=00000000000f91de 'pci16_find_device'
pci16_find_device:                           ; 0xfa7de LB 0xf3
    push bp                                   ; 55                          ; 0xfa7de pcibios.c:233
    mov bp, sp                                ; 89 e5                       ; 0xfa7df
    push si                                   ; 56                          ; 0xfa7e1
    push di                                   ; 57                          ; 0xfa7e2
    sub sp, strict byte 0000ah                ; 83 ec 0a                    ; 0xfa7e3
    push ax                                   ; 50                          ; 0xfa7e6
    push dx                                   ; 52                          ; 0xfa7e7
    mov si, bx                                ; 89 de                       ; 0xfa7e8
    mov di, cx                                ; 89 cf                       ; 0xfa7ea
    test cx, cx                               ; 85 c9                       ; 0xfa7ec pcibios.c:243
    xor bx, bx                                ; 31 db                       ; 0xfa7ee pcibios.c:250
    mov byte [bp-008h], 000h                  ; c6 46 f8 00                 ; 0xfa7f0 pcibios.c:251
    test bl, 007h                             ; f6 c3 07                    ; 0xfa7f4 pcibios.c:261
    jne short 0a826h                          ; 75 2d                       ; 0xfa7f7
    mov dx, strict word 0000eh                ; ba 0e 00                    ; 0xfa7f9 pcibios.c:262
    mov ax, bx                                ; 89 d8                       ; 0xfa7fc
    call 0a7bah                               ; e8 b9 ff                    ; 0xfa7fe
    mov dx, 00cfeh                            ; ba fe 0c                    ; 0xfa801 pcibios.c:263
    in AL, DX                                 ; ec                          ; 0xfa804
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xfa805
    mov byte [bp-006h], al                    ; 88 46 fa                    ; 0xfa807
    cmp AL, strict byte 0ffh                  ; 3c ff                       ; 0xfa80a pcibios.c:264
    jne short 0a814h                          ; 75 06                       ; 0xfa80c
    add bx, strict byte 00008h                ; 83 c3 08                    ; 0xfa80e pcibios.c:265
    jmp near 0a8adh                           ; e9 99 00                    ; 0xfa811 pcibios.c:266
    test byte [bp-006h], 080h                 ; f6 46 fa 80                 ; 0xfa814 pcibios.c:268
    je short 0a821h                           ; 74 07                       ; 0xfa818
    mov word [bp-00ch], strict word 00001h    ; c7 46 f4 01 00              ; 0xfa81a pcibios.c:269
    jmp short 0a826h                          ; eb 05                       ; 0xfa81f pcibios.c:270
    mov word [bp-00ch], strict word 00008h    ; c7 46 f4 08 00              ; 0xfa821 pcibios.c:271
    mov al, byte [bp-006h]                    ; 8a 46 fa                    ; 0xfa826 pcibios.c:282
    and AL, strict byte 007h                  ; 24 07                       ; 0xfa829
    cmp AL, strict byte 001h                  ; 3c 01                       ; 0xfa82b
    jne short 0a84eh                          ; 75 1f                       ; 0xfa82d
    mov ax, bx                                ; 89 d8                       ; 0xfa82f
    shr ax, 008h                              ; c1 e8 08                    ; 0xfa831
    test ax, ax                               ; 85 c0                       ; 0xfa834
    jne short 0a84eh                          ; 75 16                       ; 0xfa836
    mov dx, strict word 0001ah                ; ba 1a 00                    ; 0xfa838 pcibios.c:284
    mov ax, bx                                ; 89 d8                       ; 0xfa83b
    call 0a7bah                               ; e8 7a ff                    ; 0xfa83d
    mov dx, 00cfeh                            ; ba fe 0c                    ; 0xfa840 pcibios.c:285
    in AL, DX                                 ; ec                          ; 0xfa843
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xfa844
    cmp al, byte [bp-008h]                    ; 3a 46 f8                    ; 0xfa846 pcibios.c:286
    jbe short 0a84eh                          ; 76 03                       ; 0xfa849
    mov byte [bp-008h], al                    ; 88 46 f8                    ; 0xfa84b pcibios.c:287
    test di, di                               ; 85 ff                       ; 0xfa84e pcibios.c:291
    je short 0a857h                           ; 74 05                       ; 0xfa850
    mov dx, strict word 00008h                ; ba 08 00                    ; 0xfa852
    jmp short 0a859h                          ; eb 02                       ; 0xfa855
    xor dx, dx                                ; 31 d2                       ; 0xfa857
    mov ax, bx                                ; 89 d8                       ; 0xfa859
    call 0a7bah                               ; e8 5c ff                    ; 0xfa85b
    mov dx, 00cfch                            ; ba fc 0c                    ; 0xfa85e pcibios.c:292
    in eax, DX                                ; 66 ed                       ; 0xfa861
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xfa863
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xfa865
    xchg dx, ax                               ; 92                          ; 0xfa869
    mov word [bp-00ah], dx                    ; 89 56 f6                    ; 0xfa86a
    mov word [bp-00eh], strict word 00000h    ; c7 46 f2 00 00              ; 0xfa86d pcibios.c:293
    test di, di                               ; 85 ff                       ; 0xfa872 pcibios.c:296
    je short 0a891h                           ; 74 1b                       ; 0xfa874
    cmp word [bp+004h], strict byte 00000h    ; 83 7e 04 00                 ; 0xfa876 pcibios.c:297
    je short 0a885h                           ; 74 09                       ; 0xfa87a
    mov ax, dx                                ; 89 d0                       ; 0xfa87c pcibios.c:298
    mov word [bp-00ah], strict word 00000h    ; c7 46 f6 00 00              ; 0xfa87e
    jmp short 0a891h                          ; eb 0c                       ; 0xfa883 pcibios.c:299
    mov cx, strict word 00008h                ; b9 08 00                    ; 0xfa885 pcibios.c:300
    shr dx, 1                                 ; d1 ea                       ; 0xfa888
    rcr ax, 1                                 ; d1 d8                       ; 0xfa88a
    loop 0a888h                               ; e2 fa                       ; 0xfa88c
    mov word [bp-00ah], dx                    ; 89 56 f6                    ; 0xfa88e
    mov dx, word [bp-00ah]                    ; 8b 56 f6                    ; 0xfa891 pcibios.c:307
    cmp dx, word [bp-012h]                    ; 3b 56 ee                    ; 0xfa894
    jne short 0a89eh                          ; 75 05                       ; 0xfa897
    cmp ax, word [bp-010h]                    ; 3b 46 f0                    ; 0xfa899
    je short 0a8a4h                           ; 74 06                       ; 0xfa89c
    cmp word [bp-00eh], strict byte 00000h    ; 83 7e f2 00                 ; 0xfa89e pcibios.c:308
    je short 0a8aah                           ; 74 06                       ; 0xfa8a2
    dec si                                    ; 4e                          ; 0xfa8a4
    cmp si, strict byte 0ffffh                ; 83 fe ff                    ; 0xfa8a5
    je short 0a8bch                           ; 74 12                       ; 0xfa8a8
    add bx, word [bp-00ch]                    ; 03 5e f4                    ; 0xfa8aa pcibios.c:316
    mov ax, bx                                ; 89 d8                       ; 0xfa8ad pcibios.c:317
    shr ax, 008h                              ; c1 e8 08                    ; 0xfa8af
    movzx dx, byte [bp-008h]                  ; 0f b6 56 f8                 ; 0xfa8b2
    cmp ax, dx                                ; 39 d0                       ; 0xfa8b6
    jbe near 0a7f4h                           ; 0f 86 38 ff                 ; 0xfa8b8
    cmp si, strict byte 0ffffh                ; 83 fe ff                    ; 0xfa8bc pcibios.c:319
    jne short 0a8c5h                          ; 75 04                       ; 0xfa8bf pcibios.c:323
    mov ax, bx                                ; 89 d8                       ; 0xfa8c1
    jmp short 0a8c8h                          ; eb 03                       ; 0xfa8c3
    mov ax, strict word 0ffffh                ; b8 ff ff                    ; 0xfa8c5
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xfa8c8 pcibios.c:324
    pop di                                    ; 5f                          ; 0xfa8cb
    pop si                                    ; 5e                          ; 0xfa8cc
    pop bp                                    ; 5d                          ; 0xfa8cd
    retn 00002h                               ; c2 02 00                    ; 0xfa8ce
  ; disGetNextSymbol 0xfa8d1 LB 0x54b -> off=0xc cb=00000000000001db uValue=00000000000f92dd 'pci16_function'
    db  0c3h, 0a9h, 0ddh, 0a9h, 0f0h, 0a9h, 005h, 0aah, 018h, 0aah, 02bh, 0aah
pci16_function:                              ; 0xfa8dd LB 0x1db
    push bp                                   ; 55                          ; 0xfa8dd pcibios.c:326
    mov bp, sp                                ; 89 e5                       ; 0xfa8de
    push si                                   ; 56                          ; 0xfa8e0
    push di                                   ; 57                          ; 0xfa8e1
    push ax                                   ; 50                          ; 0xfa8e2
    push ax                                   ; 50                          ; 0xfa8e3
    and word [bp+020h], 000ffh                ; 81 66 20 ff 00              ; 0xfa8e4 pcibios.c:333
    and word [bp+02ch], strict byte 0fffeh    ; 83 66 2c fe                 ; 0xfa8e9 pcibios.c:334
    mov bx, word [bp+020h]                    ; 8b 5e 20                    ; 0xfa8ed pcibios.c:336
    xor bh, bh                                ; 30 ff                       ; 0xfa8f0
    mov ax, word [bp+020h]                    ; 8b 46 20                    ; 0xfa8f2
    xor ah, ah                                ; 30 e4                       ; 0xfa8f5
    cmp bx, strict byte 00003h                ; 83 fb 03                    ; 0xfa8f7
    jc short 0a916h                           ; 72 1a                       ; 0xfa8fa
    jbe short 0a970h                          ; 76 72                       ; 0xfa8fc
    cmp bx, strict byte 0000eh                ; 83 fb 0e                    ; 0xfa8fe
    je near 0aa3fh                            ; 0f 84 3a 01                 ; 0xfa901
    cmp bx, strict byte 00008h                ; 83 fb 08                    ; 0xfa905
    jc near 0aa84h                            ; 0f 82 78 01                 ; 0xfa908
    cmp bx, strict byte 0000dh                ; 83 fb 0d                    ; 0xfa90c
    jbe near 0a997h                           ; 0f 86 84 00                 ; 0xfa90f
    jmp near 0aa84h                           ; e9 6e 01                    ; 0xfa913
    cmp bx, strict byte 00002h                ; 83 fb 02                    ; 0xfa916
    je short 0a93eh                           ; 74 23                       ; 0xfa919
    cmp bx, strict byte 00001h                ; 83 fb 01                    ; 0xfa91b
    jne near 0aa84h                           ; 0f 85 62 01                 ; 0xfa91e
    mov word [bp+020h], strict word 00001h    ; c7 46 20 01 00              ; 0xfa922 pcibios.c:338
    mov word [bp+014h], 00210h                ; c7 46 14 10 02              ; 0xfa927 pcibios.c:339
    mov word [bp+01ch], strict word 00000h    ; c7 46 1c 00 00              ; 0xfa92c pcibios.c:341
    mov word [bp+018h], 04350h                ; c7 46 18 50 43              ; 0xfa931 pcibios.c:342
    mov word [bp+01ah], 02049h                ; c7 46 1a 49 20              ; 0xfa936
    jmp near 0aab1h                           ; e9 73 01                    ; 0xfa93b pcibios.c:343
    cmp word [bp+018h], strict byte 0ffffh    ; 83 7e 18 ff                 ; 0xfa93e pcibios.c:348
    jne short 0a94ah                          ; 75 06                       ; 0xfa942
    or ah, 083h                               ; 80 cc 83                    ; 0xfa944 pcibios.c:349
    jmp near 0aaaah                           ; e9 60 01                    ; 0xfa947 pcibios.c:350
    push strict byte 00000h                   ; 6a 00                       ; 0xfa94a pcibios.c:352
    mov bx, word [bp+008h]                    ; 8b 5e 08                    ; 0xfa94c
    mov dx, word [bp+01ch]                    ; 8b 56 1c                    ; 0xfa94f
    mov ax, word [bp+018h]                    ; 8b 46 18                    ; 0xfa952
    xor cx, cx                                ; 31 c9                       ; 0xfa955
    call 0a7deh                               ; e8 84 fe                    ; 0xfa957
    cmp ax, strict word 0ffffh                ; 3d ff ff                    ; 0xfa95a pcibios.c:353
    jne short 0a96ah                          ; 75 0b                       ; 0xfa95d
    mov ax, word [bp+020h]                    ; 8b 46 20                    ; 0xfa95f pcibios.c:354
    xor ah, ah                                ; 30 e4                       ; 0xfa962
    or ah, 086h                               ; 80 cc 86                    ; 0xfa964
    jmp near 0aaaah                           ; e9 40 01                    ; 0xfa967
    mov word [bp+014h], ax                    ; 89 46 14                    ; 0xfa96a pcibios.c:355
    jmp near 0aab1h                           ; e9 41 01                    ; 0xfa96d pcibios.c:360
    push strict byte 00000h                   ; 6a 00                       ; 0xfa970 pcibios.c:362
    mov bx, word [bp+008h]                    ; 8b 5e 08                    ; 0xfa972
    mov ax, word [bp+01ch]                    ; 8b 46 1c                    ; 0xfa975
    mov dx, word [bp+01eh]                    ; 8b 56 1e                    ; 0xfa978
    mov cx, strict word 00001h                ; b9 01 00                    ; 0xfa97b
    call 0a7deh                               ; e8 5d fe                    ; 0xfa97e
    cmp ax, strict word 0ffffh                ; 3d ff ff                    ; 0xfa981 pcibios.c:363
    jne short 0a991h                          ; 75 0b                       ; 0xfa984
    mov ax, word [bp+020h]                    ; 8b 46 20                    ; 0xfa986 pcibios.c:364
    xor ah, ah                                ; 30 e4                       ; 0xfa989
    or ah, 086h                               ; 80 cc 86                    ; 0xfa98b
    jmp near 0aaaah                           ; e9 19 01                    ; 0xfa98e pcibios.c:365
    mov word [bp+014h], ax                    ; 89 46 14                    ; 0xfa991 pcibios.c:367
    jmp near 0aab1h                           ; e9 1a 01                    ; 0xfa994 pcibios.c:369
    cmp word [bp+004h], 00100h                ; 81 7e 04 00 01              ; 0xfa997 pcibios.c:376
    jc short 0a9a4h                           ; 72 06                       ; 0xfa99c
    or ah, 087h                               ; 80 cc 87                    ; 0xfa99e pcibios.c:377
    jmp near 0aaaah                           ; e9 06 01                    ; 0xfa9a1 pcibios.c:378
    mov dx, word [bp+004h]                    ; 8b 56 04                    ; 0xfa9a4 pcibios.c:380
    mov ax, word [bp+014h]                    ; 8b 46 14                    ; 0xfa9a7
    call 0a7bah                               ; e8 0d fe                    ; 0xfa9aa
    mov bx, word [bp+020h]                    ; 8b 5e 20                    ; 0xfa9ad pcibios.c:381
    xor bh, bh                                ; 30 ff                       ; 0xfa9b0
    sub bx, strict byte 00008h                ; 83 eb 08                    ; 0xfa9b2
    cmp bx, strict byte 00005h                ; 83 fb 05                    ; 0xfa9b5
    jnbe near 0aab1h                          ; 0f 87 f5 00                 ; 0xfa9b8
    add bx, bx                                ; 01 db                       ; 0xfa9bc
    jmp word [cs:bx-0572fh]                   ; 2e ff a7 d1 a8              ; 0xfa9be
    mov bx, word [bp+01ch]                    ; 8b 5e 1c                    ; 0xfa9c3 pcibios.c:383
    xor bl, bl                                ; 30 db                       ; 0xfa9c6
    mov dx, word [bp+004h]                    ; 8b 56 04                    ; 0xfa9c8
    and dx, strict byte 00003h                ; 83 e2 03                    ; 0xfa9cb
    add dx, 00cfch                            ; 81 c2 fc 0c                 ; 0xfa9ce
    in AL, DX                                 ; ec                          ; 0xfa9d2
    db  02ah, 0e4h
    ; sub ah, ah                                ; 2a e4                     ; 0xfa9d3
    or bx, ax                                 ; 09 c3                       ; 0xfa9d5
    mov word [bp+01ch], bx                    ; 89 5e 1c                    ; 0xfa9d7
    jmp near 0aab1h                           ; e9 d4 00                    ; 0xfa9da pcibios.c:384
    mov dx, word [bp+004h]                    ; 8b 56 04                    ; 0xfa9dd pcibios.c:386
    xor dh, dh                                ; 30 f6                       ; 0xfa9e0
    and dl, 002h                              ; 80 e2 02                    ; 0xfa9e2
    add dx, 00cfch                            ; 81 c2 fc 0c                 ; 0xfa9e5
    in ax, DX                                 ; ed                          ; 0xfa9e9
    mov word [bp+01ch], ax                    ; 89 46 1c                    ; 0xfa9ea
    jmp near 0aab1h                           ; e9 c1 00                    ; 0xfa9ed pcibios.c:387
    mov dx, 00cfch                            ; ba fc 0c                    ; 0xfa9f0 pcibios.c:389
    in eax, DX                                ; 66 ed                       ; 0xfa9f3
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xfa9f5
    shr eax, 010h                             ; 66 c1 e8 10                 ; 0xfa9f7
    xchg dx, ax                               ; 92                          ; 0xfa9fb
    mov word [bp+01ch], ax                    ; 89 46 1c                    ; 0xfa9fc
    mov word [bp+01eh], dx                    ; 89 56 1e                    ; 0xfa9ff
    jmp near 0aab1h                           ; e9 ac 00                    ; 0xfaa02 pcibios.c:390
    mov ax, word [bp+01ch]                    ; 8b 46 1c                    ; 0xfaa05 pcibios.c:392
    mov dx, word [bp+004h]                    ; 8b 56 04                    ; 0xfaa08
    xor dh, dh                                ; 30 f6                       ; 0xfaa0b
    and dl, 003h                              ; 80 e2 03                    ; 0xfaa0d
    add dx, 00cfch                            ; 81 c2 fc 0c                 ; 0xfaa10
    out DX, AL                                ; ee                          ; 0xfaa14
    jmp near 0aab1h                           ; e9 99 00                    ; 0xfaa15 pcibios.c:393
    mov ax, word [bp+01ch]                    ; 8b 46 1c                    ; 0xfaa18 pcibios.c:395
    mov dx, word [bp+004h]                    ; 8b 56 04                    ; 0xfaa1b
    xor dh, dh                                ; 30 f6                       ; 0xfaa1e
    and dl, 002h                              ; 80 e2 02                    ; 0xfaa20
    add dx, 00cfch                            ; 81 c2 fc 0c                 ; 0xfaa23
    out DX, ax                                ; ef                          ; 0xfaa27
    jmp near 0aab1h                           ; e9 86 00                    ; 0xfaa28 pcibios.c:396
    mov ax, word [bp+01ch]                    ; 8b 46 1c                    ; 0xfaa2b pcibios.c:398
    mov cx, word [bp+01eh]                    ; 8b 4e 1e                    ; 0xfaa2e
    mov dx, 00cfch                            ; ba fc 0c                    ; 0xfaa31
    xchg cx, ax                               ; 91                          ; 0xfaa34
    sal eax, 010h                             ; 66 c1 e0 10                 ; 0xfaa35
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xfaa39
    out DX, eax                               ; 66 ef                       ; 0xfaa3b
    jmp short 0aab1h                          ; eb 72                       ; 0xfaa3d pcibios.c:402
    mov bx, word [bp+004h]                    ; 8b 5e 04                    ; 0xfaa3f pcibios.c:404
    mov es, [bp+026h]                         ; 8e 46 26                    ; 0xfaa42
    mov word [bp-008h], bx                    ; 89 5e f8                    ; 0xfaa45
    mov [bp-006h], es                         ; 8c 46 fa                    ; 0xfaa48
    mov cx, word [0f360h]                     ; 8b 0e 60 f3                 ; 0xfaa4b pcibios.c:408
    cmp cx, word [es:bx]                      ; 26 3b 0f                    ; 0xfaa4f
    jbe short 0aa65h                          ; 76 11                       ; 0xfaa52
    mov ax, word [bp+020h]                    ; 8b 46 20                    ; 0xfaa54 pcibios.c:409
    xor ah, ah                                ; 30 e4                       ; 0xfaa57
    or ah, 089h                               ; 80 cc 89                    ; 0xfaa59
    mov word [bp+020h], ax                    ; 89 46 20                    ; 0xfaa5c
    or word [bp+02ch], strict byte 00001h     ; 83 4e 2c 01                 ; 0xfaa5f pcibios.c:410
    jmp short 0aa79h                          ; eb 14                       ; 0xfaa63 pcibios.c:411
    les di, [es:bx+002h]                      ; 26 c4 7f 02                 ; 0xfaa65 pcibios.c:412
    mov si, 0f180h                            ; be 80 f1                    ; 0xfaa69
    mov dx, ds                                ; 8c da                       ; 0xfaa6c
    push DS                                   ; 1e                          ; 0xfaa6e
    mov ds, dx                                ; 8e da                       ; 0xfaa6f
    rep movsb                                 ; f3 a4                       ; 0xfaa71
    pop DS                                    ; 1f                          ; 0xfaa73
    mov word [bp+014h], 00a00h                ; c7 46 14 00 0a              ; 0xfaa74 pcibios.c:414
    mov ax, word [0f360h]                     ; a1 60 f3                    ; 0xfaa79 pcibios.c:416
    les bx, [bp-008h]                         ; c4 5e f8                    ; 0xfaa7c
    mov word [es:bx], ax                      ; 26 89 07                    ; 0xfaa7f
    jmp short 0aab1h                          ; eb 2d                       ; 0xfaa82 pcibios.c:417
    mov bx, 00e16h                            ; bb 16 0e                    ; 0xfaa84 pcibios.c:419
    mov cx, ds                                ; 8c d9                       ; 0xfaa87
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xfaa89
    call 01a27h                               ; e8 98 6f                    ; 0xfaa8c
    mov ax, word [bp+014h]                    ; 8b 46 14                    ; 0xfaa8f
    push ax                                   ; 50                          ; 0xfaa92
    mov ax, word [bp+020h]                    ; 8b 46 20                    ; 0xfaa93
    push ax                                   ; 50                          ; 0xfaa96
    push 00dd2h                               ; 68 d2 0d                    ; 0xfaa97
    push strict byte 00004h                   ; 6a 04                       ; 0xfaa9a
    call 01a68h                               ; e8 c9 6f                    ; 0xfaa9c
    add sp, strict byte 00008h                ; 83 c4 08                    ; 0xfaa9f
    mov ax, word [bp+020h]                    ; 8b 46 20                    ; 0xfaaa2 pcibios.c:420
    xor ah, ah                                ; 30 e4                       ; 0xfaaa5
    or ah, 081h                               ; 80 cc 81                    ; 0xfaaa7
    mov word [bp+020h], ax                    ; 89 46 20                    ; 0xfaaaa
    or word [bp+02ch], strict byte 00001h     ; 83 4e 2c 01                 ; 0xfaaad pcibios.c:421
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xfaab1 pcibios.c:423
    pop di                                    ; 5f                          ; 0xfaab4
    pop si                                    ; 5e                          ; 0xfaab5
    pop bp                                    ; 5d                          ; 0xfaab6
    retn                                      ; c3                          ; 0xfaab7
  ; disGetNextSymbol 0xfaab8 LB 0x364 -> off=0x0 cb=000000000000002b uValue=00000000000f94b8 'pci_find_classcode'
pci_find_classcode:                          ; 0xfaab8 LB 0x2b
    push bp                                   ; 55                          ; 0xfaab8 pciutil.c:135
    mov bp, sp                                ; 89 e5                       ; 0xfaab9
    push bx                                   ; 53                          ; 0xfaabb
    push cx                                   ; 51                          ; 0xfaabc
    push si                                   ; 56                          ; 0xfaabd
    mov cx, dx                                ; 89 d1                       ; 0xfaabe
    xor si, si                                ; 31 f6                       ; 0xfaac0 pciutil.c:138
    mov dx, ax                                ; 89 c2                       ; 0xfaac2
    mov ax, 0b103h                            ; b8 03 b1                    ; 0xfaac4
    sal ecx, 010h                             ; 66 c1 e1 10                 ; 0xfaac7
    db  08bh, 0cah
    ; mov cx, dx                                ; 8b ca                     ; 0xfaacb
    int 01ah                                  ; cd 1a                       ; 0xfaacd
    cmp ah, 000h                              ; 80 fc 00                    ; 0xfaacf
    je near 0aad9h                            ; 0f 84 03 00                 ; 0xfaad2
    mov bx, strict word 0ffffh                ; bb ff ff                    ; 0xfaad6
    mov ax, bx                                ; 89 d8                       ; 0xfaad9
    lea sp, [bp-006h]                         ; 8d 66 fa                    ; 0xfaadb pciutil.c:142
    pop si                                    ; 5e                          ; 0xfaade
    pop cx                                    ; 59                          ; 0xfaadf
    pop bx                                    ; 5b                          ; 0xfaae0
    pop bp                                    ; 5d                          ; 0xfaae1
    retn                                      ; c3                          ; 0xfaae2
  ; disGetNextSymbol 0xfaae3 LB 0x339 -> off=0x0 cb=000000000000001a uValue=00000000000f94e3 'pci_find_class_noif'
pci_find_class_noif:                         ; 0xfaae3 LB 0x1a
    push bp                                   ; 55                          ; 0xfaae3 pciutil.c:155
    mov bp, sp                                ; 89 e5                       ; 0xfaae4
    push bx                                   ; 53                          ; 0xfaae6
    push cx                                   ; 51                          ; 0xfaae7
    push dx                                   ; 52                          ; 0xfaae8
    push strict byte 00001h                   ; 6a 01                       ; 0xfaae9 pciutil.c:159
    mov cx, strict word 00001h                ; b9 01 00                    ; 0xfaaeb
    xor bx, bx                                ; 31 db                       ; 0xfaaee
    xor dx, dx                                ; 31 d2                       ; 0xfaaf0
    call 0a7deh                               ; e8 e9 fc                    ; 0xfaaf2
    lea sp, [bp-006h]                         ; 8d 66 fa                    ; 0xfaaf5 pciutil.c:163
    pop dx                                    ; 5a                          ; 0xfaaf8
    pop cx                                    ; 59                          ; 0xfaaf9
    pop bx                                    ; 5b                          ; 0xfaafa
    pop bp                                    ; 5d                          ; 0xfaafb
    retn                                      ; c3                          ; 0xfaafc
  ; disGetNextSymbol 0xfaafd LB 0x31f -> off=0x0 cb=0000000000000025 uValue=00000000000f94fd 'pci_find_device'
pci_find_device:                             ; 0xfaafd LB 0x25
    push bp                                   ; 55                          ; 0xfaafd pciutil.c:176
    mov bp, sp                                ; 89 e5                       ; 0xfaafe
    push bx                                   ; 53                          ; 0xfab00
    push cx                                   ; 51                          ; 0xfab01
    push si                                   ; 56                          ; 0xfab02
    mov cx, dx                                ; 89 d1                       ; 0xfab03
    xor si, si                                ; 31 f6                       ; 0xfab05 pciutil.c:178
    mov dx, ax                                ; 89 c2                       ; 0xfab07
    mov ax, 0b102h                            ; b8 02 b1                    ; 0xfab09
    int 01ah                                  ; cd 1a                       ; 0xfab0c
    cmp ah, 000h                              ; 80 fc 00                    ; 0xfab0e
    je near 0ab18h                            ; 0f 84 03 00                 ; 0xfab11
    mov bx, strict word 0ffffh                ; bb ff ff                    ; 0xfab15
    mov ax, bx                                ; 89 d8                       ; 0xfab18
    lea sp, [bp-006h]                         ; 8d 66 fa                    ; 0xfab1a pciutil.c:179
    pop si                                    ; 5e                          ; 0xfab1d
    pop cx                                    ; 59                          ; 0xfab1e
    pop bx                                    ; 5b                          ; 0xfab1f
    pop bp                                    ; 5d                          ; 0xfab20
    retn                                      ; c3                          ; 0xfab21
  ; disGetNextSymbol 0xfab22 LB 0x2fa -> off=0x0 cb=0000000000000024 uValue=00000000000f9522 'pci_read_config_byte'
pci_read_config_byte:                        ; 0xfab22 LB 0x24
    push bp                                   ; 55                          ; 0xfab22 pciutil.c:181
    mov bp, sp                                ; 89 e5                       ; 0xfab23
    push cx                                   ; 51                          ; 0xfab25
    push di                                   ; 57                          ; 0xfab26
    movzx di, bl                              ; 0f b6 fb                    ; 0xfab27 pciutil.c:183
    movzx bx, al                              ; 0f b6 d8                    ; 0xfab2a
    sal bx, 008h                              ; c1 e3 08                    ; 0xfab2d
    movzx ax, dl                              ; 0f b6 c2                    ; 0xfab30
    or bx, ax                                 ; 09 c3                       ; 0xfab33
    mov ax, 0b108h                            ; b8 08 b1                    ; 0xfab35
    int 01ah                                  ; cd 1a                       ; 0xfab38
    movzx ax, cl                              ; 0f b6 c1                    ; 0xfab3a
    xor dx, dx                                ; 31 d2                       ; 0xfab3d pciutil.c:184
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xfab3f
    pop di                                    ; 5f                          ; 0xfab42
    pop cx                                    ; 59                          ; 0xfab43
    pop bp                                    ; 5d                          ; 0xfab44
    retn                                      ; c3                          ; 0xfab45
  ; disGetNextSymbol 0xfab46 LB 0x2d6 -> off=0x0 cb=0000000000000022 uValue=00000000000f9546 'pci_read_config_word'
pci_read_config_word:                        ; 0xfab46 LB 0x22
    push bp                                   ; 55                          ; 0xfab46 pciutil.c:186
    mov bp, sp                                ; 89 e5                       ; 0xfab47
    push cx                                   ; 51                          ; 0xfab49
    push di                                   ; 57                          ; 0xfab4a
    movzx di, bl                              ; 0f b6 fb                    ; 0xfab4b pciutil.c:188
    xor ah, ah                                ; 30 e4                       ; 0xfab4e
    sal ax, 008h                              ; c1 e0 08                    ; 0xfab50
    movzx bx, dl                              ; 0f b6 da                    ; 0xfab53
    or bx, ax                                 ; 09 c3                       ; 0xfab56
    mov ax, 0b109h                            ; b8 09 b1                    ; 0xfab58
    int 01ah                                  ; cd 1a                       ; 0xfab5b
    mov ax, cx                                ; 89 c8                       ; 0xfab5d
    xor dx, dx                                ; 31 d2                       ; 0xfab5f pciutil.c:189
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xfab61
    pop di                                    ; 5f                          ; 0xfab64
    pop cx                                    ; 59                          ; 0xfab65
    pop bp                                    ; 5d                          ; 0xfab66
    retn                                      ; c3                          ; 0xfab67
  ; disGetNextSymbol 0xfab68 LB 0x2b4 -> off=0x0 cb=0000000000000027 uValue=00000000000f9568 'pci_read_config_dword'
pci_read_config_dword:                       ; 0xfab68 LB 0x27
    push bp                                   ; 55                          ; 0xfab68 pciutil.c:191
    mov bp, sp                                ; 89 e5                       ; 0xfab69
    push cx                                   ; 51                          ; 0xfab6b
    push di                                   ; 57                          ; 0xfab6c
    movzx di, bl                              ; 0f b6 fb                    ; 0xfab6d pciutil.c:194
    movzx bx, al                              ; 0f b6 d8                    ; 0xfab70
    sal bx, 008h                              ; c1 e3 08                    ; 0xfab73
    movzx ax, dl                              ; 0f b6 c2                    ; 0xfab76
    or bx, ax                                 ; 09 c3                       ; 0xfab79
    mov ax, 0b10ah                            ; b8 0a b1                    ; 0xfab7b
    int 01ah                                  ; cd 1a                       ; 0xfab7e
    db  08bh, 0c1h
    ; mov ax, cx                                ; 8b c1                     ; 0xfab80
    shr ecx, 010h                             ; 66 c1 e9 10                 ; 0xfab82
    mov dx, cx                                ; 89 ca                       ; 0xfab86
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xfab88 pciutil.c:199
    pop di                                    ; 5f                          ; 0xfab8b
    pop cx                                    ; 59                          ; 0xfab8c
    pop bp                                    ; 5d                          ; 0xfab8d
    retn                                      ; c3                          ; 0xfab8e
  ; disGetNextSymbol 0xfab8f LB 0x28d -> off=0x0 cb=000000000000001c uValue=00000000000f958f 'pci_write_config_word'
pci_write_config_word:                       ; 0xfab8f LB 0x1c
    push bp                                   ; 55                          ; 0xfab8f pciutil.c:201
    mov bp, sp                                ; 89 e5                       ; 0xfab90
    push di                                   ; 57                          ; 0xfab92
    movzx di, bl                              ; 0f b6 fb                    ; 0xfab93 pciutil.c:203
    xor ah, ah                                ; 30 e4                       ; 0xfab96
    sal ax, 008h                              ; c1 e0 08                    ; 0xfab98
    movzx bx, dl                              ; 0f b6 da                    ; 0xfab9b
    or bx, ax                                 ; 09 c3                       ; 0xfab9e
    mov ax, 0b10ch                            ; b8 0c b1                    ; 0xfaba0
    int 01ah                                  ; cd 1a                       ; 0xfaba3
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xfaba5 pciutil.c:204
    pop di                                    ; 5f                          ; 0xfaba8
    pop bp                                    ; 5d                          ; 0xfaba9
    retn                                      ; c3                          ; 0xfabaa
  ; disGetNextSymbol 0xfabab LB 0x271 -> off=0x0 cb=000000000000001c uValue=00000000000f95ab 'pci_write_config_byte'
pci_write_config_byte:                       ; 0xfabab LB 0x1c
    push bp                                   ; 55                          ; 0xfabab pciutil.c:206
    mov bp, sp                                ; 89 e5                       ; 0xfabac
    push di                                   ; 57                          ; 0xfabae
    movzx di, bl                              ; 0f b6 fb                    ; 0xfabaf pciutil.c:208
    xor ah, ah                                ; 30 e4                       ; 0xfabb2
    sal ax, 008h                              ; c1 e0 08                    ; 0xfabb4
    movzx bx, dl                              ; 0f b6 da                    ; 0xfabb7
    or bx, ax                                 ; 09 c3                       ; 0xfabba
    mov ax, 0b10bh                            ; b8 0b b1                    ; 0xfabbc
    int 01ah                                  ; cd 1a                       ; 0xfabbf
    lea sp, [bp-002h]                         ; 8d 66 fe                    ; 0xfabc1 pciutil.c:209
    pop di                                    ; 5f                          ; 0xfabc4
    pop bp                                    ; 5d                          ; 0xfabc5
    retn                                      ; c3                          ; 0xfabc6
  ; disGetNextSymbol 0xfabc7 LB 0x255 -> off=0x0 cb=000000000000002f uValue=00000000000f95c7 'pci_write_config_dword'
pci_write_config_dword:                      ; 0xfabc7 LB 0x2f
    push bp                                   ; 55                          ; 0xfabc7 pciutil.c:211
    mov bp, sp                                ; 89 e5                       ; 0xfabc8
    push cx                                   ; 51                          ; 0xfabca
    push di                                   ; 57                          ; 0xfabcb
    movzx di, bl                              ; 0f b6 fb                    ; 0xfabcc pciutil.c:214
    movzx bx, al                              ; 0f b6 d8                    ; 0xfabcf
    mov ax, bx                                ; 89 d8                       ; 0xfabd2
    sal ax, 008h                              ; c1 e0 08                    ; 0xfabd4
    movzx bx, dl                              ; 0f b6 da                    ; 0xfabd7
    or bx, ax                                 ; 09 c3                       ; 0xfabda
    mov dx, word [bp+004h]                    ; 8b 56 04                    ; 0xfabdc
    mov cx, word [bp+006h]                    ; 8b 4e 06                    ; 0xfabdf
    mov ax, 0b10dh                            ; b8 0d b1                    ; 0xfabe2
    sal ecx, 010h                             ; 66 c1 e1 10                 ; 0xfabe5
    db  08bh, 0cah
    ; mov cx, dx                                ; 8b ca                     ; 0xfabe9
    int 01ah                                  ; cd 1a                       ; 0xfabeb
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xfabed pciutil.c:219
    pop di                                    ; 5f                          ; 0xfabf0
    pop cx                                    ; 59                          ; 0xfabf1
    pop bp                                    ; 5d                          ; 0xfabf2
    retn 00004h                               ; c2 04 00                    ; 0xfabf3
  ; disGetNextSymbol 0xfabf6 LB 0x226 -> off=0x0 cb=000000000000001d uValue=00000000000f95f6 'vds_is_present'
vds_is_present:                              ; 0xfabf6 LB 0x1d
    push bx                                   ; 53                          ; 0xfabf6 vds.c:42
    push bp                                   ; 55                          ; 0xfabf7
    mov bp, sp                                ; 89 e5                       ; 0xfabf8
    mov bx, strict word 0007bh                ; bb 7b 00                    ; 0xfabfa vds.c:46
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xfabfd
    mov es, ax                                ; 8e c0                       ; 0xfac00
    test byte [es:bx], 020h                   ; 26 f6 07 20                 ; 0xfac02 vds.c:47
    je short 0ac0eh                           ; 74 06                       ; 0xfac06
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xfac08
    pop bp                                    ; 5d                          ; 0xfac0b
    pop bx                                    ; 5b                          ; 0xfac0c
    retn                                      ; c3                          ; 0xfac0d
    xor ax, ax                                ; 31 c0                       ; 0xfac0e
    pop bp                                    ; 5d                          ; 0xfac10 vds.c:48
    pop bx                                    ; 5b                          ; 0xfac11
    retn                                      ; c3                          ; 0xfac12
  ; disGetNextSymbol 0xfac13 LB 0x209 -> off=0x0 cb=000000000000001e uValue=00000000000f9613 'vds_real_to_lin'
vds_real_to_lin:                             ; 0xfac13 LB 0x1e
    push bx                                   ; 53                          ; 0xfac13 vds.c:77
    push cx                                   ; 51                          ; 0xfac14
    push bp                                   ; 55                          ; 0xfac15
    mov bp, sp                                ; 89 e5                       ; 0xfac16
    mov bx, ax                                ; 89 c3                       ; 0xfac18
    mov ax, dx                                ; 89 d0                       ; 0xfac1a
    xor dx, dx                                ; 31 d2                       ; 0xfac1c vds.c:79
    mov cx, strict word 00004h                ; b9 04 00                    ; 0xfac1e
    sal ax, 1                                 ; d1 e0                       ; 0xfac21
    rcl dx, 1                                 ; d1 d2                       ; 0xfac23
    loop 0ac21h                               ; e2 fa                       ; 0xfac25
    xor cx, cx                                ; 31 c9                       ; 0xfac27
    add ax, bx                                ; 01 d8                       ; 0xfac29
    adc dx, cx                                ; 11 ca                       ; 0xfac2b
    pop bp                                    ; 5d                          ; 0xfac2d vds.c:80
    pop cx                                    ; 59                          ; 0xfac2e
    pop bx                                    ; 5b                          ; 0xfac2f
    retn                                      ; c3                          ; 0xfac30
  ; disGetNextSymbol 0xfac31 LB 0x1eb -> off=0x0 cb=0000000000000079 uValue=00000000000f9631 'vds_build_sg_list'
vds_build_sg_list:                           ; 0xfac31 LB 0x79
    push bp                                   ; 55                          ; 0xfac31 vds.c:87
    mov bp, sp                                ; 89 e5                       ; 0xfac32
    push si                                   ; 56                          ; 0xfac34
    push di                                   ; 57                          ; 0xfac35
    mov di, ax                                ; 89 c7                       ; 0xfac36
    mov si, dx                                ; 89 d6                       ; 0xfac38
    mov ax, bx                                ; 89 d8                       ; 0xfac3a
    mov dx, cx                                ; 89 ca                       ; 0xfac3c
    mov bx, word [bp+004h]                    ; 8b 5e 04                    ; 0xfac3e vds.c:92
    mov es, si                                ; 8e c6                       ; 0xfac41
    mov word [es:di], bx                      ; 26 89 1d                    ; 0xfac43
    mov bx, word [bp+006h]                    ; 8b 5e 06                    ; 0xfac46
    mov word [es:di+002h], bx                 ; 26 89 5d 02                 ; 0xfac49
    call 0ac13h                               ; e8 c3 ff                    ; 0xfac4d vds.c:93
    mov es, si                                ; 8e c6                       ; 0xfac50
    mov word [es:di+004h], ax                 ; 26 89 45 04                 ; 0xfac52
    mov word [es:di+006h], dx                 ; 26 89 55 06                 ; 0xfac56
    mov word [es:di+008h], strict word 00000h ; 26 c7 45 08 00 00           ; 0xfac5a vds.c:94
    call 0abf6h                               ; e8 93 ff                    ; 0xfac60 vds.c:95
    test ax, ax                               ; 85 c0                       ; 0xfac63
    je short 0ac7ah                           ; 74 13                       ; 0xfac65
    mov es, si                                ; 8e c6                       ; 0xfac67 vds.c:97
    mov ax, 08105h                            ; b8 05 81                    ; 0xfac69
    mov dx, strict word 00000h                ; ba 00 00                    ; 0xfac6c
    int 04bh                                  ; cd 4b                       ; 0xfac6f
    jc near 0ac77h                            ; 0f 82 02 00                 ; 0xfac71
    db  032h, 0c0h
    ; xor al, al                                ; 32 c0                     ; 0xfac75
    cbw                                       ; 98                          ; 0xfac77
    jmp short 0aca1h                          ; eb 27                       ; 0xfac78 vds.c:98
    mov es, si                                ; 8e c6                       ; 0xfac7a vds.c:100
    mov word [es:di+00eh], strict word 00001h ; 26 c7 45 0e 01 00           ; 0xfac7c
    mov dx, word [es:di+004h]                 ; 26 8b 55 04                 ; 0xfac82 vds.c:101
    mov ax, word [es:di+006h]                 ; 26 8b 45 06                 ; 0xfac86
    mov word [es:di+010h], dx                 ; 26 89 55 10                 ; 0xfac8a
    mov word [es:di+012h], ax                 ; 26 89 45 12                 ; 0xfac8e
    mov ax, word [bp+004h]                    ; 8b 46 04                    ; 0xfac92 vds.c:102
    mov word [es:di+014h], ax                 ; 26 89 45 14                 ; 0xfac95
    mov ax, bx                                ; 89 d8                       ; 0xfac99
    mov word [es:di+016h], bx                 ; 26 89 5d 16                 ; 0xfac9b
    xor ax, bx                                ; 31 d8                       ; 0xfac9f vds.c:103
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xfaca1 vds.c:106
    pop di                                    ; 5f                          ; 0xfaca4
    pop si                                    ; 5e                          ; 0xfaca5
    pop bp                                    ; 5d                          ; 0xfaca6
    retn 00004h                               ; c2 04 00                    ; 0xfaca7
  ; disGetNextSymbol 0xfacaa LB 0x172 -> off=0x0 cb=0000000000000030 uValue=00000000000f96aa 'vds_free_sg_list'
vds_free_sg_list:                            ; 0xfacaa LB 0x30
    push bp                                   ; 55                          ; 0xfacaa vds.c:112
    mov bp, sp                                ; 89 e5                       ; 0xfacab
    push bx                                   ; 53                          ; 0xfacad
    push di                                   ; 57                          ; 0xfacae
    mov bx, ax                                ; 89 c3                       ; 0xfacaf
    call 0abf6h                               ; e8 42 ff                    ; 0xfacb1 vds.c:116
    test ax, ax                               ; 85 c0                       ; 0xfacb4
    je short 0accbh                           ; 74 13                       ; 0xfacb6
    mov di, bx                                ; 89 df                       ; 0xfacb8 vds.c:118
    mov es, dx                                ; 8e c2                       ; 0xfacba
    mov ax, 08106h                            ; b8 06 81                    ; 0xfacbc
    mov dx, strict word 00000h                ; ba 00 00                    ; 0xfacbf
    int 04bh                                  ; cd 4b                       ; 0xfacc2
    jc near 0accah                            ; 0f 82 02 00                 ; 0xfacc4
    db  032h, 0c0h
    ; xor al, al                                ; 32 c0                     ; 0xfacc8
    cbw                                       ; 98                          ; 0xfacca
    mov es, dx                                ; 8e c2                       ; 0xfaccb vds.c:126
    mov word [es:bx+00eh], strict word 00000h ; 26 c7 47 0e 00 00           ; 0xfaccd
    lea sp, [bp-004h]                         ; 8d 66 fc                    ; 0xfacd3 vds.c:128
    pop di                                    ; 5f                          ; 0xfacd6
    pop bx                                    ; 5b                          ; 0xfacd7
    pop bp                                    ; 5d                          ; 0xfacd8
    retn                                      ; c3                          ; 0xfacd9
  ; disGetNextSymbol 0xfacda LB 0x142 -> off=0x6 cb=0000000000000040 uValue=00000000000f96e0 '__U4M'
    db  000h, 000h, 000h, 000h, 000h, 000h
__U4M:                                       ; 0xface0 LB 0x40
    pushfw                                    ; 9c                          ; 0xface0 __U4M.asm:51
    push eax                                  ; 66 50                       ; 0xface1 __U4M.asm:54
    push edx                                  ; 66 52                       ; 0xface3 __U4M.asm:55
    push ecx                                  ; 66 51                       ; 0xface5 __U4M.asm:56
    rol eax, 010h                             ; 66 c1 c0 10                 ; 0xface7 __U4M.asm:58
    db  08bh, 0c2h
    ; mov ax, dx                                ; 8b c2                     ; 0xfaceb __U4M.asm:59
    ror eax, 010h                             ; 66 c1 c8 10                 ; 0xfaced __U4M.asm:60
    db  066h, 033h, 0d2h
    ; xor edx, edx                              ; 66 33 d2                  ; 0xfacf1 __U4M.asm:61
    shr ecx, 010h                             ; 66 c1 e9 10                 ; 0xfacf4 __U4M.asm:63
    db  08bh, 0cbh
    ; mov cx, bx                                ; 8b cb                     ; 0xfacf8 __U4M.asm:64
    mul ecx                                   ; 66 f7 e1                    ; 0xfacfa __U4M.asm:66
    pop ecx                                   ; 66 59                       ; 0xfacfd __U4M.asm:68
    pop edx                                   ; 66 5a                       ; 0xfacff __U4M.asm:70
    ror eax, 010h                             ; 66 c1 c8 10                 ; 0xfad01 __U4M.asm:71
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xfad05 __U4M.asm:72
    add sp, strict byte 00002h                ; 83 c4 02                    ; 0xfad07 __U4M.asm:73
    pop ax                                    ; 58                          ; 0xfad0a __U4M.asm:74
    rol eax, 010h                             ; 66 c1 c0 10                 ; 0xfad0b __U4M.asm:75
    popfw                                     ; 9d                          ; 0xfad0f __U4M.asm:119
    retn                                      ; c3                          ; 0xfad10 __U4M.asm:120
    times 0xf db 0
  ; disGetNextSymbol 0xfad20 LB 0xfc -> off=0x0 cb=0000000000000040 uValue=00000000000f9720 '__U4D'
__U4D:                                       ; 0xfad20 LB 0x40
    pushfw                                    ; 9c                          ; 0xfad20 __U4D.asm:59
    push eax                                  ; 66 50                       ; 0xfad21 __U4D.asm:62
    push edx                                  ; 66 52                       ; 0xfad23 __U4D.asm:63
    push ecx                                  ; 66 51                       ; 0xfad25 __U4D.asm:64
    rol eax, 010h                             ; 66 c1 c0 10                 ; 0xfad27 __U4D.asm:66
    db  08bh, 0c2h
    ; mov ax, dx                                ; 8b c2                     ; 0xfad2b __U4D.asm:67
    ror eax, 010h                             ; 66 c1 c8 10                 ; 0xfad2d __U4D.asm:68
    db  066h, 033h, 0d2h
    ; xor edx, edx                              ; 66 33 d2                  ; 0xfad31 __U4D.asm:69
    shr ecx, 010h                             ; 66 c1 e9 10                 ; 0xfad34 __U4D.asm:71
    db  08bh, 0cbh
    ; mov cx, bx                                ; 8b cb                     ; 0xfad38 __U4D.asm:72
    div ecx                                   ; 66 f7 f1                    ; 0xfad3a __U4D.asm:74
    db  08bh, 0dah
    ; mov bx, dx                                ; 8b da                     ; 0xfad3d __U4D.asm:76
    pop ecx                                   ; 66 59                       ; 0xfad3f __U4D.asm:77
    shr edx, 010h                             ; 66 c1 ea 10                 ; 0xfad41 __U4D.asm:78
    db  08bh, 0cah
    ; mov cx, dx                                ; 8b ca                     ; 0xfad45 __U4D.asm:79
    pop edx                                   ; 66 5a                       ; 0xfad47 __U4D.asm:81
    ror eax, 010h                             ; 66 c1 c8 10                 ; 0xfad49 __U4D.asm:82
    db  08bh, 0d0h
    ; mov dx, ax                                ; 8b d0                     ; 0xfad4d __U4D.asm:83
    add sp, strict byte 00002h                ; 83 c4 02                    ; 0xfad4f __U4D.asm:84
    pop ax                                    ; 58                          ; 0xfad52 __U4D.asm:85
    rol eax, 010h                             ; 66 c1 c0 10                 ; 0xfad53 __U4D.asm:86
    popfw                                     ; 9d                          ; 0xfad57 __U4D.asm:146
    retn                                      ; c3                          ; 0xfad58 __U4D.asm:147
    times 0x7 db 0
  ; disGetNextSymbol 0xfad60 LB 0xbc -> off=0x0 cb=0000000000000010 uValue=00000000000f9760 '__U8RS'
__U8RS:                                      ; 0xfad60 LB 0x10
    test si, si                               ; 85 f6                       ; 0xfad60 __U8RS.asm:50
    je short 0ad6fh                           ; 74 0b                       ; 0xfad62 __U8RS.asm:51
    shr ax, 1                                 ; d1 e8                       ; 0xfad64 __U8RS.asm:53
    rcr bx, 1                                 ; d1 db                       ; 0xfad66 __U8RS.asm:54
    rcr cx, 1                                 ; d1 d9                       ; 0xfad68 __U8RS.asm:55
    rcr dx, 1                                 ; d1 da                       ; 0xfad6a __U8RS.asm:56
    dec si                                    ; 4e                          ; 0xfad6c __U8RS.asm:57
    jne short 0ad64h                          ; 75 f5                       ; 0xfad6d __U8RS.asm:58
    retn                                      ; c3                          ; 0xfad6f __U8RS.asm:60
  ; disGetNextSymbol 0xfad70 LB 0xac -> off=0x0 cb=0000000000000010 uValue=00000000000f9770 '__U8LS'
__U8LS:                                      ; 0xfad70 LB 0x10
    test si, si                               ; 85 f6                       ; 0xfad70 __U8LS.asm:50
    je short 0ad7fh                           ; 74 0b                       ; 0xfad72 __U8LS.asm:51
    sal dx, 1                                 ; d1 e2                       ; 0xfad74 __U8LS.asm:53
    rcl cx, 1                                 ; d1 d1                       ; 0xfad76 __U8LS.asm:54
    rcl bx, 1                                 ; d1 d3                       ; 0xfad78 __U8LS.asm:55
    rcl ax, 1                                 ; d1 d0                       ; 0xfad7a __U8LS.asm:56
    dec si                                    ; 4e                          ; 0xfad7c __U8LS.asm:57
    jne short 0ad74h                          ; 75 f5                       ; 0xfad7d __U8LS.asm:58
    retn                                      ; c3                          ; 0xfad7f __U8LS.asm:60
  ; disGetNextSymbol 0xfad80 LB 0x9c -> off=0x0 cb=0000000000000010 uValue=00000000000f9780 '_fmemset_'
_fmemset_:                                   ; 0xfad80 LB 0x10
    push di                                   ; 57                          ; 0xfad80 fmemset.asm:52
    mov es, dx                                ; 8e c2                       ; 0xfad81 fmemset.asm:54
    db  08bh, 0f8h
    ; mov di, ax                                ; 8b f8                     ; 0xfad83 fmemset.asm:55
    xchg al, bl                               ; 86 d8                       ; 0xfad85 fmemset.asm:56
    rep stosb                                 ; f3 aa                       ; 0xfad87 fmemset.asm:57
    xchg al, bl                               ; 86 d8                       ; 0xfad89 fmemset.asm:58
    pop di                                    ; 5f                          ; 0xfad8b fmemset.asm:60
    retn                                      ; c3                          ; 0xfad8c fmemset.asm:61
    times 0x3 db 0
  ; disGetNextSymbol 0xfad90 LB 0x8c -> off=0x0 cb=000000000000003a uValue=00000000000f9790 '_fmemcpy_'
_fmemcpy_:                                   ; 0xfad90 LB 0x3a
    push bp                                   ; 55                          ; 0xfad90 fmemcpy.asm:52
    db  08bh, 0ech
    ; mov bp, sp                                ; 8b ec                     ; 0xfad91 fmemcpy.asm:53
    push di                                   ; 57                          ; 0xfad93 fmemcpy.asm:54
    push DS                                   ; 1e                          ; 0xfad94 fmemcpy.asm:55
    push si                                   ; 56                          ; 0xfad95 fmemcpy.asm:56
    mov es, dx                                ; 8e c2                       ; 0xfad96 fmemcpy.asm:58
    db  08bh, 0f8h
    ; mov di, ax                                ; 8b f8                     ; 0xfad98 fmemcpy.asm:59
    mov ds, cx                                ; 8e d9                       ; 0xfad9a fmemcpy.asm:60
    db  08bh, 0f3h
    ; mov si, bx                                ; 8b f3                     ; 0xfad9c fmemcpy.asm:61
    mov cx, word [bp+004h]                    ; 8b 4e 04                    ; 0xfad9e fmemcpy.asm:62
    rep movsb                                 ; f3 a4                       ; 0xfada1 fmemcpy.asm:63
    pop si                                    ; 5e                          ; 0xfada3 fmemcpy.asm:65
    pop DS                                    ; 1f                          ; 0xfada4 fmemcpy.asm:66
    pop di                                    ; 5f                          ; 0xfada5 fmemcpy.asm:67
    db  08bh, 0e5h
    ; mov sp, bp                                ; 8b e5                     ; 0xfada6 fmemcpy.asm:68
    pop bp                                    ; 5d                          ; 0xfada8 fmemcpy.asm:69
    retn                                      ; c3                          ; 0xfada9 fmemcpy.asm:70
    add byte [bx+si], al                      ; 00 00                       ; 0xfadaa
    add byte [bx+si], al                      ; 00 00                       ; 0xfadac
    add byte [bx+si], al                      ; 00 00                       ; 0xfadae
    loopne 0ad5fh                             ; e0 ad                       ; 0xfadb0
    loop 0ad61h                               ; e2 ad                       ; 0xfadb2
    in ax, DX                                 ; ed                          ; 0xfadb4
    lodsw                                     ; ad                          ; 0xfadb5
    in ax, DX                                 ; ed                          ; 0xfadb6
    lodsw                                     ; ad                          ; 0xfadb7
    in ax, DX                                 ; ed                          ; 0xfadb8
    lodsw                                     ; ad                          ; 0xfadb9
    out DX, ax                                ; ef                          ; 0xfadba
    lodsw                                     ; ad                          ; 0xfadbb
    out DX, ax                                ; ef                          ; 0xfadbc
    lodsw                                     ; ad                          ; 0xfadbd
    db  0f1h
    ; icebp                                     ; f1                        ; 0xfadbe
    lodsw                                     ; ad                          ; 0xfadbf
    cmc                                       ; f5                          ; 0xfadc0
    lodsw                                     ; ad                          ; 0xfadc1
    cmc                                       ; f5                          ; 0xfadc2
    lodsw                                     ; ad                          ; 0xfadc3
    imul word [di-05204h]                     ; f7 ad fc ad                 ; 0xfadc4
    db  0feh
    lodsw                                     ; ad                          ; 0xfadc9
  ; disGetNextSymbol 0xfadca LB 0x52 -> off=0x0 cb=0000000000000041 uValue=00000000000097ca 'apm_worker'
apm_worker:                                  ; 0xfadca LB 0x41
    sti                                       ; fb                          ; 0xfadca apm_pm.asm:66
    push ax                                   ; 50                          ; 0xfadcb apm_pm.asm:68
    db  032h, 0e4h
    ; xor ah, ah                                ; 32 e4                     ; 0xfadcc apm_pm.asm:69
    sub AL, strict byte 004h                  ; 2c 04                       ; 0xfadce apm_pm.asm:70
    db  08bh, 0e8h
    ; mov bp, ax                                ; 8b e8                     ; 0xfadd0 apm_pm.asm:71
    sal bp, 1                                 ; d1 e5                       ; 0xfadd2 apm_pm.asm:72
    cmp AL, strict byte 00dh                  ; 3c 0d                       ; 0xfadd4 apm_pm.asm:73
    pop ax                                    ; 58                          ; 0xfadd6 apm_pm.asm:74
    mov AH, strict byte 053h                  ; b4 53                       ; 0xfadd7 apm_pm.asm:75
    jnc short 0ae07h                          ; 73 2c                       ; 0xfadd9 apm_pm.asm:76
    jmp word [cs:bp-05250h]                   ; 2e ff a6 b0 ad              ; 0xfaddb apm_pm.asm:78
    jmp short 0ae05h                          ; eb 23                       ; 0xfade0 apm_pm.asm:81
    push CS                                   ; 0e                          ; 0xfade2 apm_pm.asm:90
    pop ax                                    ; 58                          ; 0xfade3 apm_pm.asm:91
    test ax, strict word 00003h               ; a9 03 00                    ; 0xfade4 apm_pm.asm:92
    jne short 0ae05h                          ; 75 1c                       ; 0xfade7 apm_pm.asm:93
    sti                                       ; fb                          ; 0xfade9 apm_pm.asm:94
    hlt                                       ; f4                          ; 0xfadea apm_pm.asm:95
    jmp short 0ae05h                          ; eb 18                       ; 0xfadeb apm_pm.asm:96
    jmp short 0ae05h                          ; eb 16                       ; 0xfaded apm_pm.asm:105
    jmp short 0ae07h                          ; eb 16                       ; 0xfadef apm_pm.asm:111
    mov AH, strict byte 080h                  ; b4 80                       ; 0xfadf1 apm_pm.asm:114
    jmp short 0ae09h                          ; eb 14                       ; 0xfadf3 apm_pm.asm:115
    jmp short 0ae07h                          ; eb 10                       ; 0xfadf5 apm_pm.asm:120
    mov ax, 00102h                            ; b8 02 01                    ; 0xfadf7 apm_pm.asm:123
    jmp short 0ae05h                          ; eb 09                       ; 0xfadfa apm_pm.asm:124
    jmp short 0ae05h                          ; eb 07                       ; 0xfadfc apm_pm.asm:128
    mov BL, strict byte 000h                  ; b3 00                       ; 0xfadfe apm_pm.asm:131
    mov cx, strict word 00000h                ; b9 00 00                    ; 0xfae00 apm_pm.asm:132
    jmp short 0ae05h                          ; eb 00                       ; 0xfae03 apm_pm.asm:133
    clc                                       ; f8                          ; 0xfae05 apm_pm.asm:136
    retn                                      ; c3                          ; 0xfae06 apm_pm.asm:137
    mov AH, strict byte 009h                  ; b4 09                       ; 0xfae07 apm_pm.asm:140
    stc                                       ; f9                          ; 0xfae09 apm_pm.asm:143
    retn                                      ; c3                          ; 0xfae0a apm_pm.asm:144
  ; disGetNextSymbol 0xfae0b LB 0x11 -> off=0x0 cb=0000000000000011 uValue=00000000000f980b 'apm_pm16_entry'
apm_pm16_entry:                              ; 0xfae0b LB 0x11
    mov AH, strict byte 002h                  ; b4 02                       ; 0xfae0b apm_pm.asm:156
    push DS                                   ; 1e                          ; 0xfae0d apm_pm.asm:162
    push bp                                   ; 55                          ; 0xfae0e apm_pm.asm:163
    push CS                                   ; 0e                          ; 0xfae0f apm_pm.asm:165
    pop bp                                    ; 5d                          ; 0xfae10 apm_pm.asm:166
    add bp, strict byte 00008h                ; 83 c5 08                    ; 0xfae11 apm_pm.asm:167
    mov ds, bp                                ; 8e dd                       ; 0xfae14 apm_pm.asm:168
    call 0adcah                               ; e8 b1 ff                    ; 0xfae16 apm_pm.asm:170
    pop bp                                    ; 5d                          ; 0xfae19 apm_pm.asm:172
    pop DS                                    ; 1f                          ; 0xfae1a apm_pm.asm:173
    retf                                      ; cb                          ; 0xfae1b apm_pm.asm:175

  ; Padding 0x2be4 bytes at 0xfae1c
  times 11236 db 0

section BIOS32 progbits vstart=0xda00 align=1 ; size=0x3d4 class=CODE group=AUTO
  ; disGetNextSymbol 0xfda00 LB 0x3d4 -> off=0x0 cb=0000000000000026 uValue=00000000000f0000 'bios32_service'
bios32_service:                              ; 0xfda00 LB 0x26
    pushfw                                    ; 9c                          ; 0xfda00 pcibio32.asm:62
    cmp bl, 000h                              ; 80 fb 00                    ; 0xfda01 pcibio32.asm:64
    jne short 0da22h                          ; 75 1c                       ; 0xfda04 pcibio32.asm:65
    cmp ax, 05024h                            ; 3d 24 50                    ; 0xfda06 pcibio32.asm:67
    inc bx                                    ; 43                          ; 0xfda09
    dec cx                                    ; 49                          ; 0xfda0a
    mov AL, strict byte 080h                  ; b0 80                       ; 0xfda0b pcibio32.asm:68
    jne short 0da20h                          ; 75 11                       ; 0xfda0d pcibio32.asm:69
    mov bx, strict word 00000h                ; bb 00 00                    ; 0xfda0f pcibio32.asm:71
    db  00fh
    add byte [bx+di-01000h], bh               ; 00 b9 00 f0                 ; 0xfda13
    add byte [bx+si], al                      ; 00 00                       ; 0xfda17
    mov dx, 0da26h                            ; ba 26 da                    ; 0xfda19 pcibio32.asm:73
    add byte [bx+si], al                      ; 00 00                       ; 0xfda1c
    db  032h, 0c0h
    ; xor al, al                                ; 32 c0                     ; 0xfda1e pcibio32.asm:74
    popfw                                     ; 9d                          ; 0xfda20 pcibio32.asm:76
    retf                                      ; cb                          ; 0xfda21 pcibio32.asm:77
    mov AL, strict byte 081h                  ; b0 81                       ; 0xfda22 pcibio32.asm:80
    jmp short 0da20h                          ; eb fa                       ; 0xfda24 pcibio32.asm:81
  ; disGetNextSymbol 0xfda26 LB 0x3ae -> off=0x0 cb=000000000000001a uValue=00000000000f0026 'pcibios32_entry'
pcibios32_entry:                             ; 0xfda26 LB 0x1a
    pushfw                                    ; 9c                          ; 0xfda26 pcibio32.asm:90
    cld                                       ; fc                          ; 0xfda27 pcibio32.asm:91
    push ES                                   ; 06                          ; 0xfda28 pcibio32.asm:93
    pushaw                                    ; 60                          ; 0xfda29 pcibio32.asm:94
    call 0db80h                               ; e8 53 01                    ; 0xfda2a pcibio32.asm:95
    add byte [bx+si], al                      ; 00 00                       ; 0xfda2d
    popaw                                     ; 61                          ; 0xfda2f pcibio32.asm:96
    pop ES                                    ; 07                          ; 0xfda30 pcibio32.asm:97
    popfw                                     ; 9d                          ; 0xfda31 pcibio32.asm:99
    retf                                      ; cb                          ; 0xfda32 pcibio32.asm:100
    times 0xd db 0
  ; disGetNextSymbol 0xfda40 LB 0x394 -> off=0x0 cb=0000000000000021 uValue=00000000000f0040 'apm_pm32_entry'
apm_pm32_entry:                              ; 0xfda40 LB 0x21
    push bp                                   ; 55                          ; 0xfda40 apm_pm.asm:200
    mov ebp, cs                               ; 66 8c cd                    ; 0xfda41 apm_pm.asm:202
    push ebp                                  ; 66 55                       ; 0xfda44 apm_pm.asm:203
    mov bp, 0da5fh                            ; bd 5f da                    ; 0xfda46 apm_pm.asm:204
    add byte [bx+si], al                      ; 00 00                       ; 0xfda49
    push ebp                                  ; 66 55                       ; 0xfda4b apm_pm.asm:205
    push CS                                   ; 0e                          ; 0xfda4d apm_pm.asm:207
    pop bp                                    ; 5d                          ; 0xfda4e apm_pm.asm:208
    add bp, strict byte 00008h                ; 83 c5 08                    ; 0xfda4f apm_pm.asm:209
    push ebp                                  ; 66 55                       ; 0xfda52 apm_pm.asm:210
    mov bp, 0ae0dh                            ; bd 0d ae                    ; 0xfda54 apm_pm.asm:212
    add byte [bx+si], al                      ; 00 00                       ; 0xfda57
    push ebp                                  ; 66 55                       ; 0xfda59 apm_pm.asm:213
    mov AH, strict byte 003h                  ; b4 03                       ; 0xfda5b apm_pm.asm:215
    db  066h, 0cbh
    ; retf                                      ; 66 cb                     ; 0xfda5d
    pop bp                                    ; 5d                          ; 0xfda5f apm_pm.asm:222
    retf                                      ; cb                          ; 0xfda60 apm_pm.asm:223
  ; disGetNextSymbol 0xfda61 LB 0x373 -> off=0x0 cb=0000000000000022 uValue=00000000000f0061 'pci32_select_reg_'
pci32_select_reg_:                           ; 0xfda61 LB 0x22
    push bp                                   ; 55                          ; 0xfda61 pci32.c:198
    mov bp, sp                                ; 89 e5                       ; 0xfda62
    push bx                                   ; 53                          ; 0xfda64
    and dl, 0fch                              ; 80 e2 fc                    ; 0xfda65 pci32.c:200
    mov bx, dx                                ; 89 d3                       ; 0xfda68
    mov dx, 00cf8h                            ; ba f8 0c                    ; 0xfda6a
    add byte [bx+si], al                      ; 00 00                       ; 0xfda6d
    db  00fh, 0b7h, 0c0h
    ; movzx ax, ax                              ; 0f b7 c0                  ; 0xfda6f
    sal ax, 008h                              ; c1 e0 08                    ; 0xfda72
    or ax, strict word 00000h                 ; 0d 00 00                    ; 0xfda75
    add byte [bx+si-03c76h], al               ; 00 80 8a c3                 ; 0xfda78
    out DX, ax                                ; ef                          ; 0xfda7c
    lea sp, [di-004h]                         ; 8d 65 fc                    ; 0xfda7d pci32.c:201
    pop bx                                    ; 5b                          ; 0xfda80
    pop bp                                    ; 5d                          ; 0xfda81
    retn                                      ; c3                          ; 0xfda82
  ; disGetNextSymbol 0xfda83 LB 0x351 -> off=0x0 cb=00000000000000ff uValue=00000000000f0083 'pci32_find_device_'
pci32_find_device_:                          ; 0xfda83 LB 0xff
    push bp                                   ; 55                          ; 0xfda83 pci32.c:233
    mov bp, sp                                ; 89 e5                       ; 0xfda84
    push si                                   ; 56                          ; 0xfda86
    push di                                   ; 57                          ; 0xfda87
    sub sp, strict byte 00014h                ; 83 ec 14                    ; 0xfda88
    push ax                                   ; 50                          ; 0xfda8b
    mov si, dx                                ; 89 d6                       ; 0xfda8c
    mov di, bx                                ; 89 df                       ; 0xfda8e
    mov word [di-01ch], cx                    ; 89 4d e4                    ; 0xfda90
    test bx, bx                               ; 85 db                       ; 0xfda93 pci32.c:243
    xor bx, bx                                ; 31 db                       ; 0xfda95 pci32.c:250
    xor cl, cl                                ; 30 c9                       ; 0xfda97 pci32.c:251
    test bl, 007h                             ; f6 c3 07                    ; 0xfda99 pci32.c:261
    jne short 0dad8h                          ; 75 3a                       ; 0xfda9c
    db  00fh, 0b7h, 0c3h
    ; movzx ax, bx                              ; 0f b7 c3                  ; 0xfda9e pci32.c:262
    mov dx, strict word 0000eh                ; ba 0e 00                    ; 0xfdaa1
    add byte [bx+si], al                      ; 00 00                       ; 0xfdaa4
    call 0da5fh                               ; e8 b6 ff                    ; 0xfdaa6
    db  0ffh
    db  0ffh
    mov dx, 00cfeh                            ; ba fe 0c                    ; 0xfdaab pci32.c:263
    add byte [bx+si], al                      ; 00 00                       ; 0xfdaae
    db  02bh, 0c0h
    ; sub ax, ax                                ; 2b c0                     ; 0xfdab0
    in AL, DX                                 ; ec                          ; 0xfdab2
    mov byte [di-00ch], al                    ; 88 45 f4                    ; 0xfdab3
    cmp AL, strict byte 0ffh                  ; 3c ff                       ; 0xfdab6 pci32.c:264
    jne short 0dac2h                          ; 75 08                       ; 0xfdab8
    add bx, strict byte 00008h                ; 83 c3 08                    ; 0xfdaba pci32.c:265
    jmp near 0db58h                           ; e9 98 00                    ; 0xfdabd pci32.c:266
    add byte [bx+si], al                      ; 00 00                       ; 0xfdac0
    test byte [di-00ch], 080h                 ; f6 45 f4 80                 ; 0xfdac2 pci32.c:268
    je short 0dad1h                           ; 74 09                       ; 0xfdac6
    mov word [di-010h], strict word 00001h    ; c7 45 f0 01 00              ; 0xfdac8 pci32.c:269
    add byte [bx+si], al                      ; 00 00                       ; 0xfdacd
    jmp short 0dad8h                          ; eb 07                       ; 0xfdacf pci32.c:270
    mov word [di-010h], strict word 00008h    ; c7 45 f0 08 00              ; 0xfdad1 pci32.c:271
    add byte [bx+si], al                      ; 00 00                       ; 0xfdad6
    mov al, byte [di-00ch]                    ; 8a 45 f4                    ; 0xfdad8 pci32.c:282
    and AL, strict byte 007h                  ; 24 07                       ; 0xfdadb
    cmp AL, strict byte 001h                  ; 3c 01                       ; 0xfdadd
    jne short 0db05h                          ; 75 24                       ; 0xfdadf
    db  00fh, 0b7h, 0c3h
    ; movzx ax, bx                              ; 0f b7 c3                  ; 0xfdae1
    mov dx, ax                                ; 89 c2                       ; 0xfdae4
    sar dx, 008h                              ; c1 fa 08                    ; 0xfdae6
    test dx, dx                               ; 85 d2                       ; 0xfdae9
    jne short 0db05h                          ; 75 18                       ; 0xfdaeb
    mov dx, strict word 0001ah                ; ba 1a 00                    ; 0xfdaed pci32.c:284
    add byte [bx+si], al                      ; 00 00                       ; 0xfdaf0
    call 0da5fh                               ; e8 6a ff                    ; 0xfdaf2
    db  0ffh
    db  0ffh
    mov dx, 00cfeh                            ; ba fe 0c                    ; 0xfdaf7 pci32.c:285
    add byte [bx+si], al                      ; 00 00                       ; 0xfdafa
    db  02bh, 0c0h
    ; sub ax, ax                                ; 2b c0                     ; 0xfdafc
    in AL, DX                                 ; ec                          ; 0xfdafe
    cmp al, cl                                ; 38 c8                       ; 0xfdaff pci32.c:286
    jbe short 0db05h                          ; 76 02                       ; 0xfdb01
    mov cl, al                                ; 88 c1                       ; 0xfdb03 pci32.c:287
    test di, di                               ; 85 ff                       ; 0xfdb05 pci32.c:291
    je short 0db10h                           ; 74 07                       ; 0xfdb07
    mov ax, strict word 00008h                ; b8 08 00                    ; 0xfdb09
    add byte [bx+si], al                      ; 00 00                       ; 0xfdb0c
    jmp short 0db12h                          ; eb 02                       ; 0xfdb0e
    xor ax, ax                                ; 31 c0                       ; 0xfdb10
    db  00fh, 0b7h, 0d0h
    ; movzx dx, ax                              ; 0f b7 d0                  ; 0xfdb12
    db  00fh, 0b7h, 0c3h
    ; movzx ax, bx                              ; 0f b7 c3                  ; 0xfdb15
    call 0da5fh                               ; e8 44 ff                    ; 0xfdb18
    db  0ffh
    db  0ffh
    mov dx, 00cfch                            ; ba fc 0c                    ; 0xfdb1d pci32.c:292
    add byte [bx+si], al                      ; 00 00                       ; 0xfdb20
    in ax, DX                                 ; ed                          ; 0xfdb22
    mov word [di-014h], ax                    ; 89 45 ec                    ; 0xfdb23
    mov word [di-018h], strict word 00000h    ; c7 45 e8 00 00              ; 0xfdb26 pci32.c:293
    add byte [bx+si], al                      ; 00 00                       ; 0xfdb2b
    test di, di                               ; 85 ff                       ; 0xfdb2d pci32.c:296
    je short 0db42h                           ; 74 11                       ; 0xfdb2f
    cmp word [di-01ch], strict byte 00000h    ; 83 7d e4 00                 ; 0xfdb31 pci32.c:297
    je short 0db3ch                           ; 74 05                       ; 0xfdb35
    shr ax, 010h                              ; c1 e8 10                    ; 0xfdb37 pci32.c:298
    jmp short 0db3fh                          ; eb 03                       ; 0xfdb3a pci32.c:299
    shr ax, 008h                              ; c1 e8 08                    ; 0xfdb3c pci32.c:300
    mov word [di-014h], ax                    ; 89 45 ec                    ; 0xfdb3f
    mov ax, word [di-014h]                    ; 8b 45 ec                    ; 0xfdb42 pci32.c:307
    cmp ax, word [di-020h]                    ; 3b 45 e0                    ; 0xfdb45
    je short 0db50h                           ; 74 06                       ; 0xfdb48
    cmp word [di-018h], strict byte 00000h    ; 83 7d e8 00                 ; 0xfdb4a pci32.c:308
    je short 0db57h                           ; 74 07                       ; 0xfdb4e
    dec si                                    ; 4e                          ; 0xfdb50
    cmp esi, strict byte 0ffffffffh           ; 66 83 fe ff                 ; 0xfdb51
    je short 0db6bh                           ; 74 14                       ; 0xfdb55
    add bx, word [di-010h]                    ; 03 5d f0                    ; 0xfdb57 pci32.c:316
    db  00fh, 0b7h, 0c3h
    ; movzx ax, bx                              ; 0f b7 c3                  ; 0xfdb5a pci32.c:317
    sar ax, 008h                              ; c1 f8 08                    ; 0xfdb5d
    movzx dx, cl                              ; 0f b6 d1                    ; 0xfdb60
    cmp ax, dx                                ; 39 d0                       ; 0xfdb63
    jle near 0da97h                           ; 0f 8e 2e ff                 ; 0xfdb65
    db  0ffh
    jmp word [bp-07dh]                        ; ff 66 83                    ; 0xfdb6a
    db  0feh
    push word [di+005h]                       ; ff 75 05                    ; 0xfdb6e
    db  00fh, 0b7h, 0c3h
    ; movzx ax, bx                              ; 0f b7 c3                  ; 0xfdb71
    jmp short 0db7bh                          ; eb 05                       ; 0xfdb74
    mov ax, strict word 0ffffh                ; b8 ff ff                    ; 0xfdb76
    add byte [bx+si], al                      ; 00 00                       ; 0xfdb79
    lea sp, [di-008h]                         ; 8d 65 f8                    ; 0xfdb7b pci32.c:324
    pop di                                    ; 5f                          ; 0xfdb7e
    pop si                                    ; 5e                          ; 0xfdb7f
    pop bp                                    ; 5d                          ; 0xfdb80
    retn                                      ; c3                          ; 0xfdb81
  ; disGetNextSymbol 0xfdb82 LB 0x252 -> off=0x0 cb=0000000000000252 uValue=00000000000f0182 '_pci32_function'
_pci32_function:                             ; 0xfdb82 LB 0x252
    push bp                                   ; 55                          ; 0xfdb82 pci32.c:326
    mov bp, sp                                ; 89 e5                       ; 0xfdb83
    push bx                                   ; 53                          ; 0xfdb85
    push si                                   ; 56                          ; 0xfdb86
    push di                                   ; 57                          ; 0xfdb87
    push ax                                   ; 50                          ; 0xfdb88
    and dword [di+024h], strict dword 0658100ffh ; 66 81 65 24 ff 00 81 65  ; 0xfdb89 pci32.c:333
    sub AL, strict byte 0feh                  ; 2c fe                       ; 0xfdb91
    inc word [bx+si]                          ; ff 00                       ; 0xfdb93
    add byte [bp+di+02445h], cl               ; 00 8b 45 24                 ; 0xfdb95
    xor ah, ah                                ; 30 e4                       ; 0xfdb99
    cmp eax, strict dword 029720003h          ; 66 3d 03 00 72 29           ; 0xfdb9b
    jbe near 0dc40h                           ; 0f 86 9b 00                 ; 0xfdba1
    add byte [bx+si], al                      ; 00 00                       ; 0xfdba5
    cmp eax, strict dword 0840f000eh          ; 66 3d 0e 00 0f 84           ; 0xfdba7
    lodsw                                     ; ad                          ; 0xfdbad
    add word [bx+si], ax                      ; 01 00                       ; 0xfdbae
    add byte [bp+03dh], ah                    ; 00 66 3d                    ; 0xfdbb0
    or byte [bx+si], al                       ; 08 00                       ; 0xfdbb3
    jc near 0ddbah                            ; 0f 82 01 02                 ; 0xfdbb5
    add byte [bx+si], al                      ; 00 00                       ; 0xfdbb9
    cmp eax, strict dword 0860f000dh          ; 66 3d 0d 00 0f 86           ; 0xfdbbb
    lodsb                                     ; ac                          ; 0xfdbc1
    add byte [bx+si], al                      ; 00 00                       ; 0xfdbc2
    add cl, ch                                ; 00 e9                       ; 0xfdbc4
    repne add word [bx+si], ax                ; f2 01 00                    ; 0xfdbc6
    add byte [bp+03dh], ah                    ; 00 66 3d                    ; 0xfdbc9
    add al, byte [bx+si]                      ; 02 00                       ; 0xfdbcc
    je short 0dbf8h                           ; 74 28                       ; 0xfdbce
    cmp eax, strict dword 0850f0001h          ; 66 3d 01 00 0f 85           ; 0xfdbd0
    loop 0dbd9h                               ; e2 01                       ; 0xfdbd6
    add byte [bx+si], al                      ; 00 00                       ; 0xfdbd8
    mov dword [di+024h], strict dword 0c7660001h ; 66 c7 45 24 01 00 66 c7  ; 0xfdbda pci32.c:338
    inc bp                                    ; 45                          ; 0xfdbe2
    sbb byte [bx+si], dl                      ; 18 10                       ; 0xfdbe3
    add dh, byte [bx+di]                      ; 02 31                       ; 0xfdbe5
    sal byte [bp-077h], 045h                  ; c0 66 89 45                 ; 0xfdbe7
    and bh, al                                ; 20 c7                       ; 0xfdbeb
    inc bp                                    ; 45                          ; 0xfdbed
    sbb AL, strict byte 050h                  ; 1c 50                       ; 0xfdbee
    inc bx                                    ; 43                          ; 0xfdbf0
    dec cx                                    ; 49                          ; 0xfdbf1
    and cl, ch                                ; 20 e9                       ; 0xfdbf2
    aam 001h                                  ; d4 01                       ; 0xfdbf4
    add byte [bx+si], al                      ; 00 00                       ; 0xfdbf6
    cmp dword [di+01ch], strict byte 0ffffffffh ; 66 83 7d 1c ff            ; 0xfdbf8 pci32.c:348
    jne short 0dc0ch                          ; 75 0d                       ; 0xfdbfd
    mov ax, word [di+024h]                    ; 8b 45 24                    ; 0xfdbff pci32.c:349
    xor ah, ah                                ; 30 e4                       ; 0xfdc02
    or ah, 083h                               ; 80 cc 83                    ; 0xfdc04
    jmp near 0ddc2h                           ; e9 b8 01                    ; 0xfdc07 pci32.c:350
    add byte [bx+si], al                      ; 00 00                       ; 0xfdc0a
    xor cx, cx                                ; 31 c9                       ; 0xfdc0c pci32.c:352
    xor bx, bx                                ; 31 db                       ; 0xfdc0e
    db  00fh, 0b7h, 055h, 00ch
    ; movzx dx, [di+00ch]                       ; 0f b7 55 0c               ; 0xfdc10
    db  00fh, 0b7h, 045h, 020h
    ; movzx ax, [di+020h]                       ; 0f b7 45 20               ; 0xfdc14
    sal ax, 010h                              ; c1 e0 10                    ; 0xfdc18
    db  00fh, 0b7h, 075h, 01ch
    ; movzx si, [di+01ch]                       ; 0f b7 75 1c               ; 0xfdc1b
    or ax, si                                 ; 09 f0                       ; 0xfdc1f
    call 0da81h                               ; e8 5d fe                    ; 0xfdc21
    db  0ffh
    jmp word [bp+03dh]                        ; ff 66 3d                    ; 0xfdc25
    db  0ffh
    push word [di+00dh]                       ; ff 75 0d                    ; 0xfdc29
    mov ax, word [di+024h]                    ; 8b 45 24                    ; 0xfdc2c pci32.c:354
    xor ah, ah                                ; 30 e4                       ; 0xfdc2f
    or ah, 086h                               ; 80 cc 86                    ; 0xfdc31
    jmp near 0ddc2h                           ; e9 8b 01                    ; 0xfdc34
    add byte [bx+si], al                      ; 00 00                       ; 0xfdc37
    mov dword [di+018h], eax                  ; 66 89 45 18                 ; 0xfdc39 pci32.c:355
    jmp near 0ddcah                           ; e9 8a 01                    ; 0xfdc3d pci32.c:360
    add byte [bx+si], al                      ; 00 00                       ; 0xfdc40
    db  00fh, 0b7h, 055h, 00ch
    ; movzx dx, [di+00ch]                       ; 0f b7 55 0c               ; 0xfdc42 pci32.c:362
    mov ax, word [di+020h]                    ; 8b 45 20                    ; 0xfdc46
    xor cx, cx                                ; 31 c9                       ; 0xfdc49
    mov bx, strict word 00001h                ; bb 01 00                    ; 0xfdc4b
    add byte [bx+si], al                      ; 00 00                       ; 0xfdc4e
    call 0da81h                               ; e8 2e fe                    ; 0xfdc50
    db  0ffh
    jmp word [bp+03dh]                        ; ff 66 3d                    ; 0xfdc54
    db  0ffh
    push word [di+00dh]                       ; ff 75 0d                    ; 0xfdc58
    mov ax, word [di+024h]                    ; 8b 45 24                    ; 0xfdc5b pci32.c:364
    xor ah, ah                                ; 30 e4                       ; 0xfdc5e
    or ah, 086h                               ; 80 cc 86                    ; 0xfdc60
    jmp near 0ddc2h                           ; e9 5c 01                    ; 0xfdc63 pci32.c:365
    add byte [bx+si], al                      ; 00 00                       ; 0xfdc66
    mov dword [di+018h], eax                  ; 66 89 45 18                 ; 0xfdc68 pci32.c:367
    jmp near 0ddcah                           ; e9 5b 01                    ; 0xfdc6c pci32.c:369
    add byte [bx+si], al                      ; 00 00                       ; 0xfdc6f
    cmp dword [di+008h], strict dword 00d720100h ; 66 81 7d 08 00 01 72 0d  ; 0xfdc71 pci32.c:376
    mov ax, word [di+024h]                    ; 8b 45 24                    ; 0xfdc79 pci32.c:377
    xor ah, ah                                ; 30 e4                       ; 0xfdc7c
    or ah, 087h                               ; 80 cc 87                    ; 0xfdc7e
    jmp near 0ddc2h                           ; e9 3e 01                    ; 0xfdc81 pci32.c:378
    add byte [bx+si], al                      ; 00 00                       ; 0xfdc84
    db  00fh, 0b7h, 055h, 008h
    ; movzx dx, [di+008h]                       ; 0f b7 55 08               ; 0xfdc86 pci32.c:380
    db  00fh, 0b7h, 045h, 018h
    ; movzx ax, [di+018h]                       ; 0f b7 45 18               ; 0xfdc8a
    call 0da5fh                               ; e8 ce fd                    ; 0xfdc8e
    db  0ffh
    dec word [bp+di+02445h]                   ; ff 8b 45 24                 ; 0xfdc92
    xor ah, ah                                ; 30 e4                       ; 0xfdc96
    cmp eax, strict dword 02172000ah          ; 66 3d 0a 00 72 21           ; 0xfdc98
    jbe short 0dd0fh                          ; 76 6f                       ; 0xfdc9e
    cmp eax, strict dword 0840f000dh          ; 66 3d 0d 00 0f 84           ; 0xfdca0
    test ax, strict word 00000h               ; a9 00 00                    ; 0xfdca6
    add byte [bp+03dh], ah                    ; 00 66 3d                    ; 0xfdca9
    or AL, strict byte 000h                   ; 0c 00                       ; 0xfdcac
    je near 0dd35h                            ; 0f 84 83 00                 ; 0xfdcae
    add byte [bx+si], al                      ; 00 00                       ; 0xfdcb2
    cmp eax, strict dword 06374000bh          ; 66 3d 0b 00 74 63           ; 0xfdcb4
    jmp near 0ddcah                           ; e9 0d 01                    ; 0xfdcba
    add byte [bx+si], al                      ; 00 00                       ; 0xfdcbd
    cmp eax, strict dword 02d740009h          ; 66 3d 09 00 74 2d           ; 0xfdcbf
    cmp eax, strict dword 0850f0008h          ; 66 3d 08 00 0f 85           ; 0xfdcc5
    std                                       ; fd                          ; 0xfdccb
    add byte [bx+si], al                      ; 00 00                       ; 0xfdccc
    add byte [bp+di+0205dh], cl               ; 00 8b 5d 20                 ; 0xfdcce
    xor bl, bl                                ; 30 db                       ; 0xfdcd2
    mov ax, word [di+008h]                    ; 8b 45 08                    ; 0xfdcd4
    xor ah, ah                                ; 30 e4                       ; 0xfdcd7
    and AL, strict byte 003h                  ; 24 03                       ; 0xfdcd9
    db  00fh, 0b7h, 0d0h
    ; movzx dx, ax                              ; 0f b7 d0                  ; 0xfdcdb
    add dx, 00cfch                            ; 81 c2 fc 0c                 ; 0xfdcde
    add byte [bx+si], al                      ; 00 00                       ; 0xfdce2
    db  02bh, 0c0h
    ; sub ax, ax                                ; 2b c0                     ; 0xfdce4
    in AL, DX                                 ; ec                          ; 0xfdce6
    or bx, ax                                 ; 09 c3                       ; 0xfdce7
    mov dword [di+020h], ebx                  ; 66 89 5d 20                 ; 0xfdce9
    jmp near 0ddcah                           ; e9 da 00                    ; 0xfdced pci32.c:384
    add byte [bx+si], al                      ; 00 00                       ; 0xfdcf0
    mov ax, word [di+008h]                    ; 8b 45 08                    ; 0xfdcf2 pci32.c:386
    xor ah, ah                                ; 30 e4                       ; 0xfdcf5
    and AL, strict byte 002h                  ; 24 02                       ; 0xfdcf7
    db  00fh, 0b7h, 0d0h
    ; movzx dx, ax                              ; 0f b7 d0                  ; 0xfdcf9
    add dx, 00cfch                            ; 81 c2 fc 0c                 ; 0xfdcfc
    add byte [bx+si], al                      ; 00 00                       ; 0xfdd00
    db  02bh, 0c0h
    ; sub ax, ax                                ; 2b c0                     ; 0xfdd02
    in eax, DX                                ; 66 ed                       ; 0xfdd04
    mov dword [di+020h], eax                  ; 66 89 45 20                 ; 0xfdd06
    jmp near 0ddcah                           ; e9 bd 00                    ; 0xfdd0a pci32.c:387
    add byte [bx+si], al                      ; 00 00                       ; 0xfdd0d
    mov dx, 00cfch                            ; ba fc 0c                    ; 0xfdd0f pci32.c:389
    add byte [bx+si], al                      ; 00 00                       ; 0xfdd12
    in ax, DX                                 ; ed                          ; 0xfdd14
    mov word [di+020h], ax                    ; 89 45 20                    ; 0xfdd15
    jmp near 0ddcah                           ; e9 af 00                    ; 0xfdd18 pci32.c:390
    add byte [bx+si], al                      ; 00 00                       ; 0xfdd1b
    mov ax, word [di+020h]                    ; 8b 45 20                    ; 0xfdd1d pci32.c:392
    mov dx, word [di+008h]                    ; 8b 55 08                    ; 0xfdd20
    xor dh, dh                                ; 30 f6                       ; 0xfdd23
    and dl, 003h                              ; 80 e2 03                    ; 0xfdd25
    db  00fh, 0b7h, 0d2h
    ; movzx dx, dx                              ; 0f b7 d2                  ; 0xfdd28
    add dx, 00cfch                            ; 81 c2 fc 0c                 ; 0xfdd2b
    add byte [bx+si], al                      ; 00 00                       ; 0xfdd2f
    out DX, AL                                ; ee                          ; 0xfdd31
    jmp near 0ddcah                           ; e9 95 00                    ; 0xfdd32 pci32.c:393
    add byte [bx+si], al                      ; 00 00                       ; 0xfdd35
    db  00fh, 0b7h, 045h, 020h
    ; movzx ax, [di+020h]                       ; 0f b7 45 20               ; 0xfdd37 pci32.c:395
    mov dx, word [di+008h]                    ; 8b 55 08                    ; 0xfdd3b
    xor dh, dh                                ; 30 f6                       ; 0xfdd3e
    and dl, 002h                              ; 80 e2 02                    ; 0xfdd40
    db  00fh, 0b7h, 0d2h
    ; movzx dx, dx                              ; 0f b7 d2                  ; 0xfdd43
    add dx, 00cfch                            ; 81 c2 fc 0c                 ; 0xfdd46
    add byte [bx+si], al                      ; 00 00                       ; 0xfdd4a
    out DX, eax                               ; 66 ef                       ; 0xfdd4c
    jmp near 0ddcah                           ; e9 79 00                    ; 0xfdd4e pci32.c:396
    add byte [bx+si], al                      ; 00 00                       ; 0xfdd51
    mov ax, word [di+020h]                    ; 8b 45 20                    ; 0xfdd53 pci32.c:398
    mov dx, 00cfch                            ; ba fc 0c                    ; 0xfdd56
    add byte [bx+si], al                      ; 00 00                       ; 0xfdd59
    out DX, ax                                ; ef                          ; 0xfdd5b
    jmp short 0ddcch                          ; eb 6e                       ; 0xfdd5c pci32.c:402
    db  00fh, 0b7h, 045h, 008h
    ; movzx ax, [di+008h]                       ; 0f b7 45 08               ; 0xfdd5e pci32.c:404
    mov es, [di+028h]                         ; 8e 45 28                    ; 0xfdd62
    mov [di-010h], es                         ; 8c 45 f0                    ; 0xfdd65
    mov bx, ax                                ; 89 c3                       ; 0xfdd68
    mov edx, dword [di]                       ; 66 8b 15                    ; 0xfdd6a pci32.c:408
    pushaw                                    ; 60                          ; 0xfdd6d
    rep add byte [bx+si], al                  ; f3 00 00                    ; 0xfdd6e
    db  066h, 026h, 03bh, 010h
    ; cmp edx, dword [es:bx+si]                 ; 66 26 3b 10               ; 0xfdd71
    jbe short 0dd89h                          ; 76 12                       ; 0xfdd75
    mov ax, word [di+024h]                    ; 8b 45 24                    ; 0xfdd77 pci32.c:409
    xor ah, ah                                ; 30 e4                       ; 0xfdd7a
    or ah, 089h                               ; 80 cc 89                    ; 0xfdd7c
    mov dword [di+024h], eax                  ; 66 89 45 24                 ; 0xfdd7f
    or word [di+02ch], strict byte 00001h     ; 83 4d 2c 01                 ; 0xfdd83 pci32.c:410
    jmp short 0ddadh                          ; eb 24                       ; 0xfdd87 pci32.c:411
    db  00fh, 0b7h, 0cah
    ; movzx cx, dx                              ; 0f b7 ca                  ; 0xfdd89 pci32.c:412
    db  066h, 026h, 08bh, 078h, 006h
    ; mov edi, dword [es:bx+si+006h]            ; 66 26 8b 78 06            ; 0xfdd8c
    mov ax, word [es:bx+si+002h]              ; 26 8b 40 02                 ; 0xfdd91
    mov dx, ds                                ; 8c da                       ; 0xfdd95
    mov si, 0f180h                            ; be 80 f1                    ; 0xfdd97
    add byte [bx+si], al                      ; 00 00                       ; 0xfdd9a
    mov es, di                                ; 8e c7                       ; 0xfdd9c
    mov di, ax                                ; 89 c7                       ; 0xfdd9e
    push DS                                   ; 1e                          ; 0xfdda0
    db  066h, 08eh, 0dah
    ; mov ds, edx                               ; 66 8e da                  ; 0xfdda1
    rep movsb                                 ; f3 a4                       ; 0xfdda4
    pop DS                                    ; 1f                          ; 0xfdda6
    mov dword [di+018h], strict dword 0a1660a00h ; 66 c7 45 18 00 0a 66 a1  ; 0xfdda7 pci32.c:414
    pushaw                                    ; 60                          ; 0xfddaf
    rep add byte [bx+si], al                  ; f3 00 00                    ; 0xfddb0
    mov es, [di-010h]                         ; 8e 45 f0                    ; 0xfddb3
    db  066h, 026h, 089h, 003h
    ; mov dword [es:bp+di], eax                 ; 66 26 89 03               ; 0xfddb6
    jmp short 0ddcch                          ; eb 10                       ; 0xfddba pci32.c:417
    mov ax, word [di+024h]                    ; 8b 45 24                    ; 0xfddbc pci32.c:420
    xor ah, ah                                ; 30 e4                       ; 0xfddbf
    or ah, 081h                               ; 80 cc 81                    ; 0xfddc1
    mov dword [di+024h], eax                  ; 66 89 45 24                 ; 0xfddc4
    or word [di+02ch], strict byte 00001h     ; 83 4d 2c 01                 ; 0xfddc8 pci32.c:421
    lea sp, [di-00ch]                         ; 8d 65 f4                    ; 0xfddcc pci32.c:423
    pop di                                    ; 5f                          ; 0xfddcf
    pop si                                    ; 5e                          ; 0xfddd0
    pop bx                                    ; 5b                          ; 0xfddd1
    pop bp                                    ; 5d                          ; 0xfddd2
    retn                                      ; c3                          ; 0xfddd3

section BIOS32CONST progbits vstart=0xddd4 align=1 ; size=0x0 class=FAR_DATA group=BIOS32_GROUP

section BIOS32CONST2 progbits vstart=0xddd4 align=1 ; size=0x0 class=FAR_DATA group=BIOS32_GROUP

section BIOS32_DATA progbits vstart=0xddd4 align=1 ; size=0x0 class=FAR_DATA group=BIOS32_GROUP

  ; Padding 0x22c bytes at 0xfddd4
  times 556 db 0

section BIOSSEG progbits vstart=0xe000 align=1 ; size=0x2000 class=CODE group=AUTO
  ; disGetNextSymbol 0xfe000 LB 0x2000 -> off=0x0 cb=0000000000000030 uValue=00000000000f0000 'biosorg_check_before_or_at_0E02Eh'
biosorg_check_before_or_at_0E02Eh:           ; 0xfe000 LB 0x30
    times 0x2e db 0
    db  'XM'
  ; disGetNextSymbol 0xfe030 LB 0x1fd0 -> off=0x0 cb=0000000000000004 uValue=00000000000f0030 'eoi_both_pics'
eoi_both_pics:                               ; 0xfe030 LB 0x4
    mov AL, strict byte 020h                  ; b0 20                       ; 0xfe030 orgs.asm:247
    out strict byte 0a0h, AL                  ; e6 a0                       ; 0xfe032 orgs.asm:248
  ; disGetNextSymbol 0xfe034 LB 0x1fcc -> off=0x0 cb=0000000000000005 uValue=00000000000f0034 'eoi_master_pic'
eoi_master_pic:                              ; 0xfe034 LB 0x5
    mov AL, strict byte 020h                  ; b0 20                       ; 0xfe034 orgs.asm:250
    out strict byte 020h, AL                  ; e6 20                       ; 0xfe036 orgs.asm:251
    retn                                      ; c3                          ; 0xfe038 orgs.asm:252
  ; disGetNextSymbol 0xfe039 LB 0x1fc7 -> off=0x0 cb=000000000000000b uValue=0000000000000039 'set_int_vects'
set_int_vects:                               ; 0xfe039 LB 0xb
    mov word [bx], ax                         ; 89 07                       ; 0xfe039 orgs.asm:259
    mov word [bx+002h], dx                    ; 89 57 02                    ; 0xfe03b orgs.asm:260
    add bx, strict byte 00004h                ; 83 c3 04                    ; 0xfe03e orgs.asm:261
    loop 0e039h                               ; e2 f6                       ; 0xfe041 orgs.asm:262
    retn                                      ; c3                          ; 0xfe043 orgs.asm:263
  ; disGetNextSymbol 0xfe044 LB 0x1fbc -> off=0x0 cb=0000000000000006 uValue=00000000000f0044 'eoi_jmp_post'
eoi_jmp_post:                                ; 0xfe044 LB 0x6
    in AL, strict byte 060h                   ; e4 60                       ; 0xfe044 orgs.asm:271
    mov AL, strict byte 020h                  ; b0 20                       ; 0xfe046 orgs.asm:272
    out strict byte 020h, AL                  ; e6 20                       ; 0xfe048 orgs.asm:273
  ; disGetNextSymbol 0xfe04a LB 0x1fb6 -> off=0x0 cb=0000000000000009 uValue=00000000000f004a 'no_eoi_jmp_post'
no_eoi_jmp_post:                             ; 0xfe04a LB 0x9
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xfe04a orgs.asm:276
    mov ds, ax                                ; 8e d8                       ; 0xfe04d orgs.asm:277
    jmp far [word 00067h]                     ; ff 2e 67 00                 ; 0xfe04f orgs.asm:278
  ; disGetNextSymbol 0xfe053 LB 0x1fad -> off=0x0 cb=0000000000000002 uValue=00000000000f0053 'seg_40_value'
seg_40_value:                                ; 0xfe053 LB 0x2
    inc ax                                    ; 40                          ; 0xfe053
    times 0x1 db 0
  ; disGetNextSymbol 0xfe055 LB 0x1fab -> off=0x0 cb=0000000000000006 uValue=00000000000f0055 'biosorg_check_before_or_at_0E059h'
biosorg_check_before_or_at_0E059h:           ; 0xfe055 LB 0x6
    add byte [bx+si], al                      ; 00 00                       ; 0xfe055
    add byte [bx+si], al                      ; 00 00                       ; 0xfe057
    pop ax                                    ; 58                          ; 0xfe059
    dec bp                                    ; 4d                          ; 0xfe05a
  ; disGetNextSymbol 0xfe05b LB 0x1fa5 -> off=0x0 cb=000000000000006e uValue=00000000000f005b 'post'
post:                                        ; 0xfe05b LB 0x6e
    cli                                       ; fa                          ; 0xfe05b orgs.asm:287
    smsw ax                                   ; 0f 01 e0                    ; 0xfe05c orgs.asm:293
    test ax, strict word 00001h               ; a9 01 00                    ; 0xfe05f orgs.asm:294
    je short 0e06ah                           ; 74 06                       ; 0xfe062 orgs.asm:295
    mov AL, strict byte 001h                  ; b0 01                       ; 0xfe064 orgs.asm:304
    out strict byte 092h, AL                  ; e6 92                       ; 0xfe066 orgs.asm:305
    jmp short 0e068h                          ; eb fe                       ; 0xfe068 orgs.asm:306
    mov AL, strict byte 00fh                  ; b0 0f                       ; 0xfe06a orgs.asm:311
    out strict byte 070h, AL                  ; e6 70                       ; 0xfe06c orgs.asm:312
    in AL, strict byte 071h                   ; e4 71                       ; 0xfe06e orgs.asm:313
    xchg ah, al                               ; 86 c4                       ; 0xfe070 orgs.asm:316
    in AL, strict byte 064h                   ; e4 64                       ; 0xfe072 orgs.asm:320
    test AL, strict byte 004h                 ; a8 04                       ; 0xfe074 orgs.asm:321
    je short 0e08bh                           ; 74 13                       ; 0xfe076 orgs.asm:322
    db  08ah, 0c4h
    ; mov al, ah                                ; 8a c4                     ; 0xfe078 orgs.asm:325
    db  00ah, 0c0h
    ; or al, al                                 ; 0a c0                     ; 0xfe07a orgs.asm:326
    jne short 0e08bh                          ; 75 0d                       ; 0xfe07c orgs.asm:327
    mov ds, [cs:0e053h]                       ; 2e 8e 1e 53 e0              ; 0xfe07e orgs.asm:333
    cmp word [word 00072h], 01234h            ; 81 3e 72 00 34 12           ; 0xfe083 orgs.asm:334
    jne short 0e064h                          ; 75 d9                       ; 0xfe089 orgs.asm:335
    mov AL, strict byte 00fh                  ; b0 0f                       ; 0xfe08b orgs.asm:339
    out strict byte 070h, AL                  ; e6 70                       ; 0xfe08d orgs.asm:340
    mov AL, strict byte 000h                  ; b0 00                       ; 0xfe08f orgs.asm:341
    out strict byte 071h, AL                  ; e6 71                       ; 0xfe091 orgs.asm:342
    db  08ah, 0c4h
    ; mov al, ah                                ; 8a c4                     ; 0xfe093 orgs.asm:346
    cmp AL, strict byte 009h                  ; 3c 09                       ; 0xfe095 orgs.asm:347
    je short 0e0abh                           ; 74 12                       ; 0xfe097 orgs.asm:348
    cmp AL, strict byte 00ah                  ; 3c 0a                       ; 0xfe099 orgs.asm:349
    je short 0e0abh                           ; 74 0e                       ; 0xfe09b orgs.asm:350
    db  032h, 0c0h
    ; xor al, al                                ; 32 c0                     ; 0xfe09d orgs.asm:352
    out strict byte 00dh, AL                  ; e6 0d                       ; 0xfe09f orgs.asm:355
    out strict byte 0dah, AL                  ; e6 da                       ; 0xfe0a1 orgs.asm:356
    mov AL, strict byte 0c0h                  ; b0 c0                       ; 0xfe0a3 orgs.asm:359
    out strict byte 0d6h, AL                  ; e6 d6                       ; 0xfe0a5 orgs.asm:360
    mov AL, strict byte 000h                  ; b0 00                       ; 0xfe0a7 orgs.asm:361
    out strict byte 0d4h, AL                  ; e6 d4                       ; 0xfe0a9 orgs.asm:362
    db  08ah, 0c4h
    ; mov al, ah                                ; 8a c4                     ; 0xfe0ab orgs.asm:366
    cmp AL, strict byte 000h                  ; 3c 00                       ; 0xfe0ad orgs.asm:367
    je short 0e0c9h                           ; 74 18                       ; 0xfe0af orgs.asm:368
    cmp AL, strict byte 00dh                  ; 3c 0d                       ; 0xfe0b1 orgs.asm:370
    jnc short 0e0c9h                          ; 73 14                       ; 0xfe0b3 orgs.asm:371
    cmp AL, strict byte 009h                  ; 3c 09                       ; 0xfe0b5 orgs.asm:372
    jne short 0e0bch                          ; 75 03                       ; 0xfe0b7 orgs.asm:373
    jmp near 0e363h                           ; e9 a7 02                    ; 0xfe0b9 orgs.asm:374
    mov sp, 00400h                            ; bc 00 04                    ; 0xfe0bc orgs.asm:377
    cmp AL, strict byte 005h                  ; 3c 05                       ; 0xfe0bf orgs.asm:379
    je short 0e044h                           ; 74 81                       ; 0xfe0c1 orgs.asm:380
    cmp AL, strict byte 00ah                  ; 3c 0a                       ; 0xfe0c3 orgs.asm:382
    je short 0e04ah                           ; 74 83                       ; 0xfe0c5 orgs.asm:383
    jmp short 0e0c9h                          ; eb 00                       ; 0xfe0c7 orgs.asm:387
  ; disGetNextSymbol 0xfe0c9 LB 0x1f37 -> off=0x0 cb=00000000000001f5 uValue=00000000000f00c9 'normal_post'
normal_post:                                 ; 0xfe0c9 LB 0x1f5
    mov ax, 07800h                            ; b8 00 78                    ; 0xfe0c9 orgs.asm:396
    db  08bh, 0e0h
    ; mov sp, ax                                ; 8b e0                     ; 0xfe0cc orgs.asm:397
    db  033h, 0c0h
    ; xor ax, ax                                ; 33 c0                     ; 0xfe0ce orgs.asm:398
    mov ds, ax                                ; 8e d8                       ; 0xfe0d0 orgs.asm:399
    mov ss, ax                                ; 8e d0                       ; 0xfe0d2 orgs.asm:400
    mov es, ax                                ; 8e c0                       ; 0xfe0d4 orgs.asm:404
    db  033h, 0ffh
    ; xor di, di                                ; 33 ff                     ; 0xfe0d6 orgs.asm:405
    cld                                       ; fc                          ; 0xfe0d8 orgs.asm:406
    mov cx, 00239h                            ; b9 39 02                    ; 0xfe0d9 orgs.asm:407
    rep stosw                                 ; f3 ab                       ; 0xfe0dc orgs.asm:408
    inc di                                    ; 47                          ; 0xfe0de orgs.asm:409
    inc di                                    ; 47                          ; 0xfe0df orgs.asm:410
    mov cx, 005c6h                            ; b9 c6 05                    ; 0xfe0e0 orgs.asm:411
    rep stosw                                 ; f3 ab                       ; 0xfe0e3 orgs.asm:412
    db  033h, 0dbh
    ; xor bx, bx                                ; 33 db                     ; 0xfe0e5 orgs.asm:416
    add bx, 01000h                            ; 81 c3 00 10                 ; 0xfe0e7 orgs.asm:418
    cmp bx, 09000h                            ; 81 fb 00 90                 ; 0xfe0eb orgs.asm:419
    jnc short 0e0fch                          ; 73 0b                       ; 0xfe0ef orgs.asm:420
    mov es, bx                                ; 8e c3                       ; 0xfe0f1 orgs.asm:421
    db  033h, 0ffh
    ; xor di, di                                ; 33 ff                     ; 0xfe0f3 orgs.asm:422
    mov cx, 08000h                            ; b9 00 80                    ; 0xfe0f5 orgs.asm:423
    rep stosw                                 ; f3 ab                       ; 0xfe0f8 orgs.asm:424
    jmp short 0e0e7h                          ; eb eb                       ; 0xfe0fa orgs.asm:425
    mov es, bx                                ; 8e c3                       ; 0xfe0fc orgs.asm:427
    db  033h, 0ffh
    ; xor di, di                                ; 33 ff                     ; 0xfe0fe orgs.asm:428
    mov cx, 07ff8h                            ; b9 f8 7f                    ; 0xfe100 orgs.asm:429
    rep stosw                                 ; f3 ab                       ; 0xfe103 orgs.asm:430
    db  033h, 0dbh
    ; xor bx, bx                                ; 33 db                     ; 0xfe105 orgs.asm:431
    push CS                                   ; 0e                          ; 0xfe107 orgs.asm:113
    pop DS                                    ; 1f                          ; 0xfe108 orgs.asm:114
    cld                                       ; fc                          ; 0xfe109 orgs.asm:115
    call 01874h                               ; e8 67 37                    ; 0xfe10a orgs.asm:435
    call 0e8e7h                               ; e8 d7 07                    ; 0xfe10d orgs.asm:438
    db  033h, 0dbh
    ; xor bx, bx                                ; 33 db                     ; 0xfe110 orgs.asm:442
    mov ds, bx                                ; 8e db                       ; 0xfe112 orgs.asm:443
    mov cx, strict word 00060h                ; b9 60 00                    ; 0xfe114 orgs.asm:444
    mov ax, 0ff53h                            ; b8 53 ff                    ; 0xfe117 orgs.asm:445
    mov dx, 0f000h                            ; ba 00 f0                    ; 0xfe11a orgs.asm:446
    call 0e039h                               ; e8 19 ff                    ; 0xfe11d orgs.asm:447
    mov bx, 001a0h                            ; bb a0 01                    ; 0xfe120 orgs.asm:452
    mov cx, strict word 00010h                ; b9 10 00                    ; 0xfe123 orgs.asm:453
    call 0e039h                               ; e8 10 ff                    ; 0xfe126 orgs.asm:454
    mov AL, strict byte 016h                  ; b0 16                       ; 0xfe129 orgs.asm:457
    out strict byte 070h, AL                  ; e6 70                       ; 0xfe12b orgs.asm:458
    in AL, strict byte 071h                   ; e4 71                       ; 0xfe12d orgs.asm:459
    db  08ah, 0e0h
    ; mov ah, al                                ; 8a e0                     ; 0xfe12f orgs.asm:460
    mov AL, strict byte 015h                  ; b0 15                       ; 0xfe131 orgs.asm:461
    out strict byte 070h, AL                  ; e6 70                       ; 0xfe133 orgs.asm:462
    in AL, strict byte 071h                   ; e4 71                       ; 0xfe135 orgs.asm:463
    sub ax, strict byte 00001h                ; 83 e8 01                    ; 0xfe137 orgs.asm:464
    mov word [00413h], ax                     ; a3 13 04                    ; 0xfe13a orgs.asm:465
    mov ax, 0e9cch                            ; b8 cc e9                    ; 0xfe13d orgs.asm:104
    mov word [00018h], ax                     ; a3 18 00                    ; 0xfe140 orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe143 orgs.asm:106
    mov word [0001ah], ax                     ; a3 1a 00                    ; 0xfe146 orgs.asm:107
    mov ax, 0f84dh                            ; b8 4d f8                    ; 0xfe149 orgs.asm:104
    mov word [00044h], ax                     ; a3 44 00                    ; 0xfe14c orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe14f orgs.asm:106
    mov word [00046h], ax                     ; a3 46 00                    ; 0xfe152 orgs.asm:107
    mov ax, 0f841h                            ; b8 41 f8                    ; 0xfe155 orgs.asm:104
    mov word [00048h], ax                     ; a3 48 00                    ; 0xfe158 orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe15b orgs.asm:106
    mov word [0004ah], ax                     ; a3 4a 00                    ; 0xfe15e orgs.asm:107
    mov ax, 0f859h                            ; b8 59 f8                    ; 0xfe161 orgs.asm:104
    mov word [00054h], ax                     ; a3 54 00                    ; 0xfe164 orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe167 orgs.asm:106
    mov word [00056h], ax                     ; a3 56 00                    ; 0xfe16a orgs.asm:107
    mov ax, 0efd4h                            ; b8 d4 ef                    ; 0xfe16d orgs.asm:104
    mov word [0005ch], ax                     ; a3 5c 00                    ; 0xfe170 orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe173 orgs.asm:106
    mov word [0005eh], ax                     ; a3 5e 00                    ; 0xfe176 orgs.asm:107
    mov ax, 0f0a4h                            ; b8 a4 f0                    ; 0xfe179 orgs.asm:104
    mov word [00060h], ax                     ; a3 60 00                    ; 0xfe17c orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe17f orgs.asm:106
    mov word [00062h], ax                     ; a3 62 00                    ; 0xfe182 orgs.asm:107
    mov ax, 0e6f2h                            ; b8 f2 e6                    ; 0xfe185 orgs.asm:104
    mov word [00064h], ax                     ; a3 64 00                    ; 0xfe188 orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe18b orgs.asm:106
    mov word [00066h], ax                     ; a3 66 00                    ; 0xfe18e orgs.asm:107
    mov ax, 0efedh                            ; b8 ed ef                    ; 0xfe191 orgs.asm:104
    mov word [00070h], ax                     ; a3 70 00                    ; 0xfe194 orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe197 orgs.asm:106
    mov word [00072h], ax                     ; a3 72 00                    ; 0xfe19a orgs.asm:107
    call 0e778h                               ; e8 d8 05                    ; 0xfe19d orgs.asm:481
    call 0f126h                               ; e8 83 0f                    ; 0xfe1a0 orgs.asm:485
    call 0f151h                               ; e8 ab 0f                    ; 0xfe1a3 orgs.asm:486
    mov ax, 0fe6eh                            ; b8 6e fe                    ; 0xfe1a6 orgs.asm:104
    mov word [00068h], ax                     ; a3 68 00                    ; 0xfe1a9 orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe1ac orgs.asm:106
    mov word [0006ah], ax                     ; a3 6a 00                    ; 0xfe1af orgs.asm:107
    mov ax, 0fea5h                            ; b8 a5 fe                    ; 0xfe1b2 orgs.asm:104
    mov word [00020h], ax                     ; a3 20 00                    ; 0xfe1b5 orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe1b8 orgs.asm:106
    mov word [00022h], ax                     ; a3 22 00                    ; 0xfe1bb orgs.asm:107
    mov AL, strict byte 034h                  ; b0 34                       ; 0xfe1be orgs.asm:492
    out strict byte 043h, AL                  ; e6 43                       ; 0xfe1c0 orgs.asm:493
    mov AL, strict byte 000h                  ; b0 00                       ; 0xfe1c2 orgs.asm:494
    out strict byte 040h, AL                  ; e6 40                       ; 0xfe1c4 orgs.asm:495
    out strict byte 040h, AL                  ; e6 40                       ; 0xfe1c6 orgs.asm:496
    mov ax, 0f065h                            ; b8 65 f0                    ; 0xfe1c8 orgs.asm:104
    mov word [00040h], ax                     ; a3 40 00                    ; 0xfe1cb orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe1ce orgs.asm:106
    mov word [00042h], ax                     ; a3 42 00                    ; 0xfe1d1 orgs.asm:107
    mov ax, 0e987h                            ; b8 87 e9                    ; 0xfe1d4 orgs.asm:104
    mov word [00024h], ax                     ; a3 24 00                    ; 0xfe1d7 orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe1da orgs.asm:106
    mov word [00026h], ax                     ; a3 26 00                    ; 0xfe1dd orgs.asm:107
    mov ax, 0e82eh                            ; b8 2e e8                    ; 0xfe1e0 orgs.asm:104
    mov word [00058h], ax                     ; a3 58 00                    ; 0xfe1e3 orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe1e6 orgs.asm:106
    mov word [0005ah], ax                     ; a3 5a 00                    ; 0xfe1e9 orgs.asm:107
    db  033h, 0c0h
    ; xor ax, ax                                ; 33 c0                     ; 0xfe1ec orgs.asm:505
    mov ds, ax                                ; 8e d8                       ; 0xfe1ee orgs.asm:506
    mov AL, strict byte 010h                  ; b0 10                       ; 0xfe1f0 orgs.asm:507
    mov byte [00496h], AL                     ; a2 96 04                    ; 0xfe1f2 orgs.asm:508
    mov bx, strict word 0001eh                ; bb 1e 00                    ; 0xfe1f5 orgs.asm:510
    mov word [0041ah], bx                     ; 89 1e 1a 04                 ; 0xfe1f8 orgs.asm:511
    mov word [0041ch], bx                     ; 89 1e 1c 04                 ; 0xfe1fc orgs.asm:512
    mov word [00480h], bx                     ; 89 1e 80 04                 ; 0xfe200 orgs.asm:513
    mov bx, strict word 0003eh                ; bb 3e 00                    ; 0xfe204 orgs.asm:514
    mov word [00482h], bx                     ; 89 1e 82 04                 ; 0xfe207 orgs.asm:515
    mov AL, strict byte 014h                  ; b0 14                       ; 0xfe20b orgs.asm:518
    out strict byte 070h, AL                  ; e6 70                       ; 0xfe20d orgs.asm:519
    in AL, strict byte 071h                   ; e4 71                       ; 0xfe20f orgs.asm:520
    mov byte [00410h], AL                     ; a2 10 04                    ; 0xfe211 orgs.asm:521
    push DS                                   ; 1e                          ; 0xfe214 orgs.asm:523
    push CS                                   ; 0e                          ; 0xfe215 orgs.asm:113
    pop DS                                    ; 1f                          ; 0xfe216 orgs.asm:114
    cld                                       ; fc                          ; 0xfe217 orgs.asm:115
    mov ax, 0c000h                            ; b8 00 c0                    ; 0xfe218 orgs.asm:528
    mov dx, 0c800h                            ; ba 00 c8                    ; 0xfe21b orgs.asm:529
    call 01600h                               ; e8 df 33                    ; 0xfe21e orgs.asm:530
    call 04e4bh                               ; e8 27 6c                    ; 0xfe221 orgs.asm:533
    pop DS                                    ; 1f                          ; 0xfe224 orgs.asm:534
    mov ax, 0ff53h                            ; b8 53 ff                    ; 0xfe225 orgs.asm:104
    mov word [0003ch], ax                     ; a3 3c 00                    ; 0xfe228 orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe22b orgs.asm:106
    mov word [0003eh], ax                     ; a3 3e 00                    ; 0xfe22e orgs.asm:107
    db  033h, 0c0h
    ; xor ax, ax                                ; 33 c0                     ; 0xfe231 orgs.asm:538
    mov ds, ax                                ; 8e d8                       ; 0xfe233 orgs.asm:539
    db  033h, 0dbh
    ; xor bx, bx                                ; 33 db                     ; 0xfe235 orgs.asm:540
    mov CL, strict byte 014h                  ; b1 14                       ; 0xfe237 orgs.asm:541
    mov dx, 00378h                            ; ba 78 03                    ; 0xfe239 orgs.asm:542
    call 0ecedh                               ; e8 ae 0a                    ; 0xfe23c orgs.asm:543
    mov dx, 00278h                            ; ba 78 02                    ; 0xfe23f orgs.asm:544
    call 0ecedh                               ; e8 a8 0a                    ; 0xfe242 orgs.asm:545
    sal bx, 00eh                              ; c1 e3 0e                    ; 0xfe245 orgs.asm:210
    mov ax, word [00410h]                     ; a1 10 04                    ; 0xfe248 orgs.asm:547
    and ax, 03fffh                            ; 25 ff 3f                    ; 0xfe24b orgs.asm:548
    db  00bh, 0c3h
    ; or ax, bx                                 ; 0b c3                     ; 0xfe24e orgs.asm:549
    mov word [00410h], ax                     ; a3 10 04                    ; 0xfe250 orgs.asm:550
    mov ax, 0e746h                            ; b8 46 e7                    ; 0xfe253 orgs.asm:104
    mov word [0002ch], ax                     ; a3 2c 00                    ; 0xfe256 orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe259 orgs.asm:106
    mov word [0002eh], ax                     ; a3 2e 00                    ; 0xfe25c orgs.asm:107
    mov ax, 0e746h                            ; b8 46 e7                    ; 0xfe25f orgs.asm:104
    mov word [00030h], ax                     ; a3 30 00                    ; 0xfe262 orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe265 orgs.asm:106
    mov word [00032h], ax                     ; a3 32 00                    ; 0xfe268 orgs.asm:107
    mov ax, 0e739h                            ; b8 39 e7                    ; 0xfe26b orgs.asm:104
    mov word [00050h], ax                     ; a3 50 00                    ; 0xfe26e orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe271 orgs.asm:106
    mov word [00052h], ax                     ; a3 52 00                    ; 0xfe274 orgs.asm:107
    db  033h, 0dbh
    ; xor bx, bx                                ; 33 db                     ; 0xfe277 orgs.asm:556
    mov CL, strict byte 00ah                  ; b1 0a                       ; 0xfe279 orgs.asm:557
    mov dx, 003f8h                            ; ba f8 03                    ; 0xfe27b orgs.asm:558
    call 0ed0bh                               ; e8 8a 0a                    ; 0xfe27e orgs.asm:559
    mov dx, 002f8h                            ; ba f8 02                    ; 0xfe281 orgs.asm:560
    call 0ed0bh                               ; e8 84 0a                    ; 0xfe284 orgs.asm:561
    mov dx, 003e8h                            ; ba e8 03                    ; 0xfe287 orgs.asm:562
    call 0ed0bh                               ; e8 7e 0a                    ; 0xfe28a orgs.asm:563
    mov dx, 002e8h                            ; ba e8 02                    ; 0xfe28d orgs.asm:564
    call 0ed0bh                               ; e8 78 0a                    ; 0xfe290 orgs.asm:565
    sal bx, 009h                              ; c1 e3 09                    ; 0xfe293 orgs.asm:210
    mov ax, word [00410h]                     ; a1 10 04                    ; 0xfe296 orgs.asm:567
    and ax, 0f1ffh                            ; 25 ff f1                    ; 0xfe299 orgs.asm:568
    db  00bh, 0c3h
    ; or ax, bx                                 ; 0b c3                     ; 0xfe29c orgs.asm:569
    mov word [00410h], ax                     ; a3 10 04                    ; 0xfe29e orgs.asm:570
    mov ax, 0ff53h                            ; b8 53 ff                    ; 0xfe2a1 orgs.asm:104
    mov word [00128h], ax                     ; a3 28 01                    ; 0xfe2a4 orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe2a7 orgs.asm:106
    mov word [0012ah], ax                     ; a3 2a 01                    ; 0xfe2aa orgs.asm:107
    mov ax, 0f8f9h                            ; b8 f9 f8                    ; 0xfe2ad orgs.asm:104
    mov word [001c0h], ax                     ; a3 c0 01                    ; 0xfe2b0 orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe2b3 orgs.asm:106
    mov word [001c2h], ax                     ; a3 c2 01                    ; 0xfe2b6 orgs.asm:107
    call 0edbfh                               ; e8 03 0b                    ; 0xfe2b9 orgs.asm:576
    jmp short 0e303h                          ; eb 45                       ; 0xfe2bc orgs.asm:578
  ; disGetNextSymbol 0xfe2be LB 0x1d42 -> off=0x0 cb=0000000000000005 uValue=00000000000f02be 'biosorg_check_before_or_at_0E2C1h'
biosorg_check_before_or_at_0E2C1h:           ; 0xfe2be LB 0x5
    add byte [bx+si], al                      ; 00 00                       ; 0xfe2be
    add byte [bx+si+04dh], bl                 ; 00 58 4d                    ; 0xfe2c0
  ; disGetNextSymbol 0xfe2c3 LB 0x1d3d -> off=0x0 cb=0000000000000007 uValue=00000000000f02c3 'nmi'
nmi:                                         ; 0xfe2c3 LB 0x7
    push CS                                   ; 0e                          ; 0xfe2c3 orgs.asm:113
    pop DS                                    ; 1f                          ; 0xfe2c4 orgs.asm:114
    cld                                       ; fc                          ; 0xfe2c5 orgs.asm:115
    call 01835h                               ; e8 6c 35                    ; 0xfe2c6 orgs.asm:587
    iret                                      ; cf                          ; 0xfe2c9 orgs.asm:588
  ; disGetNextSymbol 0xfe2ca LB 0x1d36 -> off=0x0 cb=0000000000000008 uValue=00000000000f02ca 'int75_handler'
int75_handler:                               ; 0xfe2ca LB 0x8
    out strict byte 0f0h, AL                  ; e6 f0                       ; 0xfe2ca orgs.asm:591
    call 0e030h                               ; e8 61 fd                    ; 0xfe2cc orgs.asm:592
    int 002h                                  ; cd 02                       ; 0xfe2cf orgs.asm:593
    iret                                      ; cf                          ; 0xfe2d1 orgs.asm:594
  ; disGetNextSymbol 0xfe2d2 LB 0x1d2e -> off=0x0 cb=00000000000000ba uValue=00000000000f02d2 'hard_drive_post'
hard_drive_post:                             ; 0xfe2d2 LB 0xba
    db  033h, 0c0h
    ; xor ax, ax                                ; 33 c0                     ; 0xfe2d2 orgs.asm:599
    mov ds, ax                                ; 8e d8                       ; 0xfe2d4 orgs.asm:600
    mov byte [00474h], AL                     ; a2 74 04                    ; 0xfe2d6 orgs.asm:602
    mov byte [00477h], AL                     ; a2 77 04                    ; 0xfe2d9 orgs.asm:603
    mov byte [0048ch], AL                     ; a2 8c 04                    ; 0xfe2dc orgs.asm:604
    mov byte [0048dh], AL                     ; a2 8d 04                    ; 0xfe2df orgs.asm:605
    mov byte [0048eh], AL                     ; a2 8e 04                    ; 0xfe2e2 orgs.asm:606
    mov AL, strict byte 0c0h                  ; b0 c0                       ; 0xfe2e5 orgs.asm:607
    mov byte [00476h], AL                     ; a2 76 04                    ; 0xfe2e7 orgs.asm:608
    mov ax, 0e3feh                            ; b8 fe e3                    ; 0xfe2ea orgs.asm:104
    mov word [0004ch], ax                     ; a3 4c 00                    ; 0xfe2ed orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe2f0 orgs.asm:106
    mov word [0004eh], ax                     ; a3 4e 00                    ; 0xfe2f3 orgs.asm:107
    mov ax, 0f8e7h                            ; b8 e7 f8                    ; 0xfe2f6 orgs.asm:104
    mov word [001d8h], ax                     ; a3 d8 01                    ; 0xfe2f9 orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe2fc orgs.asm:106
    mov word [001dah], ax                     ; a3 da 01                    ; 0xfe2ff orgs.asm:107
    retn                                      ; c3                          ; 0xfe302 orgs.asm:613
    mov ax, 0f8bch                            ; b8 bc f8                    ; 0xfe303 orgs.asm:104
    mov word [001d0h], ax                     ; a3 d0 01                    ; 0xfe306 orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe309 orgs.asm:106
    mov word [001d2h], ax                     ; a3 d2 01                    ; 0xfe30c orgs.asm:107
    mov ax, 0e2cah                            ; b8 ca e2                    ; 0xfe30f orgs.asm:104
    mov word [001d4h], ax                     ; a3 d4 01                    ; 0xfe312 orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe315 orgs.asm:106
    mov word [001d6h], ax                     ; a3 d6 01                    ; 0xfe318 orgs.asm:107
    call 0e753h                               ; e8 35 04                    ; 0xfe31b orgs.asm:625
    push CS                                   ; 0e                          ; 0xfe31e orgs.asm:113
    pop DS                                    ; 1f                          ; 0xfe31f orgs.asm:114
    cld                                       ; fc                          ; 0xfe320 orgs.asm:115
    pushad                                    ; 66 60                       ; 0xfe321 orgs.asm:632
    call 016a6h                               ; e8 80 33                    ; 0xfe323 orgs.asm:633
    popad                                     ; 66 61                       ; 0xfe326 orgs.asm:634
    call 01da5h                               ; e8 7a 3a                    ; 0xfe328 orgs.asm:639
    call 022c4h                               ; e8 96 3f                    ; 0xfe32b orgs.asm:640
    sti                                       ; fb                          ; 0xfe32e orgs.asm:647
    call 093f0h                               ; e8 be b0                    ; 0xfe32f orgs.asm:648
    cli                                       ; fa                          ; 0xfe332 orgs.asm:649
    call 0835ch                               ; e8 26 a0                    ; 0xfe333 orgs.asm:654
    call 0ed2fh                               ; e8 f6 09                    ; 0xfe336 orgs.asm:658
    call 0e2d2h                               ; e8 96 ff                    ; 0xfe339 orgs.asm:661
    push CS                                   ; 0e                          ; 0xfe33c orgs.asm:113
    pop DS                                    ; 1f                          ; 0xfe33d orgs.asm:114
    cld                                       ; fc                          ; 0xfe33e orgs.asm:115
    mov ax, 0c800h                            ; b8 00 c8                    ; 0xfe33f orgs.asm:665
    mov dx, 0f000h                            ; ba 00 f0                    ; 0xfe342 orgs.asm:666
    call 01600h                               ; e8 b8 32                    ; 0xfe345 orgs.asm:667
    db  066h, 033h, 0c0h
    ; xor eax, eax                              ; 66 33 c0                  ; 0xfe348 orgs.asm:674
    db  066h, 033h, 0dbh
    ; xor ebx, ebx                              ; 66 33 db                  ; 0xfe34b orgs.asm:675
    db  066h, 033h, 0c9h
    ; xor ecx, ecx                              ; 66 33 c9                  ; 0xfe34e orgs.asm:676
    db  066h, 033h, 0d2h
    ; xor edx, edx                              ; 66 33 d2                  ; 0xfe351 orgs.asm:677
    call 01894h                               ; e8 3d 35                    ; 0xfe354 orgs.asm:681
    call 03c95h                               ; e8 3b 59                    ; 0xfe357 orgs.asm:684
    sti                                       ; fb                          ; 0xfe35a orgs.asm:687
    int 019h                                  ; cd 19                       ; 0xfe35b orgs.asm:688
    sti                                       ; fb                          ; 0xfe35d orgs.asm:690
    hlt                                       ; f4                          ; 0xfe35e orgs.asm:692
    jmp short 0e35eh                          ; eb fd                       ; 0xfe35f orgs.asm:693
    cli                                       ; fa                          ; 0xfe361 orgs.asm:694
    hlt                                       ; f4                          ; 0xfe362 orgs.asm:695
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xfe363 orgs.asm:704
    mov ds, ax                                ; 8e d8                       ; 0xfe366 orgs.asm:705
    mov ss, [word 00069h]                     ; 8e 16 69 00                 ; 0xfe368 orgs.asm:707
    mov sp, word [word 00067h]                ; 8b 26 67 00                 ; 0xfe36c orgs.asm:708
    in AL, strict byte 092h                   ; e4 92                       ; 0xfe370 orgs.asm:710
    and AL, strict byte 0fdh                  ; 24 fd                       ; 0xfe372 orgs.asm:711
    out strict byte 092h, AL                  ; e6 92                       ; 0xfe374 orgs.asm:712
    lidt [cs:0efe7h]                          ; 2e 0f 01 1e e7 ef           ; 0xfe376 orgs.asm:714
    pop DS                                    ; 1f                          ; 0xfe37c orgs.asm:716
    pop ES                                    ; 07                          ; 0xfe37d orgs.asm:717
    db  08bh, 0ech
    ; mov bp, sp                                ; 8b ec                     ; 0xfe37e orgs.asm:719
    in AL, strict byte 080h                   ; e4 80                       ; 0xfe380 orgs.asm:721
    mov byte [bp+00fh], al                    ; 88 46 0f                    ; 0xfe382 orgs.asm:722
    db  03ah, 0e0h
    ; cmp ah, al                                ; 3a e0                     ; 0xfe385 orgs.asm:724
    popaw                                     ; 61                          ; 0xfe387 orgs.asm:726
    sti                                       ; fb                          ; 0xfe388 orgs.asm:727
    retf 00002h                               ; ca 02 00                    ; 0xfe389 orgs.asm:728
  ; disGetNextSymbol 0xfe38c LB 0x1c74 -> off=0x0 cb=0000000000000072 uValue=00000000000f038c 'biosorg_check_before_or_at_0E3FCh'
biosorg_check_before_or_at_0E3FCh:           ; 0xfe38c LB 0x72
    times 0x70 db 0
    db  'XM'
  ; disGetNextSymbol 0xfe3fe LB 0x1c02 -> off=0x0 cb=0000000000000003 uValue=00000000000f03fe 'int13_handler'
int13_handler:                               ; 0xfe3fe LB 0x3
    jmp near 0ec5bh                           ; e9 5a 08                    ; 0xfe3fe orgs.asm:738
  ; disGetNextSymbol 0xfe401 LB 0x1bff -> off=0x0 cb=0000000000000170 uValue=00000000000f0401 'rom_fdpt'
rom_fdpt:                                    ; 0xfe401 LB 0x170
    db  032h, 001h, 004h, 000h, 000h, 080h, 000h, 000h, 000h, 000h, 000h, 000h, 031h, 001h, 011h, 000h
    db  067h, 002h, 004h, 000h, 000h, 02ch, 001h, 000h, 000h, 000h, 000h, 000h, 067h, 002h, 011h, 000h
    db  067h, 002h, 006h, 000h, 000h, 02ch, 001h, 000h, 000h, 000h, 000h, 000h, 067h, 002h, 011h, 000h
    db  0ach, 003h, 008h, 000h, 000h, 000h, 002h, 000h, 000h, 000h, 000h, 000h, 0ach, 003h, 011h, 000h
    db  0ach, 003h, 006h, 000h, 000h, 000h, 002h, 000h, 000h, 000h, 000h, 000h, 0ach, 003h, 011h, 000h
    db  067h, 002h, 004h, 000h, 000h, 0ffh, 0ffh, 000h, 000h, 000h, 000h, 000h, 067h, 002h, 011h, 000h
    db  0ceh, 001h, 008h, 000h, 000h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 0ffh, 001h, 011h, 000h
    db  0ddh, 002h, 005h, 000h, 000h, 0ffh, 0ffh, 000h, 000h, 000h, 000h, 000h, 0ddh, 002h, 011h, 000h
    db  084h, 003h, 00fh, 000h, 000h, 0ffh, 0ffh, 000h, 008h, 000h, 000h, 000h, 085h, 003h, 011h, 000h
    db  034h, 003h, 003h, 000h, 000h, 0ffh, 0ffh, 000h, 000h, 000h, 000h, 000h, 034h, 003h, 011h, 000h
    db  057h, 003h, 005h, 000h, 000h, 0ffh, 0ffh, 000h, 000h, 000h, 000h, 000h, 057h, 003h, 011h, 000h
    db  057h, 003h, 007h, 000h, 000h, 0ffh, 0ffh, 000h, 000h, 000h, 000h, 000h, 057h, 003h, 011h, 000h
    db  032h, 001h, 008h, 000h, 000h, 080h, 000h, 000h, 000h, 000h, 000h, 000h, 03fh, 001h, 011h, 000h
    db  0ddh, 002h, 007h, 000h, 000h, 0ffh, 0ffh, 000h, 000h, 000h, 000h, 000h, 0ddh, 002h, 011h, 000h
    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    db  064h, 002h, 004h, 000h, 000h, 0ffh, 0ffh, 000h, 000h, 000h, 000h, 000h, 079h, 002h, 011h, 000h
    db  0d1h, 003h, 005h, 000h, 000h, 02ch, 001h, 000h, 000h, 000h, 000h, 000h, 0d1h, 003h, 011h, 000h
    db  0d1h, 003h, 007h, 000h, 000h, 0ffh, 0ffh, 000h, 000h, 000h, 000h, 000h, 0d1h, 003h, 011h, 000h
    db  000h, 004h, 007h, 000h, 000h, 000h, 002h, 000h, 000h, 000h, 000h, 000h, 0ffh, 003h, 011h, 000h
    db  0ddh, 002h, 005h, 000h, 000h, 02ch, 001h, 000h, 000h, 000h, 000h, 000h, 0dch, 002h, 011h, 000h
    db  0ddh, 002h, 007h, 000h, 000h, 02ch, 001h, 000h, 000h, 000h, 000h, 000h, 0dch, 002h, 011h, 000h
    db  0ddh, 002h, 005h, 000h, 000h, 02ch, 001h, 000h, 000h, 000h, 000h, 000h, 0ddh, 002h, 011h, 000h
    db  032h, 001h, 004h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 050h, 001h, 011h, 000h
  ; disGetNextSymbol 0xfe571 LB 0x1a8f -> off=0x0 cb=0000000000000181 uValue=00000000000f0571 'biosorg_check_before_or_at_0E6F0h'
biosorg_check_before_or_at_0E6F0h:           ; 0xfe571 LB 0x181
    times 0x17f db 0
    db  'XM'
  ; disGetNextSymbol 0xfe6f2 LB 0x190e -> off=0x0 cb=0000000000000003 uValue=00000000000f06f2 'int19_handler'
int19_handler:                               ; 0xfe6f2 LB 0x3
    jmp near 0f0aeh                           ; e9 b9 09                    ; 0xfe6f2 orgs.asm:795
  ; disGetNextSymbol 0xfe6f5 LB 0x190b -> off=0x0 cb=000000000000000a uValue=00000000000f06f5 'biosorg_check_at_0E6F5h'
biosorg_check_at_0E6F5h:                     ; 0xfe6f5 LB 0xa
    or word [bx+si], ax                       ; 09 00                       ; 0xfe6f5
    cld                                       ; fc                          ; 0xfe6f7
    add word [bx+di], ax                      ; 01 01                       ; 0xfe6f8
    je short 0e73ch                           ; 74 40                       ; 0xfe6fa
    times 0x3 db 0
  ; disGetNextSymbol 0xfe6ff LB 0x1901 -> off=0x0 cb=000000000000002a uValue=00000000000f06ff 'biosorg_check_before_or_at_0E727h'
biosorg_check_before_or_at_0E727h:           ; 0xfe6ff LB 0x2a
    times 0x28 db 0
    db  'XM'
  ; disGetNextSymbol 0xfe729 LB 0x18d7 -> off=0x0 cb=0000000000000010 uValue=00000000000f0729 'biosorg_check_at_0E729h'
biosorg_check_at_0E729h:                     ; 0xfe729 LB 0x10
    times 0xe db 0
    db  'XM'
  ; disGetNextSymbol 0xfe739 LB 0x18c7 -> off=0x0 cb=000000000000001a uValue=00000000000f0739 'biosorg_check_at_0E739h'
biosorg_check_at_0E739h:                     ; 0xfe739 LB 0x1a
    push DS                                   ; 1e                          ; 0xfe739 orgs.asm:868
    push ES                                   ; 06                          ; 0xfe73a orgs.asm:869
    pushaw                                    ; 60                          ; 0xfe73b orgs.asm:107
    push CS                                   ; 0e                          ; 0xfe73c orgs.asm:113
    pop DS                                    ; 1f                          ; 0xfe73d orgs.asm:114
    cld                                       ; fc                          ; 0xfe73e orgs.asm:115
    call 0633fh                               ; e8 fd 7b                    ; 0xfe73f orgs.asm:872
    popaw                                     ; 61                          ; 0xfe742 orgs.asm:124
    pop ES                                    ; 07                          ; 0xfe743 orgs.asm:874
    pop DS                                    ; 1f                          ; 0xfe744 orgs.asm:875
    iret                                      ; cf                          ; 0xfe745 orgs.asm:876
    push DS                                   ; 1e                          ; 0xfe746 orgs.asm:884
    push ES                                   ; 06                          ; 0xfe747 orgs.asm:885
    pushaw                                    ; 60                          ; 0xfe748 orgs.asm:107
    push CS                                   ; 0e                          ; 0xfe749 orgs.asm:113
    pop DS                                    ; 1f                          ; 0xfe74a orgs.asm:114
    cld                                       ; fc                          ; 0xfe74b orgs.asm:115
    call 017cbh                               ; e8 7c 30                    ; 0xfe74c orgs.asm:888
    popaw                                     ; 61                          ; 0xfe74f orgs.asm:124
    pop ES                                    ; 07                          ; 0xfe750 orgs.asm:890
    pop DS                                    ; 1f                          ; 0xfe751 orgs.asm:891
    iret                                      ; cf                          ; 0xfe752 orgs.asm:892
  ; disGetNextSymbol 0xfe753 LB 0x18ad -> off=0x0 cb=0000000000000025 uValue=00000000000f0753 'init_pic'
init_pic:                                    ; 0xfe753 LB 0x25
    mov AL, strict byte 011h                  ; b0 11                       ; 0xfe753 orgs.asm:897
    out strict byte 020h, AL                  ; e6 20                       ; 0xfe755 orgs.asm:898
    out strict byte 0a0h, AL                  ; e6 a0                       ; 0xfe757 orgs.asm:899
    mov AL, strict byte 008h                  ; b0 08                       ; 0xfe759 orgs.asm:900
    out strict byte 021h, AL                  ; e6 21                       ; 0xfe75b orgs.asm:901
    mov AL, strict byte 070h                  ; b0 70                       ; 0xfe75d orgs.asm:902
    out strict byte 0a1h, AL                  ; e6 a1                       ; 0xfe75f orgs.asm:903
    mov AL, strict byte 004h                  ; b0 04                       ; 0xfe761 orgs.asm:904
    out strict byte 021h, AL                  ; e6 21                       ; 0xfe763 orgs.asm:905
    mov AL, strict byte 002h                  ; b0 02                       ; 0xfe765 orgs.asm:906
    out strict byte 0a1h, AL                  ; e6 a1                       ; 0xfe767 orgs.asm:907
    mov AL, strict byte 001h                  ; b0 01                       ; 0xfe769 orgs.asm:908
    out strict byte 021h, AL                  ; e6 21                       ; 0xfe76b orgs.asm:909
    out strict byte 0a1h, AL                  ; e6 a1                       ; 0xfe76d orgs.asm:910
    mov AL, strict byte 0b8h                  ; b0 b8                       ; 0xfe76f orgs.asm:911
    out strict byte 021h, AL                  ; e6 21                       ; 0xfe771 orgs.asm:912
    mov AL, strict byte 08fh                  ; b0 8f                       ; 0xfe773 orgs.asm:913
    out strict byte 0a1h, AL                  ; e6 a1                       ; 0xfe775 orgs.asm:914
    retn                                      ; c3                          ; 0xfe777 orgs.asm:915
  ; disGetNextSymbol 0xfe778 LB 0x1888 -> off=0x0 cb=0000000000000057 uValue=00000000000f0778 'ebda_post'
ebda_post:                                   ; 0xfe778 LB 0x57
    mov ax, 0e746h                            ; b8 46 e7                    ; 0xfe778 orgs.asm:104
    mov word [00034h], ax                     ; a3 34 00                    ; 0xfe77b orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe77e orgs.asm:106
    mov word [00036h], ax                     ; a3 36 00                    ; 0xfe781 orgs.asm:107
    mov ax, 0e746h                            ; b8 46 e7                    ; 0xfe784 orgs.asm:104
    mov word [0003ch], ax                     ; a3 3c 00                    ; 0xfe787 orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe78a orgs.asm:106
    mov word [0003eh], ax                     ; a3 3e 00                    ; 0xfe78d orgs.asm:107
    mov ax, 0e746h                            ; b8 46 e7                    ; 0xfe790 orgs.asm:104
    mov word [001c8h], ax                     ; a3 c8 01                    ; 0xfe793 orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe796 orgs.asm:106
    mov word [001cah], ax                     ; a3 ca 01                    ; 0xfe799 orgs.asm:107
    mov ax, 0e746h                            ; b8 46 e7                    ; 0xfe79c orgs.asm:104
    mov word [001cch], ax                     ; a3 cc 01                    ; 0xfe79f orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe7a2 orgs.asm:106
    mov word [001ceh], ax                     ; a3 ce 01                    ; 0xfe7a5 orgs.asm:107
    mov ax, 0e746h                            ; b8 46 e7                    ; 0xfe7a8 orgs.asm:104
    mov word [001dch], ax                     ; a3 dc 01                    ; 0xfe7ab orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfe7ae orgs.asm:106
    mov word [001deh], ax                     ; a3 de 01                    ; 0xfe7b1 orgs.asm:107
    db  033h, 0c0h
    ; xor ax, ax                                ; 33 c0                     ; 0xfe7b4 orgs.asm:928
    mov ds, ax                                ; 8e d8                       ; 0xfe7b6 orgs.asm:929
    mov ax, word [00413h]                     ; a1 13 04                    ; 0xfe7b8 orgs.asm:930
    mov cx, strict word 00040h                ; b9 40 00                    ; 0xfe7bb orgs.asm:931
    mul cx                                    ; f7 e1                       ; 0xfe7be orgs.asm:932
    mov word [0040eh], ax                     ; a3 0e 04                    ; 0xfe7c0 orgs.asm:934
    mov ds, ax                                ; 8e d8                       ; 0xfe7c3 orgs.asm:936
    mov byte [word 00000h], 001h              ; c6 06 00 00 01              ; 0xfe7c5 orgs.asm:937
    db  033h, 0c0h
    ; xor ax, ax                                ; 33 c0                     ; 0xfe7ca orgs.asm:939
    mov ds, ax                                ; 8e d8                       ; 0xfe7cc orgs.asm:940
    retn                                      ; c3                          ; 0xfe7ce orgs.asm:941
  ; disGetNextSymbol 0xfe7cf LB 0x1831 -> off=0x0 cb=000000000000005f uValue=00000000000f07cf 'biosorg_check_before_or_at_0E82Ch'
biosorg_check_before_or_at_0E82Ch:           ; 0xfe7cf LB 0x5f
    times 0x5d db 0
    db  'XM'
  ; disGetNextSymbol 0xfe82e LB 0x17d2 -> off=0x0 cb=000000000000003d uValue=00000000000f082e 'biosorg_check_at_0E82Eh'
biosorg_check_at_0E82Eh:                     ; 0xfe82e LB 0x3d
    sti                                       ; fb                          ; 0xfe82e orgs.asm:952
    pushfw                                    ; 9c                          ; 0xfe82f orgs.asm:955
    push ES                                   ; 06                          ; 0xfe830 orgs.asm:956
    push DS                                   ; 1e                          ; 0xfe831 orgs.asm:957
    pushaw                                    ; 60                          ; 0xfe832 orgs.asm:107
    cmp ah, 000h                              ; 80 fc 00                    ; 0xfe833 orgs.asm:960
    je short 0e84ah                           ; 74 12                       ; 0xfe836 orgs.asm:961
    cmp ah, 010h                              ; 80 fc 10                    ; 0xfe838 orgs.asm:963
    je short 0e84ah                           ; 74 0d                       ; 0xfe83b orgs.asm:964
    push CS                                   ; 0e                          ; 0xfe83d orgs.asm:113
    pop DS                                    ; 1f                          ; 0xfe83e orgs.asm:114
    cld                                       ; fc                          ; 0xfe83f orgs.asm:115
    call 05599h                               ; e8 56 6d                    ; 0xfe840 orgs.asm:967
    popaw                                     ; 61                          ; 0xfe843 orgs.asm:124
    pop DS                                    ; 1f                          ; 0xfe844 orgs.asm:969
    pop ES                                    ; 07                          ; 0xfe845 orgs.asm:970
    add sp, strict byte 00002h                ; 83 c4 02                    ; 0xfe846 orgs.asm:971
    iret                                      ; cf                          ; 0xfe849 orgs.asm:972
    mov bx, strict word 00040h                ; bb 40 00                    ; 0xfe84a orgs.asm:975
    mov ds, bx                                ; 8e db                       ; 0xfe84d orgs.asm:976
    cli                                       ; fa                          ; 0xfe84f orgs.asm:978
    mov bx, word [word 0001ah]                ; 8b 1e 1a 00                 ; 0xfe850 orgs.asm:979
    cmp bx, word [word 0001ch]                ; 3b 1e 1c 00                 ; 0xfe854 orgs.asm:980
    jne short 0e85eh                          ; 75 04                       ; 0xfe858 orgs.asm:981
    sti                                       ; fb                          ; 0xfe85a orgs.asm:982
    nop                                       ; 90                          ; 0xfe85b orgs.asm:983
    jmp short 0e84fh                          ; eb f1                       ; 0xfe85c orgs.asm:991
    push CS                                   ; 0e                          ; 0xfe85e orgs.asm:113
    pop DS                                    ; 1f                          ; 0xfe85f orgs.asm:114
    cld                                       ; fc                          ; 0xfe860 orgs.asm:115
    call 05599h                               ; e8 35 6d                    ; 0xfe861 orgs.asm:995
    popaw                                     ; 61                          ; 0xfe864 orgs.asm:124
    pop DS                                    ; 1f                          ; 0xfe865 orgs.asm:997
    pop ES                                    ; 07                          ; 0xfe866 orgs.asm:998
    add sp, strict byte 00002h                ; 83 c4 02                    ; 0xfe867 orgs.asm:999
    iret                                      ; cf                          ; 0xfe86a orgs.asm:1007
  ; disGetNextSymbol 0xfe86b LB 0x1795 -> off=0x0 cb=000000000000001b uValue=00000000000f086b 'pmode_enter'
pmode_enter:                                 ; 0xfe86b LB 0x1b
    push CS                                   ; 0e                          ; 0xfe86b orgs.asm:40
    pop DS                                    ; 1f                          ; 0xfe86c orgs.asm:41
    lgdt [cs:0e899h]                          ; 2e 0f 01 16 99 e8           ; 0xfe86d orgs.asm:43
    mov eax, cr0                              ; 0f 20 c0                    ; 0xfe873 orgs.asm:44
    or AL, strict byte 001h                   ; 0c 01                       ; 0xfe876 orgs.asm:45
    mov cr0, eax                              ; 0f 22 c0                    ; 0xfe878 orgs.asm:46
    jmp far 00020h:0e880h                     ; ea 80 e8 20 00              ; 0xfe87b
    mov ax, strict word 00018h                ; b8 18 00                    ; 0xfe880 orgs.asm:52
    mov ds, ax                                ; 8e d8                       ; 0xfe883 orgs.asm:53
    retn                                      ; c3                          ; 0xfe885 orgs.asm:54
  ; disGetNextSymbol 0xfe886 LB 0x177a -> off=0x0 cb=0000000000000013 uValue=00000000000f0886 'pmode_exit'
pmode_exit:                                  ; 0xfe886 LB 0x13
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xfe886 orgs.asm:61
    mov ds, ax                                ; 8e d8                       ; 0xfe889 orgs.asm:62
    mov eax, cr0                              ; 0f 20 c0                    ; 0xfe88b orgs.asm:64
    and AL, strict byte 0feh                  ; 24 fe                       ; 0xfe88e orgs.asm:65
    mov cr0, eax                              ; 0f 22 c0                    ; 0xfe890 orgs.asm:66
    jmp far 0f000h:0e898h                     ; ea 98 e8 00 f0              ; 0xfe893 orgs.asm:68
    retn                                      ; c3                          ; 0xfe898 orgs.asm:70
  ; disGetNextSymbol 0xfe899 LB 0x1767 -> off=0x0 cb=0000000000000006 uValue=00000000000f0899 'pmbios_gdt_desc'
pmbios_gdt_desc:                             ; 0xfe899 LB 0x6
    db  047h, 000h, 09fh, 0e8h, 00fh, 000h
  ; disGetNextSymbol 0xfe89f LB 0x1761 -> off=0x0 cb=0000000000000048 uValue=00000000000f089f 'pmbios_gdt'
pmbios_gdt:                                  ; 0xfe89f LB 0x48
    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    db  0ffh, 0ffh, 000h, 000h, 000h, 09bh, 0cfh, 000h, 0ffh, 0ffh, 000h, 000h, 000h, 093h, 0cfh, 000h
    db  0ffh, 0ffh, 000h, 000h, 00fh, 09bh, 000h, 000h, 0ffh, 0ffh, 000h, 000h, 000h, 093h, 000h, 000h
    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    db  0ffh, 0ffh, 000h, 004h, 000h, 093h, 000h, 000h
  ; disGetNextSymbol 0xfe8e7 LB 0x1719 -> off=0x0 cb=000000000000005c uValue=00000000000f08e7 'pmode_setup'
pmode_setup:                                 ; 0xfe8e7 LB 0x5c
    push eax                                  ; 66 50                       ; 0xfe8e7 orgs.asm:41
    push esi                                  ; 66 56                       ; 0xfe8e9 orgs.asm:42
    pushfw                                    ; 9c                          ; 0xfe8eb orgs.asm:43
    cli                                       ; fa                          ; 0xfe8ec orgs.asm:44
    call 0e86bh                               ; e8 7b ff                    ; 0xfe8ed orgs.asm:45
    mov eax, cr0                              ; 0f 20 c0                    ; 0xfe8f0 orgs.asm:47
    and eax, strict dword 09fffffffh          ; 66 25 ff ff ff 9f           ; 0xfe8f3 orgs.asm:48
    mov cr0, eax                              ; 0f 22 c0                    ; 0xfe8f9 orgs.asm:49
    mov esi, strict dword 0fee000f0h          ; 66 be f0 00 e0 fe           ; 0xfe8fc orgs.asm:51
    mov eax, strict dword 00000010fh          ; 66 b8 0f 01 00 00           ; 0xfe902 orgs.asm:52
    mov dword [esi], eax                      ; 67 66 89 06                 ; 0xfe908 orgs.asm:53
    mov esi, strict dword 0fee00350h          ; 66 be 50 03 e0 fe           ; 0xfe90c orgs.asm:55
    mov eax, dword [esi]                      ; 67 66 8b 06                 ; 0xfe912 orgs.asm:56
    and eax, strict dword 0fffe00ffh          ; 66 25 ff 00 fe ff           ; 0xfe916 orgs.asm:57
    or ah, 007h                               ; 80 cc 07                    ; 0xfe91c orgs.asm:58
    mov dword [esi], eax                      ; 67 66 89 06                 ; 0xfe91f orgs.asm:59
    mov esi, strict dword 0fee00360h          ; 66 be 60 03 e0 fe           ; 0xfe923 orgs.asm:61
    mov eax, dword [esi]                      ; 67 66 8b 06                 ; 0xfe929 orgs.asm:62
    and eax, strict dword 0fffe00ffh          ; 66 25 ff 00 fe ff           ; 0xfe92d orgs.asm:63
    or ah, 004h                               ; 80 cc 04                    ; 0xfe933 orgs.asm:64
    mov dword [esi], eax                      ; 67 66 89 06                 ; 0xfe936 orgs.asm:65
    call 0e886h                               ; e8 49 ff                    ; 0xfe93a orgs.asm:67
    popfw                                     ; 9d                          ; 0xfe93d orgs.asm:68
    pop esi                                   ; 66 5e                       ; 0xfe93e orgs.asm:69
    pop eax                                   ; 66 58                       ; 0xfe940 orgs.asm:70
    retn                                      ; c3                          ; 0xfe942 orgs.asm:72
  ; disGetNextSymbol 0xfe943 LB 0x16bd -> off=0x0 cb=0000000000000044 uValue=00000000000f0943 'biosorg_check_before_or_at_0E985h'
biosorg_check_before_or_at_0E985h:           ; 0xfe943 LB 0x44
    times 0x42 db 0
    db  'XM'
  ; disGetNextSymbol 0xfe987 LB 0x1679 -> off=0x0 cb=0000000000000052 uValue=00000000000f0987 'biosorg_check_at_0E987h'
biosorg_check_at_0E987h:                     ; 0xfe987 LB 0x52
    cli                                       ; fa                          ; 0xfe987 orgs.asm:1024
    push ax                                   ; 50                          ; 0xfe988 orgs.asm:1025
    mov AL, strict byte 0adh                  ; b0 ad                       ; 0xfe989 orgs.asm:1026
    out strict byte 064h, AL                  ; e6 64                       ; 0xfe98b orgs.asm:1027
    in AL, strict byte 060h                   ; e4 60                       ; 0xfe98d orgs.asm:1029
    push DS                                   ; 1e                          ; 0xfe98f orgs.asm:1030
    pushaw                                    ; 60                          ; 0xfe990 orgs.asm:107
    cld                                       ; fc                          ; 0xfe991 orgs.asm:1032
    mov AH, strict byte 04fh                  ; b4 4f                       ; 0xfe992 orgs.asm:1034
    stc                                       ; f9                          ; 0xfe994 orgs.asm:1035
    int 015h                                  ; cd 15                       ; 0xfe995 orgs.asm:1036
    jnc short 0e9c0h                          ; 73 27                       ; 0xfe997 orgs.asm:1037
    sti                                       ; fb                          ; 0xfe999 orgs.asm:1039
    cmp AL, strict byte 0e0h                  ; 3c e0                       ; 0xfe99a orgs.asm:1042
    jne short 0e9a9h                          ; 75 0b                       ; 0xfe99c orgs.asm:1043
    db  033h, 0c0h
    ; xor ax, ax                                ; 33 c0                     ; 0xfe99e orgs.asm:1044
    mov ds, ax                                ; 8e d8                       ; 0xfe9a0 orgs.asm:1045
    or byte [00496h], 002h                    ; 80 0e 96 04 02              ; 0xfe9a2 orgs.asm:1046
    jmp short 0e9c0h                          ; eb 17                       ; 0xfe9a7 orgs.asm:1047
    cmp AL, strict byte 0e1h                  ; 3c e1                       ; 0xfe9a9 orgs.asm:1050
    jne short 0e9b8h                          ; 75 0b                       ; 0xfe9ab orgs.asm:1051
    db  033h, 0c0h
    ; xor ax, ax                                ; 33 c0                     ; 0xfe9ad orgs.asm:1052
    mov ds, ax                                ; 8e d8                       ; 0xfe9af orgs.asm:1053
    or byte [00496h], 001h                    ; 80 0e 96 04 01              ; 0xfe9b1 orgs.asm:1054
    jmp short 0e9c0h                          ; eb 08                       ; 0xfe9b6 orgs.asm:1055
    push ES                                   ; 06                          ; 0xfe9b8 orgs.asm:1058
    push CS                                   ; 0e                          ; 0xfe9b9 orgs.asm:113
    pop DS                                    ; 1f                          ; 0xfe9ba orgs.asm:114
    cld                                       ; fc                          ; 0xfe9bb orgs.asm:115
    call 0513dh                               ; e8 7e 67                    ; 0xfe9bc orgs.asm:1060
    pop ES                                    ; 07                          ; 0xfe9bf orgs.asm:1061
    popaw                                     ; 61                          ; 0xfe9c0 orgs.asm:124
    pop DS                                    ; 1f                          ; 0xfe9c1 orgs.asm:1065
    cli                                       ; fa                          ; 0xfe9c2 orgs.asm:1066
    call 0e034h                               ; e8 6e f6                    ; 0xfe9c3 orgs.asm:1067
    mov AL, strict byte 0aeh                  ; b0 ae                       ; 0xfe9c6 orgs.asm:1069
    out strict byte 064h, AL                  ; e6 64                       ; 0xfe9c8 orgs.asm:1070
    pop ax                                    ; 58                          ; 0xfe9ca orgs.asm:1071
    iret                                      ; cf                          ; 0xfe9cb orgs.asm:1072
    pushaw                                    ; 60                          ; 0xfe9cc orgs.asm:107
    push ES                                   ; 06                          ; 0xfe9cd orgs.asm:1081
    push DS                                   ; 1e                          ; 0xfe9ce orgs.asm:1082
    push CS                                   ; 0e                          ; 0xfe9cf orgs.asm:113
    pop DS                                    ; 1f                          ; 0xfe9d0 orgs.asm:114
    cld                                       ; fc                          ; 0xfe9d1 orgs.asm:115
    call 06cc9h                               ; e8 f4 82                    ; 0xfe9d2 orgs.asm:1084
    pop DS                                    ; 1f                          ; 0xfe9d5 orgs.asm:1085
    pop ES                                    ; 07                          ; 0xfe9d6 orgs.asm:1086
    popaw                                     ; 61                          ; 0xfe9d7 orgs.asm:124
    iret                                      ; cf                          ; 0xfe9d8 orgs.asm:1088
  ; disGetNextSymbol 0xfe9d9 LB 0x1627 -> off=0x0 cb=0000000000000280 uValue=00000000000f09d9 'biosorg_check_before_or_at_0EC57h'
biosorg_check_before_or_at_0EC57h:           ; 0xfe9d9 LB 0x280
    times 0x27e db 0
    db  'XM'
  ; disGetNextSymbol 0xfec59 LB 0x13a7 -> off=0x0 cb=0000000000000002 uValue=00000000000f0c59 'biosorg_check_at_0EC59h'
biosorg_check_at_0EC59h:                     ; 0xfec59 LB 0x2
    jmp short 0ecb0h                          ; eb 55                       ; 0xfec59 orgs.asm:1095
  ; disGetNextSymbol 0xfec5b LB 0x13a5 -> off=0x0 cb=0000000000000055 uValue=00000000000f0c5b 'int13_relocated'
int13_relocated:                             ; 0xfec5b LB 0x55
    cmp ah, 04ah                              ; 80 fc 4a                    ; 0xfec5b orgs.asm:1104
    jc short 0ec71h                           ; 72 11                       ; 0xfec5e orgs.asm:1105
    cmp ah, 04dh                              ; 80 fc 4d                    ; 0xfec60 orgs.asm:1107
    jnbe short 0ec71h                         ; 77 0c                       ; 0xfec63 orgs.asm:1108
    pushaw                                    ; 60                          ; 0xfec65 orgs.asm:107
    push ES                                   ; 06                          ; 0xfec66 orgs.asm:1111
    push DS                                   ; 1e                          ; 0xfec67 orgs.asm:1112
    push CS                                   ; 0e                          ; 0xfec68 orgs.asm:113
    pop DS                                    ; 1f                          ; 0xfec69 orgs.asm:114
    cld                                       ; fc                          ; 0xfec6a orgs.asm:115
    push 0ece9h                               ; 68 e9 ec                    ; 0xfec6b orgs.asm:93
    jmp near 03cd8h                           ; e9 67 50                    ; 0xfec6e orgs.asm:94
    push ES                                   ; 06                          ; 0xfec71 orgs.asm:1120
    push ax                                   ; 50                          ; 0xfec72 orgs.asm:1121
    push bx                                   ; 53                          ; 0xfec73 orgs.asm:1122
    push cx                                   ; 51                          ; 0xfec74 orgs.asm:1123
    push dx                                   ; 52                          ; 0xfec75 orgs.asm:1124
    call 03cach                               ; e8 33 50                    ; 0xfec76 orgs.asm:1127
    cmp AL, strict byte 000h                  ; 3c 00                       ; 0xfec79 orgs.asm:1128
    je short 0ecabh                           ; 74 2e                       ; 0xfec7b orgs.asm:1129
    call 03cc2h                               ; e8 42 50                    ; 0xfec7d orgs.asm:1132
    pop dx                                    ; 5a                          ; 0xfec80 orgs.asm:1133
    push dx                                   ; 52                          ; 0xfec81 orgs.asm:1134
    db  03ah, 0c2h
    ; cmp al, dl                                ; 3a c2                     ; 0xfec82 orgs.asm:1135
    jne short 0ec97h                          ; 75 11                       ; 0xfec84 orgs.asm:1136
    pop dx                                    ; 5a                          ; 0xfec86 orgs.asm:1138
    pop cx                                    ; 59                          ; 0xfec87 orgs.asm:1139
    pop bx                                    ; 5b                          ; 0xfec88 orgs.asm:1140
    pop ax                                    ; 58                          ; 0xfec89 orgs.asm:1141
    pop ES                                    ; 07                          ; 0xfec8a orgs.asm:1142
    pushaw                                    ; 60                          ; 0xfec8b orgs.asm:107
    push ES                                   ; 06                          ; 0xfec8c orgs.asm:1145
    push DS                                   ; 1e                          ; 0xfec8d orgs.asm:1146
    push CS                                   ; 0e                          ; 0xfec8e orgs.asm:113
    pop DS                                    ; 1f                          ; 0xfec8f orgs.asm:114
    cld                                       ; fc                          ; 0xfec90 orgs.asm:115
    push 0ece9h                               ; 68 e9 ec                    ; 0xfec91 orgs.asm:93
    jmp near 0437dh                           ; e9 e6 56                    ; 0xfec94 orgs.asm:94
    and dl, 0e0h                              ; 80 e2 e0                    ; 0xfec97 orgs.asm:1152
    db  03ah, 0c2h
    ; cmp al, dl                                ; 3a c2                     ; 0xfec9a orgs.asm:1153
    jne short 0ecabh                          ; 75 0d                       ; 0xfec9c orgs.asm:1154
    pop dx                                    ; 5a                          ; 0xfec9e orgs.asm:1156
    pop cx                                    ; 59                          ; 0xfec9f orgs.asm:1157
    pop bx                                    ; 5b                          ; 0xfeca0 orgs.asm:1158
    pop ax                                    ; 58                          ; 0xfeca1 orgs.asm:1159
    pop ES                                    ; 07                          ; 0xfeca2 orgs.asm:1160
    push ax                                   ; 50                          ; 0xfeca3 orgs.asm:1162
    push cx                                   ; 51                          ; 0xfeca4 orgs.asm:1163
    push dx                                   ; 52                          ; 0xfeca5 orgs.asm:1164
    push bx                                   ; 53                          ; 0xfeca6 orgs.asm:1165
    db  0feh, 0cah
    ; dec dl                                    ; fe ca                     ; 0xfeca7 orgs.asm:1167
    jmp short 0ecb4h                          ; eb 09                       ; 0xfeca9 orgs.asm:1168
    pop dx                                    ; 5a                          ; 0xfecab orgs.asm:1171
    pop cx                                    ; 59                          ; 0xfecac orgs.asm:1172
    pop bx                                    ; 5b                          ; 0xfecad orgs.asm:1173
    pop ax                                    ; 58                          ; 0xfecae orgs.asm:1174
    pop ES                                    ; 07                          ; 0xfecaf orgs.asm:1175
  ; disGetNextSymbol 0xfecb0 LB 0x1350 -> off=0x0 cb=0000000000000004 uValue=00000000000f0cb0 'int13_noeltorito'
int13_noeltorito:                            ; 0xfecb0 LB 0x4
    push ax                                   ; 50                          ; 0xfecb0 orgs.asm:1178
    push cx                                   ; 51                          ; 0xfecb1 orgs.asm:1179
    push dx                                   ; 52                          ; 0xfecb2 orgs.asm:1180
    push bx                                   ; 53                          ; 0xfecb3 orgs.asm:1181
  ; disGetNextSymbol 0xfecb4 LB 0x134c -> off=0x0 cb=0000000000000014 uValue=00000000000f0cb4 'int13_legacy'
int13_legacy:                                ; 0xfecb4 LB 0x14
    push dx                                   ; 52                          ; 0xfecb4 orgs.asm:1183
    push bp                                   ; 55                          ; 0xfecb5 orgs.asm:1184
    push si                                   ; 56                          ; 0xfecb6 orgs.asm:1185
    push di                                   ; 57                          ; 0xfecb7 orgs.asm:1186
    push ES                                   ; 06                          ; 0xfecb8 orgs.asm:1187
    push DS                                   ; 1e                          ; 0xfecb9 orgs.asm:1188
    push CS                                   ; 0e                          ; 0xfecba orgs.asm:113
    pop DS                                    ; 1f                          ; 0xfecbb orgs.asm:114
    cld                                       ; fc                          ; 0xfecbc orgs.asm:115
    test dl, 080h                             ; f6 c2 80                    ; 0xfecbd orgs.asm:1193
    jne short 0ecc8h                          ; 75 06                       ; 0xfecc0 orgs.asm:1194
    push 0ece9h                               ; 68 e9 ec                    ; 0xfecc2 orgs.asm:93
    jmp near 032a0h                           ; e9 d8 45                    ; 0xfecc5 orgs.asm:94
  ; disGetNextSymbol 0xfecc8 LB 0x1338 -> off=0x0 cb=0000000000000014 uValue=00000000000f0cc8 'int13_notfloppy'
int13_notfloppy:                             ; 0xfecc8 LB 0x14
    cmp dl, 0e0h                              ; 80 fa e0                    ; 0xfecc8 orgs.asm:1199
    jc short 0ecdch                           ; 72 0f                       ; 0xfeccb orgs.asm:1200
    shr ebx, 010h                             ; 66 c1 eb 10                 ; 0xfeccd orgs.asm:1206
    push bx                                   ; 53                          ; 0xfecd1 orgs.asm:1207
    call 047c1h                               ; e8 ec 5a                    ; 0xfecd2 orgs.asm:1208
    pop bx                                    ; 5b                          ; 0xfecd5 orgs.asm:1209
    sal ebx, 010h                             ; 66 c1 e3 10                 ; 0xfecd6 orgs.asm:1210
    jmp short 0ece9h                          ; eb 0d                       ; 0xfecda orgs.asm:1212
  ; disGetNextSymbol 0xfecdc LB 0x1324 -> off=0x0 cb=000000000000000d uValue=00000000000f0cdc 'int13_disk'
int13_disk:                                  ; 0xfecdc LB 0xd
    cmp ah, 040h                              ; 80 fc 40                    ; 0xfecdc orgs.asm:1216
    jnbe short 0ece6h                         ; 77 05                       ; 0xfecdf orgs.asm:1217
    call 05c52h                               ; e8 6e 6f                    ; 0xfece1 orgs.asm:1218
    jmp short 0ece9h                          ; eb 03                       ; 0xfece4 orgs.asm:1219
    call 060a1h                               ; e8 b8 73                    ; 0xfece6 orgs.asm:1222
  ; disGetNextSymbol 0xfece9 LB 0x1317 -> off=0x0 cb=0000000000000004 uValue=00000000000f0ce9 'int13_out'
int13_out:                                   ; 0xfece9 LB 0x4
    pop DS                                    ; 1f                          ; 0xfece9 orgs.asm:1225
    pop ES                                    ; 07                          ; 0xfecea orgs.asm:1226
    popaw                                     ; 61                          ; 0xfeceb orgs.asm:124
    iret                                      ; cf                          ; 0xfecec orgs.asm:1228
  ; disGetNextSymbol 0xfeced LB 0x1313 -> off=0x0 cb=000000000000001e uValue=00000000000f0ced 'detect_parport'
detect_parport:                              ; 0xfeced LB 0x1e
    push dx                                   ; 52                          ; 0xfeced orgs.asm:1235
    inc dx                                    ; 42                          ; 0xfecee orgs.asm:1236
    inc dx                                    ; 42                          ; 0xfecef orgs.asm:1237
    in AL, DX                                 ; ec                          ; 0xfecf0 orgs.asm:1238
    and AL, strict byte 0dfh                  ; 24 df                       ; 0xfecf1 orgs.asm:1239
    out DX, AL                                ; ee                          ; 0xfecf3 orgs.asm:1240
    pop dx                                    ; 5a                          ; 0xfecf4 orgs.asm:1241
    mov AL, strict byte 0aah                  ; b0 aa                       ; 0xfecf5 orgs.asm:1242
    out DX, AL                                ; ee                          ; 0xfecf7 orgs.asm:1243
    in AL, DX                                 ; ec                          ; 0xfecf8 orgs.asm:1244
    cmp AL, strict byte 0aah                  ; 3c aa                       ; 0xfecf9 orgs.asm:1245
    jne short 0ed0ah                          ; 75 0d                       ; 0xfecfb orgs.asm:1246
    push bx                                   ; 53                          ; 0xfecfd orgs.asm:1248
    sal bx, 1                                 ; d1 e3                       ; 0xfecfe orgs.asm:1249
    mov word [bx+00408h], dx                  ; 89 97 08 04                 ; 0xfed00 orgs.asm:1250
    pop bx                                    ; 5b                          ; 0xfed04 orgs.asm:1251
    mov byte [bx+00478h], cl                  ; 88 8f 78 04                 ; 0xfed05 orgs.asm:1252
    inc bx                                    ; 43                          ; 0xfed09 orgs.asm:1253
    retn                                      ; c3                          ; 0xfed0a orgs.asm:1255
  ; disGetNextSymbol 0xfed0b LB 0x12f5 -> off=0x0 cb=0000000000000024 uValue=00000000000f0d0b 'detect_serial'
detect_serial:                               ; 0xfed0b LB 0x24
    push dx                                   ; 52                          ; 0xfed0b orgs.asm:1262
    inc dx                                    ; 42                          ; 0xfed0c orgs.asm:1263
    mov AL, strict byte 002h                  ; b0 02                       ; 0xfed0d orgs.asm:1264
    out DX, AL                                ; ee                          ; 0xfed0f orgs.asm:1265
    in AL, DX                                 ; ec                          ; 0xfed10 orgs.asm:1266
    cmp AL, strict byte 002h                  ; 3c 02                       ; 0xfed11 orgs.asm:1267
    jne short 0ed2dh                          ; 75 18                       ; 0xfed13 orgs.asm:1268
    inc dx                                    ; 42                          ; 0xfed15 orgs.asm:1270
    in AL, DX                                 ; ec                          ; 0xfed16 orgs.asm:1271
    cmp AL, strict byte 002h                  ; 3c 02                       ; 0xfed17 orgs.asm:1272
    jne short 0ed2dh                          ; 75 12                       ; 0xfed19 orgs.asm:1273
    dec dx                                    ; 4a                          ; 0xfed1b orgs.asm:1275
    db  032h, 0c0h
    ; xor al, al                                ; 32 c0                     ; 0xfed1c orgs.asm:1276
    pop dx                                    ; 5a                          ; 0xfed1e orgs.asm:1277
    push bx                                   ; 53                          ; 0xfed1f orgs.asm:1278
    sal bx, 1                                 ; d1 e3                       ; 0xfed20 orgs.asm:1279
    mov word [bx+00400h], dx                  ; 89 97 00 04                 ; 0xfed22 orgs.asm:1280
    pop bx                                    ; 5b                          ; 0xfed26 orgs.asm:1281
    mov byte [bx+0047ch], cl                  ; 88 8f 7c 04                 ; 0xfed27 orgs.asm:1282
    inc bx                                    ; 43                          ; 0xfed2b orgs.asm:1283
    retn                                      ; c3                          ; 0xfed2c orgs.asm:1284
    pop dx                                    ; 5a                          ; 0xfed2d orgs.asm:1287
    retn                                      ; c3                          ; 0xfed2e orgs.asm:1288
  ; disGetNextSymbol 0xfed2f LB 0x12d1 -> off=0x0 cb=0000000000000087 uValue=00000000000f0d2f 'floppy_post'
floppy_post:                                 ; 0xfed2f LB 0x87
    db  033h, 0c0h
    ; xor ax, ax                                ; 33 c0                     ; 0xfed2f orgs.asm:1298
    mov ds, ax                                ; 8e d8                       ; 0xfed31 orgs.asm:1299
    mov AL, strict byte 000h                  ; b0 00                       ; 0xfed33 orgs.asm:1303
    mov byte [0043eh], AL                     ; a2 3e 04                    ; 0xfed35 orgs.asm:1304
    mov byte [0043fh], AL                     ; a2 3f 04                    ; 0xfed38 orgs.asm:1305
    mov byte [00440h], AL                     ; a2 40 04                    ; 0xfed3b orgs.asm:1306
    mov byte [00441h], AL                     ; a2 41 04                    ; 0xfed3e orgs.asm:1307
    mov byte [00442h], AL                     ; a2 42 04                    ; 0xfed41 orgs.asm:1308
    mov byte [00443h], AL                     ; a2 43 04                    ; 0xfed44 orgs.asm:1309
    mov byte [00444h], AL                     ; a2 44 04                    ; 0xfed47 orgs.asm:1310
    mov byte [00445h], AL                     ; a2 45 04                    ; 0xfed4a orgs.asm:1311
    mov byte [00446h], AL                     ; a2 46 04                    ; 0xfed4d orgs.asm:1312
    mov byte [00447h], AL                     ; a2 47 04                    ; 0xfed50 orgs.asm:1313
    mov byte [00448h], AL                     ; a2 48 04                    ; 0xfed53 orgs.asm:1314
    mov byte [0048bh], AL                     ; a2 8b 04                    ; 0xfed56 orgs.asm:1316
    mov AL, strict byte 010h                  ; b0 10                       ; 0xfed59 orgs.asm:1318
    out strict byte 070h, AL                  ; e6 70                       ; 0xfed5b orgs.asm:1319
    in AL, strict byte 071h                   ; e4 71                       ; 0xfed5d orgs.asm:1320
    db  08ah, 0e0h
    ; mov ah, al                                ; 8a e0                     ; 0xfed5f orgs.asm:1321
    shr al, 004h                              ; c0 e8 04                    ; 0xfed61 orgs.asm:179
    je short 0ed6ah                           ; 74 04                       ; 0xfed64 orgs.asm:1326
    mov BL, strict byte 007h                  ; b3 07                       ; 0xfed66 orgs.asm:1327
    jmp short 0ed6ch                          ; eb 02                       ; 0xfed68 orgs.asm:1328
    mov BL, strict byte 000h                  ; b3 00                       ; 0xfed6a orgs.asm:1331
    db  08ah, 0c4h
    ; mov al, ah                                ; 8a c4                     ; 0xfed6c orgs.asm:1334
    and AL, strict byte 00fh                  ; 24 0f                       ; 0xfed6e orgs.asm:1335
    je short 0ed75h                           ; 74 03                       ; 0xfed70 orgs.asm:1336
    or bl, 070h                               ; 80 cb 70                    ; 0xfed72 orgs.asm:1337
    mov byte [0048fh], bl                     ; 88 1e 8f 04                 ; 0xfed75 orgs.asm:1339
    mov AL, strict byte 000h                  ; b0 00                       ; 0xfed79 orgs.asm:1342
    mov byte [00490h], AL                     ; a2 90 04                    ; 0xfed7b orgs.asm:1343
    mov byte [00491h], AL                     ; a2 91 04                    ; 0xfed7e orgs.asm:1344
    mov byte [00492h], AL                     ; a2 92 04                    ; 0xfed81 orgs.asm:1345
    mov byte [00493h], AL                     ; a2 93 04                    ; 0xfed84 orgs.asm:1346
    mov byte [00494h], AL                     ; a2 94 04                    ; 0xfed87 orgs.asm:1347
    mov byte [00495h], AL                     ; a2 95 04                    ; 0xfed8a orgs.asm:1348
    mov AL, strict byte 002h                  ; b0 02                       ; 0xfed8d orgs.asm:1350
    out strict byte 00ah, AL                  ; e6 0a                       ; 0xfed8f orgs.asm:1351
    mov ax, 0efc7h                            ; b8 c7 ef                    ; 0xfed91 orgs.asm:104
    mov word [00078h], ax                     ; a3 78 00                    ; 0xfed94 orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfed97 orgs.asm:106
    mov word [0007ah], ax                     ; a3 7a 00                    ; 0xfed9a orgs.asm:107
    mov ax, 0ec59h                            ; b8 59 ec                    ; 0xfed9d orgs.asm:104
    mov word [00100h], ax                     ; a3 00 01                    ; 0xfeda0 orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfeda3 orgs.asm:106
    mov word [00102h], ax                     ; a3 02 01                    ; 0xfeda6 orgs.asm:107
    mov ax, 0ef57h                            ; b8 57 ef                    ; 0xfeda9 orgs.asm:104
    mov word [00038h], ax                     ; a3 38 00                    ; 0xfedac orgs.asm:105
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xfedaf orgs.asm:106
    mov word [0003ah], ax                     ; a3 3a 00                    ; 0xfedb2 orgs.asm:107
    retn                                      ; c3                          ; 0xfedb5 orgs.asm:1357
  ; disGetNextSymbol 0xfedb6 LB 0x124a -> off=0x0 cb=0000000000000009 uValue=0000000000000db6 'bcd_to_bin'
bcd_to_bin:                                  ; 0xfedb6 LB 0x9
    sal ax, 004h                              ; c1 e0 04                    ; 0xfedb6 orgs.asm:1367
    shr al, 004h                              ; c0 e8 04                    ; 0xfedb9 orgs.asm:1368
    aad 00ah                                  ; d5 0a                       ; 0xfedbc orgs.asm:1376
    retn                                      ; c3                          ; 0xfedbe orgs.asm:1377
  ; disGetNextSymbol 0xfedbf LB 0x1241 -> off=0x0 cb=0000000000000077 uValue=00000000000f0dbf 'rtc_post'
rtc_post:                                    ; 0xfedbf LB 0x77
    db  066h, 033h, 0c0h
    ; xor eax, eax                              ; 66 33 c0                  ; 0xfedbf orgs.asm:1434
    mov AL, strict byte 000h                  ; b0 00                       ; 0xfedc2 orgs.asm:1435
    out strict byte 070h, AL                  ; e6 70                       ; 0xfedc4 orgs.asm:1436
    in AL, strict byte 071h                   ; e4 71                       ; 0xfedc6 orgs.asm:1437
    call 0edb6h                               ; e8 eb ff                    ; 0xfedc8 orgs.asm:1438
    mov edx, strict dword 00115cf2bh          ; 66 ba 2b cf 15 01           ; 0xfedcb orgs.asm:1439
    mul edx                                   ; 66 f7 e2                    ; 0xfedd1 orgs.asm:1440
    mov ebx, strict dword 0000f4240h          ; 66 bb 40 42 0f 00           ; 0xfedd4 orgs.asm:1441
    db  066h, 033h, 0d2h
    ; xor edx, edx                              ; 66 33 d2                  ; 0xfedda orgs.asm:1442
    div ebx                                   ; 66 f7 f3                    ; 0xfeddd orgs.asm:1443
    db  066h, 08bh, 0c8h
    ; mov ecx, eax                              ; 66 8b c8                  ; 0xfede0 orgs.asm:1444
    db  066h, 033h, 0c0h
    ; xor eax, eax                              ; 66 33 c0                  ; 0xfede3 orgs.asm:1447
    mov AL, strict byte 002h                  ; b0 02                       ; 0xfede6 orgs.asm:1448
    out strict byte 070h, AL                  ; e6 70                       ; 0xfede8 orgs.asm:1449
    in AL, strict byte 071h                   ; e4 71                       ; 0xfedea orgs.asm:1450
    call 0edb6h                               ; e8 c7 ff                    ; 0xfedec orgs.asm:1451
    mov edx, strict dword 000a6af80h          ; 66 ba 80 af a6 00           ; 0xfedef orgs.asm:1452
    mul edx                                   ; 66 f7 e2                    ; 0xfedf5 orgs.asm:1453
    mov ebx, strict dword 000002710h          ; 66 bb 10 27 00 00           ; 0xfedf8 orgs.asm:1454
    db  066h, 033h, 0d2h
    ; xor edx, edx                              ; 66 33 d2                  ; 0xfedfe orgs.asm:1455
    div ebx                                   ; 66 f7 f3                    ; 0xfee01 orgs.asm:1456
    db  066h, 003h, 0c8h
    ; add ecx, eax                              ; 66 03 c8                  ; 0xfee04 orgs.asm:1457
    db  066h, 033h, 0c0h
    ; xor eax, eax                              ; 66 33 c0                  ; 0xfee07 orgs.asm:1460
    mov AL, strict byte 004h                  ; b0 04                       ; 0xfee0a orgs.asm:1461
    out strict byte 070h, AL                  ; e6 70                       ; 0xfee0c orgs.asm:1462
    in AL, strict byte 071h                   ; e4 71                       ; 0xfee0e orgs.asm:1463
    call 0edb6h                               ; e8 a3 ff                    ; 0xfee10 orgs.asm:1464
    mov edx, strict dword 003e81d03h          ; 66 ba 03 1d e8 03           ; 0xfee13 orgs.asm:1465
    mul edx                                   ; 66 f7 e2                    ; 0xfee19 orgs.asm:1466
    mov ebx, strict dword 0000003e8h          ; 66 bb e8 03 00 00           ; 0xfee1c orgs.asm:1467
    db  066h, 033h, 0d2h
    ; xor edx, edx                              ; 66 33 d2                  ; 0xfee22 orgs.asm:1468
    div ebx                                   ; 66 f7 f3                    ; 0xfee25 orgs.asm:1469
    db  066h, 003h, 0c8h
    ; add ecx, eax                              ; 66 03 c8                  ; 0xfee28 orgs.asm:1470
    mov dword [0046ch], ecx                   ; 66 89 0e 6c 04              ; 0xfee2b orgs.asm:1472
    db  032h, 0c0h
    ; xor al, al                                ; 32 c0                     ; 0xfee30 orgs.asm:1473
    mov byte [00470h], AL                     ; a2 70 04                    ; 0xfee32 orgs.asm:1474
    retn                                      ; c3                          ; 0xfee35 orgs.asm:1477
  ; disGetNextSymbol 0xfee36 LB 0x11ca -> off=0x0 cb=0000000000000121 uValue=00000000000f0e36 'biosorg_check_before_or_at_0EF55h'
biosorg_check_before_or_at_0EF55h:           ; 0xfee36 LB 0x121
    times 0x11f db 0
    db  'XM'
  ; disGetNextSymbol 0xfef57 LB 0x10a9 -> off=0x0 cb=000000000000003b uValue=00000000000f0f57 'int0e_handler'
int0e_handler:                               ; 0xfef57 LB 0x3b
    push ax                                   ; 50                          ; 0xfef57 orgs.asm:1488
    push dx                                   ; 52                          ; 0xfef58 orgs.asm:1489
    mov dx, 003f4h                            ; ba f4 03                    ; 0xfef59 orgs.asm:1490
    in AL, DX                                 ; ec                          ; 0xfef5c orgs.asm:1491
    and AL, strict byte 0c0h                  ; 24 c0                       ; 0xfef5d orgs.asm:1492
    cmp AL, strict byte 0c0h                  ; 3c c0                       ; 0xfef5f orgs.asm:1493
    je short 0ef81h                           ; 74 1e                       ; 0xfef61 orgs.asm:1494
    mov dx, 003f5h                            ; ba f5 03                    ; 0xfef63 orgs.asm:1495
    mov AL, strict byte 008h                  ; b0 08                       ; 0xfef66 orgs.asm:1496
    out DX, AL                                ; ee                          ; 0xfef68 orgs.asm:1497
    mov dx, 003f4h                            ; ba f4 03                    ; 0xfef69 orgs.asm:1499
    in AL, DX                                 ; ec                          ; 0xfef6c orgs.asm:1500
    and AL, strict byte 0c0h                  ; 24 c0                       ; 0xfef6d orgs.asm:1501
    cmp AL, strict byte 0c0h                  ; 3c c0                       ; 0xfef6f orgs.asm:1502
    jne short 0ef69h                          ; 75 f6                       ; 0xfef71 orgs.asm:1503
    mov dx, 003f5h                            ; ba f5 03                    ; 0xfef73 orgs.asm:1506
    in AL, DX                                 ; ec                          ; 0xfef76 orgs.asm:1507
    mov dx, 003f4h                            ; ba f4 03                    ; 0xfef77 orgs.asm:1508
    in AL, DX                                 ; ec                          ; 0xfef7a orgs.asm:1509
    and AL, strict byte 0c0h                  ; 24 c0                       ; 0xfef7b orgs.asm:1510
    cmp AL, strict byte 0c0h                  ; 3c c0                       ; 0xfef7d orgs.asm:1511
    je short 0ef73h                           ; 74 f2                       ; 0xfef7f orgs.asm:1512
    push DS                                   ; 1e                          ; 0xfef81 orgs.asm:1515
    db  033h, 0c0h
    ; xor ax, ax                                ; 33 c0                     ; 0xfef82 orgs.asm:1516
    mov ds, ax                                ; 8e d8                       ; 0xfef84 orgs.asm:1517
    call 0e034h                               ; e8 ab f0                    ; 0xfef86 orgs.asm:1518
    or byte [0043eh], 080h                    ; 80 0e 3e 04 80              ; 0xfef89 orgs.asm:1520
    pop DS                                    ; 1f                          ; 0xfef8e orgs.asm:1521
    pop dx                                    ; 5a                          ; 0xfef8f orgs.asm:1522
    pop ax                                    ; 58                          ; 0xfef90 orgs.asm:1523
    iret                                      ; cf                          ; 0xfef91 orgs.asm:1524
  ; disGetNextSymbol 0xfef92 LB 0x106e -> off=0x0 cb=0000000000000035 uValue=00000000000f0f92 'biosorg_check_before_or_at_0EFC5h'
biosorg_check_before_or_at_0EFC5h:           ; 0xfef92 LB 0x35
    times 0x33 db 0
    db  'XM'
  ; disGetNextSymbol 0xfefc7 LB 0x1039 -> off=0x0 cb=000000000000000b uValue=00000000000f0fc7 '_diskette_param_table'
_diskette_param_table:                       ; 0xfefc7 LB 0xb
    scasw                                     ; af                          ; 0xfefc7
    add ah, byte [di]                         ; 02 25                       ; 0xfefc8
    add dl, byte [bp+si]                      ; 02 12                       ; 0xfefca
    db  01bh, 0ffh
    ; sbb di, di                                ; 1b ff                     ; 0xfefcc
    insb                                      ; 6c                          ; 0xfefce
    db  0f6h
    invd                                      ; 0f 08                       ; 0xfefd0
  ; disGetNextSymbol 0xfefd2 LB 0x102e -> off=0x0 cb=0000000000000002 uValue=00000000000f0fd2 'biosorg_check_at_0EFD2h'
biosorg_check_at_0EFD2h:                     ; 0xfefd2 LB 0x2
    jmp short 0efd4h                          ; eb 00                       ; 0xfefd2 orgs.asm:1551
  ; disGetNextSymbol 0xfefd4 LB 0x102c -> off=0x0 cb=000000000000000d uValue=00000000000f0fd4 'int17_handler'
int17_handler:                               ; 0xfefd4 LB 0xd
    push DS                                   ; 1e                          ; 0xfefd4 orgs.asm:1554
    push ES                                   ; 06                          ; 0xfefd5 orgs.asm:1555
    pushaw                                    ; 60                          ; 0xfefd6 orgs.asm:107
    push CS                                   ; 0e                          ; 0xfefd7 orgs.asm:113
    pop DS                                    ; 1f                          ; 0xfefd8 orgs.asm:114
    cld                                       ; fc                          ; 0xfefd9 orgs.asm:115
    call 075e6h                               ; e8 09 86                    ; 0xfefda orgs.asm:1558
    popaw                                     ; 61                          ; 0xfefdd orgs.asm:124
    pop ES                                    ; 07                          ; 0xfefde orgs.asm:1560
    pop DS                                    ; 1f                          ; 0xfefdf orgs.asm:1561
    iret                                      ; cf                          ; 0xfefe0 orgs.asm:1562
  ; disGetNextSymbol 0xfefe1 LB 0x101f -> off=0x0 cb=0000000000000006 uValue=00000000000f0fe1 '_pmode_IDT'
_pmode_IDT:                                  ; 0xfefe1 LB 0x6
    db  000h, 000h, 000h, 000h, 00fh, 000h
  ; disGetNextSymbol 0xfefe7 LB 0x1019 -> off=0x0 cb=0000000000000006 uValue=00000000000f0fe7 '_rmode_IDT'
_rmode_IDT:                                  ; 0xfefe7 LB 0x6
    db  0ffh, 003h, 000h, 000h, 000h, 000h
  ; disGetNextSymbol 0xfefed LB 0x1013 -> off=0x0 cb=0000000000000001 uValue=00000000000f0fed 'int1c_handler'
int1c_handler:                               ; 0xfefed LB 0x1
    iret                                      ; cf                          ; 0xfefed orgs.asm:1597
  ; disGetNextSymbol 0xfefee LB 0x1012 -> off=0x0 cb=0000000000000057 uValue=00000000000f0fee 'biosorg_check_before_or_at_0F043h'
biosorg_check_before_or_at_0F043h:           ; 0xfefee LB 0x57
    times 0x55 db 0
    db  'XM'
  ; disGetNextSymbol 0xff045 LB 0xfbb -> off=0x0 cb=0000000000000001 uValue=00000000000f1045 'biosorg_check_at_0F045h'
biosorg_check_at_0F045h:                     ; 0xff045 LB 0x1
    iret                                      ; cf                          ; 0xff045 orgs.asm:1606
  ; disGetNextSymbol 0xff046 LB 0xfba -> off=0x0 cb=000000000000001f uValue=00000000000f1046 'biosorg_check_before_or_at_0F063h'
biosorg_check_before_or_at_0F063h:           ; 0xff046 LB 0x1f
    times 0x1d db 0
    db  'XM'
  ; disGetNextSymbol 0xff065 LB 0xf9b -> off=0x0 cb=0000000000000001 uValue=00000000000f1065 'int10_handler'
int10_handler:                               ; 0xff065 LB 0x1
    iret                                      ; cf                          ; 0xff065 orgs.asm:1615
  ; disGetNextSymbol 0xff066 LB 0xf9a -> off=0x0 cb=000000000000003e uValue=00000000000f1066 'biosorg_check_before_or_at_0F0A2h'
biosorg_check_before_or_at_0F0A2h:           ; 0xff066 LB 0x3e
    times 0x3c db 0
    db  'XM'
  ; disGetNextSymbol 0xff0a4 LB 0xf5c -> off=0x0 cb=000000000000000a uValue=00000000000f10a4 'biosorg_check_at_0F0A4h'
biosorg_check_at_0F0A4h:                     ; 0xff0a4 LB 0xa
    push CS                                   ; 0e                          ; 0xff0a4 orgs.asm:113
    pop DS                                    ; 1f                          ; 0xff0a5 orgs.asm:114
    cld                                       ; fc                          ; 0xff0a6 orgs.asm:115
    call 01847h                               ; e8 9d 27                    ; 0xff0a7 orgs.asm:1630
    sti                                       ; fb                          ; 0xff0aa orgs.asm:1632
    hlt                                       ; f4                          ; 0xff0ab orgs.asm:1634
    jmp short 0f0abh                          ; eb fd                       ; 0xff0ac orgs.asm:1635
  ; disGetNextSymbol 0xff0ae LB 0xf52 -> off=0x0 cb=0000000000000078 uValue=00000000000f10ae 'int19_relocated'
int19_relocated:                             ; 0xff0ae LB 0x78
    push CS                                   ; 0e                          ; 0xff0ae orgs.asm:113
    pop DS                                    ; 1f                          ; 0xff0af orgs.asm:114
    cld                                       ; fc                          ; 0xff0b0 orgs.asm:115
    push bp                                   ; 55                          ; 0xff0b1 orgs.asm:1645
    db  08bh, 0ech
    ; mov bp, sp                                ; 8b ec                     ; 0xff0b2 orgs.asm:1646
    mov ax, strict word 00001h                ; b8 01 00                    ; 0xff0b4 orgs.asm:1649
    push ax                                   ; 50                          ; 0xff0b7 orgs.asm:1650
    call 04bf3h                               ; e8 38 5b                    ; 0xff0b8 orgs.asm:1651
    inc sp                                    ; 44                          ; 0xff0bb orgs.asm:1652
    inc sp                                    ; 44                          ; 0xff0bc orgs.asm:1653
    test ax, ax                               ; 85 c0                       ; 0xff0bd orgs.asm:1654
    jne short 0f0e8h                          ; 75 27                       ; 0xff0bf orgs.asm:1655
    mov ax, strict word 00002h                ; b8 02 00                    ; 0xff0c1 orgs.asm:1658
    push ax                                   ; 50                          ; 0xff0c4 orgs.asm:1659
    call 04bf3h                               ; e8 2b 5b                    ; 0xff0c5 orgs.asm:1660
    inc sp                                    ; 44                          ; 0xff0c8 orgs.asm:1661
    inc sp                                    ; 44                          ; 0xff0c9 orgs.asm:1662
    test ax, ax                               ; 85 c0                       ; 0xff0ca orgs.asm:1663
    jne short 0f0e8h                          ; 75 1a                       ; 0xff0cc orgs.asm:1664
    mov ax, strict word 00003h                ; b8 03 00                    ; 0xff0ce orgs.asm:1667
    push ax                                   ; 50                          ; 0xff0d1 orgs.asm:1668
    call 04bf3h                               ; e8 1e 5b                    ; 0xff0d2 orgs.asm:1669
    inc sp                                    ; 44                          ; 0xff0d5 orgs.asm:1670
    inc sp                                    ; 44                          ; 0xff0d6 orgs.asm:1671
    test ax, ax                               ; 85 c0                       ; 0xff0d7 orgs.asm:1672
    jne short 0f0e8h                          ; 75 0d                       ; 0xff0d9 orgs.asm:1673
    mov ax, strict word 00004h                ; b8 04 00                    ; 0xff0db orgs.asm:1676
    push ax                                   ; 50                          ; 0xff0de orgs.asm:1677
    call 04bf3h                               ; e8 11 5b                    ; 0xff0df orgs.asm:1678
    inc sp                                    ; 44                          ; 0xff0e2 orgs.asm:1679
    inc sp                                    ; 44                          ; 0xff0e3 orgs.asm:1680
    test ax, ax                               ; 85 c0                       ; 0xff0e4 orgs.asm:1681
    je short 0f0a4h                           ; 74 bc                       ; 0xff0e6 orgs.asm:1682
    sal eax, 004h                             ; 66 c1 e0 04                 ; 0xff0e8 orgs.asm:1694
    mov word [bp+002h], ax                    ; 89 46 02                    ; 0xff0ec orgs.asm:1695
    shr eax, 004h                             ; 66 c1 e8 04                 ; 0xff0ef orgs.asm:1697
    and ax, 0f000h                            ; 25 00 f0                    ; 0xff0f3 orgs.asm:1700
    mov word [bp+004h], ax                    ; 89 46 04                    ; 0xff0f6 orgs.asm:1701
    db  033h, 0c0h
    ; xor ax, ax                                ; 33 c0                     ; 0xff0f9 orgs.asm:1702
    mov ds, ax                                ; 8e d8                       ; 0xff0fb orgs.asm:1703
    mov es, ax                                ; 8e c0                       ; 0xff0fd orgs.asm:1704
    mov word [byte bp+000h], ax               ; 89 46 00                    ; 0xff0ff orgs.asm:1705
    mov ax, 0aa55h                            ; b8 55 aa                    ; 0xff102 orgs.asm:1706
    pop bp                                    ; 5d                          ; 0xff105 orgs.asm:1708
    iret                                      ; cf                          ; 0xff106 orgs.asm:1709
    or cx, word [bp+si]                       ; 0b 0a                       ; 0xff107
    or word [bp+di], cx                       ; 09 0b                       ; 0xff109
    push eax                                  ; 66 50                       ; 0xff10b orgs.asm:98
    mov eax, strict dword 000800000h          ; 66 b8 00 00 80 00           ; 0xff10d orgs.asm:99
    db  08bh, 0c3h
    ; mov ax, bx                                ; 8b c3                     ; 0xff113 orgs.asm:100
    sal eax, 008h                             ; 66 c1 e0 08                 ; 0xff115 orgs.asm:101
    and dl, 0fch                              ; 80 e2 fc                    ; 0xff119 orgs.asm:102
    db  00ah, 0c2h
    ; or al, dl                                 ; 0a c2                     ; 0xff11c orgs.asm:103
    mov dx, 00cf8h                            ; ba f8 0c                    ; 0xff11e orgs.asm:104
    out DX, eax                               ; 66 ef                       ; 0xff121 orgs.asm:105
    pop eax                                   ; 66 58                       ; 0xff123 orgs.asm:106
    retn                                      ; c3                          ; 0xff125 orgs.asm:107
  ; disGetNextSymbol 0xff126 LB 0xeda -> off=0x0 cb=0000000000000012 uValue=00000000000f1126 'pcibios_init_iomem_bases'
pcibios_init_iomem_bases:                    ; 0xff126 LB 0x12
    push bp                                   ; 55                          ; 0xff126 orgs.asm:110
    db  08bh, 0ech
    ; mov bp, sp                                ; 8b ec                     ; 0xff127 orgs.asm:111
    mov eax, strict dword 00124f9fdh          ; 66 b8 fd f9 24 01           ; 0xff129 orgs.asm:113
    mov dx, 00410h                            ; ba 10 04                    ; 0xff12f orgs.asm:114
    out DX, eax                               ; 66 ef                       ; 0xff132 orgs.asm:115
    db  08bh, 0e5h
    ; mov sp, bp                                ; 8b e5                     ; 0xff134 orgs.asm:228
    pop bp                                    ; 5d                          ; 0xff136 orgs.asm:229
    retn                                      ; c3                          ; 0xff137 orgs.asm:230
  ; disGetNextSymbol 0xff138 LB 0xec8 -> off=0x0 cb=000000000000000c uValue=00000000000f1138 'pcibios_init_set_elcr'
pcibios_init_set_elcr:                       ; 0xff138 LB 0xc
    push ax                                   ; 50                          ; 0xff138 orgs.asm:233
    push cx                                   ; 51                          ; 0xff139 orgs.asm:234
    mov dx, 004d0h                            ; ba d0 04                    ; 0xff13a orgs.asm:235
    test AL, strict byte 008h                 ; a8 08                       ; 0xff13d orgs.asm:236
    je short 0f144h                           ; 74 03                       ; 0xff13f orgs.asm:237
    inc dx                                    ; 42                          ; 0xff141 orgs.asm:239
    and AL, strict byte 007h                  ; 24 07                       ; 0xff142 orgs.asm:240
  ; disGetNextSymbol 0xff144 LB 0xebc -> off=0x0 cb=000000000000000d uValue=00000000000f1144 'is_master_pic'
is_master_pic:                               ; 0xff144 LB 0xd
    db  08ah, 0c8h
    ; mov cl, al                                ; 8a c8                     ; 0xff144 orgs.asm:242
    mov BL, strict byte 001h                  ; b3 01                       ; 0xff146 orgs.asm:243
    sal bl, CL                                ; d2 e3                       ; 0xff148 orgs.asm:244
    in AL, DX                                 ; ec                          ; 0xff14a orgs.asm:245
    db  00ah, 0c3h
    ; or al, bl                                 ; 0a c3                     ; 0xff14b orgs.asm:246
    out DX, AL                                ; ee                          ; 0xff14d orgs.asm:247
    pop cx                                    ; 59                          ; 0xff14e orgs.asm:248
    pop ax                                    ; 58                          ; 0xff14f orgs.asm:249
    retn                                      ; c3                          ; 0xff150 orgs.asm:250
  ; disGetNextSymbol 0xff151 LB 0xeaf -> off=0x0 cb=000000000000002f uValue=00000000000f1151 'pcibios_init_irqs'
pcibios_init_irqs:                           ; 0xff151 LB 0x2f
    push DS                                   ; 1e                          ; 0xff151 orgs.asm:253
    push bp                                   ; 55                          ; 0xff152 orgs.asm:254
    mov ax, 0f000h                            ; b8 00 f0                    ; 0xff153 orgs.asm:255
    mov ds, ax                                ; 8e d8                       ; 0xff156 orgs.asm:256
    pop bp                                    ; 5d                          ; 0xff158 orgs.asm:363
    pop DS                                    ; 1f                          ; 0xff159 orgs.asm:364
    retn                                      ; c3                          ; 0xff15a orgs.asm:365
    mov ax, ax                                ; 89 c0                       ; 0xff15b
    mov ax, ax                                ; 89 c0                       ; 0xff15d
    cld                                       ; fc                          ; 0xff15f
    and AL, strict byte 050h                  ; 24 50                       ; 0xff160
    dec cx                                    ; 49                          ; 0xff162
    push dx                                   ; 52                          ; 0xff163
    add byte [bx+di], al                      ; 00 01                       ; 0xff164
    add byte [bp+si], al                      ; 00 02                       ; 0xff166
    add byte [bx+si], cl                      ; 00 08                       ; 0xff168
    add byte [bx+si], al                      ; 00 00                       ; 0xff16a
    xchg byte [bx+si+07000h], al              ; 86 80 00 70                 ; 0xff16c
    times 0xf db 0
    db  031h
  ; disGetNextSymbol 0xff180 LB 0xe80 -> off=0x0 cb=00000000000001e0 uValue=00000000000f1180 '_pci_routing_table'
_pci_routing_table:                          ; 0xff180 LB 0x1e0
    db  000h, 008h, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 000h, 000h
    db  000h, 010h, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 001h, 000h
    db  000h, 018h, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 002h, 000h
    db  000h, 020h, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 003h, 000h
    db  000h, 028h, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 004h, 000h
    db  000h, 030h, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 005h, 000h
    db  000h, 038h, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 006h, 000h
    db  000h, 040h, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 007h, 000h
    db  000h, 048h, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 008h, 000h
    db  000h, 050h, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 009h, 000h
    db  000h, 058h, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 00ah, 000h
    db  000h, 060h, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 00bh, 000h
    db  000h, 068h, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 00ch, 000h
    db  000h, 070h, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 00dh, 000h
    db  000h, 078h, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 00eh, 000h
    db  000h, 080h, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 00fh, 000h
    db  000h, 088h, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 010h, 000h
    db  000h, 090h, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 011h, 000h
    db  000h, 098h, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 012h, 000h
    db  000h, 0a0h, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 013h, 000h
    db  000h, 0a8h, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 014h, 000h
    db  000h, 0b0h, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 015h, 000h
    db  000h, 0b8h, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 016h, 000h
    db  000h, 0c0h, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 017h, 000h
    db  000h, 0c8h, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 018h, 000h
    db  000h, 0d0h, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 019h, 000h
    db  000h, 0d8h, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 01ah, 000h
    db  000h, 0e0h, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 01bh, 000h
    db  000h, 0e8h, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 01ch, 000h
    db  000h, 0f0h, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 01dh, 000h
  ; disGetNextSymbol 0xff360 LB 0xca0 -> off=0x0 cb=0000000000000002 uValue=00000000000f1360 '_pci_routing_table_size'
_pci_routing_table_size:                     ; 0xff360 LB 0x2
    loopne 0f363h                             ; e0 01                       ; 0xff360
  ; disGetNextSymbol 0xff362 LB 0xc9e -> off=0x0 cb=00000000000004df uValue=00000000000f1362 'biosorg_check_before_or_at_0F83Fh'
biosorg_check_before_or_at_0F83Fh:           ; 0xff362 LB 0x4df
    times 0x4dd db 0
    db  'XM'
  ; disGetNextSymbol 0xff841 LB 0x7bf -> off=0x0 cb=000000000000000c uValue=00000000000f1841 'int12_handler'
int12_handler:                               ; 0xff841 LB 0xc
    sti                                       ; fb                          ; 0xff841 orgs.asm:1739
    push DS                                   ; 1e                          ; 0xff842 orgs.asm:1740
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xff843 orgs.asm:1741
    mov ds, ax                                ; 8e d8                       ; 0xff846 orgs.asm:1742
    mov ax, word [00013h]                     ; a1 13 00                    ; 0xff848 orgs.asm:1743
    pop DS                                    ; 1f                          ; 0xff84b orgs.asm:1744
    iret                                      ; cf                          ; 0xff84c orgs.asm:1745
  ; disGetNextSymbol 0xff84d LB 0x7b3 -> off=0x0 cb=000000000000000c uValue=00000000000f184d 'int11_handler'
int11_handler:                               ; 0xff84d LB 0xc
    sti                                       ; fb                          ; 0xff84d orgs.asm:1754
    push DS                                   ; 1e                          ; 0xff84e orgs.asm:1755
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xff84f orgs.asm:1756
    mov ds, ax                                ; 8e d8                       ; 0xff852 orgs.asm:1757
    mov ax, word [00010h]                     ; a1 10 00                    ; 0xff854 orgs.asm:1758
    pop DS                                    ; 1f                          ; 0xff857 orgs.asm:1759
    iret                                      ; cf                          ; 0xff858 orgs.asm:1760
  ; disGetNextSymbol 0xff859 LB 0x7a7 -> off=0x0 cb=000000000000003b uValue=00000000000f1859 'int15_handler'
int15_handler:                               ; 0xff859 LB 0x3b
    cmp ah, 087h                              ; 80 fc 87                    ; 0xff859 orgs.asm:1770
    jne short 0f86bh                          ; 75 0d                       ; 0xff85c orgs.asm:1771
    pushaw                                    ; 60                          ; 0xff85e orgs.asm:1776
    push ES                                   ; 06                          ; 0xff85f orgs.asm:1777
    push DS                                   ; 1e                          ; 0xff860 orgs.asm:1778
    push CS                                   ; 0e                          ; 0xff861 orgs.asm:113
    pop DS                                    ; 1f                          ; 0xff862 orgs.asm:114
    cld                                       ; fc                          ; 0xff863 orgs.asm:115
    call 06b73h                               ; e8 0c 73                    ; 0xff864 orgs.asm:1780
    pop DS                                    ; 1f                          ; 0xff867 orgs.asm:1781
    pop ES                                    ; 07                          ; 0xff868 orgs.asm:1782
    popaw                                     ; 61                          ; 0xff869 orgs.asm:1783
    iret                                      ; cf                          ; 0xff86a orgs.asm:1784
    pushfw                                    ; 9c                          ; 0xff86b orgs.asm:1789
    push DS                                   ; 1e                          ; 0xff86c orgs.asm:1790
    push ES                                   ; 06                          ; 0xff86d orgs.asm:1791
    push CS                                   ; 0e                          ; 0xff86e orgs.asm:113
    pop DS                                    ; 1f                          ; 0xff86f orgs.asm:114
    cld                                       ; fc                          ; 0xff870 orgs.asm:115
    cmp ah, 0e8h                              ; 80 fc e8                    ; 0xff871 orgs.asm:1796
    je short 0f899h                           ; 74 23                       ; 0xff874 orgs.asm:1797
    cmp ah, 0d0h                              ; 80 fc d0                    ; 0xff876 orgs.asm:1798
    je short 0f899h                           ; 74 1e                       ; 0xff879 orgs.asm:1799
    pushaw                                    ; 60                          ; 0xff87b orgs.asm:107
    cmp ah, 053h                              ; 80 fc 53                    ; 0xff87c orgs.asm:1802
    je short 0f88fh                           ; 74 0e                       ; 0xff87f orgs.asm:1803
    cmp ah, 0c2h                              ; 80 fc c2                    ; 0xff881 orgs.asm:1804
    je short 0f894h                           ; 74 0e                       ; 0xff884 orgs.asm:1805
    call 064f7h                               ; e8 6e 6c                    ; 0xff886 orgs.asm:1807
    popaw                                     ; 61                          ; 0xff889 orgs.asm:124
    pop ES                                    ; 07                          ; 0xff88a orgs.asm:1813
    pop DS                                    ; 1f                          ; 0xff88b orgs.asm:1814
    popfw                                     ; 9d                          ; 0xff88c orgs.asm:1815
    jmp short 0f8a2h                          ; eb 13                       ; 0xff88d orgs.asm:1816
    call 0a6bfh                               ; e8 2d ae                    ; 0xff88f orgs.asm:1819
    jmp short 0f889h                          ; eb f5                       ; 0xff892 orgs.asm:1820
  ; disGetNextSymbol 0xff894 LB 0x76c -> off=0x0 cb=0000000000000005 uValue=00000000000f1894 'int15_handler_mouse'
int15_handler_mouse:                         ; 0xff894 LB 0x5
    call 07276h                               ; e8 df 79                    ; 0xff894 orgs.asm:1823
    jmp short 0f889h                          ; eb f0                       ; 0xff897 orgs.asm:1824
  ; disGetNextSymbol 0xff899 LB 0x767 -> off=0x0 cb=0000000000000009 uValue=00000000000f1899 'int15_handler32'
int15_handler32:                             ; 0xff899 LB 0x9
    pushad                                    ; 66 60                       ; 0xff899 orgs.asm:1830
    call 068cfh                               ; e8 31 70                    ; 0xff89b orgs.asm:1831
    popad                                     ; 66 61                       ; 0xff89e orgs.asm:1832
    jmp short 0f88ah                          ; eb e8                       ; 0xff8a0 orgs.asm:1834
  ; disGetNextSymbol 0xff8a2 LB 0x75e -> off=0x0 cb=000000000000001a uValue=00000000000f18a2 'iret_modify_cf'
iret_modify_cf:                              ; 0xff8a2 LB 0x1a
    jc short 0f8b2h                           ; 72 0e                       ; 0xff8a2 orgs.asm:1841
    push bp                                   ; 55                          ; 0xff8a4 orgs.asm:1842
    db  08bh, 0ech
    ; mov bp, sp                                ; 8b ec                     ; 0xff8a5 orgs.asm:1843
    and byte [bp+006h], 0feh                  ; 80 66 06 fe                 ; 0xff8a7 orgs.asm:1844
    or word [bp+006h], 00200h                 ; 81 4e 06 00 02              ; 0xff8ab orgs.asm:1845
    pop bp                                    ; 5d                          ; 0xff8b0 orgs.asm:1846
    iret                                      ; cf                          ; 0xff8b1 orgs.asm:1847
    push bp                                   ; 55                          ; 0xff8b2 orgs.asm:1849
    db  08bh, 0ech
    ; mov bp, sp                                ; 8b ec                     ; 0xff8b3 orgs.asm:1850
    or word [bp+006h], 00201h                 ; 81 4e 06 01 02              ; 0xff8b5 orgs.asm:1851
    pop bp                                    ; 5d                          ; 0xff8ba orgs.asm:1852
    iret                                      ; cf                          ; 0xff8bb orgs.asm:1853
  ; disGetNextSymbol 0xff8bc LB 0x744 -> off=0x0 cb=000000000000002b uValue=00000000000f18bc 'int74_handler'
int74_handler:                               ; 0xff8bc LB 0x2b
    sti                                       ; fb                          ; 0xff8bc orgs.asm:1860
    pushaw                                    ; 60                          ; 0xff8bd orgs.asm:107
    push ES                                   ; 06                          ; 0xff8be orgs.asm:1862
    push DS                                   ; 1e                          ; 0xff8bf orgs.asm:1863
    db  033h, 0c0h
    ; xor ax, ax                                ; 33 c0                     ; 0xff8c0 orgs.asm:1864
    push ax                                   ; 50                          ; 0xff8c2 orgs.asm:1865
    push ax                                   ; 50                          ; 0xff8c3 orgs.asm:1866
    push ax                                   ; 50                          ; 0xff8c4 orgs.asm:1867
    push ax                                   ; 50                          ; 0xff8c5 orgs.asm:1868
    push ax                                   ; 50                          ; 0xff8c6 orgs.asm:1869
    push CS                                   ; 0e                          ; 0xff8c7 orgs.asm:113
    pop DS                                    ; 1f                          ; 0xff8c8 orgs.asm:114
    cld                                       ; fc                          ; 0xff8c9 orgs.asm:115
    call 071d2h                               ; e8 05 79                    ; 0xff8ca orgs.asm:1871
    pop cx                                    ; 59                          ; 0xff8cd orgs.asm:1872
    jcxz 0f8dch                               ; e3 0c                       ; 0xff8ce orgs.asm:1873
    push strict byte 00000h                   ; 6a 00                       ; 0xff8d0 orgs.asm:1877
    pop DS                                    ; 1f                          ; 0xff8d2 orgs.asm:1882
    push word [0040eh]                        ; ff 36 0e 04                 ; 0xff8d3 orgs.asm:1883
    pop DS                                    ; 1f                          ; 0xff8d7 orgs.asm:1884
    call far [word 00022h]                    ; ff 1e 22 00                 ; 0xff8d8 orgs.asm:1885
    cli                                       ; fa                          ; 0xff8dc orgs.asm:1887
    call 0e030h                               ; e8 50 e7                    ; 0xff8dd orgs.asm:1888
    add sp, strict byte 00008h                ; 83 c4 08                    ; 0xff8e0 orgs.asm:1889
    pop DS                                    ; 1f                          ; 0xff8e3 orgs.asm:1890
    pop ES                                    ; 07                          ; 0xff8e4 orgs.asm:1891
    popaw                                     ; 61                          ; 0xff8e5 orgs.asm:124
    iret                                      ; cf                          ; 0xff8e6 orgs.asm:1893
  ; disGetNextSymbol 0xff8e7 LB 0x719 -> off=0x0 cb=0000000000000012 uValue=00000000000f18e7 'int76_handler'
int76_handler:                               ; 0xff8e7 LB 0x12
    push ax                                   ; 50                          ; 0xff8e7 orgs.asm:1900
    push DS                                   ; 1e                          ; 0xff8e8 orgs.asm:1901
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xff8e9 orgs.asm:1902
    mov ds, ax                                ; 8e d8                       ; 0xff8ec orgs.asm:1903
    mov byte [0008eh], 0ffh                   ; c6 06 8e 00 ff              ; 0xff8ee orgs.asm:1904
    call 0e030h                               ; e8 3a e7                    ; 0xff8f3 orgs.asm:1905
    pop DS                                    ; 1f                          ; 0xff8f6 orgs.asm:1906
    pop ax                                    ; 58                          ; 0xff8f7 orgs.asm:1907
    iret                                      ; cf                          ; 0xff8f8 orgs.asm:1908
  ; disGetNextSymbol 0xff8f9 LB 0x707 -> off=0x0 cb=000000000000000d uValue=00000000000f18f9 'int70_handler'
int70_handler:                               ; 0xff8f9 LB 0xd
    push ES                                   ; 06                          ; 0xff8f9 orgs.asm:1917
    push DS                                   ; 1e                          ; 0xff8fa orgs.asm:1918
    pushaw                                    ; 60                          ; 0xff8fb orgs.asm:107
    push CS                                   ; 0e                          ; 0xff8fc orgs.asm:113
    pop DS                                    ; 1f                          ; 0xff8fd orgs.asm:114
    cld                                       ; fc                          ; 0xff8fe orgs.asm:115
    call 06ea7h                               ; e8 a5 75                    ; 0xff8ff orgs.asm:1921
    popaw                                     ; 61                          ; 0xff902 orgs.asm:124
    pop DS                                    ; 1f                          ; 0xff903 orgs.asm:1923
    pop ES                                    ; 07                          ; 0xff904 orgs.asm:1924
    iret                                      ; cf                          ; 0xff905 orgs.asm:1925
  ; disGetNextSymbol 0xff906 LB 0x6fa -> off=0x0 cb=0000000000000168 uValue=00000000000f1906 'biosorg_check_before_or_at_0FA6Ch'
biosorg_check_before_or_at_0FA6Ch:           ; 0xff906 LB 0x168
    times 0x166 db 0
    db  'XM'
  ; disGetNextSymbol 0xffa6e LB 0x592 -> off=0x0 cb=0000000000000400 uValue=00000000000f1a6e 'font8x8'
font8x8:                                     ; 0xffa6e LB 0x400
    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 081h, 0a5h, 081h, 0bdh, 099h, 081h, 07eh
    db  07eh, 0ffh, 0dbh, 0ffh, 0c3h, 0e7h, 0ffh, 07eh, 06ch, 0feh, 0feh, 0feh, 07ch, 038h, 010h, 000h
    db  010h, 038h, 07ch, 0feh, 07ch, 038h, 010h, 000h, 038h, 07ch, 038h, 0feh, 0feh, 07ch, 038h, 07ch
    db  010h, 010h, 038h, 07ch, 0feh, 07ch, 038h, 07ch, 000h, 000h, 018h, 03ch, 03ch, 018h, 000h, 000h
    db  0ffh, 0ffh, 0e7h, 0c3h, 0c3h, 0e7h, 0ffh, 0ffh, 000h, 03ch, 066h, 042h, 042h, 066h, 03ch, 000h
    db  0ffh, 0c3h, 099h, 0bdh, 0bdh, 099h, 0c3h, 0ffh, 00fh, 007h, 00fh, 07dh, 0cch, 0cch, 0cch, 078h
    db  03ch, 066h, 066h, 066h, 03ch, 018h, 07eh, 018h, 03fh, 033h, 03fh, 030h, 030h, 070h, 0f0h, 0e0h
    db  07fh, 063h, 07fh, 063h, 063h, 067h, 0e6h, 0c0h, 099h, 05ah, 03ch, 0e7h, 0e7h, 03ch, 05ah, 099h
    db  080h, 0e0h, 0f8h, 0feh, 0f8h, 0e0h, 080h, 000h, 002h, 00eh, 03eh, 0feh, 03eh, 00eh, 002h, 000h
    db  018h, 03ch, 07eh, 018h, 018h, 07eh, 03ch, 018h, 066h, 066h, 066h, 066h, 066h, 000h, 066h, 000h
    db  07fh, 0dbh, 0dbh, 07bh, 01bh, 01bh, 01bh, 000h, 03eh, 063h, 038h, 06ch, 06ch, 038h, 0cch, 078h
    db  000h, 000h, 000h, 000h, 07eh, 07eh, 07eh, 000h, 018h, 03ch, 07eh, 018h, 07eh, 03ch, 018h, 0ffh
    db  018h, 03ch, 07eh, 018h, 018h, 018h, 018h, 000h, 018h, 018h, 018h, 018h, 07eh, 03ch, 018h, 000h
    db  000h, 018h, 00ch, 0feh, 00ch, 018h, 000h, 000h, 000h, 030h, 060h, 0feh, 060h, 030h, 000h, 000h
    db  000h, 000h, 0c0h, 0c0h, 0c0h, 0feh, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h
    db  000h, 018h, 03ch, 07eh, 0ffh, 0ffh, 000h, 000h, 000h, 0ffh, 0ffh, 07eh, 03ch, 018h, 000h, 000h
    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 030h, 078h, 078h, 030h, 030h, 000h, 030h, 000h
    db  06ch, 06ch, 06ch, 000h, 000h, 000h, 000h, 000h, 06ch, 06ch, 0feh, 06ch, 0feh, 06ch, 06ch, 000h
    db  030h, 07ch, 0c0h, 078h, 00ch, 0f8h, 030h, 000h, 000h, 0c6h, 0cch, 018h, 030h, 066h, 0c6h, 000h
    db  038h, 06ch, 038h, 076h, 0dch, 0cch, 076h, 000h, 060h, 060h, 0c0h, 000h, 000h, 000h, 000h, 000h
    db  018h, 030h, 060h, 060h, 060h, 030h, 018h, 000h, 060h, 030h, 018h, 018h, 018h, 030h, 060h, 000h
    db  000h, 066h, 03ch, 0ffh, 03ch, 066h, 000h, 000h, 000h, 030h, 030h, 0fch, 030h, 030h, 000h, 000h
    db  000h, 000h, 000h, 000h, 000h, 030h, 030h, 060h, 000h, 000h, 000h, 0fch, 000h, 000h, 000h, 000h
    db  000h, 000h, 000h, 000h, 000h, 030h, 030h, 000h, 006h, 00ch, 018h, 030h, 060h, 0c0h, 080h, 000h
    db  07ch, 0c6h, 0ceh, 0deh, 0f6h, 0e6h, 07ch, 000h, 030h, 070h, 030h, 030h, 030h, 030h, 0fch, 000h
    db  078h, 0cch, 00ch, 038h, 060h, 0cch, 0fch, 000h, 078h, 0cch, 00ch, 038h, 00ch, 0cch, 078h, 000h
    db  01ch, 03ch, 06ch, 0cch, 0feh, 00ch, 01eh, 000h, 0fch, 0c0h, 0f8h, 00ch, 00ch, 0cch, 078h, 000h
    db  038h, 060h, 0c0h, 0f8h, 0cch, 0cch, 078h, 000h, 0fch, 0cch, 00ch, 018h, 030h, 030h, 030h, 000h
    db  078h, 0cch, 0cch, 078h, 0cch, 0cch, 078h, 000h, 078h, 0cch, 0cch, 07ch, 00ch, 018h, 070h, 000h
    db  000h, 030h, 030h, 000h, 000h, 030h, 030h, 000h, 000h, 030h, 030h, 000h, 000h, 030h, 030h, 060h
    db  018h, 030h, 060h, 0c0h, 060h, 030h, 018h, 000h, 000h, 000h, 0fch, 000h, 000h, 0fch, 000h, 000h
    db  060h, 030h, 018h, 00ch, 018h, 030h, 060h, 000h, 078h, 0cch, 00ch, 018h, 030h, 000h, 030h, 000h
    db  07ch, 0c6h, 0deh, 0deh, 0deh, 0c0h, 078h, 000h, 030h, 078h, 0cch, 0cch, 0fch, 0cch, 0cch, 000h
    db  0fch, 066h, 066h, 07ch, 066h, 066h, 0fch, 000h, 03ch, 066h, 0c0h, 0c0h, 0c0h, 066h, 03ch, 000h
    db  0f8h, 06ch, 066h, 066h, 066h, 06ch, 0f8h, 000h, 0feh, 062h, 068h, 078h, 068h, 062h, 0feh, 000h
    db  0feh, 062h, 068h, 078h, 068h, 060h, 0f0h, 000h, 03ch, 066h, 0c0h, 0c0h, 0ceh, 066h, 03eh, 000h
    db  0cch, 0cch, 0cch, 0fch, 0cch, 0cch, 0cch, 000h, 078h, 030h, 030h, 030h, 030h, 030h, 078h, 000h
    db  01eh, 00ch, 00ch, 00ch, 0cch, 0cch, 078h, 000h, 0e6h, 066h, 06ch, 078h, 06ch, 066h, 0e6h, 000h
    db  0f0h, 060h, 060h, 060h, 062h, 066h, 0feh, 000h, 0c6h, 0eeh, 0feh, 0feh, 0d6h, 0c6h, 0c6h, 000h
    db  0c6h, 0e6h, 0f6h, 0deh, 0ceh, 0c6h, 0c6h, 000h, 038h, 06ch, 0c6h, 0c6h, 0c6h, 06ch, 038h, 000h
    db  0fch, 066h, 066h, 07ch, 060h, 060h, 0f0h, 000h, 078h, 0cch, 0cch, 0cch, 0dch, 078h, 01ch, 000h
    db  0fch, 066h, 066h, 07ch, 06ch, 066h, 0e6h, 000h, 078h, 0cch, 0e0h, 070h, 01ch, 0cch, 078h, 000h
    db  0fch, 0b4h, 030h, 030h, 030h, 030h, 078h, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 0cch, 0fch, 000h
    db  0cch, 0cch, 0cch, 0cch, 0cch, 078h, 030h, 000h, 0c6h, 0c6h, 0c6h, 0d6h, 0feh, 0eeh, 0c6h, 000h
    db  0c6h, 0c6h, 06ch, 038h, 038h, 06ch, 0c6h, 000h, 0cch, 0cch, 0cch, 078h, 030h, 030h, 078h, 000h
    db  0feh, 0c6h, 08ch, 018h, 032h, 066h, 0feh, 000h, 078h, 060h, 060h, 060h, 060h, 060h, 078h, 000h
    db  0c0h, 060h, 030h, 018h, 00ch, 006h, 002h, 000h, 078h, 018h, 018h, 018h, 018h, 018h, 078h, 000h
    db  010h, 038h, 06ch, 0c6h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh
    db  030h, 030h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 078h, 00ch, 07ch, 0cch, 076h, 000h
    db  0e0h, 060h, 060h, 07ch, 066h, 066h, 0dch, 000h, 000h, 000h, 078h, 0cch, 0c0h, 0cch, 078h, 000h
    db  01ch, 00ch, 00ch, 07ch, 0cch, 0cch, 076h, 000h, 000h, 000h, 078h, 0cch, 0fch, 0c0h, 078h, 000h
    db  038h, 06ch, 060h, 0f0h, 060h, 060h, 0f0h, 000h, 000h, 000h, 076h, 0cch, 0cch, 07ch, 00ch, 0f8h
    db  0e0h, 060h, 06ch, 076h, 066h, 066h, 0e6h, 000h, 030h, 000h, 070h, 030h, 030h, 030h, 078h, 000h
    db  00ch, 000h, 00ch, 00ch, 00ch, 0cch, 0cch, 078h, 0e0h, 060h, 066h, 06ch, 078h, 06ch, 0e6h, 000h
    db  070h, 030h, 030h, 030h, 030h, 030h, 078h, 000h, 000h, 000h, 0cch, 0feh, 0feh, 0d6h, 0c6h, 000h
    db  000h, 000h, 0f8h, 0cch, 0cch, 0cch, 0cch, 000h, 000h, 000h, 078h, 0cch, 0cch, 0cch, 078h, 000h
    db  000h, 000h, 0dch, 066h, 066h, 07ch, 060h, 0f0h, 000h, 000h, 076h, 0cch, 0cch, 07ch, 00ch, 01eh
    db  000h, 000h, 0dch, 076h, 066h, 060h, 0f0h, 000h, 000h, 000h, 07ch, 0c0h, 078h, 00ch, 0f8h, 000h
    db  010h, 030h, 07ch, 030h, 030h, 034h, 018h, 000h, 000h, 000h, 0cch, 0cch, 0cch, 0cch, 076h, 000h
    db  000h, 000h, 0cch, 0cch, 0cch, 078h, 030h, 000h, 000h, 000h, 0c6h, 0d6h, 0feh, 0feh, 06ch, 000h
    db  000h, 000h, 0c6h, 06ch, 038h, 06ch, 0c6h, 000h, 000h, 000h, 0cch, 0cch, 0cch, 07ch, 00ch, 0f8h
    db  000h, 000h, 0fch, 098h, 030h, 064h, 0fch, 000h, 01ch, 030h, 030h, 0e0h, 030h, 030h, 01ch, 000h
    db  018h, 018h, 018h, 000h, 018h, 018h, 018h, 000h, 0e0h, 030h, 030h, 01ch, 030h, 030h, 0e0h, 000h
    db  076h, 0dch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 000h
  ; disGetNextSymbol 0xffe6e LB 0x192 -> off=0x0 cb=0000000000000021 uValue=00000000000f1e6e 'biosorg_check_at_0FE6Eh'
biosorg_check_at_0FE6Eh:                     ; 0xffe6e LB 0x21
    cmp ah, 0b1h                              ; 80 fc b1                    ; 0xffe6e orgs.asm:1962
    jne short 0fe82h                          ; 75 0f                       ; 0xffe71 orgs.asm:1963
    push ES                                   ; 06                          ; 0xffe73 orgs.asm:1965
    push DS                                   ; 1e                          ; 0xffe74 orgs.asm:1966
    push CS                                   ; 0e                          ; 0xffe75 orgs.asm:113
    pop DS                                    ; 1f                          ; 0xffe76 orgs.asm:114
    cld                                       ; fc                          ; 0xffe77 orgs.asm:115
    pushad                                    ; 66 60                       ; 0xffe78 orgs.asm:1969
    call 0a8ddh                               ; e8 60 aa                    ; 0xffe7a orgs.asm:1970
    popad                                     ; 66 61                       ; 0xffe7d orgs.asm:1971
    pop DS                                    ; 1f                          ; 0xffe7f orgs.asm:1973
    pop ES                                    ; 07                          ; 0xffe80 orgs.asm:1974
    iret                                      ; cf                          ; 0xffe81 orgs.asm:1975
    push ES                                   ; 06                          ; 0xffe82 orgs.asm:1979
    push DS                                   ; 1e                          ; 0xffe83 orgs.asm:1980
    pushaw                                    ; 60                          ; 0xffe84 orgs.asm:107
    push CS                                   ; 0e                          ; 0xffe85 orgs.asm:113
    pop DS                                    ; 1f                          ; 0xffe86 orgs.asm:114
    cld                                       ; fc                          ; 0xffe87 orgs.asm:115
    call 06f48h                               ; e8 bd 70                    ; 0xffe88 orgs.asm:1984
    popaw                                     ; 61                          ; 0xffe8b orgs.asm:124
    pop DS                                    ; 1f                          ; 0xffe8c orgs.asm:1986
    pop ES                                    ; 07                          ; 0xffe8d orgs.asm:1987
    iret                                      ; cf                          ; 0xffe8e orgs.asm:1988
  ; disGetNextSymbol 0xffe8f LB 0x171 -> off=0x0 cb=0000000000000016 uValue=00000000000f1e8f 'biosorg_check_before_or_at_0FEA3h'
biosorg_check_before_or_at_0FEA3h:           ; 0xffe8f LB 0x16
    times 0x14 db 0
    db  'XM'
  ; disGetNextSymbol 0xffea5 LB 0x15b -> off=0x0 cb=0000000000000043 uValue=00000000000f1ea5 'int08_handler'
int08_handler:                               ; 0xffea5 LB 0x43
    sti                                       ; fb                          ; 0xffea5 orgs.asm:1998
    push eax                                  ; 66 50                       ; 0xffea6 orgs.asm:1999
    push DS                                   ; 1e                          ; 0xffea8 orgs.asm:2004
    push dx                                   ; 52                          ; 0xffea9 orgs.asm:2005
    mov ax, strict word 00040h                ; b8 40 00                    ; 0xffeaa orgs.asm:2006
    mov ds, ax                                ; 8e d8                       ; 0xffead orgs.asm:2007
    mov eax, dword [0006ch]                   ; 66 a1 6c 00                 ; 0xffeaf orgs.asm:2010
    inc eax                                   ; 66 40                       ; 0xffeb3 orgs.asm:2011
    cmp eax, strict dword 0001800b0h          ; 66 3d b0 00 18 00           ; 0xffeb5 orgs.asm:2023
    jc short 0fec4h                           ; 72 07                       ; 0xffebb orgs.asm:2024
    db  066h, 033h, 0c0h
    ; xor eax, eax                              ; 66 33 c0                  ; 0xffebd orgs.asm:2033
    inc byte [word 00070h]                    ; fe 06 70 00                 ; 0xffec0 orgs.asm:2034
    mov dword [0006ch], eax                   ; 66 a3 6c 00                 ; 0xffec4 orgs.asm:2037
    mov AL, byte [00040h]                     ; a0 40 00                    ; 0xffec8 orgs.asm:2045
    db  00ah, 0c0h
    ; or al, al                                 ; 0a c0                     ; 0xffecb orgs.asm:2046
    je short 0feddh                           ; 74 0e                       ; 0xffecd orgs.asm:2047
    db  0feh, 0c8h
    ; dec al                                    ; fe c8                     ; 0xffecf orgs.asm:2048
    mov byte [00040h], AL                     ; a2 40 00                    ; 0xffed1 orgs.asm:2049
    jne short 0feddh                          ; 75 07                       ; 0xffed4 orgs.asm:2050
    mov dx, 003f2h                            ; ba f2 03                    ; 0xffed6 orgs.asm:2052
    in AL, DX                                 ; ec                          ; 0xffed9 orgs.asm:2053
    and AL, strict byte 0cfh                  ; 24 cf                       ; 0xffeda orgs.asm:2054
    out DX, AL                                ; ee                          ; 0xffedc orgs.asm:2055
    int 01ch                                  ; cd 1c                       ; 0xffedd orgs.asm:2058
    cli                                       ; fa                          ; 0xffedf orgs.asm:2060
    call 0e034h                               ; e8 51 e1                    ; 0xffee0 orgs.asm:2061
    pop dx                                    ; 5a                          ; 0xffee3 orgs.asm:2062
    pop DS                                    ; 1f                          ; 0xffee4 orgs.asm:2063
    pop eax                                   ; 66 58                       ; 0xffee5 orgs.asm:2065
    iret                                      ; cf                          ; 0xffee7 orgs.asm:2070
  ; disGetNextSymbol 0xffee8 LB 0x118 -> off=0x0 cb=000000000000000b uValue=00000000000f1ee8 'biosorg_check_before_or_at_0FEF1h'
biosorg_check_before_or_at_0FEF1h:           ; 0xffee8 LB 0xb
    times 0x9 db 0
    db  'XM'
  ; disGetNextSymbol 0xffef3 LB 0x10d -> off=0x0 cb=000000000000000d uValue=00000000000f1ef3 'biosorg_check_at_0FEF3h'
biosorg_check_at_0FEF3h:                     ; 0xffef3 LB 0xd
    times 0xb db 0
    db  'XM'
  ; disGetNextSymbol 0xfff00 LB 0x100 -> off=0x0 cb=0000000000000019 uValue=00000000000f1f00 'biosorg_check_at_0FF00h'
biosorg_check_at_0FF00h:                     ; 0xfff00 LB 0x19
    dec di                                    ; 4f                          ; 0xfff00
    jc short 0ff64h                           ; 72 61                       ; 0xfff01
    arpl [si+065h], bp                        ; 63 6c 65                    ; 0xfff03
    and byte [bp+04dh], dl                    ; 20 56 4d                    ; 0xfff06
    and byte [bp+069h], dl                    ; 20 56 69                    ; 0xfff09
    jc short 0ff82h                           ; 72 74                       ; 0xfff0c
    jne short 0ff71h                          ; 75 61                       ; 0xfff0e
    insb                                      ; 6c                          ; 0xfff10
    inc dx                                    ; 42                          ; 0xfff11
    outsw                                     ; 6f                          ; 0xfff12
    js short 0ff35h                           ; 78 20                       ; 0xfff13
    inc dx                                    ; 42                          ; 0xfff15
    dec cx                                    ; 49                          ; 0xfff16
    dec di                                    ; 4f                          ; 0xfff17
    push bx                                   ; 53                          ; 0xfff18
  ; disGetNextSymbol 0xfff19 LB 0xe7 -> off=0x0 cb=000000000000003a uValue=00000000000f1f19 'biosorg_check_before_or_at_0FF51h'
biosorg_check_before_or_at_0FF51h:           ; 0xfff19 LB 0x3a
    times 0x38 db 0
    db  'XM'
  ; disGetNextSymbol 0xfff53 LB 0xad -> off=0x0 cb=0000000000000001 uValue=00000000000f1f53 'dummy_iret'
dummy_iret:                                  ; 0xfff53 LB 0x1
    iret                                      ; cf                          ; 0xfff53 orgs.asm:2095
  ; disGetNextSymbol 0xfff54 LB 0xac -> off=0x0 cb=000000000000002c uValue=00000000000f1f54 'biosorg_check_at_0FF54h'
biosorg_check_at_0FF54h:                     ; 0xfff54 LB 0x2c
    iret                                      ; cf                          ; 0xfff54 orgs.asm:2104
    mov ax, ax                                ; 89 c0                       ; 0xfff55
    mov ax, ax                                ; 89 c0                       ; 0xfff57
    mov ax, ax                                ; 89 c0                       ; 0xfff59
    mov ax, ax                                ; 89 c0                       ; 0xfff5b
    mov ax, ax                                ; 89 c0                       ; 0xfff5d
    cld                                       ; fc                          ; 0xfff5f
    pop di                                    ; 5f                          ; 0xfff60
    push bx                                   ; 53                          ; 0xfff61
    dec bp                                    ; 4d                          ; 0xfff62
    pop di                                    ; 5f                          ; 0xfff63
    jnl short 0ff85h                          ; 7d 1f                       ; 0xfff64
    add al, byte [di]                         ; 02 05                       ; 0xfff66
    inc word [bx+si]                          ; ff 00                       ; 0xfff68
    add byte [bx+si], al                      ; 00 00                       ; 0xfff6a
    add byte [bx+si], al                      ; 00 00                       ; 0xfff6c
    add byte [bx+si], al                      ; 00 00                       ; 0xfff6e
    pop di                                    ; 5f                          ; 0xfff70
    inc sp                                    ; 44                          ; 0xfff71
    dec bp                                    ; 4d                          ; 0xfff72
    dec cx                                    ; 49                          ; 0xfff73
    pop di                                    ; 5f                          ; 0xfff74
    and ax, strict word 00000h                ; 25 00 00                    ; 0xfff75
    add byte [bx+si], dl                      ; 00 10                       ; 0xfff78
    push CS                                   ; 0e                          ; 0xfff7a
    add byte [bx+si], al                      ; 00 00                       ; 0xfff7b
    add byte [di], ah                         ; 00 25                       ; 0xfff7d
    times 0x1 db 0
  ; disGetNextSymbol 0xfff80 LB 0x80 -> off=0x0 cb=0000000000000070 uValue=00000000000f1f80 'biosorg_check_before_or_at_0FFEEh'
biosorg_check_before_or_at_0FFEEh:           ; 0xfff80 LB 0x70
    times 0x6e db 0
    db  'XM'
  ; disGetNextSymbol 0xffff0 LB 0x10 -> off=0x0 cb=0000000000000010 uValue=00000000000f1ff0 'cpu_reset'
cpu_reset:                                   ; 0xffff0 LB 0x10
    jmp far 0f000h:0e05bh                     ; ea 5b e0 00 f0              ; 0xffff0 orgs.asm:2114
  ; disGetNextSymbol 0xffff5 LB 0xb -> off=0xb cb=0000000000000000 uValue=0000000000100000 '_dummy_addr_0x100000'
    db  030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 036h